107 lines
2.3 KiB
TypeScript
107 lines
2.3 KiB
TypeScript
import * as plugins from '../plugins.ts';
|
|
import * as data from '../data/index.ts';
|
|
|
|
export interface ICatalogApp {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
category: string;
|
|
iconName?: string;
|
|
iconUrl?: string;
|
|
latestVersion: string;
|
|
tags?: string[];
|
|
}
|
|
|
|
export interface IAppVersionConfig {
|
|
image: string;
|
|
port: number;
|
|
envVars?: Array<{ key: string; value: string; description: string; required?: boolean }>;
|
|
volumes?: string[];
|
|
platformRequirements?: {
|
|
mongodb?: boolean;
|
|
s3?: boolean;
|
|
clickhouse?: boolean;
|
|
redis?: boolean;
|
|
mariadb?: boolean;
|
|
};
|
|
minOneboxVersion?: string;
|
|
}
|
|
|
|
export interface IAppMeta {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
category: string;
|
|
iconName?: string;
|
|
latestVersion: string;
|
|
versions: string[];
|
|
maintainer?: string;
|
|
links?: Record<string, string>;
|
|
}
|
|
|
|
export interface IUpgradeableService {
|
|
serviceName: string;
|
|
appTemplateId: string;
|
|
currentVersion: string;
|
|
latestVersion: string;
|
|
hasMigration: boolean;
|
|
}
|
|
|
|
export interface IReq_GetAppTemplates extends plugins.typedrequestInterfaces.implementsTR<
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
IReq_GetAppTemplates
|
|
> {
|
|
method: 'getAppTemplates';
|
|
request: {
|
|
identity: data.IIdentity;
|
|
};
|
|
response: {
|
|
apps: ICatalogApp[];
|
|
};
|
|
}
|
|
|
|
export interface IReq_GetAppConfig extends plugins.typedrequestInterfaces.implementsTR<
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
IReq_GetAppConfig
|
|
> {
|
|
method: 'getAppConfig';
|
|
request: {
|
|
identity: data.IIdentity;
|
|
appId: string;
|
|
version: string;
|
|
};
|
|
response: {
|
|
config: IAppVersionConfig;
|
|
appMeta: IAppMeta;
|
|
};
|
|
}
|
|
|
|
export interface IReq_GetUpgradeableServices extends plugins.typedrequestInterfaces.implementsTR<
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
IReq_GetUpgradeableServices
|
|
> {
|
|
method: 'getUpgradeableServices';
|
|
request: {
|
|
identity: data.IIdentity;
|
|
};
|
|
response: {
|
|
services: IUpgradeableService[];
|
|
};
|
|
}
|
|
|
|
export interface IReq_UpgradeService extends plugins.typedrequestInterfaces.implementsTR<
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
IReq_UpgradeService
|
|
> {
|
|
method: 'upgradeService';
|
|
request: {
|
|
identity: data.IIdentity;
|
|
serviceName: string;
|
|
targetVersion: string;
|
|
};
|
|
response: {
|
|
service: data.IService;
|
|
warnings: string[];
|
|
};
|
|
}
|