Complete team user code

This commit is contained in:
JiaJu Zhuang
2023-08-06 17:46:34 +08:00
parent 29155703c4
commit f492ad9a14
13 changed files with 467 additions and 8 deletions

View File

@ -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;

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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);
}