|
|
|
@ -1,10 +1,11 @@
|
|
|
|
|
import { model, Model } from '@core/core'; |
|
|
|
|
import { ApiFactory } from '../../..//crud/apiFactory'; |
|
|
|
|
import { AppModel } from '../../../app.model'; |
|
|
|
|
import type { ConnectionJDBC } from '../../../crud/crud.typings'; |
|
|
|
|
const api = new ApiFactory().create(); |
|
|
|
|
@model() |
|
|
|
|
export class ConnectionListModel extends Model<{ |
|
|
|
|
types : { |
|
|
|
|
types: { |
|
|
|
|
connections: AppModel['TYPE']['connections']; |
|
|
|
|
connectionSelected: AppModel['TYPE']['connectionSelected']; |
|
|
|
|
}, |
|
|
|
@ -19,15 +20,25 @@ export class ConnectionListModel extends Model<{
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
actions = { |
|
|
|
|
setConnections: ():Promise<void> => api.getConnectionList().then(data => { |
|
|
|
|
setConnections: (): Promise<void> => api.getConnectionList().then(data => { |
|
|
|
|
data.data.push(...BI.Constants.getConstant('dec.constant.connection.list')); |
|
|
|
|
if (BI.size(data.data) > 0) { |
|
|
|
|
this.model.connections = data.data; |
|
|
|
|
let defaultDatabaseName, |
|
|
|
|
defaultDatabaseId = BI.Services.getService("dec.service.global") |
|
|
|
|
.getHashSearchParams("databaseId"); |
|
|
|
|
|
|
|
|
|
this.model.connections.forEach(item => { |
|
|
|
|
// 后端传过来的是字符串,转为对象
|
|
|
|
|
// 后端传过来的是字符串,转为对象
|
|
|
|
|
BI.isString(item.connectionData) && (item.connectionData = JSON.parse(item.connectionData as string)); |
|
|
|
|
|
|
|
|
|
// 目前只有jdbc存在identity,后期拓展
|
|
|
|
|
if ((item.connectionData as ConnectionJDBC).identity === defaultDatabaseId) { |
|
|
|
|
defaultDatabaseName = item.connectionName; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
this.model.connectionSelected = data.data[0].connectionName; |
|
|
|
|
|
|
|
|
|
this.model.connectionSelected = defaultDatabaseName ?? data.data[0].connectionName; |
|
|
|
|
} else { |
|
|
|
|
this.model.connectionSelected = ''; |
|
|
|
|
} |
|
|
|
|