misc_pterodactyl-panel/resources/scripts/api/admin/nodes/updateNode.ts
2021-07-21 12:21:10 -06:00

23 lines
762 B
TypeScript

import http from '@/api/http';
import { Node, rawDataToNode } from '@/api/admin/nodes/getNodes';
export default (id: number, node: Partial<Node>, include: string[] = []): Promise<Node> => {
const data = {};
Object.keys(node).forEach((key) => {
const key2 = key
.replace('HTTP', 'Http')
.replace('SFTP', 'Sftp')
.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);
// @ts-ignore
data[key2] = node[key];
});
return new Promise((resolve, reject) => {
http.patch(`/api/application/nodes/${id}`, {
...data,
}, { params: { include: include.join(',') } })
.then(({ data }) => resolve(rawDataToNode(data)))
.catch(reject);
});
};