feat(opsserver): introduce OpsServer (TypedRequest API) and new lightweight web UI; replace legacy Angular UI and add typed interfaces
This commit is contained in:
16
ts_interfaces/data/auth.ts
Normal file
16
ts_interfaces/data/auth.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Auth-related data shapes for Onebox
|
||||
*/
|
||||
|
||||
export interface IIdentity {
|
||||
jwt: string;
|
||||
userId: string;
|
||||
username: string;
|
||||
expiresAt: number;
|
||||
role: 'admin' | 'user';
|
||||
}
|
||||
|
||||
export interface IUser {
|
||||
username: string;
|
||||
role: 'admin' | 'user';
|
||||
}
|
||||
89
ts_interfaces/data/backup.ts
Normal file
89
ts_interfaces/data/backup.ts
Normal file
@@ -0,0 +1,89 @@
|
||||
/**
|
||||
* Backup-related data shapes for Onebox
|
||||
*/
|
||||
|
||||
import type { TPlatformServiceType } from './platform.ts';
|
||||
|
||||
export type TBackupRestoreMode = 'restore' | 'import' | 'clone';
|
||||
export type TBackupScheduleScope = 'all' | 'pattern' | 'service';
|
||||
|
||||
export interface IRetentionPolicy {
|
||||
hourly: number;
|
||||
daily: number;
|
||||
weekly: number;
|
||||
monthly: number;
|
||||
}
|
||||
|
||||
export const RETENTION_PRESETS = {
|
||||
standard: { hourly: 0, daily: 7, weekly: 4, monthly: 12 },
|
||||
frequent: { hourly: 24, daily: 7, weekly: 4, monthly: 12 },
|
||||
minimal: { hourly: 0, daily: 3, weekly: 2, monthly: 6 },
|
||||
longterm: { hourly: 0, daily: 14, weekly: 8, monthly: 24 },
|
||||
} as const;
|
||||
|
||||
export type TRetentionPreset = keyof typeof RETENTION_PRESETS | 'custom';
|
||||
|
||||
export interface IBackup {
|
||||
id?: number;
|
||||
serviceId: number;
|
||||
serviceName: string;
|
||||
filename: string;
|
||||
sizeBytes: number;
|
||||
createdAt: number;
|
||||
includesImage: boolean;
|
||||
platformResources: TPlatformServiceType[];
|
||||
checksum: string;
|
||||
scheduleId?: number;
|
||||
}
|
||||
|
||||
export interface IBackupSchedule {
|
||||
id?: number;
|
||||
scopeType: TBackupScheduleScope;
|
||||
scopePattern?: string;
|
||||
serviceId?: number;
|
||||
serviceName?: string;
|
||||
cronExpression: string;
|
||||
retention: IRetentionPolicy;
|
||||
enabled: boolean;
|
||||
lastRunAt: number | null;
|
||||
nextRunAt: number | null;
|
||||
lastStatus: 'success' | 'failed' | null;
|
||||
lastError: string | null;
|
||||
createdAt: number;
|
||||
updatedAt: number;
|
||||
}
|
||||
|
||||
export interface IBackupScheduleCreate {
|
||||
scopeType: TBackupScheduleScope;
|
||||
scopePattern?: string;
|
||||
serviceName?: string;
|
||||
cronExpression: string;
|
||||
retention: IRetentionPolicy;
|
||||
enabled?: boolean;
|
||||
}
|
||||
|
||||
export interface IBackupScheduleUpdate {
|
||||
cronExpression?: string;
|
||||
retention?: IRetentionPolicy;
|
||||
enabled?: boolean;
|
||||
}
|
||||
|
||||
export interface IRestoreOptions {
|
||||
mode: TBackupRestoreMode;
|
||||
newServiceName?: string;
|
||||
overwriteExisting?: boolean;
|
||||
skipPlatformData?: boolean;
|
||||
}
|
||||
|
||||
export interface IRestoreResult {
|
||||
service: {
|
||||
name: string;
|
||||
status: string;
|
||||
};
|
||||
platformResourcesRestored: number;
|
||||
warnings: string[];
|
||||
}
|
||||
|
||||
export interface IBackupPasswordStatus {
|
||||
isConfigured: boolean;
|
||||
}
|
||||
59
ts_interfaces/data/domain.ts
Normal file
59
ts_interfaces/data/domain.ts
Normal file
@@ -0,0 +1,59 @@
|
||||
/**
|
||||
* Domain, DNS, and certificate data shapes for Onebox
|
||||
*/
|
||||
|
||||
export interface IDomain {
|
||||
id?: number;
|
||||
domain: string;
|
||||
dnsProvider: 'cloudflare' | 'manual' | null;
|
||||
cloudflareZoneId?: string;
|
||||
isObsolete: boolean;
|
||||
defaultWildcard: boolean;
|
||||
createdAt: number;
|
||||
updatedAt: number;
|
||||
}
|
||||
|
||||
export interface ICertificate {
|
||||
id?: number;
|
||||
domainId: number;
|
||||
certDomain: string;
|
||||
isWildcard: boolean;
|
||||
certPem: string;
|
||||
keyPem: string;
|
||||
fullchainPem: string;
|
||||
expiryDate: number;
|
||||
issuer: string;
|
||||
isValid: boolean;
|
||||
createdAt: number;
|
||||
updatedAt: number;
|
||||
}
|
||||
|
||||
export interface ICertRequirement {
|
||||
id?: number;
|
||||
domainId: number;
|
||||
serviceId: number;
|
||||
subdomain: string;
|
||||
status: 'pending' | 'active' | 'renewing' | 'failed';
|
||||
certificateId?: number;
|
||||
createdAt: number;
|
||||
updatedAt: number;
|
||||
}
|
||||
|
||||
export interface IDomainDetail {
|
||||
domain: IDomain;
|
||||
certificates: ICertificate[];
|
||||
requirements: ICertRequirement[];
|
||||
serviceCount: number;
|
||||
certificateStatus: 'valid' | 'expiring-soon' | 'expired' | 'pending' | 'none';
|
||||
daysRemaining: number | null;
|
||||
}
|
||||
|
||||
export interface IDnsRecord {
|
||||
id?: number;
|
||||
domain: string;
|
||||
type: 'A' | 'AAAA' | 'CNAME';
|
||||
value: string;
|
||||
cloudflareID?: string;
|
||||
createdAt: number;
|
||||
updatedAt: number;
|
||||
}
|
||||
9
ts_interfaces/data/index.ts
Normal file
9
ts_interfaces/data/index.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
export * from './auth.ts';
|
||||
export * from './service.ts';
|
||||
export * from './platform.ts';
|
||||
export * from './network.ts';
|
||||
export * from './domain.ts';
|
||||
export * from './registry.ts';
|
||||
export * from './backup.ts';
|
||||
export * from './settings.ts';
|
||||
export * from './system.ts';
|
||||
64
ts_interfaces/data/network.ts
Normal file
64
ts_interfaces/data/network.ts
Normal file
@@ -0,0 +1,64 @@
|
||||
/**
|
||||
* Network-related data shapes for Onebox
|
||||
*/
|
||||
|
||||
export type TNetworkTargetType = 'service' | 'registry' | 'platform';
|
||||
|
||||
export interface INetworkTarget {
|
||||
type: TNetworkTargetType;
|
||||
name: string;
|
||||
domain: string | null;
|
||||
targetHost: string;
|
||||
targetPort: number;
|
||||
status: string;
|
||||
}
|
||||
|
||||
export interface INetworkStats {
|
||||
proxy: {
|
||||
running: boolean;
|
||||
httpPort: number;
|
||||
httpsPort: number;
|
||||
routes: number;
|
||||
certificates: number;
|
||||
};
|
||||
logReceiver: {
|
||||
running: boolean;
|
||||
port: number;
|
||||
clients: number;
|
||||
connections: number;
|
||||
sampleRate: number;
|
||||
recentLogsCount: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ITrafficStats {
|
||||
requestCount: number;
|
||||
errorCount: number;
|
||||
avgResponseTime: number;
|
||||
totalBytes: number;
|
||||
statusCounts: Record<string, number>;
|
||||
requestsPerMinute: number;
|
||||
errorRate: number;
|
||||
}
|
||||
|
||||
export interface ICaddyAccessLog {
|
||||
ts: number;
|
||||
request: {
|
||||
remote_ip: string;
|
||||
method: string;
|
||||
host: string;
|
||||
uri: string;
|
||||
proto: string;
|
||||
};
|
||||
status: number;
|
||||
duration: number;
|
||||
size: number;
|
||||
}
|
||||
|
||||
export interface INetworkLogMessage {
|
||||
type: 'connected' | 'access_log' | 'filter_updated';
|
||||
clientId?: string;
|
||||
filter?: { domain?: string; sampleRate?: number };
|
||||
data?: ICaddyAccessLog;
|
||||
timestamp: number;
|
||||
}
|
||||
37
ts_interfaces/data/platform.ts
Normal file
37
ts_interfaces/data/platform.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
/**
|
||||
* Platform service data shapes for Onebox
|
||||
*/
|
||||
|
||||
export type TPlatformServiceType = 'mongodb' | 'minio' | 'redis' | 'postgresql' | 'rabbitmq' | 'caddy' | 'clickhouse';
|
||||
export type TPlatformServiceStatus = 'not-deployed' | 'stopped' | 'starting' | 'running' | 'stopping' | 'failed';
|
||||
export type TPlatformResourceType = 'database' | 'bucket' | 'cache' | 'queue';
|
||||
|
||||
export interface IPlatformRequirements {
|
||||
mongodb?: boolean;
|
||||
s3?: boolean;
|
||||
clickhouse?: boolean;
|
||||
}
|
||||
|
||||
export interface IPlatformService {
|
||||
type: TPlatformServiceType;
|
||||
displayName: string;
|
||||
resourceTypes: TPlatformResourceType[];
|
||||
status: TPlatformServiceStatus;
|
||||
containerId?: string;
|
||||
isCore?: boolean;
|
||||
createdAt?: number;
|
||||
updatedAt?: number;
|
||||
}
|
||||
|
||||
export interface IPlatformResource {
|
||||
id: number;
|
||||
resourceType: TPlatformResourceType;
|
||||
resourceName: string;
|
||||
platformService: {
|
||||
type: TPlatformServiceType;
|
||||
name: string;
|
||||
status: TPlatformServiceStatus;
|
||||
};
|
||||
envVars: Record<string, string>;
|
||||
createdAt: number;
|
||||
}
|
||||
35
ts_interfaces/data/registry.ts
Normal file
35
ts_interfaces/data/registry.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* Registry-related data shapes for Onebox
|
||||
*/
|
||||
|
||||
export interface IRegistry {
|
||||
id?: number;
|
||||
url: string;
|
||||
username: string;
|
||||
createdAt: number;
|
||||
}
|
||||
|
||||
export interface IRegistryToken {
|
||||
id: number;
|
||||
name: string;
|
||||
type: 'global' | 'ci';
|
||||
scope: 'all' | string[];
|
||||
scopeDisplay: string;
|
||||
expiresAt: number | null;
|
||||
createdAt: number;
|
||||
lastUsedAt: number | null;
|
||||
createdBy: string;
|
||||
isExpired: boolean;
|
||||
}
|
||||
|
||||
export interface ICreateTokenRequest {
|
||||
name: string;
|
||||
type: 'global' | 'ci';
|
||||
scope: 'all' | string[];
|
||||
expiresIn: '30d' | '90d' | '365d' | 'never';
|
||||
}
|
||||
|
||||
export interface ITokenCreatedResponse {
|
||||
token: IRegistryToken;
|
||||
plainToken: string;
|
||||
}
|
||||
82
ts_interfaces/data/service.ts
Normal file
82
ts_interfaces/data/service.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
/**
|
||||
* Service-related data shapes for Onebox
|
||||
*/
|
||||
|
||||
import type { IPlatformRequirements } from './platform.ts';
|
||||
|
||||
export type TServiceStatus = 'stopped' | 'starting' | 'running' | 'stopping' | 'failed';
|
||||
|
||||
export interface IService {
|
||||
id?: number;
|
||||
name: string;
|
||||
image: string;
|
||||
registry?: string;
|
||||
envVars: Record<string, string>;
|
||||
port: number;
|
||||
domain?: string;
|
||||
containerID?: string;
|
||||
status: TServiceStatus;
|
||||
createdAt: number;
|
||||
updatedAt: number;
|
||||
// Onebox Registry fields
|
||||
useOneboxRegistry?: boolean;
|
||||
registryRepository?: string;
|
||||
registryImageTag?: string;
|
||||
autoUpdateOnPush?: boolean;
|
||||
imageDigest?: string;
|
||||
// Platform service requirements
|
||||
platformRequirements?: IPlatformRequirements;
|
||||
// Backup settings
|
||||
includeImageInBackup?: boolean;
|
||||
}
|
||||
|
||||
export interface IServiceCreate {
|
||||
name: string;
|
||||
image: string;
|
||||
port: number;
|
||||
domain?: string;
|
||||
envVars?: Record<string, string>;
|
||||
useOneboxRegistry?: boolean;
|
||||
registryImageTag?: string;
|
||||
autoUpdateOnPush?: boolean;
|
||||
enableMongoDB?: boolean;
|
||||
enableS3?: boolean;
|
||||
enableClickHouse?: boolean;
|
||||
}
|
||||
|
||||
export interface IServiceUpdate {
|
||||
image?: string;
|
||||
registry?: string;
|
||||
port?: number;
|
||||
domain?: string;
|
||||
envVars?: Record<string, string>;
|
||||
}
|
||||
|
||||
export interface IContainerStats {
|
||||
cpuPercent: number;
|
||||
memoryUsed: number;
|
||||
memoryLimit: number;
|
||||
memoryPercent: number;
|
||||
networkRx: number;
|
||||
networkTx: number;
|
||||
}
|
||||
|
||||
export interface IMetric {
|
||||
id?: number;
|
||||
serviceId: number;
|
||||
timestamp: number;
|
||||
cpuPercent: number;
|
||||
memoryUsed: number;
|
||||
memoryLimit: number;
|
||||
networkRxBytes: number;
|
||||
networkTxBytes: number;
|
||||
}
|
||||
|
||||
export interface ILogEntry {
|
||||
id?: number;
|
||||
serviceId: number;
|
||||
timestamp: number;
|
||||
message: string;
|
||||
level: 'info' | 'warn' | 'error' | 'debug';
|
||||
source: 'stdout' | 'stderr';
|
||||
}
|
||||
14
ts_interfaces/data/settings.ts
Normal file
14
ts_interfaces/data/settings.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* Settings data shapes for Onebox
|
||||
*/
|
||||
|
||||
export interface ISettings {
|
||||
cloudflareToken: string;
|
||||
cloudflareZoneId: string;
|
||||
autoRenewCerts: boolean;
|
||||
renewalThreshold: number;
|
||||
acmeEmail: string;
|
||||
httpPort: number;
|
||||
httpsPort: number;
|
||||
forceHttps: boolean;
|
||||
}
|
||||
32
ts_interfaces/data/system.ts
Normal file
32
ts_interfaces/data/system.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
/**
|
||||
* System status data shapes for Onebox
|
||||
*/
|
||||
|
||||
import type { TPlatformServiceType, TPlatformServiceStatus } from './platform.ts';
|
||||
|
||||
export interface ISystemStatus {
|
||||
docker: {
|
||||
running: boolean;
|
||||
version: unknown;
|
||||
};
|
||||
reverseProxy: {
|
||||
http: { running: boolean; port: number };
|
||||
https: { running: boolean; port: number; certificates: number };
|
||||
routes: number;
|
||||
};
|
||||
dns: { configured: boolean };
|
||||
ssl: { configured: boolean; certificateCount: number };
|
||||
services: { total: number; running: number; stopped: number };
|
||||
platformServices: Array<{
|
||||
type: TPlatformServiceType;
|
||||
displayName: string;
|
||||
status: TPlatformServiceStatus;
|
||||
resourceCount: number;
|
||||
}>;
|
||||
certificateHealth: {
|
||||
valid: number;
|
||||
expiringSoon: number;
|
||||
expired: number;
|
||||
expiringDomains: Array<{ domain: string; daysRemaining: number }>;
|
||||
};
|
||||
}
|
||||
9
ts_interfaces/index.ts
Normal file
9
ts_interfaces/index.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
export * from './plugins.ts';
|
||||
|
||||
// Data types
|
||||
import * as data from './data/index.ts';
|
||||
export { data };
|
||||
|
||||
// Request interfaces
|
||||
import * as requests from './requests/index.ts';
|
||||
export { requests };
|
||||
6
ts_interfaces/plugins.ts
Normal file
6
ts_interfaces/plugins.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
// @apiglobal scope
|
||||
import * as typedrequestInterfaces from '@api.global/typedrequest-interfaces';
|
||||
|
||||
export {
|
||||
typedrequestInterfaces,
|
||||
};
|
||||
58
ts_interfaces/requests/admin.ts
Normal file
58
ts_interfaces/requests/admin.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_AdminLoginWithUsernameAndPassword extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_AdminLoginWithUsernameAndPassword
|
||||
> {
|
||||
method: 'adminLoginWithUsernameAndPassword';
|
||||
request: {
|
||||
username: string;
|
||||
password: string;
|
||||
};
|
||||
response: {
|
||||
identity?: data.IIdentity;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_AdminLogout extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_AdminLogout
|
||||
> {
|
||||
method: 'adminLogout';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
ok: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_VerifyIdentity extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_VerifyIdentity
|
||||
> {
|
||||
method: 'verifyIdentity';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
valid: boolean;
|
||||
identity?: data.IIdentity;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_ChangePassword extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_ChangePassword
|
||||
> {
|
||||
method: 'changePassword';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
currentPassword: string;
|
||||
newPassword: string;
|
||||
};
|
||||
response: {
|
||||
ok: boolean;
|
||||
};
|
||||
}
|
||||
86
ts_interfaces/requests/backup-schedules.ts
Normal file
86
ts_interfaces/requests/backup-schedules.ts
Normal file
@@ -0,0 +1,86 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetBackupSchedules extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetBackupSchedules
|
||||
> {
|
||||
method: 'getBackupSchedules';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
schedules: data.IBackupSchedule[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_CreateBackupSchedule extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_CreateBackupSchedule
|
||||
> {
|
||||
method: 'createBackupSchedule';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
scheduleConfig: data.IBackupScheduleCreate;
|
||||
};
|
||||
response: {
|
||||
schedule: data.IBackupSchedule;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetBackupSchedule extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetBackupSchedule
|
||||
> {
|
||||
method: 'getBackupSchedule';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
scheduleId: number;
|
||||
};
|
||||
response: {
|
||||
schedule: data.IBackupSchedule;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_UpdateBackupSchedule extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_UpdateBackupSchedule
|
||||
> {
|
||||
method: 'updateBackupSchedule';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
scheduleId: number;
|
||||
updates: data.IBackupScheduleUpdate;
|
||||
};
|
||||
response: {
|
||||
schedule: data.IBackupSchedule;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_DeleteBackupSchedule extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_DeleteBackupSchedule
|
||||
> {
|
||||
method: 'deleteBackupSchedule';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
scheduleId: number;
|
||||
};
|
||||
response: {
|
||||
ok: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_TriggerBackupSchedule extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_TriggerBackupSchedule
|
||||
> {
|
||||
method: 'triggerBackupSchedule';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
scheduleId: number;
|
||||
};
|
||||
response: {
|
||||
backup: data.IBackup;
|
||||
};
|
||||
}
|
||||
73
ts_interfaces/requests/backups.ts
Normal file
73
ts_interfaces/requests/backups.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetBackups extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetBackups
|
||||
> {
|
||||
method: 'getBackups';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
backups: data.IBackup[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetBackup extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetBackup
|
||||
> {
|
||||
method: 'getBackup';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
backupId: number;
|
||||
};
|
||||
response: {
|
||||
backup: data.IBackup;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_DeleteBackup extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_DeleteBackup
|
||||
> {
|
||||
method: 'deleteBackup';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
backupId: number;
|
||||
};
|
||||
response: {
|
||||
ok: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_RestoreBackup extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_RestoreBackup
|
||||
> {
|
||||
method: 'restoreBackup';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
backupId: number;
|
||||
options: data.IRestoreOptions;
|
||||
};
|
||||
response: {
|
||||
result: data.IRestoreResult;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_DownloadBackup extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_DownloadBackup
|
||||
> {
|
||||
method: 'downloadBackup';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
backupId: number;
|
||||
};
|
||||
response: {
|
||||
downloadUrl: string;
|
||||
filename: string;
|
||||
};
|
||||
}
|
||||
58
ts_interfaces/requests/dns.ts
Normal file
58
ts_interfaces/requests/dns.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetDnsRecords extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetDnsRecords
|
||||
> {
|
||||
method: 'getDnsRecords';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
records: data.IDnsRecord[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_CreateDnsRecord extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_CreateDnsRecord
|
||||
> {
|
||||
method: 'createDnsRecord';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
domain: string;
|
||||
type: 'A' | 'AAAA' | 'CNAME';
|
||||
value: string;
|
||||
};
|
||||
response: {
|
||||
record: data.IDnsRecord;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_DeleteDnsRecord extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_DeleteDnsRecord
|
||||
> {
|
||||
method: 'deleteDnsRecord';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
domain: string;
|
||||
};
|
||||
response: {
|
||||
ok: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_SyncDns extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_SyncDns
|
||||
> {
|
||||
method: 'syncDns';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
records: data.IDnsRecord[];
|
||||
};
|
||||
}
|
||||
42
ts_interfaces/requests/domains.ts
Normal file
42
ts_interfaces/requests/domains.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetDomains extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetDomains
|
||||
> {
|
||||
method: 'getDomains';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
domains: data.IDomainDetail[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetDomain extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetDomain
|
||||
> {
|
||||
method: 'getDomain';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
domainName: string;
|
||||
};
|
||||
response: {
|
||||
domain: data.IDomainDetail;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_SyncDomains extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_SyncDomains
|
||||
> {
|
||||
method: 'syncDomains';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
domains: data.IDomainDetail[];
|
||||
};
|
||||
}
|
||||
13
ts_interfaces/requests/index.ts
Normal file
13
ts_interfaces/requests/index.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
export * from './admin.ts';
|
||||
export * from './status.ts';
|
||||
export * from './services.ts';
|
||||
export * from './platform-services.ts';
|
||||
export * from './ssl.ts';
|
||||
export * from './domains.ts';
|
||||
export * from './dns.ts';
|
||||
export * from './registry.ts';
|
||||
export * from './network.ts';
|
||||
export * from './backups.ts';
|
||||
export * from './backup-schedules.ts';
|
||||
export * from './settings.ts';
|
||||
export * from './logs.ts';
|
||||
60
ts_interfaces/requests/logs.ts
Normal file
60
ts_interfaces/requests/logs.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetServiceLogStream extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetServiceLogStream
|
||||
> {
|
||||
method: 'getServiceLogStream';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
logStream: plugins.typedrequestInterfaces.IVirtualStream;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetPlatformServiceLogStream extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetPlatformServiceLogStream
|
||||
> {
|
||||
method: 'getPlatformServiceLogStream';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceType: data.TPlatformServiceType;
|
||||
};
|
||||
response: {
|
||||
logStream: plugins.typedrequestInterfaces.IVirtualStream;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetNetworkLogStream extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetNetworkLogStream
|
||||
> {
|
||||
method: 'getNetworkLogStream';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
filter?: {
|
||||
domain?: string;
|
||||
sampleRate?: number;
|
||||
};
|
||||
};
|
||||
response: {
|
||||
logStream: plugins.typedrequestInterfaces.IVirtualStream;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetEventStream extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetEventStream
|
||||
> {
|
||||
method: 'getEventStream';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
eventStream: plugins.typedrequestInterfaces.IVirtualStream;
|
||||
};
|
||||
}
|
||||
41
ts_interfaces/requests/network.ts
Normal file
41
ts_interfaces/requests/network.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetNetworkTargets extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetNetworkTargets
|
||||
> {
|
||||
method: 'getNetworkTargets';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
targets: data.INetworkTarget[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetNetworkStats extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetNetworkStats
|
||||
> {
|
||||
method: 'getNetworkStats';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
stats: data.INetworkStats;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetTrafficStats extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetTrafficStats
|
||||
> {
|
||||
method: 'getTrafficStats';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
stats: data.ITrafficStats;
|
||||
};
|
||||
}
|
||||
71
ts_interfaces/requests/platform-services.ts
Normal file
71
ts_interfaces/requests/platform-services.ts
Normal file
@@ -0,0 +1,71 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetPlatformServices extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetPlatformServices
|
||||
> {
|
||||
method: 'getPlatformServices';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
platformServices: data.IPlatformService[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetPlatformService extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetPlatformService
|
||||
> {
|
||||
method: 'getPlatformService';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceType: data.TPlatformServiceType;
|
||||
};
|
||||
response: {
|
||||
platformService: data.IPlatformService;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_StartPlatformService extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_StartPlatformService
|
||||
> {
|
||||
method: 'startPlatformService';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceType: data.TPlatformServiceType;
|
||||
};
|
||||
response: {
|
||||
platformService: data.IPlatformService;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_StopPlatformService extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_StopPlatformService
|
||||
> {
|
||||
method: 'stopPlatformService';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceType: data.TPlatformServiceType;
|
||||
};
|
||||
response: {
|
||||
platformService: data.IPlatformService;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetPlatformServiceStats extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetPlatformServiceStats
|
||||
> {
|
||||
method: 'getPlatformServiceStats';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceType: data.TPlatformServiceType;
|
||||
};
|
||||
response: {
|
||||
stats: data.IContainerStats;
|
||||
};
|
||||
}
|
||||
57
ts_interfaces/requests/registry.ts
Normal file
57
ts_interfaces/requests/registry.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetRegistryTags extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetRegistryTags
|
||||
> {
|
||||
method: 'getRegistryTags';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
tags: string[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetRegistryTokens extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetRegistryTokens
|
||||
> {
|
||||
method: 'getRegistryTokens';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
tokens: data.IRegistryToken[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_CreateRegistryToken extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_CreateRegistryToken
|
||||
> {
|
||||
method: 'createRegistryToken';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
tokenConfig: data.ICreateTokenRequest;
|
||||
};
|
||||
response: {
|
||||
result: data.ITokenCreatedResponse;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_DeleteRegistryToken extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_DeleteRegistryToken
|
||||
> {
|
||||
method: 'deleteRegistryToken';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
tokenId: number;
|
||||
};
|
||||
response: {
|
||||
ok: boolean;
|
||||
};
|
||||
}
|
||||
214
ts_interfaces/requests/services.ts
Normal file
214
ts_interfaces/requests/services.ts
Normal file
@@ -0,0 +1,214 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetServices extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetServices
|
||||
> {
|
||||
method: 'getServices';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
services: data.IService[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetService extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetService
|
||||
> {
|
||||
method: 'getService';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
service: data.IService;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_CreateService extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_CreateService
|
||||
> {
|
||||
method: 'createService';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceConfig: data.IServiceCreate;
|
||||
};
|
||||
response: {
|
||||
service: data.IService;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_UpdateService extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_UpdateService
|
||||
> {
|
||||
method: 'updateService';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
updates: data.IServiceUpdate;
|
||||
};
|
||||
response: {
|
||||
service: data.IService;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_DeleteService extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_DeleteService
|
||||
> {
|
||||
method: 'deleteService';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
ok: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_StartService extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_StartService
|
||||
> {
|
||||
method: 'startService';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
service: data.IService;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_StopService extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_StopService
|
||||
> {
|
||||
method: 'stopService';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
service: data.IService;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_RestartService extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_RestartService
|
||||
> {
|
||||
method: 'restartService';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
service: data.IService;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetServiceLogs extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetServiceLogs
|
||||
> {
|
||||
method: 'getServiceLogs';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
tail?: number;
|
||||
};
|
||||
response: {
|
||||
logs: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetServiceStats extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetServiceStats
|
||||
> {
|
||||
method: 'getServiceStats';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
stats: data.IContainerStats;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetServiceMetrics extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetServiceMetrics
|
||||
> {
|
||||
method: 'getServiceMetrics';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
limit?: number;
|
||||
};
|
||||
response: {
|
||||
metrics: data.IMetric[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetServicePlatformResources extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetServicePlatformResources
|
||||
> {
|
||||
method: 'getServicePlatformResources';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
resources: data.IPlatformResource[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetServiceBackups extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetServiceBackups
|
||||
> {
|
||||
method: 'getServiceBackups';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
backups: data.IBackup[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_CreateServiceBackup extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_CreateServiceBackup
|
||||
> {
|
||||
method: 'createServiceBackup';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
backup: data.IBackup;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetServiceBackupSchedules extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetServiceBackupSchedules
|
||||
> {
|
||||
method: 'getServiceBackupSchedules';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
serviceName: string;
|
||||
};
|
||||
response: {
|
||||
schedules: data.IBackupSchedule[];
|
||||
};
|
||||
}
|
||||
56
ts_interfaces/requests/settings.ts
Normal file
56
ts_interfaces/requests/settings.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetSettings extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetSettings
|
||||
> {
|
||||
method: 'getSettings';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
settings: data.ISettings;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_UpdateSettings extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_UpdateSettings
|
||||
> {
|
||||
method: 'updateSettings';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
settings: Partial<data.ISettings>;
|
||||
};
|
||||
response: {
|
||||
settings: data.ISettings;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_SetBackupPassword extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_SetBackupPassword
|
||||
> {
|
||||
method: 'setBackupPassword';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
password: string;
|
||||
};
|
||||
response: {
|
||||
ok: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetBackupPasswordStatus extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetBackupPasswordStatus
|
||||
> {
|
||||
method: 'getBackupPasswordStatus';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
status: data.IBackupPasswordStatus;
|
||||
};
|
||||
}
|
||||
57
ts_interfaces/requests/ssl.ts
Normal file
57
ts_interfaces/requests/ssl.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_ObtainCertificate extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_ObtainCertificate
|
||||
> {
|
||||
method: 'obtainCertificate';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
domain: string;
|
||||
};
|
||||
response: {
|
||||
certificate: data.ICertificate;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_ListCertificates extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_ListCertificates
|
||||
> {
|
||||
method: 'listCertificates';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
certificates: data.ICertificate[];
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_GetCertificate extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetCertificate
|
||||
> {
|
||||
method: 'getCertificate';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
domain: string;
|
||||
};
|
||||
response: {
|
||||
certificate: data.ICertificate;
|
||||
};
|
||||
}
|
||||
|
||||
export interface IReq_RenewCertificate extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_RenewCertificate
|
||||
> {
|
||||
method: 'renewCertificate';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
domain: string;
|
||||
};
|
||||
response: {
|
||||
certificate: data.ICertificate;
|
||||
};
|
||||
}
|
||||
15
ts_interfaces/requests/status.ts
Normal file
15
ts_interfaces/requests/status.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import * as plugins from '../plugins.ts';
|
||||
import * as data from '../data/index.ts';
|
||||
|
||||
export interface IReq_GetSystemStatus extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
IReq_GetSystemStatus
|
||||
> {
|
||||
method: 'getSystemStatus';
|
||||
request: {
|
||||
identity: data.IIdentity;
|
||||
};
|
||||
response: {
|
||||
status: data.ISystemStatus;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user