ui(admin): server editing improvements
This commit is contained in:
parent
23a160b9e1
commit
6df2368264
9 changed files with 153 additions and 90 deletions
|
@ -1,4 +1,36 @@
|
|||
import http, { FractalResponseData } from '@/api/http';
|
||||
import { Nest } from '@/api/admin/nests/getNests';
|
||||
import { rawDataToServer, Server } from '@/api/admin/servers/getServers';
|
||||
import http, { FractalResponseData, FractalResponseList } from '@/api/http';
|
||||
|
||||
export interface EggVariable {
|
||||
id: number;
|
||||
eggId: number;
|
||||
name: string;
|
||||
description: string;
|
||||
envVariable: string;
|
||||
defaultValue: string;
|
||||
userViewable: boolean;
|
||||
userEditable: boolean;
|
||||
rules: string;
|
||||
required: boolean;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
}
|
||||
|
||||
const rawDataToEggVariable = ({ attributes }: FractalResponseData): EggVariable => ({
|
||||
id: attributes.id,
|
||||
eggId: attributes.egg_id,
|
||||
name: attributes.name,
|
||||
description: attributes.description,
|
||||
envVariable: attributes.env_variable,
|
||||
defaultValue: attributes.default_value,
|
||||
userViewable: attributes.user_viewable,
|
||||
userEditable: attributes.user_editable,
|
||||
rules: attributes.rules,
|
||||
required: attributes.required,
|
||||
createdAt: new Date(attributes.created_at),
|
||||
updatedAt: new Date(attributes.updated_at),
|
||||
});
|
||||
|
||||
export interface Egg {
|
||||
id: number;
|
||||
|
@ -22,6 +54,12 @@ export interface Egg {
|
|||
scriptInstall: string | null;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
|
||||
relations: {
|
||||
nest?: Nest;
|
||||
servers?: Server[];
|
||||
variables?: EggVariable[];
|
||||
};
|
||||
}
|
||||
|
||||
export const rawDataToEgg = ({ attributes }: FractalResponseData): Egg => ({
|
||||
|
@ -46,11 +84,17 @@ export const rawDataToEgg = ({ attributes }: FractalResponseData): Egg => ({
|
|||
scriptInstall: attributes.script?.install,
|
||||
createdAt: new Date(attributes.created_at),
|
||||
updatedAt: new Date(attributes.updated_at),
|
||||
|
||||
relations: {
|
||||
nest: undefined,
|
||||
servers: ((attributes.relationships?.servers as FractalResponseList | undefined)?.data || []).map(rawDataToServer),
|
||||
variables: ((attributes.relationships?.variables as FractalResponseList | undefined)?.data || []).map(rawDataToEggVariable),
|
||||
},
|
||||
});
|
||||
|
||||
export default (id: number): Promise<Egg> => {
|
||||
export default (id: number, include: string[] = []): Promise<Egg> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
http.get(`/api/application/eggs/${id}`)
|
||||
http.get(`/api/application/eggs/${id}`, { params: { include: include.join(',') } })
|
||||
.then(({ data }) => resolve(rawDataToEgg(data)))
|
||||
.catch(reject);
|
||||
});
|
||||
|
|
|
@ -22,6 +22,7 @@ export interface Server {
|
|||
io: number;
|
||||
cpu: number;
|
||||
threads: string | null;
|
||||
oomDisabled: boolean;
|
||||
}
|
||||
|
||||
featureLimits: {
|
||||
|
@ -43,8 +44,6 @@ export interface Server {
|
|||
environment: Map<string, string>;
|
||||
}
|
||||
|
||||
oomKiller: boolean;
|
||||
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
|
||||
|
@ -71,6 +70,7 @@ export const rawDataToServer = ({ attributes }: FractalResponseData): Server =>
|
|||
io: attributes.limits.io,
|
||||
cpu: attributes.limits.cpu,
|
||||
threads: attributes.limits.threads,
|
||||
oomDisabled: attributes.limits.oom_disabled,
|
||||
},
|
||||
|
||||
featureLimits: {
|
||||
|
@ -92,8 +92,6 @@ export const rawDataToServer = ({ attributes }: FractalResponseData): Server =>
|
|||
environment: attributes.container.environment,
|
||||
},
|
||||
|
||||
oomKiller: attributes.oom_killer,
|
||||
|
||||
createdAt: new Date(attributes.created_at),
|
||||
updatedAt: new Date(attributes.updated_at),
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ export interface Values {
|
|||
externalId: string;
|
||||
name: string;
|
||||
ownerId: number;
|
||||
oomKiller: boolean;
|
||||
|
||||
memory: number;
|
||||
swap: number;
|
||||
|
@ -13,6 +12,7 @@ export interface Values {
|
|||
io: number;
|
||||
cpu: number;
|
||||
threads: string;
|
||||
oomDisabled: boolean;
|
||||
|
||||
databases: number;
|
||||
allocations: number;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue