feat(web): Add deployments API typings and web UI improvements: services & deployments management with CRUD and actions

This commit is contained in:
2025-09-08 06:46:14 +00:00
parent c142519004
commit e19639c9be
7 changed files with 809 additions and 75 deletions

View File

@@ -0,0 +1,141 @@
import * as plugins from '../plugins.js';
import type { IDeployment } from '../data/deployment.js';
import type { IIdentity } from '../data/user.js';
export interface IReq_Any_Cloudly_GetDeploymentById
extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_Any_Cloudly_GetDeploymentById
> {
method: 'getDeploymentById';
request: {
identity: IIdentity;
deploymentId: string;
};
response: {
deployment: IDeployment;
};
}
export interface IReq_Any_Cloudly_GetDeployments
extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_Any_Cloudly_GetDeployments
> {
method: 'getDeployments';
request: {
identity: IIdentity;
};
response: {
deployments: IDeployment[];
};
}
export interface IReq_Any_Cloudly_GetDeploymentsByService
extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_Any_Cloudly_GetDeploymentsByService
> {
method: 'getDeploymentsByService';
request: {
identity: IIdentity;
serviceId: string;
};
response: {
deployments: IDeployment[];
};
}
export interface IReq_Any_Cloudly_GetDeploymentsByNode
extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_Any_Cloudly_GetDeploymentsByNode
> {
method: 'getDeploymentsByNode';
request: {
identity: IIdentity;
nodeId: string;
};
response: {
deployments: IDeployment[];
};
}
export interface IReq_Any_Cloudly_CreateDeployment
extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_Any_Cloudly_CreateDeployment
> {
method: 'createDeployment';
request: {
identity: IIdentity;
deploymentData: Partial<IDeployment>;
};
response: {
deployment: IDeployment;
};
}
export interface IReq_Any_Cloudly_UpdateDeployment
extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_Any_Cloudly_UpdateDeployment
> {
method: 'updateDeployment';
request: {
identity: IIdentity;
deploymentId: string;
deploymentData: Partial<IDeployment>;
};
response: {
deployment: IDeployment;
};
}
export interface IReq_Any_Cloudly_DeleteDeploymentById
extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_Any_Cloudly_DeleteDeploymentById
> {
method: 'deleteDeploymentById';
request: {
identity: IIdentity;
deploymentId: string;
};
response: {
success: boolean;
};
}
export interface IReq_Any_Cloudly_RestartDeployment
extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_Any_Cloudly_RestartDeployment
> {
method: 'restartDeployment';
request: {
identity: IIdentity;
deploymentId: string;
};
response: {
success: boolean;
deployment: IDeployment;
};
}
export interface IReq_Any_Cloudly_ScaleDeployment
extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_Any_Cloudly_ScaleDeployment
> {
method: 'scaleDeployment';
request: {
identity: IIdentity;
deploymentId: string;
replicas: number;
};
response: {
success: boolean;
deployment: IDeployment;
};
}