Update typescript bindings with new status field

This commit is contained in:
Dane Everitt 2021-01-17 16:13:49 -08:00
parent 8db3a05498
commit 805952ac38
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
3 changed files with 15 additions and 7 deletions

View file

@ -1,6 +1,6 @@
import http, { FractalResponseData, FractalResponseList } from '@/api/http';
import { rawDataToServerAllocation, rawDataToServerEggVariable } from '@/api/transformers';
import { ServerEggVariable } from '@/api/server/types';
import { ServerEggVariable, ServerStatus } from '@/api/server/types';
export interface Allocation {
id: number;
@ -17,6 +17,7 @@ export interface Server {
uuid: string;
name: string;
node: string;
status: ServerStatus;
sftpDetails: {
ip: string;
port: number;
@ -38,6 +39,10 @@ export interface Server {
allocations: number;
backups: number;
};
// Only isSuspended got marked as deprecated since the isInstalling is a nice helper
// since you'd have to check multiple potential values for that. isSuspended should
// be replaced with status !== 'suspended'.
/** @deprecated */
isSuspended: boolean;
isInstalling: boolean;
isTransferring: boolean;
@ -51,6 +56,7 @@ export const rawDataToServerObject = ({ attributes: data }: FractalResponseData)
uuid: data.uuid,
name: data.name,
node: data.node,
status: data.status,
invocation: data.invocation,
dockerImage: data.docker_image,
sftpDetails: {
@ -61,8 +67,8 @@ export const rawDataToServerObject = ({ attributes: data }: FractalResponseData)
limits: { ...data.limits },
eggFeatures: data.egg_features || [],
featureLimits: { ...data.feature_limits },
isSuspended: data.is_suspended,
isInstalling: data.is_installing,
isSuspended: data.status === 'suspended',
isInstalling: data.status === 'installing' || data.status === 'install_failed',
isTransferring: data.is_transferring,
variables: ((data.relationships?.variables as FractalResponseList | undefined)?.data || []).map(rawDataToServerEggVariable),
allocations: ((data.relationships?.allocations as FractalResponseList | undefined)?.data || []).map(rawDataToServerAllocation),

View file

@ -1,3 +1,5 @@
export type ServerStatus = 'installing' | 'install_failed' | 'suspended' | 'restoring_backup' | null;
export interface ServerBackup {
uuid: string;
isSuccessful: boolean;