Fix some team project bugs

This commit is contained in:
JiaJu Zhuang
2023-09-09 15:29:11 +08:00
parent 40a079bd93
commit 86ea808fa7
54 changed files with 61 additions and 1966 deletions

View File

@ -1,34 +0,0 @@
package ai.chat2db.server.domain.api.enums;
import ai.chat2db.server.tools.base.enums.BaseEnum;
import lombok.Getter;
/**
* Environment
*
* @author Jiaju Zhuang
*/
@Getter
public enum EnvironmentStyleEnum implements BaseEnum<String> {
/**
* RELEASE
*/
RELEASE("RELEASE"),
/**
* TEST
*/
TEST("TEST"),
;
final String description;
EnvironmentStyleEnum(String description) {
this.description = description;
}
@Override
public String getCode() {
return this.name();
}
}

View File

@ -3,7 +3,6 @@ package ai.chat2db.server.domain.api.model;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import ai.chat2db.server.domain.api.enums.EnvironmentStyleEnum;
import ai.chat2db.server.tools.base.constant.EasyToolsConstant; import ai.chat2db.server.tools.base.constant.EasyToolsConstant;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -40,9 +39,7 @@ public class Environment implements Serializable {
private String shortName; private String shortName;
/** /**
* 样式类型 * 颜色
*
* @see EnvironmentStyleEnum
*/ */
private String style; private String color;
} }

View File

@ -18,7 +18,9 @@ import ai.chat2db.server.domain.api.service.DatabaseService;
import ai.chat2db.server.domain.core.converter.DataSourceConverter; import ai.chat2db.server.domain.core.converter.DataSourceConverter;
import ai.chat2db.server.domain.core.converter.EnvironmentConverter; import ai.chat2db.server.domain.core.converter.EnvironmentConverter;
import ai.chat2db.server.domain.core.util.PermissionUtils; import ai.chat2db.server.domain.core.util.PermissionUtils;
import ai.chat2db.server.domain.repository.entity.DataSourceAccessDO;
import ai.chat2db.server.domain.repository.entity.DataSourceDO; import ai.chat2db.server.domain.repository.entity.DataSourceDO;
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessMapper;
import ai.chat2db.server.domain.repository.mapper.DataSourceCustomMapper; import ai.chat2db.server.domain.repository.mapper.DataSourceCustomMapper;
import ai.chat2db.server.domain.repository.mapper.DataSourceMapper; import ai.chat2db.server.domain.repository.mapper.DataSourceMapper;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult; import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
@ -75,6 +77,8 @@ public class DataSourceServiceImpl implements DataSourceService {
private DataSourceCustomMapper dataSourceCustomMapper; private DataSourceCustomMapper dataSourceCustomMapper;
@Resource @Resource
private EnvironmentConverter environmentConverter; private EnvironmentConverter environmentConverter;
@Resource
private DataSourceAccessMapper dataSourceAccessMapper;
@Override @Override
public DataResult<Long> createWithPermission(DataSourceCreateParam param) { public DataResult<Long> createWithPermission(DataSourceCreateParam param) {
@ -134,6 +138,11 @@ public class DataSourceServiceImpl implements DataSourceService {
PermissionUtils.checkOperationPermission(dataSource.getUserId()); PermissionUtils.checkOperationPermission(dataSource.getUserId());
dataSourceMapper.deleteById(id); dataSourceMapper.deleteById(id);
LambdaQueryWrapper<DataSourceAccessDO> dataSourceAccessQueryWrapper = new LambdaQueryWrapper<>();
dataSourceAccessQueryWrapper.eq(DataSourceAccessDO::getDataSourceId, id)
;
dataSourceAccessMapper.delete(dataSourceAccessQueryWrapper);
return ActionResult.isSuccess(); return ActionResult.isSuccess();
} }

View File

@ -2,6 +2,7 @@ package ai.chat2db.server.domain.core.impl;
import java.util.List; import java.util.List;
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
import ai.chat2db.server.domain.api.enums.RoleCodeEnum; import ai.chat2db.server.domain.api.enums.RoleCodeEnum;
import ai.chat2db.server.domain.api.model.Team; import ai.chat2db.server.domain.api.model.Team;
import ai.chat2db.server.domain.api.param.team.TeamCreateParam; import ai.chat2db.server.domain.api.param.team.TeamCreateParam;
@ -11,8 +12,12 @@ import ai.chat2db.server.domain.api.param.team.TeamUpdateParam;
import ai.chat2db.server.domain.api.service.TeamService; import ai.chat2db.server.domain.api.service.TeamService;
import ai.chat2db.server.domain.core.converter.TeamConverter; import ai.chat2db.server.domain.core.converter.TeamConverter;
import ai.chat2db.server.domain.core.converter.UserConverter; import ai.chat2db.server.domain.core.converter.UserConverter;
import ai.chat2db.server.domain.repository.entity.DataSourceAccessDO;
import ai.chat2db.server.domain.repository.entity.TeamDO; import ai.chat2db.server.domain.repository.entity.TeamDO;
import ai.chat2db.server.domain.repository.entity.TeamUserDO;
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessMapper;
import ai.chat2db.server.domain.repository.mapper.TeamMapper; import ai.chat2db.server.domain.repository.mapper.TeamMapper;
import ai.chat2db.server.domain.repository.mapper.TeamUserMapper;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult; import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
import ai.chat2db.server.tools.base.wrapper.result.DataResult; import ai.chat2db.server.tools.base.wrapper.result.DataResult;
import ai.chat2db.server.tools.base.wrapper.result.ListResult; import ai.chat2db.server.tools.base.wrapper.result.ListResult;
@ -44,6 +49,10 @@ public class TeamServiceImpl implements TeamService {
@Resource @Resource
private TeamMapper teamMapper; private TeamMapper teamMapper;
@Resource @Resource
private TeamUserMapper teamUserMapper;
@Resource
private DataSourceAccessMapper dataSourceAccessMapper;
@Resource
private TeamConverter teamConverter; private TeamConverter teamConverter;
@Resource @Resource
private UserConverter userConverter; private UserConverter userConverter;
@ -108,6 +117,16 @@ public class TeamServiceImpl implements TeamService {
@Override @Override
public ActionResult delete(Long id) { public ActionResult delete(Long id) {
teamMapper.deleteById(id); teamMapper.deleteById(id);
LambdaQueryWrapper<TeamUserDO> teamUserQueryWrapper = new LambdaQueryWrapper<>();
teamUserQueryWrapper.eq(TeamUserDO::getTeamId, id);
teamUserMapper.delete(teamUserQueryWrapper);
LambdaQueryWrapper<DataSourceAccessDO> dataSourceAccessQueryWrapper = new LambdaQueryWrapper<>();
dataSourceAccessQueryWrapper.eq(DataSourceAccessDO::getAccessObjectId, id)
.eq(DataSourceAccessDO::getAccessObjectType, AccessObjectTypeEnum.TEAM.getCode())
;
dataSourceAccessMapper.delete(dataSourceAccessQueryWrapper);
return ActionResult.isSuccess(); return ActionResult.isSuccess();
} }

View File

@ -3,6 +3,7 @@ package ai.chat2db.server.domain.core.impl;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
import ai.chat2db.server.domain.api.enums.RoleCodeEnum; import ai.chat2db.server.domain.api.enums.RoleCodeEnum;
import ai.chat2db.server.domain.api.model.User; import ai.chat2db.server.domain.api.model.User;
import ai.chat2db.server.domain.api.param.user.UserCreateParam; import ai.chat2db.server.domain.api.param.user.UserCreateParam;
@ -11,8 +12,12 @@ import ai.chat2db.server.domain.api.param.user.UserSelector;
import ai.chat2db.server.domain.api.param.user.UserUpdateParam; import ai.chat2db.server.domain.api.param.user.UserUpdateParam;
import ai.chat2db.server.domain.api.service.UserService; import ai.chat2db.server.domain.api.service.UserService;
import ai.chat2db.server.domain.core.converter.UserConverter; import ai.chat2db.server.domain.core.converter.UserConverter;
import ai.chat2db.server.domain.repository.entity.DataSourceAccessDO;
import ai.chat2db.server.domain.repository.entity.DbhubUserDO; import ai.chat2db.server.domain.repository.entity.DbhubUserDO;
import ai.chat2db.server.domain.repository.entity.TeamUserDO;
import ai.chat2db.server.domain.repository.mapper.DataSourceAccessMapper;
import ai.chat2db.server.domain.repository.mapper.DbhubUserMapper; import ai.chat2db.server.domain.repository.mapper.DbhubUserMapper;
import ai.chat2db.server.domain.repository.mapper.TeamUserMapper;
import ai.chat2db.server.tools.base.excption.BusinessException; import ai.chat2db.server.tools.base.excption.BusinessException;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult; import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
import ai.chat2db.server.tools.base.wrapper.result.DataResult; import ai.chat2db.server.tools.base.wrapper.result.DataResult;
@ -45,6 +50,10 @@ public class UserServiceImpl implements UserService {
private DbhubUserMapper dbhubUserMapper; private DbhubUserMapper dbhubUserMapper;
@Resource @Resource
private UserConverter userConverter; private UserConverter userConverter;
@Resource
private TeamUserMapper teamUserMapper;
@Resource
private DataSourceAccessMapper dataSourceAccessMapper;
@Override @Override
public DataResult<User> query(Long id) { public DataResult<User> query(Long id) {
@ -126,6 +135,16 @@ public class UserServiceImpl implements UserService {
throw new BusinessException("user.canNotOperateSystemAccount"); throw new BusinessException("user.canNotOperateSystemAccount");
} }
dbhubUserMapper.deleteById(id); dbhubUserMapper.deleteById(id);
LambdaQueryWrapper<TeamUserDO> teamUserQueryWrapper = new LambdaQueryWrapper<>();
teamUserQueryWrapper.eq(TeamUserDO::getUserId, id);
teamUserMapper.delete(teamUserQueryWrapper);
LambdaQueryWrapper<DataSourceAccessDO> dataSourceAccessQueryWrapper = new LambdaQueryWrapper<>();
dataSourceAccessQueryWrapper.eq(DataSourceAccessDO::getAccessObjectId, id)
.eq(DataSourceAccessDO::getAccessObjectType, AccessObjectTypeEnum.USER.getCode())
;
dataSourceAccessMapper.delete(dataSourceAccessQueryWrapper);
return ActionResult.isSuccess(); return ActionResult.isSuccess();
} }

View File

@ -14,7 +14,7 @@ import lombok.Setter;
* </p> * </p>
* *
* @author chat2db * @author chat2db
* @since 2023-08-26 * @since 2023-09-09
*/ */
@Getter @Getter
@Setter @Setter
@ -60,7 +60,7 @@ public class EnvironmentDO implements Serializable {
private String shortName; private String shortName;
/** /**
* 样式类型 * 颜色
*/ */
private String style; private String color;
} }

View File

@ -9,7 +9,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* </p> * </p>
* *
* @author chat2db * @author chat2db
* @since 2023-08-26 * @since 2023-09-09
*/ */
public interface EnvironmentMapper extends BaseMapper<EnvironmentDO> { public interface EnvironmentMapper extends BaseMapper<EnvironmentDO> {

View File

@ -7,18 +7,18 @@ CREATE TABLE IF NOT EXISTS `environment`
`modified_user_id` bigint(20) unsigned NOT NULL COMMENT '修改人用户id', `modified_user_id` bigint(20) unsigned NOT NULL COMMENT '修改人用户id',
`name` varchar(128) DEFAULT NOT NULL COMMENT '环境名称', `name` varchar(128) DEFAULT NOT NULL COMMENT '环境名称',
`short_name` varchar(128) DEFAULT NULL COMMENT '环境缩写', `short_name` varchar(128) DEFAULT NULL COMMENT '环境缩写',
`style` varchar(32) DEFAULT NULL COMMENT '样式类型', `color` varchar(32) DEFAULT NULL COMMENT '颜色',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE = InnoDB ) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4 COMMENT ='数据库连接环境' DEFAULT CHARSET = utf8mb4 COMMENT ='数据库连接环境'
; ;
INSERT INTO `environment` INSERT INTO `environment`
(`id`, `create_user_id`, `modified_user_id`, `name`, `short_name`, `style`) (`id`, `create_user_id`, `modified_user_id`, `name`, `short_name`, `color`)
VALUES (1, 1, 1, 'Release Environment', 'RELEASE', 'RELEASE'); VALUES (1, 1, 1, 'Release Environment', 'RELEASE', 'RED');
INSERT INTO `environment` INSERT INTO `environment`
(`id`, `create_user_id`, `modified_user_id`, `name`, `short_name`, `style`) (`id`, `create_user_id`, `modified_user_id`, `name`, `short_name`, `color`)
VALUES (2, 1, 1, 'Test Environment', 'TEST', 'TEST'); VALUES (2, 1, 1, 'Test Environment', 'TEST', 'GREEN');
ALTER TABLE `data_source` ALTER TABLE `data_source`
ADD COLUMN `environment_id` bigint(20) unsigned NOT NULL DEFAULT 2 COMMENT '环境id'; ADD COLUMN `environment_id` bigint(20) unsigned NOT NULL DEFAULT 2 COMMENT '环境id';

View File

@ -35,7 +35,7 @@ public class MybatisGeneratorTest extends BaseTest {
//doGenerator(Lists.newArrayList("operation_saved")); //doGenerator(Lists.newArrayList("operation_saved"));
//doGenerator(Lists.newArrayList("environment","data_source","team","team_dbhub_user","data_source_access", //doGenerator(Lists.newArrayList("environment","data_source","team","team_dbhub_user","data_source_access",
// "dbhub_user")); // "dbhub_user"));
doGenerator(Lists.newArrayList("chart")); doGenerator(Lists.newArrayList("environment"));
} }
private void doGenerator(List<String> tableList) { private void doGenerator(List<String> tableList) {

View File

@ -1,27 +0,0 @@
package ai.chat2db.server.admin.api.controller.common.request;
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
import ai.chat2db.server.tools.base.wrapper.request.PageQueryRequest;
import lombok.Data;
/**
* Common pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class TeamUserPageQueryRequest extends PageQueryRequest {
/**
* 授权类型
*
* @see AccessObjectTypeEnum
*/
private String type;
/**
* searchKey
*/
private String searchKey;
}

View File

@ -1,50 +0,0 @@
package ai.chat2db.server.admin.api.controller.common.vo;
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 TeamUserListVO implements Serializable {
@Serial
private static final long serialVersionUID = EasyToolsConstant.SERIAL_VERSION_UID;
/**
* 授权id,根据类型区分是用户还是团队
*/
private Long id;
/**
* 授权类型
*
* @see AccessObjectTypeEnum
*/
private String type;
/**
* The name of the code that belongs to the authorization type, such as user account, team code
*/
private String code;
/**
* Code that belongs to the authorization type, such as user name, team name
*/
private String name;
}

View File

@ -1,50 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.converter;
import ai.chat2db.server.admin.api.controller.datasource.request.DataSourceAccessBatchCreateRequest;
import ai.chat2db.server.admin.api.controller.datasource.request.DataSourceAccessPageQueryRequest;
import ai.chat2db.server.admin.api.controller.datasource.vo.DataSourceAccessPageQueryVO;
import ai.chat2db.server.domain.api.enums.DataSourceKindEnum;
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 org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
/**
* converter
*
* @author Jiaju Zhuang
*/
@Mapper(componentModel = "spring", imports = {DataSourceKindEnum.class})
public abstract class DataSourceAccessAdminConverter {
/**
* convert
*
* @param request
* @return
*/
@Mappings({
@Mapping(source = "searchKey", target = "userOrTeamSearchKey"),
@Mapping(target = "enableReturnCount", expression = "java(true)"),
})
public abstract DataSourceAccessComprehensivePageQueryParam request2param(DataSourceAccessPageQueryRequest request);
/**
* convert
*
* @param request
* @return
*/
public abstract DataSourceAccessBatchCreatParam request2param(DataSourceAccessBatchCreateRequest request);
/**
* conversion
*
* @param dto
* @return
*/
public abstract DataSourceAccessPageQueryVO dto2vo(DataSourceAccess dto);
}

View File

@ -1,76 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.converter;
import ai.chat2db.server.admin.api.controller.datasource.request.DataSourceCreateRequest;
import ai.chat2db.server.admin.api.controller.datasource.request.DataSourceUpdateRequest;
import ai.chat2db.server.admin.api.controller.datasource.vo.DataSourcePageQueryVO;
import ai.chat2db.server.common.api.controller.request.CommonPageQueryRequest;
import ai.chat2db.server.domain.api.enums.DataSourceKindEnum;
import ai.chat2db.server.domain.api.model.DataSource;
import ai.chat2db.server.domain.api.param.datasource.DataSourceCreateParam;
import ai.chat2db.server.domain.api.param.datasource.DataSourcePageQueryParam;
import ai.chat2db.server.domain.api.param.datasource.DataSourceUpdateParam;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
/**
* converter
*
* @author Jiaju Zhuang
*/
@Mapper(componentModel = "spring",imports = {DataSourceKindEnum.class})
public abstract class DataSourceAdminConverter {
/**
* conversion
*
* @param request
* @return
*/
@Mappings({
@Mapping(target = "enableReturnCount", expression = "java(true)"),
})
public abstract DataSourcePageQueryParam request2param(CommonPageQueryRequest request);
/**
* conversion
*
* @param request
* @return
*/
@Mappings({
@Mapping(target = "enableReturnCount", expression = "java(true)"),
})
public abstract DataSourcePageQueryParam request2paramAccess(CommonPageQueryRequest request);
/**
* conversion
*
* @param dto
* @return
*/
public abstract DataSourcePageQueryVO dto2vo(DataSource dto);
/**
* 参数转换
*
* @param request
* @return
*/
@Mappings({
@Mapping(source = "user", target = "userName"),
@Mapping(target = "kind", expression = "java(DataSourceKindEnum.SHARED.getCode())"),
})
public abstract DataSourceCreateParam createReq2param(DataSourceCreateRequest request);
/**
* 参数转换
*
* @param request
* @return
*/
@Mappings({
@Mapping(source = "user", target = "userName")
})
public abstract DataSourceUpdateParam updateReq2param(DataSourceUpdateRequest request);
}

View File

@ -1,33 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.request;
import java.util.List;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* create
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class DataSourceAccessBatchCreateRequest {
/**
* 数据源id
*/
@NotNull
private Long dataSourceId;
/**
* DataSource Access Object
*/
@NotNull
private List<DataSourceAccessObjectRequest> accessObjectList;
}

View File

@ -1,41 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.request;
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 DataSourceAccessObjectRequest implements Serializable {
@Serial
private static final long serialVersionUID = EasyToolsConstant.SERIAL_VERSION_UID;
/**
* 授权id,根据类型区分是用户还是团队
*/
private Long id;
/**
* 授权类型
*
* @see AccessObjectTypeEnum
*/
private String type;
}

View File

@ -1,26 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.request;
import ai.chat2db.server.tools.base.wrapper.request.PageQueryRequest;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* Common pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class DataSourceAccessPageQueryRequest extends PageQueryRequest {
/**
* 数据源id
*/
@NotNull
private Long dataSourceId;
/**
* searchKey
*/
private String searchKey;
}

View File

@ -1,19 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.request;
import lombok.Data;
/**
* @author moji
* @version ConnectionCloneRequest.java, v 0.1 2022年09月16日 14:23 moji Exp $
* @date 2022/09/16
*/
@Data
public class DataSourceCloneRequest {
/**
* 主键id
*/
private Long id;
}

View File

@ -1,106 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.request;
import java.util.List;
import ai.chat2db.spi.config.DriverConfig;
import ai.chat2db.spi.model.KeyValue;
import ai.chat2db.spi.model.SSHInfo;
import ai.chat2db.spi.model.SSLInfo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* @author moji
* @version ConnectionCreateRequest.java, v 0.1 2022年09月16日 14:23 moji Exp $
* @date 2022/09/16
*/
@Data
public class DataSourceCreateRequest {
/**
* 连接别名
*/
private String alias;
/**
* 连接地址
*/
@NotNull
private String url;
/**
* 连接用户名
*/
private String user;
/**
* 密码
*/
@NotNull
private String password;
/**
* 认证类型
*/
private String authenticationType;
/**
* 连接类型
*/
@NotNull
private String type;
/**
* host
*/
private String host;
/**
* port
*/
private String port;
/**
* ssh
*/
private SSHInfo ssh;
/**
* ssh
*/
private SSLInfo ssl;
/**
* sid
*/
private String sid;
/**
* driver
*/
private String driver;
/**
* jdbc版本
*/
private String jdbc;
/**
* 扩展信息
*/
private List<KeyValue> extendInfo;
/**
* 驱动配置
*/
private DriverConfig driverConfig;
/**
* 环境id
*/
@NotNull
private Long environmentId;
}

View File

@ -1,108 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.request;
import java.util.List;
import ai.chat2db.spi.config.DriverConfig;
import ai.chat2db.spi.model.KeyValue;
import ai.chat2db.spi.model.SSHInfo;
import ai.chat2db.spi.model.SSLInfo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* @author moji
* @version ConnectionCreateRequest.java, v 0.1 2022年09月16日 14:23 moji Exp $
* @date 2022/09/16
*/
@Data
public class DataSourceUpdateRequest {
/**
* 主键id
*/
@NotNull
private Long id;
/**
* 连接别名
*/
private String alias;
/**
* 连接地址
*/
private String url;
/**
* 连接用户
*/
private String user;
/**
* 密码
*/
private String password;
/**
* 连接类型
*/
private String type;
/**
* 环境类型
*
* @see EnvTypeEnum
*/
private String envType;
/**
* host
*/
private String host;
/**
* port
*/
private String port;
/**
* ssh
*/
private SSHInfo ssh;
/**
* ssh
*/
private SSLInfo ssl;
/**
* sid
*/
private String sid;
/**
* driver
*/
private String driver;
/**
* jdbc版本
*/
private String jdbc;
/**
* 扩展信息
*/
private List<KeyValue> extendInfo;
/**
* 驱动配置
*/
private DriverConfig driverConfig;
/**
* 环境id
*/
@NotNull
private Long environmentId;
}

View File

@ -1,50 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.vo;
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 DataSourceAccessObjectVO implements Serializable {
@Serial
private static final long serialVersionUID = EasyToolsConstant.SERIAL_VERSION_UID;
/**
* 授权id,根据类型区分是用户还是团队
*/
private Long id;
/**
* 授权类型
*
* @see AccessObjectTypeEnum
*/
private String type;
/**
* The name of the code that belongs to the authorization type, such as user account, team code
*/
private String code;
/**
* Code that belongs to the authorization type, such as user name, team name
*/
private String name;
}

View File

@ -1,40 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.vo;
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* Pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class DataSourceAccessPageQueryVO {
/**
* 主键
*/
@NotNull
private Long id;
/**
* 授权类型
*
* @see AccessObjectTypeEnum
*/
@NotNull
private String accessObjectType;
/**
* 授权id,根据类型区分是用户还是团队
*/
@NotNull
private Long accessObjectId;
/**
* 授权对象
*/
@NotNull
private DataSourceAccessObjectVO accessObject;
}

View File

@ -1,39 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.vo;
import ai.chat2db.server.common.api.controller.vo.SimpleEnvironmentVO;
import lombok.Data;
/**
* Pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class DataSourcePageQueryVO {
/**
* 主键id
*/
private Long id;
/**
* 连接别名
*/
private String alias;
/**
* 连接地址
*/
private String url;
/**
* 环境id
*/
private Long environmentId;
/**
* 环境
*/
private SimpleEnvironmentVO environment;
}

View File

@ -1,39 +0,0 @@
package ai.chat2db.server.admin.api.controller.datasource.vo;
import ai.chat2db.server.common.api.controller.vo.SimpleEnvironmentVO;
import lombok.Data;
/**
* Data Source
*
* @author Jiaju Zhuang
*/
@Data
public class SimpleDataSourceVO {
/**
* 主键id
*/
private Long id;
/**
* 连接别名
*/
private String alias;
/**
* 连接地址
*/
private String url;
/**
* 环境id
*/
private Long environmentId;
/**
* 环境
*/
private SimpleEnvironmentVO environment;
}

View File

@ -1,62 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.converter;
import ai.chat2db.server.admin.api.controller.team.request.TeamCreateRequest;
import ai.chat2db.server.admin.api.controller.team.request.TeamUpdateRequest;
import ai.chat2db.server.admin.api.controller.team.vo.TeamPageQueryVO;
import ai.chat2db.server.common.api.controller.request.CommonPageQueryRequest;
import ai.chat2db.server.domain.api.enums.DataSourceKindEnum;
import ai.chat2db.server.domain.api.model.Team;
import ai.chat2db.server.domain.api.param.team.TeamCreateParam;
import ai.chat2db.server.domain.api.param.team.TeamPageQueryParam;
import ai.chat2db.server.domain.api.param.team.TeamUpdateParam;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
/**
* converter
*
* @author Jiaju Zhuang
*/
@Mapper(componentModel = "spring",imports = {DataSourceKindEnum.class})
public abstract class TeamAdminConverter {
/**
* conversion
*
* @param request
* @return
*/
@Mappings({
@Mapping(target = "enableReturnCount", expression = "java(true)"),
})
public abstract TeamPageQueryParam request2param(CommonPageQueryRequest request);
/**
* conversion
*
* @param dto
* @return
*/
public abstract TeamPageQueryVO dto2vo(Team dto);
/**
* conversion
*
* @param request
* @return
*/
public abstract TeamCreateParam request2param(TeamCreateRequest request);
/**
* conversion
*
* @param request
* @return
*/
public abstract TeamUpdateParam request2param(TeamUpdateRequest request);
}

View File

@ -1,56 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.converter;
import ai.chat2db.server.admin.api.controller.datasource.request.DataSourceAccessBatchCreateRequest;
import ai.chat2db.server.admin.api.controller.team.request.TeamPageCommonQueryRequest;
import ai.chat2db.server.admin.api.controller.team.vo.TeamDataSourcePageQueryVO;
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
import ai.chat2db.server.domain.api.enums.DataSourceKindEnum;
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 org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
/**
* converter
*
* @author Jiaju Zhuang
*/
@Mapper(componentModel = "spring", imports = {DataSourceKindEnum.class, AccessObjectTypeEnum.class})
public abstract class TeamDataSourcesAdminConverter {
/**
* convert
*
* @param request
* @return
*/
@Mappings({
@Mapping(target = "accessObjectId", source = "teamId"),
@Mapping(target = "accessObjectType", expression = "java(AccessObjectTypeEnum.TEAM.name())"),
@Mapping(source = "searchKey", target = "dataSourceSearchKey"),
@Mapping(target = "enableReturnCount", expression = "java(true)"),
})
public abstract DataSourceAccessComprehensivePageQueryParam request2param(TeamPageCommonQueryRequest request);
/**
* convert
*
* @param request
* @return
*/
public abstract DataSourceAccessBatchCreatParam request2param(DataSourceAccessBatchCreateRequest request);
/**
* conversion
*
* @param dto
* @return
*/
@Mappings({
@Mapping(target = "teamId", source = "accessObjectId"),
})
public abstract TeamDataSourcePageQueryVO dto2vo(DataSourceAccess dto);
}

View File

@ -1,49 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.converter;
import ai.chat2db.server.admin.api.controller.datasource.request.DataSourceAccessBatchCreateRequest;
import ai.chat2db.server.admin.api.controller.team.request.TeamPageCommonQueryRequest;
import ai.chat2db.server.admin.api.controller.team.vo.TeamUserPageQueryVO;
import ai.chat2db.server.domain.api.model.TeamUser;
import ai.chat2db.server.domain.api.param.datasource.access.DataSourceAccessBatchCreatParam;
import ai.chat2db.server.domain.api.param.team.user.TeamUserComprehensivePageQueryParam;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
/**
* converter
*
* @author Jiaju Zhuang
*/
@Mapper(componentModel = "spring")
public abstract class TeamUserAdminConverter {
/**
* convert
*
* @param request
* @return
*/
@Mappings({
@Mapping(source = "searchKey", target = "userSearchKey"),
@Mapping(target = "enableReturnCount", expression = "java(true)"),
})
public abstract TeamUserComprehensivePageQueryParam request2param(TeamPageCommonQueryRequest request);
/**
* convert
*
* @param request
* @return
*/
public abstract DataSourceAccessBatchCreatParam request2param(DataSourceAccessBatchCreateRequest request);
/**
* conversion
*
* @param dto
* @return
*/
public abstract TeamUserPageQueryVO dto2vo(TeamUser dto);
}

View File

@ -1,38 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.request;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* create
*
* @author Jiaju Zhuang
*/
@Data
public class TeamCreateRequest {
/**
* 团队编码
*/
@NotNull
private String code;
/**
* 团队名称
*/
@NotNull
private String name;
/**
* 团队状态
*
* @see ai.chat2db.server.domain.api.enums.ValidStatusEnum
*/
@NotNull
private String status;
/**
* 团队描述
*/
private String description;
}

View File

@ -1,34 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.request;
import java.util.List;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* create
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class TeamDataSourceBatchCreateRequest {
/**
* team id
*/
@NotNull
private Long teamId;
/**
* Data Source id list
*/
@NotNull
private List<Long> dataSourceIdList;
}

View File

@ -1,25 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.request;
import ai.chat2db.server.tools.base.wrapper.request.PageQueryRequest;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* Pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class TeamPageCommonQueryRequest extends PageQueryRequest {
/**
* team id
*/
@NotNull
private Long teamId;
/**
* searchKey
*/
private String searchKey;
}

View File

@ -1,45 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.request;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* update
*
* @author Jiaju Zhuang
*/
@Data
public class TeamUpdateRequest {
/**
* 主键
*/
@NotNull
private Long id;
/**
* 团队名称
*/
@NotNull
private String name;
/**
* 团队状态
*
* @see ai.chat2db.server.domain.api.enums.ValidStatusEnum
*/
@NotNull
private String status;
/**
* 角色编码
*
* @see ai.chat2db.server.domain.api.enums.RoleCodeEnum
*/
@NotNull
private String roleCode;
/**
* 团队描述
*/
private String description;
}

View File

@ -1,33 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.request;
import java.util.List;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* create
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class TeamUserBatchCreateRequest {
/**
* team id
*/
@NotNull
private Long teamId;
/**
* user id list
*/
@NotNull
private List<Long> userIdList;
}

View File

@ -1,37 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.vo;
import lombok.Data;
/**
* team
*
* @author Jiaju Zhuang
*/
@Data
public class SimpleTeamVO {
/**
* 主键
*/
private Long id;
/**
* 团队编码
*/
private String code;
/**
* 团队名称
*/
private String name;
/**
* 团队状态
*
* @see ai.chat2db.server.domain.api.enums.ValidStatusEnum
*/
private String status;
}

View File

@ -1,31 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.vo;
import ai.chat2db.server.admin.api.controller.datasource.vo.SimpleDataSourceVO;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* Pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class TeamDataSourcePageQueryVO {
/**
* 主键
*/
@NotNull
private Long id;
/**
* team id
*/
private Long teamId;
/**
* Data Source
*/
private SimpleDataSourceVO dataSource;
}

View File

@ -1,57 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.vo;
import java.util.Date;
import ai.chat2db.server.common.api.controller.vo.SimpleUserVO;
import lombok.Data;
/**
* Pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class TeamPageQueryVO {
/**
* 主键
*/
private Long id;
/**
* 团队编码
*/
private String code;
/**
* 团队名称
*/
private String name;
/**
* 团队状态
*
* @see ai.chat2db.server.domain.api.enums.ValidStatusEnum
*/
private String status;
/**
* 团队描述
*/
private String description;
/**
* 修改时间
*/
private Date gmtModified;
/**
* 修改人用户id
*/
private Long modifiedUserId;
/**
* 修改人用户
*/
private SimpleUserVO modifiedUser;
}

View File

@ -1,28 +0,0 @@
package ai.chat2db.server.admin.api.controller.team.vo;
import ai.chat2db.server.admin.api.controller.user.vo.SimpleUserVO;
import lombok.Data;
/**
* Pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class TeamUserPageQueryVO {
/**
* 主键
*/
private Long id;
/**
* team id
*/
private Long teamId;
/**
* user
*/
private SimpleUserVO user;
}

View File

@ -1,57 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.converter;
import ai.chat2db.server.admin.api.controller.user.request.UserCreateRequest;
import ai.chat2db.server.admin.api.controller.user.request.UserUpdateRequest;
import ai.chat2db.server.admin.api.controller.user.vo.UserPageQueryVO;
import ai.chat2db.server.common.api.controller.request.CommonPageQueryRequest;
import ai.chat2db.server.domain.api.model.User;
import ai.chat2db.server.domain.api.param.user.UserCreateParam;
import ai.chat2db.server.domain.api.param.user.UserPageQueryParam;
import ai.chat2db.server.domain.api.param.user.UserUpdateParam;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
/**
* converter
*
* @author Jiaju Zhuang
*/
@Mapper(componentModel = "spring")
public abstract class UserAdminConverter {
/**
* conversion
*
* @param request
* @return
*/
@Mappings({
@Mapping(target = "enableReturnCount", expression = "java(true)"),
})
public abstract UserPageQueryParam request2param(CommonPageQueryRequest request);
/**
* conversion
*
* @param dto
* @return
*/
public abstract UserPageQueryVO dto2vo(User dto);
/**
* conversion
*
* @param request
* @return
*/
public abstract UserCreateParam request2param(UserCreateRequest request);
/**
* conversion
*
* @param request
* @return
*/
public abstract UserUpdateParam request2param(UserUpdateRequest request);
}

View File

@ -1,56 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.converter;
import ai.chat2db.server.admin.api.controller.datasource.request.DataSourceAccessBatchCreateRequest;
import ai.chat2db.server.admin.api.controller.user.request.UserPageCommonQueryRequest;
import ai.chat2db.server.admin.api.controller.user.vo.UserDataSourcePageQueryVO;
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
import ai.chat2db.server.domain.api.enums.DataSourceKindEnum;
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 org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
/**
* converter
*
* @author Jiaju Zhuang
*/
@Mapper(componentModel = "spring", imports = {DataSourceKindEnum.class, AccessObjectTypeEnum.class})
public abstract class UserDataSourcesAdminConverter {
/**
* convert
*
* @param request
* @return
*/
@Mappings({
@Mapping(source = "userId", target = "accessObjectId"),
@Mapping(target = "accessObjectType", expression = "java(AccessObjectTypeEnum.USER.name())"),
@Mapping(source = "searchKey", target = "userOrTeamSearchKey"),
@Mapping(target = "enableReturnCount", expression = "java(true)"),
})
public abstract DataSourceAccessComprehensivePageQueryParam request2param(UserPageCommonQueryRequest request);
/**
* convert
*
* @param request
* @return
*/
public abstract DataSourceAccessBatchCreatParam request2param(DataSourceAccessBatchCreateRequest request);
/**
* conversion
*
* @param dto
* @return
*/
@Mappings({
@Mapping(target = "userId", source = "accessObjectId"),
})
public abstract UserDataSourcePageQueryVO dto2vo(DataSourceAccess dto);
}

View File

@ -1,38 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.converter;
import ai.chat2db.server.admin.api.controller.user.request.UserPageCommonQueryRequest;
import ai.chat2db.server.admin.api.controller.user.vo.UserTeamPageQueryVO;
import ai.chat2db.server.domain.api.model.TeamUser;
import ai.chat2db.server.domain.api.param.team.user.TeamUserComprehensivePageQueryParam;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
/**
* converter
*
* @author Jiaju Zhuang
*/
@Mapper(componentModel = "spring")
public abstract class UserTeamAdminConverter {
/**
* convert
*
* @param request
* @return
*/
@Mappings({
@Mapping(source = "searchKey", target = "teamSearchKey"),
@Mapping(target = "enableReturnCount", expression = "java(true)"),
})
public abstract TeamUserComprehensivePageQueryParam request2param(UserPageCommonQueryRequest request);
/**
* conversion
*
* @param dto
* @return
*/
public abstract UserTeamPageQueryVO dto2vo(TeamUser dto);
}

View File

@ -1,54 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.request;
import ai.chat2db.server.domain.api.enums.RoleCodeEnum;
import ai.chat2db.server.domain.api.enums.ValidStatusEnum;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* create
*@author Jiaju Zhuang
*/
@Data
public class UserCreateRequest {
/**
* 用户名
*/
@NotNull
private String userName;
/**
* 密码
*/
@NotNull
private String password;
/**
* 昵称
*/
@NotNull
private String nickName;
/**
* 邮箱
*/
@NotNull
private String email;
/**
* 角色编码
*
* @see RoleCodeEnum
*/
@NotNull
private String roleCode;
/**
* 用户状态
*
* @see ValidStatusEnum
*/
@NotNull
private String status;
}

View File

@ -1,32 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.request;
import java.util.List;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* create
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class UserDataSourceBatchCreateRequest {
/**
* user id
*/
private Long userId;
/**
* Data Source id list
*/
@NotNull
private List<Long> dataSourceIdList;
}

View File

@ -1,25 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.request;
import ai.chat2db.server.tools.base.wrapper.request.PageQueryRequest;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* Pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class UserPageCommonQueryRequest extends PageQueryRequest {
/**
* user id
*/
@NotNull
private Long userId;
/**
* searchKey
*/
private String searchKey;
}

View File

@ -1,32 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.request;
import java.util.List;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* create
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class UserTeamBatchCreateRequest {
/**
* user id
*/
private Long userId;
/**
* team id list
*/
@NotNull
private List<Long> teamIdList;
}

View File

@ -1,52 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.request;
import ai.chat2db.server.domain.api.enums.RoleCodeEnum;
import ai.chat2db.server.domain.api.enums.ValidStatusEnum;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* create
*@author Jiaju Zhuang
*/
@Data
public class UserUpdateRequest {
/**
* 主键
*/
@NotNull
private Long id;
/**
* 密码
*/
private String password;
/**
* 昵称
*/
@NotNull
private String nickName;
/**
* 邮箱
*/
@NotNull
private String email;
/**
* 角色编码
*
* @see RoleCodeEnum
*/
private String roleCode;
/**
* 用户状态
*
* @see ValidStatusEnum
*/
@NotNull
private String status;
}

View File

@ -1,39 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.vo;
import ai.chat2db.server.domain.api.enums.ValidStatusEnum;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* user
*
* @author Jiaju Zhuang
*/
@Data
public class SimpleUserVO {
/**
* 主键
*/
@NotNull
private Long id;
/**
* 用户名
*/
@NotNull
private String userName;
/**
* 昵称
*/
@NotNull
private String nickName;
/**
* 用户状态
*
* @see ValidStatusEnum
*/
private String status;
}

View File

@ -1,31 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.vo;
import ai.chat2db.server.admin.api.controller.datasource.vo.SimpleDataSourceVO;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* Pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class UserDataSourcePageQueryVO {
/**
* 主键
*/
@NotNull
private Long id;
/**
* user id
*/
private Long userId;
/**
* Data Source
*/
private SimpleDataSourceVO dataSource;
}

View File

@ -1,73 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.vo;
import java.util.Date;
import ai.chat2db.server.common.api.controller.vo.SimpleUserVO;
import ai.chat2db.server.domain.api.enums.RoleCodeEnum;
import ai.chat2db.server.domain.api.enums.ValidStatusEnum;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* Pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class UserPageQueryVO {
/**
* 主键
*/
@NotNull
private Long id;
/**
* 用户名
*/
@NotNull
private String userName;
/**
* 昵称
*/
@NotNull
private String nickName;
/**
* 用户状态
*
* @see ValidStatusEnum
*/
private String status;
/**
* 邮箱
*/
@NotNull
private String email;
/**
* 角色编码
*
* @see RoleCodeEnum
*/
private String roleCode;
/**
* 修改时间
*/
private Date gmtModified;
/**
* 修改人用户id
*/
private Long modifiedUserId;
/**
* 修改人用户
*/
private SimpleUserVO modifiedUser;
}

View File

@ -1,28 +0,0 @@
package ai.chat2db.server.admin.api.controller.user.vo;
import ai.chat2db.server.admin.api.controller.team.vo.SimpleTeamVO;
import lombok.Data;
/**
* Pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class UserTeamPageQueryVO {
/**
* 主键
*/
private Long id;
/**
* user id
*/
private Long userId;
/**
* 团队
*/
private SimpleTeamVO team;
}

View File

@ -1,42 +0,0 @@
package ai.chat2db.server.common.api.controller;
import ai.chat2db.server.common.api.controller.converter.EnvironmentCommonConverter;
import ai.chat2db.server.common.api.controller.vo.SimpleEnvironmentVO;
import ai.chat2db.server.domain.api.param.EnvironmentPageQueryParam;
import ai.chat2db.server.domain.api.service.EnvironmentService;
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Basic interface
*
* @author Jiaju Zhuang
*/
@RequestMapping("/api/common")
@RestController
public class CommonCommonController {
@Resource
private EnvironmentService environmentService;
@Resource
private EnvironmentCommonConverter environmentCommonConverter;
/**
* Query all environments
*
* @return
* @version 2.1.0
*/
@GetMapping("/environment/list_all")
public ListResult<SimpleEnvironmentVO> environmentList() {
EnvironmentPageQueryParam environmentPageQueryParam = new EnvironmentPageQueryParam();
environmentPageQueryParam.setPageSize(Integer.MIN_VALUE);
return ListResult.of(
environmentCommonConverter.dto2vo(environmentService.pageQuery(environmentPageQueryParam).getData()));
}
}

View File

@ -1,27 +0,0 @@
package ai.chat2db.server.common.api.controller.converter;
import java.util.List;
import ai.chat2db.server.common.api.controller.vo.SimpleEnvironmentVO;
import ai.chat2db.server.domain.api.model.Environment;
import lombok.extern.slf4j.Slf4j;
import org.mapstruct.Mapper;
/**
* converter
*
* @author Jiaju Zhuang
*/
@Slf4j
@Mapper(componentModel = "spring")
public abstract class EnvironmentCommonConverter {
/**
* convert
*
* @param list
* @return
*/
public abstract List<SimpleEnvironmentVO> dto2vo(List<Environment> list);
}

View File

@ -1,20 +0,0 @@
package ai.chat2db.server.common.api.controller.request;
import ai.chat2db.server.tools.base.wrapper.request.PageQueryRequest;
import lombok.Data;
/**
* Common pagination query
*
* @author Jiaju Zhuang
*/
@Data
public class CommonPageQueryRequest extends PageQueryRequest {
/**
* searchKey
*/
private String searchKey;
}

View File

@ -1,18 +0,0 @@
package ai.chat2db.server.common.api.controller.request;
import lombok.Data;
/**
* Common query
*
* @author Jiaju Zhuang
*/
@Data
public class CommonQueryRequest {
/**
* searchKey
*/
private String searchKey;
}

View File

@ -1,48 +0,0 @@
package ai.chat2db.server.common.api.controller.vo;
import java.io.Serial;
import java.io.Serializable;
import ai.chat2db.server.domain.api.enums.EnvironmentStyleEnum;
import ai.chat2db.server.tools.base.constant.EasyToolsConstant;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* Environment
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class SimpleEnvironmentVO implements Serializable {
@Serial
private static final long serialVersionUID = EasyToolsConstant.SERIAL_VERSION_UID;
/**
* 主键
*/
private Long id;
/**
* 环境名称
*/
private String name;
/**
* 环境缩写
*/
private String shortName;
/**
* 样式类型
*
* @see EnvironmentStyleEnum
*/
private String style;
}

View File

@ -1,41 +0,0 @@
package ai.chat2db.server.common.api.controller.vo;
import java.io.Serial;
import java.io.Serializable;
import ai.chat2db.server.tools.base.constant.EasyToolsConstant;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* user
*
* @author Jiaju Zhuang
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class
SimpleUserVO implements Serializable {
@Serial
private static final long serialVersionUID = EasyToolsConstant.SERIAL_VERSION_UID;
/**
* 主键
*/
private Long id;
/**
* 用户名
*/
private String userName;
/**
* 昵称
*/
private String nickName;
}

View File

@ -3,7 +3,6 @@ package ai.chat2db.server.common.api.controller.vo;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import ai.chat2db.server.domain.api.enums.EnvironmentStyleEnum;
import ai.chat2db.server.tools.base.constant.EasyToolsConstant; import ai.chat2db.server.tools.base.constant.EasyToolsConstant;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -40,9 +39,7 @@ public class SimpleEnvironmentVO implements Serializable {
private String shortName; private String shortName;
/** /**
* 样式类型 * 颜色
*
* @see EnvironmentStyleEnum
*/ */
private String style; private String color;
} }