import http from '@/api/http'; export interface Allocation { ip: string; alias: string | null; port: number; } export interface Server { id: string; uuid: string; name: string; node: string; description: string; allocations: Allocation[]; limits: { memory: number; swap: number; disk: number; io: number; cpu: number; }; featureLimits: { databases: number; allocations: number; }; } export const rawDataToServerObject = (data: any): Server => ({ id: data.identifier, uuid: data.uuid, name: data.name, node: data.node, description: data.description ? ((data.description.length > 0) ? data.description : null) : null, allocations: [{ ip: data.allocation.ip, alias: null, port: data.allocation.port, }], limits: { ...data.limits }, featureLimits: { ...data.feature_limits }, }); export default (uuid: string): Promise => { return new Promise((resolve, reject) => { http.get(`/api/client/servers/${uuid}`) .then(response => resolve(rawDataToServerObject(response.data.attributes))) .catch(reject); }); };