128 lines
3.0 KiB
TypeScript
128 lines
3.0 KiB
TypeScript
|
|
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 }>;
|
||
|
|
};
|
||
|
|
}
|