refactor: 主机服务抽离.

This commit is contained in:
lijiahang
2023-12-20 12:20:38 +08:00
parent 29b3fa5a9c
commit 2506d567b8
21 changed files with 338 additions and 176 deletions

View File

@@ -0,0 +1,51 @@
import axios from 'axios';
/**
* 主机配置请求
*/
export interface HostConfigRequest {
id?: number;
hostId?: number;
version?: number;
status?: number;
config?: string;
}
/**
* 主机配置查询响应
*/
export interface HostConfigQueryResponse {
id: number;
type: string;
version: number;
status: number;
config: Record<string, any>;
}
/**
* 查询主机配置
*/
export function getHostConfig(params: HostConfigRequest) {
return axios.get<HostConfigQueryResponse>('/asset/host-config/get', { params });
}
/**
* 查询全部主机配置
*/
export function getHostConfigList(hostId: number) {
return axios.get<Array<HostConfigQueryResponse>>('/asset/host-config/list', { params: { hostId } });
}
/**
* 更新主机配置
*/
export function updateHostConfig(request: HostConfigRequest) {
return axios.put('/asset/host-config/update', request);
}
/**
* 更新主机配置状态
*/
export function updateHostConfigStatus(request: HostConfigRequest) {
return axios.put('/asset/host-config/update-status', request);
}

View File

@@ -0,0 +1,16 @@
import axios from 'axios';
/**
* 主机别名修改请求
*/
export interface HostAliasUpdateRequest {
id?: number;
name?: string;
}
/**
* 修改主机别名
*/
export function updateHostAlias(request: HostAliasUpdateRequest) {
return axios.put('/asset/host-extra/update-alias', request);
}

View File

@@ -55,36 +55,6 @@ export interface HostQueryResponse extends TableData {
modCount: number;
}
/**
* 主机配置请求
*/
export interface HostConfigRequest {
id?: number;
hostId?: number;
version?: number;
status?: number;
config?: string;
}
/**
* 主机配置查询响应
*/
export interface HostConfigQueryResponse {
id: number;
type: string;
version: number;
status: number;
config: Record<string, any>;
}
/**
* 主机别名更新请求
*/
export interface HostAliasUpdateRequest {
id?: number;
name?: string;
}
/**
* 创建主机
*/
@@ -126,38 +96,3 @@ export function getHostPage(request: HostQueryRequest) {
export function deleteHost(id: number) {
return axios.delete('/asset/host/delete', { params: { id } });
}
/**
* 修改主机别名
*/
export function updateHostAlias(request: HostAliasUpdateRequest) {
return axios.put('/asset/host/update-alias', request);
}
/**
* 查询主机配置
*/
export function getHostConfig(params: HostConfigRequest) {
return axios.get<HostConfigQueryResponse>('/asset/host/get-config', { params });
}
/**
* 查询主机配置 - 全部
*/
export function getHostConfigAll(params: HostConfigRequest) {
return axios.get<Array<HostConfigQueryResponse>>('/asset/host/get-config-all', { params });
}
/**
* 更新主机配置
*/
export function updateHostConfig(request: HostConfigRequest) {
return axios.put('/asset/host/update-config', request);
}
/**
* 更新主机配置状态
*/
export function updateHostConfigStatus(request: HostConfigRequest) {
return axios.put('/asset/host/update-config-status', request);
}

View File

@@ -33,7 +33,7 @@
import useVisible from '@/hooks/visible';
import useLoading from '@/hooks/loading';
import { Message } from '@arco-design/web-vue';
import { getHostConfigAll } from '@/api/asset/host';
import { getHostConfigList } from '@/api/asset/host-config';
import { useCacheStore, useDictStore } from '@/store';
import { dictKeys as sshDictKeys } from './ssh/types/const';
import SshConfigForm from './ssh/ssh-config-form.vue';
@@ -57,7 +57,7 @@
const dictStore = useDictStore();
await dictStore.loadKeys([...sshDictKeys]);
// 加载配置
const { data } = await getHostConfigAll({ hostId: record.value.id });
const { data } = await getHostConfigList(record.value.id);
data.forEach(s => {
config.value[s.type] = s;
});

View File

@@ -141,7 +141,7 @@
import type { FieldRule } from '@arco-design/web-vue';
import type { HostSshConfig } from './types/const';
import { reactive, ref, watch } from 'vue';
import { updateHostConfigStatus, updateHostConfig } from '@/api/asset/host';
import { updateHostConfigStatus, updateHostConfig } from '@/api/asset/host-config';
import { authTypeKey, AuthType } from './types/const';
import rules from './types/form.rules';
import { Message } from '@arco-design/web-vue';

View File

@@ -168,7 +168,7 @@
import { dataColor } from '@/utils';
import { tagColor } from '@/views/asset/host-list/types/const';
import { ref, nextTick } from 'vue';
import { updateHostAlias } from '@/api/asset/host';
import { updateHostAlias } from '@/api/asset/host-extra';
const props = defineProps<{
hostList: Array<HostQueryResponse>,