2021-05-20 23:00:46 +01:00
|
|
|
import http from '@/api/http';
|
|
|
|
import { Server, rawDataToServer } from '@/api/admin/servers/getServers';
|
|
|
|
|
2021-09-13 05:15:45 +01:00
|
|
|
export interface Values {
|
|
|
|
externalId: string;
|
|
|
|
name: string;
|
|
|
|
ownerId: number;
|
|
|
|
|
|
|
|
memory: number;
|
|
|
|
swap: number;
|
|
|
|
disk: number;
|
|
|
|
io: number;
|
|
|
|
cpu: number;
|
|
|
|
threads: string;
|
2021-09-15 18:09:54 +01:00
|
|
|
oomDisabled: boolean;
|
2021-09-13 05:15:45 +01:00
|
|
|
|
|
|
|
databases: number;
|
|
|
|
allocations: number;
|
|
|
|
backups: number;
|
2021-09-15 22:37:17 +01:00
|
|
|
|
|
|
|
allocationId: number;
|
|
|
|
addAllocations: number[];
|
|
|
|
removeAllocations: number[];
|
2021-09-13 05:15:45 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
export default (id: number, server: Partial<Values>, include: string[] = []): Promise<Server> => {
|
|
|
|
const data = {};
|
|
|
|
|
|
|
|
Object.keys(server).forEach((key) => {
|
|
|
|
const key2 = key.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);
|
|
|
|
// @ts-ignore
|
|
|
|
data[key2] = server[key];
|
|
|
|
});
|
|
|
|
|
2021-05-20 23:00:46 +01:00
|
|
|
return new Promise((resolve, reject) => {
|
2021-09-13 05:15:45 +01:00
|
|
|
http.patch(`/api/application/servers/${id}`, data, { params: { include: include.join(',') } })
|
2021-05-20 23:00:46 +01:00
|
|
|
.then(({ data }) => resolve(rawDataToServer(data)))
|
|
|
|
.catch(reject);
|
|
|
|
});
|
|
|
|
};
|