You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
318 lines
6.3 KiB
318 lines
6.3 KiB
export interface CrudParams { |
|
[key: string]: string | number | { [key: string]: any }; |
|
} |
|
|
|
export interface CrudReqOpts { |
|
url?: string; |
|
type?: 'GET' | 'POST' | 'DELETE' | 'PUT'; |
|
data?: any; |
|
headers?: { |
|
[key: string]: string; |
|
}; |
|
noProgress?: boolean; |
|
params?: CrudParams; |
|
} |
|
|
|
export interface ConnectionLicInfo { |
|
currentConnectionNum: number; |
|
maxConnectionNum: number; |
|
} |
|
|
|
export interface ConnectionPoolType { |
|
maxActive: number; |
|
maxIdle: number; |
|
numActive: number; |
|
numIdle: number; |
|
} |
|
|
|
type ConnectionDataOfSSH = { |
|
usingSsh: boolean; // 使用SSH通道 |
|
sshIp: string; // 主机 |
|
sshPort: number; // 端口 |
|
sshUser: string; // 用户名 |
|
redirectPort: number; |
|
redirectIp: string; |
|
sshTimeOut: number; |
|
sshKeepAlive: number; |
|
} & ( |
|
| { |
|
sshType: 'NORMAL'; // 验证方法:密码 |
|
sshPrivateKeyPath: ''; // 没啥意义,该验证方法下为空字符串 |
|
sshSecret: string; // 密码 |
|
} |
|
| { |
|
sshType: 'KEY'; // 验证方法:公钥 |
|
sshPrivateKeyPath: string; // 私钥 |
|
sshSecret: string; // 密码短语 |
|
} |
|
); |
|
|
|
type ConnectionDataOfSSL = { |
|
usingSsl: boolean; // 使用SSL通道 |
|
sslType: 'NORMAL'; // SSL类型,只有NORMAL一种 |
|
caCertificate: string; // CA证书 |
|
verifyCa: boolean; // 验证针对CA的服务器证书 |
|
sslClientPrivateKey: string; // 客户端密钥 |
|
sslClientCertificate: string; // 客户端证书 |
|
}; |
|
|
|
export interface ConnectionPoolJDBC { |
|
/** |
|
* 初始化连接数量 |
|
*/ |
|
initialSize?: number; |
|
/** |
|
* 最大连接数 |
|
*/ |
|
maxActive?: number; |
|
/** |
|
* 最大空闲数 |
|
*/ |
|
maxIdle?: number; |
|
/** |
|
* 最小空闲数 |
|
*/ |
|
minIdle?: number; |
|
/** |
|
* 最大等待时间 |
|
*/ |
|
maxWait?: number; |
|
/** |
|
* sql查询 |
|
*/ |
|
validationQuery?: string; |
|
|
|
/** |
|
* 连接前校验 |
|
*/ |
|
testOnBorrow?: boolean; |
|
|
|
/** |
|
* 归还前校验 |
|
*/ |
|
testOnReturn?: boolean; |
|
|
|
/** |
|
* 空闲校验 |
|
*/ |
|
testWhileIdle?: boolean; |
|
/** |
|
* 在空闲连接回收器线程运行期间休眠的时间值,毫秒。 |
|
*/ |
|
timeBetweenEvictionRunsMillis?: number; |
|
/** |
|
* 每次空闲连接回收器现成运行时检查的连接数量 |
|
*/ |
|
numTestsPerEvictionRun?: number; |
|
/** |
|
* 连接在池中保持空闲而不被空闲连接回收器回收的最小时间,单位毫秒 |
|
*/ |
|
minEvictableIdleTimeMillis?: number; |
|
} |
|
|
|
export type ConnectionJDBC = { |
|
/** |
|
* 数据库名称 |
|
*/ |
|
database: string; |
|
/** |
|
* 连接名 |
|
*/ |
|
connectionName: string; |
|
|
|
/** |
|
* 驱动 |
|
*/ |
|
driver: string; |
|
/** |
|
* 驱动来源 |
|
*/ |
|
driverSource: 'default' | 'custom'; |
|
/** |
|
* 数据库连接url |
|
*/ |
|
url: string; |
|
/** |
|
* 用户名 |
|
*/ |
|
user?: string; |
|
/** |
|
* 密码 |
|
*/ |
|
password?: string; |
|
/** |
|
* 请求类型 |
|
*/ |
|
queryType?: string; |
|
/** |
|
* 新编码名称 |
|
*/ |
|
newCharsetName?: any; |
|
/** |
|
* 原始编码名称 |
|
*/ |
|
originalCharsetName?: any; |
|
/** |
|
* 模式 |
|
*/ |
|
schema?: string; |
|
/** |
|
* 连接前校验(弃用) |
|
*/ |
|
testOnBorrow?: boolean; |
|
/** |
|
* 最大活动数(弃用) |
|
*/ |
|
maxActive?: number; |
|
/** |
|
* 选项 |
|
*/ |
|
options?: string; |
|
/** |
|
* 端口号 |
|
*/ |
|
port?: number | ''; |
|
/** |
|
* 主机名 |
|
*/ |
|
host?: string; |
|
/** |
|
* 认证类型 |
|
*/ |
|
authType?: string; |
|
/** |
|
* 创建者 |
|
*/ |
|
creator?: string; |
|
/** |
|
* 客户端principal |
|
*/ |
|
principal?: string; |
|
/** |
|
* 秘钥路径 |
|
*/ |
|
keyPath?: string; |
|
/** |
|
* krb5.conf文件 |
|
*/ |
|
krb5Path?: string; |
|
/** |
|
* fetchSize |
|
*/ |
|
fetchSize?: number; |
|
/** |
|
* 连接池id |
|
*/ |
|
identity?: string; |
|
|
|
connectionPoolAttr: ConnectionPoolJDBC; |
|
/** |
|
* 并行装载 |
|
*/ |
|
parallelLoad?: IParallelLoad; |
|
/** |
|
* HDFS |
|
*/ |
|
hdfs?: { |
|
/** |
|
* HDFS地址 |
|
*/ |
|
hdfsAddress?: string; |
|
}; |
|
} & ConnectionDataOfSSH & ConnectionDataOfSSL; |
|
|
|
/** |
|
* 并行装载 |
|
*/ |
|
export interface IParallelLoad { |
|
/** |
|
* 服务器地址 |
|
*/ |
|
serverAddress?: string; |
|
/** |
|
* 服务器地址选项 |
|
*/ |
|
serverAddressItems?: string[]; |
|
/** |
|
* 复用临时表 |
|
*/ |
|
reuseTemporaryTable?: string; |
|
/** |
|
* 临时文件条数限制 |
|
*/ |
|
filePiecesLimit?: string; |
|
/** |
|
* 临时文件大小限制 |
|
*/ |
|
fileSizeLimit?: string |
|
} |
|
|
|
export interface ContextHashtable { |
|
'java.naming.factory.initial': string; |
|
'java.naming.provider.url': string; |
|
'java.naming.factory.object': string; |
|
'java.naming.factory.state': string; |
|
'java.naming.factory.url.pkgs': string; |
|
'java.naming.dns.url': string; |
|
'java.naming.authoritative': string; |
|
'java.naming.batchsize': string; |
|
'java.naming.referral': string; |
|
'java.naming.security.protocol': string; |
|
'java.naming.security.authentication': string; |
|
'java.naming.security.principal': string; |
|
'java.naming.security.credentials': string; |
|
'java.naming.language': string; |
|
'java.naming.applet': string; |
|
} |
|
|
|
export interface ConnectionJNDI { |
|
jndiName: string; |
|
/** |
|
* 编码 |
|
*/ |
|
originalCharsetName: string; |
|
newCharsetName: string; |
|
creator?: string; |
|
contextHashtable: ContextHashtable; |
|
} |
|
|
|
export interface ConnectionPlugin { |
|
pluginType: 'json'; |
|
creator: ''; |
|
pluginData: any; |
|
} |
|
|
|
export interface Connection { |
|
connectionId: string; |
|
connectionType: string; |
|
connectionName: string; |
|
creator?: string; |
|
connectionData: ConnectionJDBC | ConnectionJNDI | ConnectionPlugin | string; |
|
privilegeDetailBeanList?: { |
|
privilegeType: number; |
|
privilegeValue: number; |
|
}[]; |
|
} |
|
|
|
export interface TestRequest { |
|
data?: string[]; |
|
errorCode?: string; |
|
errorMsg?: string; |
|
} |
|
|
|
export interface SocketResult { |
|
data?: string; |
|
errorCode?: string; |
|
errorMsg?: string; |
|
} |
|
|
|
export interface ResultType<T = any> { |
|
data?: T; |
|
errorCode?: string; |
|
errorMsg?: string; |
|
} |
|
|
|
export type checkDriverStatusParams = { |
|
path: string; |
|
driver: ConnectionJDBC['driver']; |
|
} |