import * as plugins from '../plugins.js'; import type * as authInterfaces from '../data/auth.js'; import type { INetworkTarget } from '../data/route-management.js'; // ============================================================================ // Network Target Endpoints // ============================================================================ /** * Get all network targets. */ export interface IReq_GetNetworkTargets extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetNetworkTargets > { method: 'getNetworkTargets'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; }; response: { targets: INetworkTarget[]; }; } /** * Get a single network target by ID. */ export interface IReq_GetNetworkTarget extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetNetworkTarget > { method: 'getNetworkTarget'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; id: string; }; response: { target: INetworkTarget | null; }; } /** * Create a new network target. */ export interface IReq_CreateNetworkTarget extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateNetworkTarget > { method: 'createNetworkTarget'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; name: string; description?: string; host: string | string[]; port: number; }; response: { success: boolean; id?: string; message?: string; }; } /** * Update a network target. */ export interface IReq_UpdateNetworkTarget extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateNetworkTarget > { method: 'updateNetworkTarget'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; id: string; name?: string; description?: string; host?: string | string[]; port?: number; }; response: { success: boolean; affectedRouteCount?: number; message?: string; }; } /** * Delete a network target. */ export interface IReq_DeleteNetworkTarget extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteNetworkTarget > { method: 'deleteNetworkTarget'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; id: string; force?: boolean; }; response: { success: boolean; message?: string; }; } /** * Get which routes reference a network target. */ export interface IReq_GetNetworkTargetUsage extends plugins.typedrequestInterfaces.implementsTR< plugins.typedrequestInterfaces.ITypedRequest, IReq_GetNetworkTargetUsage > { method: 'getNetworkTargetUsage'; request: { identity?: authInterfaces.IIdentity; apiToken?: string; id: string; }; response: { routes: Array<{ id: string; name: string }>; }; }