mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-31 03:32:43 +08:00
Complete team user code
This commit is contained in:
@ -5,6 +5,7 @@ import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
|
||||
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessSelector;
|
||||
import ai.chat2db.server.tools.base.constant.EasyToolsConstant;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
@ -76,6 +77,7 @@ public class DataSourceAccess implements Serializable {
|
||||
|
||||
/**
|
||||
* 授权对象
|
||||
* @see DataSourceAccessSelector#setAccessObject(Boolean)
|
||||
*/
|
||||
@NotNull
|
||||
private DataSourceAccessObject accessObject;
|
||||
|
@ -0,0 +1,29 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource.access;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Data Source Access
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
public class DataSourceAccessBatchCreatParam extends PageQueryParam {
|
||||
/**
|
||||
* 数据源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* DataSource Access Object
|
||||
*/
|
||||
@NotNull
|
||||
@NotEmpty
|
||||
private List<DataSourceAccessObjectParam> accessObjectList;
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource.access;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Data Source Access
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
public class DataSourceAccessComprehensivePageQueryParam extends PageQueryParam {
|
||||
/**
|
||||
* 数据源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* searchKey
|
||||
*/
|
||||
private String searchKey;
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
|
||||
package ai.chat2db.server.domain.api.param.datasource.access;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
|
||||
import ai.chat2db.server.tools.base.constant.EasyToolsConstant;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* DataSource Access Object
|
||||
* It could be a user or a team
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DataSourceAccessObjectParam implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = EasyToolsConstant.SERIAL_VERSION_UID;
|
||||
|
||||
/**
|
||||
* 授权id,根据类型区分是用户还是团队
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 授权类型
|
||||
*
|
||||
* @see AccessObjectTypeEnum
|
||||
*/
|
||||
private String type;
|
||||
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource.access;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* slecetor
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DataSourceAccessSelector {
|
||||
|
||||
/**
|
||||
* 授权对象
|
||||
*/
|
||||
private Boolean accessObject;
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package ai.chat2db.server.domain.api.service;
|
||||
|
||||
import ai.chat2db.server.domain.api.model.DataSourceAccess;
|
||||
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessBatchCreatParam;
|
||||
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessComprehensivePageQueryParam;
|
||||
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessSelector;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.PageResult;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* Data Source Access
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
public interface DataSourceAccessService {
|
||||
|
||||
/**
|
||||
* Paging Query Data
|
||||
*
|
||||
* @param param
|
||||
* @param selector
|
||||
* @return
|
||||
*/
|
||||
PageResult<DataSourceAccess> comprehensivePageQuery(DataSourceAccessComprehensivePageQueryParam param,
|
||||
DataSourceAccessSelector selector);
|
||||
|
||||
/**
|
||||
* Batch Create
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
ActionResult batchCreate(DataSourceAccessBatchCreatParam param);
|
||||
|
||||
/**
|
||||
* delete
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ActionResult delete(@NotNull Long id);
|
||||
}
|
Reference in New Issue
Block a user