import * as plugins from '../plugins.js'; import type { ICloudlySettings } from '../data/settings.js'; import type { IIdentity } from '../data/user.js'; export interface IRequest_GetSettings extends plugins.typedrequestInterfaces.ITypedRequest { method: 'getSettings'; request: { identity?: IIdentity; }; response: { settings: ICloudlySettings; }; } export interface IRequest_UpdateSettings extends plugins.typedrequestInterfaces.ITypedRequest { method: 'updateSettings'; request: { identity?: IIdentity; updates: Partial; }; response: { success: boolean; message: string; }; } export interface IRequest_ClearSetting extends plugins.typedrequestInterfaces.ITypedRequest { method: 'clearSetting'; request: { identity?: IIdentity; key: keyof ICloudlySettings; }; response: { success: boolean; message: string; }; } export interface IRequest_TestProviderConnection extends plugins.typedrequestInterfaces.ITypedRequest { method: 'testProviderConnection'; request: { identity?: IIdentity; provider: 'hetzner' | 'cloudflare' | 'aws' | 'digitalocean' | 'azure' | 'google' | 'vultr' | 'linode' | 'ovh' | 'scaleway'; }; response: { success: boolean; message: string; connectionValid: boolean; }; } export interface IRequest_GetSetting extends plugins.typedrequestInterfaces.ITypedRequest { method: 'getSetting'; request: { identity?: IIdentity; key: keyof ICloudlySettings; }; response: { value: ICloudlySettings[keyof ICloudlySettings] | undefined; }; }