mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2026-03-13 09:02:05 +08:00
Merge branch 'team' of github.com:chat2db/Chat2DB into team
This commit is contained in:
@@ -53,7 +53,7 @@ export default forwardRef(function CreateConnection(props: IProps, ref: Forwarde
|
||||
backfillDataLoading: false,
|
||||
sshTestLoading: false
|
||||
});
|
||||
const [envList, setEnvList] = useState<{value:string,label:string}[]>([]);
|
||||
const [envList, setEnvList] = useState<{ value: string, label: string }[]>([]);
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
@@ -200,7 +200,7 @@ export default forwardRef(function CreateConnection(props: IProps, ref: Forwarde
|
||||
p.id = backfillData.id;
|
||||
}
|
||||
|
||||
if (type === submitType.SAVE || type === submitType.UPDATE) {
|
||||
if ((type === submitType.SAVE || type === submitType.UPDATE) && submit) {
|
||||
submit?.(p);
|
||||
return
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import ConnectionEdit from '@/components/ConnectionEdit';
|
||||
import Iconfont from '@/components/Iconfont';
|
||||
import connectionService from '@/service/connection';
|
||||
import { DatabaseTypeCode, databaseMap, databaseTypeList } from '@/constants';
|
||||
import { IDatabase, IConnectionDetails } from '@/typings';
|
||||
import { IDatabase, IConnectionDetails, IEnvironmentVO } from '@/typings';
|
||||
import { Button, Dropdown, Modal } from 'antd';
|
||||
import { MoreOutlined } from '@ant-design/icons';
|
||||
import styles from './index.less';
|
||||
@@ -13,6 +13,7 @@ import { connect, history, Dispatch } from 'umi';
|
||||
import { IConnectionModelType } from '@/models/connection';
|
||||
import { IWorkspaceModelType } from '@/models/workspace';
|
||||
|
||||
|
||||
interface IMenu {
|
||||
key: number;
|
||||
label: string;
|
||||
@@ -20,16 +21,19 @@ interface IMenu {
|
||||
meta: IConnectionDetails;
|
||||
}
|
||||
|
||||
// interface IConnectionList {
|
||||
// environment: 'dev' | 'test' | 'prod';
|
||||
// connectionList: IMenu[];
|
||||
// }
|
||||
|
||||
interface IProps {
|
||||
connectionModel: IConnectionModelType['state'];
|
||||
workspaceModel: IWorkspaceModelType['state'];
|
||||
dispatch: any;
|
||||
}
|
||||
|
||||
function Connections(props: IProps) {
|
||||
const { connectionModel, workspaceModel, dispatch } = props;
|
||||
const { connectionModel, dispatch } = props;
|
||||
const { connectionList } = connectionModel;
|
||||
const { curWorkspaceParams } = workspaceModel;
|
||||
const volatileRef = useRef<any>();
|
||||
const [curConnection, setCurConnection] = useState<Partial<IConnectionDetails>>({});
|
||||
|
||||
|
||||
@@ -5,4 +5,5 @@ export * from './database';
|
||||
export * from './main';
|
||||
export * from './theme';
|
||||
export * from './tree';
|
||||
export * from './setting'
|
||||
export * from './setting'
|
||||
export * from './team'
|
||||
@@ -0,0 +1,26 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 数据源关闭
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DataSourceCloseParam {
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource;
|
||||
|
||||
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 lombok.Data;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DataSourceCreateParam.java, v 0.1 2022年09月23日 15:23 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
@Data
|
||||
public class DataSourceCreateParam {
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 连接地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 环境类型
|
||||
*/
|
||||
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;
|
||||
|
||||
/**
|
||||
* 连接类型
|
||||
*
|
||||
* @see ai.chat2db.server.domain.api.enums.DataSourceKindEnum
|
||||
*/
|
||||
private String kind;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.OrderBy;
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DataSourcePageQueryParam.java, v 0.1 2022年09月23日 15:27 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
@Data
|
||||
public class DataSourcePageQueryParam extends PageQueryParam {
|
||||
|
||||
/**
|
||||
* 搜索关键词
|
||||
*/
|
||||
private String searchKey;
|
||||
|
||||
/**
|
||||
* 连接类型
|
||||
*
|
||||
* @see ai.chat2db.server.domain.api.enums.DataSourceKindEnum
|
||||
*/
|
||||
private String kind;
|
||||
|
||||
@Getter
|
||||
public enum OrderCondition implements ai.chat2db.server.tools.base.wrapper.param.OrderCondition {
|
||||
ID_DESC(OrderBy.desc("id")),
|
||||
;
|
||||
|
||||
final OrderBy orderBy;
|
||||
|
||||
OrderCondition(OrderBy orderBy) {
|
||||
this.orderBy = orderBy;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource;
|
||||
|
||||
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 DataSourcePreConnectParam {
|
||||
|
||||
/**
|
||||
* 连接别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 连接地址
|
||||
*/
|
||||
@NotNull
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 连接用户
|
||||
*/
|
||||
private String user;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotNull
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 连接类型
|
||||
*/
|
||||
@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;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* @author moji
|
||||
* @version DataSourceSelector.java, v 0.1 2022年09月23日 15:28 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DataSourceSelector {
|
||||
|
||||
/**
|
||||
* 环境id
|
||||
*/
|
||||
private Boolean environment;
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource;
|
||||
|
||||
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.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 数据源测试参数
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DataSourceTestParam {
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*
|
||||
* @see DbTypeEnum
|
||||
*/
|
||||
@NotNull
|
||||
private String dbType;
|
||||
|
||||
/**
|
||||
* 请求连接
|
||||
*/
|
||||
@NotNull
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource;
|
||||
|
||||
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 DataSourceCreateParam.java, v 0.1 2022年09月23日 15:23 moji Exp $
|
||||
* @date 2022/09/23
|
||||
*/
|
||||
@Data
|
||||
public class DataSourceUpdateParam {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotNull
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 别名
|
||||
*/
|
||||
private String alias;
|
||||
|
||||
/**
|
||||
* 连接地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 环境类型
|
||||
*/
|
||||
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;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
package ai.chat2db.server.domain.api.param.datasource;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author jipengfei
|
||||
* @version : DatabaseOperationParam.java
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
public class DatabaseOperationParam {
|
||||
|
||||
private String databaseName;
|
||||
|
||||
private String newDatabaseName;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource;
|
||||
|
||||
import java.sql.Connection;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* 展示数据库信息
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DatabaseQueryAllParam {
|
||||
/**
|
||||
* 对应数据库存储的来源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* if true, refresh the cache
|
||||
*/
|
||||
private boolean refresh;
|
||||
|
||||
/**
|
||||
* Can be null, if null, use the default connection
|
||||
*/
|
||||
private Connection connection;
|
||||
|
||||
/**
|
||||
* Can be null, if null, use the default dbType
|
||||
*/
|
||||
private String dbType;
|
||||
}
|
||||
@@ -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,40 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource.access;
|
||||
|
||||
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Data Source Access
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
public class DataSourceAccessComprehensivePageQueryParam extends PageQueryParam {
|
||||
/**
|
||||
* 数据源id
|
||||
*/
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 授权类型
|
||||
*
|
||||
* @see AccessObjectTypeEnum
|
||||
*/
|
||||
private String accessObjectType;
|
||||
|
||||
/**
|
||||
* 授权id,根据类型区分是用户还是团队
|
||||
*/
|
||||
private Long accessObjectId;
|
||||
|
||||
/**
|
||||
* Query keywords for users or teams
|
||||
*/
|
||||
private String userOrTeamSearchKey;
|
||||
|
||||
/**
|
||||
* Query keywords for data source
|
||||
*/
|
||||
private String dataSourceSearchKey;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource.access;
|
||||
|
||||
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* Data Source Access
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class DataSourceAccessCreatParam {
|
||||
/**
|
||||
* 数据源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 授权类型
|
||||
*
|
||||
* @see AccessObjectTypeEnum
|
||||
*/
|
||||
@NotNull
|
||||
private String accessObjectType;
|
||||
|
||||
/**
|
||||
* 授权id,根据类型区分是用户还是团队
|
||||
*/
|
||||
@NotNull
|
||||
private Long accessObjectId;
|
||||
}
|
||||
@@ -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,34 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource.access;
|
||||
|
||||
import ai.chat2db.server.domain.api.enums.AccessObjectTypeEnum;
|
||||
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 DataSourceAccessPageQueryParam extends PageQueryParam {
|
||||
/**
|
||||
* 数据源id
|
||||
*/
|
||||
@NotNull
|
||||
private Long dataSourceId;
|
||||
|
||||
/**
|
||||
* 授权类型
|
||||
*
|
||||
* @see AccessObjectTypeEnum
|
||||
*/
|
||||
@NotNull
|
||||
private String accessObjectType;
|
||||
|
||||
/**
|
||||
* 授权id,根据类型区分是用户还是团队
|
||||
*/
|
||||
@NotNull
|
||||
private Long accessObjectId;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package ai.chat2db.server.domain.api.param.datasource.access;
|
||||
|
||||
import ai.chat2db.server.domain.api.param.datasource.DataSourceSelector;
|
||||
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;
|
||||
|
||||
/**
|
||||
* 数据源
|
||||
*/
|
||||
private Boolean dataSource;
|
||||
|
||||
/**
|
||||
* 数据源
|
||||
*/
|
||||
private DataSourceSelector dataSourceSelector;
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package ai.chat2db.server.domain.api.param.team;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* create
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
public class TeamCreateParam {
|
||||
/**
|
||||
* 团队编码
|
||||
*/
|
||||
@NotNull
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 团队名称
|
||||
*/
|
||||
@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;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package ai.chat2db.server.domain.api.param.team;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.OrderBy;
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* page query
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
public class TeamPageQueryParam extends PageQueryParam {
|
||||
|
||||
/**
|
||||
* searchKey
|
||||
*/
|
||||
private String searchKey;
|
||||
|
||||
@Getter
|
||||
public enum OrderCondition implements ai.chat2db.server.tools.base.wrapper.param.OrderCondition {
|
||||
ID_DESC(OrderBy.desc("id")),
|
||||
;
|
||||
|
||||
final OrderBy orderBy;
|
||||
|
||||
OrderCondition(OrderBy orderBy) {
|
||||
this.orderBy = orderBy;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package ai.chat2db.server.domain.api.param.team;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* select
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TeamSelector {
|
||||
/**
|
||||
* 修改人用户
|
||||
*/
|
||||
private Boolean modifiedUser;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package ai.chat2db.server.domain.api.param.team;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* update
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
public class TeamUpdateParam {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotNull
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 团队名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 团队状态
|
||||
*
|
||||
* @see ai.chat2db.server.domain.api.enums.ValidStatusEnum
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 角色编码
|
||||
*
|
||||
* @see ai.chat2db.server.domain.api.enums.RoleCodeEnum
|
||||
*/
|
||||
private String roleCode;
|
||||
|
||||
/**
|
||||
* 团队描述
|
||||
*/
|
||||
private String description;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package ai.chat2db.server.domain.api.param.team.user;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Team User
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
public class TeamUserComprehensivePageQueryParam extends PageQueryParam {
|
||||
|
||||
/**
|
||||
* 团队id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 团队角色code
|
||||
*
|
||||
* @see ai.chat2db.server.domain.api.enums.RoleCodeEnum
|
||||
*/
|
||||
private String teamRoleCode;
|
||||
|
||||
/**
|
||||
* Query keywords for team
|
||||
*/
|
||||
private String teamSearchKey;
|
||||
|
||||
/**
|
||||
* Query keywords for user
|
||||
*/
|
||||
private String userSearchKey;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package ai.chat2db.server.domain.api.param.team.user;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* Team User
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TeamUserCreatParam {
|
||||
/**
|
||||
* team id
|
||||
*/
|
||||
@NotNull
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* user id
|
||||
*/
|
||||
private Long userId;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package ai.chat2db.server.domain.api.param.team.user;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Team User
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
public class TeamUserPageQueryParam extends PageQueryParam {
|
||||
|
||||
/**
|
||||
* 团队id
|
||||
*/
|
||||
@NotNull
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@NotNull
|
||||
private Long userId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package ai.chat2db.server.domain.api.param.team.user;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* select
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TeamUserSelector {
|
||||
/**
|
||||
* 团队
|
||||
*/
|
||||
private Boolean team;
|
||||
|
||||
/**
|
||||
* 用户
|
||||
*/
|
||||
private Boolean user;
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package ai.chat2db.server.domain.api.param.user;
|
||||
|
||||
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 UserCreateParam {
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
@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;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package ai.chat2db.server.domain.api.param.user;
|
||||
|
||||
import ai.chat2db.server.tools.base.wrapper.param.OrderBy;
|
||||
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* * page query
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserPageQueryParam extends PageQueryParam {
|
||||
|
||||
/**
|
||||
* searchKey
|
||||
*/
|
||||
private String searchKey;
|
||||
|
||||
@Getter
|
||||
public enum OrderCondition implements ai.chat2db.server.tools.base.wrapper.param.OrderCondition {
|
||||
ID_DESC(OrderBy.desc("id")),
|
||||
;
|
||||
|
||||
final OrderBy orderBy;
|
||||
|
||||
OrderCondition(OrderBy orderBy) {
|
||||
this.orderBy = orderBy;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package ai.chat2db.server.domain.api.param.user;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* select
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserSelector {
|
||||
/**
|
||||
* 修改人用户
|
||||
*/
|
||||
private Boolean modifiedUser;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package ai.chat2db.server.domain.api.param.user;
|
||||
|
||||
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 UserUpdateParam {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotNull
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotNull
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
@NotNull
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@NotNull
|
||||
private String email;
|
||||
|
||||
|
||||
/**
|
||||
* 角色编码
|
||||
*
|
||||
* @see RoleCodeEnum
|
||||
*/
|
||||
private String roleCode;
|
||||
|
||||
/**
|
||||
* 用户状态
|
||||
*
|
||||
* @see ValidStatusEnum
|
||||
*/
|
||||
@NotNull
|
||||
private String status;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package ai.chat2db.server.start.test.dto;
|
||||
|
||||
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;
|
||||
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TestDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = EasyToolsConstant.SERIAL_VERSION_UID;
|
||||
|
||||
private String name;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package ai.chat2db.server.tools.common.enums;
|
||||
|
||||
import ai.chat2db.server.tools.base.enums.BaseEnum;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* model
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Getter
|
||||
public enum ModeEnum implements BaseEnum<String> {
|
||||
/**
|
||||
* DESKTOP
|
||||
*/
|
||||
DESKTOP("DESKTOP"),
|
||||
|
||||
/**
|
||||
* WEB
|
||||
*/
|
||||
WEB("WEB"),
|
||||
|
||||
;
|
||||
final String description;
|
||||
|
||||
ModeEnum(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCode() {
|
||||
return this.name();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
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);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
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);
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
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;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
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;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,108 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
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);
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
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);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
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);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
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);
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
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);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
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);
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
|
||||
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;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
|
||||
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()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
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);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
|
||||
package ai.chat2db.server.common.api.controller.request;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* Common query
|
||||
*
|
||||
* @author Jiaju Zhuang
|
||||
*/
|
||||
@Data
|
||||
public class CommonQueryRequest {
|
||||
|
||||
/**
|
||||
* searchKey
|
||||
*/
|
||||
private String searchKey;
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user