import * as plugins from '../plugins.js'; import type { ICloudlySettings, ICloudlySettingsMasked } from '../data/settings.js'; // Get Settings export interface IRequest_GetSettings extends plugins.typedrequestInterfaces.ITypedRequest { method: 'getSettings'; request: {}; response: { settings: ICloudlySettingsMasked; }; } // Update Settings export interface IRequest_UpdateSettings extends plugins.typedrequestInterfaces.ITypedRequest { method: 'updateSettings'; request: { updates: Partial; }; response: { success: boolean; message: string; }; } // Clear Specific Setting export interface IRequest_ClearSetting extends plugins.typedrequestInterfaces.ITypedRequest { method: 'clearSetting'; request: { key: keyof ICloudlySettings; }; response: { success: boolean; message: string; }; } // Test Provider Connection export interface IRequest_TestProviderConnection extends plugins.typedrequestInterfaces.ITypedRequest { method: 'testProviderConnection'; request: { provider: 'hetzner' | 'cloudflare' | 'aws' | 'digitalocean' | 'azure' | 'google' | 'vultr' | 'linode' | 'ovh' | 'scaleway'; }; response: { success: boolean; message: string; connectionValid: boolean; }; } // Get Single Setting (for internal use, not exposed to frontend) export interface IRequest_GetSetting extends plugins.typedrequestInterfaces.ITypedRequest { method: 'getSetting'; request: { key: keyof ICloudlySettings; }; response: { value: string | undefined; }; }