1
0
mirror of https://github.com/1Panel-dev/1Panel.git synced 2025-03-03 20:44:13 +08:00
2024-08-01 10:59:43 +08:00

247 lines
5.3 KiB
Go

import { ReqPage, CommonModel } from '.';
export namespace App {
export interface App extends CommonModel {
name: string;
icon: string;
key: string;
tags: Tag[];
shortDescZh: string;
shortDescEn: string;
author: string;
source: string;
type: string;
status: string;
limit: number;
website: string;
github: string;
}
export interface AppDTO extends App {
versions: string[];
installed: boolean;
}
export interface Tag {
key: string;
name: string;
sort: number;
}
export interface AppResPage {
total: number;
items: App.AppDTO[];
}
export interface AppUpdateRes {
version: string;
canUpdate: boolean;
}
export interface AppDetail extends CommonModel {
appId: string;
icon: string;
version: string;
readme: string;
params: AppParams;
dockerCompose: string;
image: string;
hostMode?: boolean;
}
export interface AppReq extends ReqPage {
name?: string;
tags?: string[];
type?: string;
recommend?: boolean;
}
export interface AppParams {
formFields: FromField[];
}
export interface FromField {
type: string;
labelZh: string;
labelEn: string;
required: boolean;
default: any;
envKey: string;
key?: string;
values?: ServiceParam[];
child?: FromFieldChild;
params?: FromParam[];
multiple?: boolean;
}
export interface FromFieldChild extends FromField {
services: App.AppService[];
}
export interface FromParam {
type: string;
key: string;
value: string;
envKey: string;
}
export interface ServiceParam {
label: '';
value: '';
from?: '';
}
export interface AppInstall {
appDetailId: number;
params: any;
}
export interface AppInstallSearch extends ReqPage {
name?: string;
tags?: string[];
update?: boolean;
unused?: boolean;
sync?: boolean;
}
export interface ChangePort {
key: string;
name: string;
port: number;
}
export interface AppInstalled extends CommonModel {
name: string;
appId: number;
appDetailId: string;
env: string;
status: string;
description: string;
message: string;
icon: string;
canUpdate: boolean;
path: string;
app: App;
}
export interface AppInstallDto {
id: number;
name: string;
appID: number;
appDetailID: number;
version: string;
status: string;
message: string;
httpPort: number;
httpsPort: number;
path: string;
canUpdate: boolean;
icon: string;
appName: string;
ready: number;
total: number;
appKey: string;
appType: string;
appStatus: string;
}
export interface AppInstalledInfo {
id: number;
key: string;
name: string;
}
export interface CheckInstalled {
name: string;
version: string;
isExist: boolean;
app: string;
status: string;
createdAt: string;
lastBackupAt: string;
appInstallId: number;
containerName: string;
installPath: string;
httpPort: number;
httpsPort: number;
}
export interface DatabaseConnInfo {
status: string;
username: string;
password: string;
privilege: boolean;
containerName: string;
serviceName: string;
systemIP: string;
port: number;
}
export interface AppInstallResource {
type: string;
name: string;
}
export interface AppInstalledOp {
installId: number;
operate: string;
backupId?: number;
detailId?: number;
forceDelete?: boolean;
deleteBackup?: boolean;
}
export interface AppInstalledSearch extends ReqPage {
type: string;
unused?: boolean;
all?: boolean;
}
export interface AppService {
label: string;
value: string;
config?: Object;
from?: string;
}
export interface VersionDetail {
version: string;
detailId: number;
}
export interface InstallParams {
labelZh: string;
labelEn: string;
value: any;
edit: boolean;
key: string;
rule: string;
type: string;
values?: any;
showValue?: string;
required?: boolean;
multiple?: boolean;
}
export interface AppConfig {
params: InstallParams[];
cpuQuota: number;
memoryLimit: number;
memoryUnit: string;
containerName: string;
allowPort: boolean;
dockerCompose: string;
hostMode?: boolean;
}
export interface IgnoredApp {
name: string;
detailID: number;
version: string;
icon: string;
}
export interface AppUpdateVersionReq {
appInstallID: number;
updateVersion?: string;
}
}