import * as plugins from '../plugins.js'; import type * as authInterfaces from '../data/auth.js'; import type { IHttpRedirectInfo, ILetsEncryptHttp01ForwardConfig, IMergedRoute, IRouteWarning, IRouteMetadata } from '../data/route-management.js'; import type { IDcRouterRouteConfig } from '../data/remoteingress.js'; /** * Get all routes with warnings. */ export interface IReq_GetMergedRoutes extends plugins.typedrequestInterfaces.implementsTR { method: 'getMergedRoutes'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; }; response: { routes: IMergedRoute[]; warnings: IRouteWarning[]; }; } /** * Get derived HTTP-to-HTTPS redirects. */ export interface IReq_GetHttpRedirects extends plugins.typedrequestInterfaces.implementsTR { method: 'getHttpRedirects'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; }; response: { redirects: IHttpRedirectInfo[]; }; } /** * Create a new route. */ export interface IReq_CreateRoute extends plugins.typedrequestInterfaces.implementsTR { method: 'createRoute'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; route: IDcRouterRouteConfig; enabled?: boolean; metadata?: IRouteMetadata; }; response: { success: boolean; routeId?: string; message?: string; }; } /** * Update a route. */ export interface IReq_UpdateRoute extends plugins.typedrequestInterfaces.implementsTR { method: 'updateRoute'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; id: string; route?: Partial; enabled?: boolean; metadata?: Partial; }; response: { success: boolean; message?: string; }; } /** * Delete a route. */ export interface IReq_DeleteRoute extends plugins.typedrequestInterfaces.implementsTR { method: 'deleteRoute'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; id: string; }; response: { success: boolean; message?: string; }; } /** * Toggle a route on/off by id. */ export interface IReq_ToggleRoute extends plugins.typedrequestInterfaces.implementsTR { method: 'toggleRoute'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; id: string; enabled: boolean; }; response: { success: boolean; message?: string; }; } /** * Create a server-managed Let's Encrypt HTTP-01 forward. */ export interface IReq_CreateLetsEncryptHttp01Forward extends plugins.typedrequestInterfaces.implementsTR { method: 'createLetsEncryptHttp01Forward'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; config: ILetsEncryptHttp01ForwardConfig; enabled?: boolean; }; response: { success: boolean; routeId?: string; message?: string; }; } /** * Update a server-managed Let's Encrypt HTTP-01 forward. */ export interface IReq_UpdateLetsEncryptHttp01Forward extends plugins.typedrequestInterfaces.implementsTR { method: 'updateLetsEncryptHttp01Forward'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; id: string; config: ILetsEncryptHttp01ForwardConfig; enabled?: boolean; }; response: { success: boolean; message?: string; }; } /** * Delete a server-managed Let's Encrypt HTTP-01 forward. */ export interface IReq_DeleteLetsEncryptHttp01Forward extends plugins.typedrequestInterfaces.implementsTR { method: 'deleteLetsEncryptHttp01Forward'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; id: string; }; response: { success: boolean; message?: string; }; }