fix(route-management): include stored VPN routes in domain resolution and align programmatic route types with dcrouter configs

This commit is contained in:
2026-04-04 19:29:49 +00:00
parent 12b2cc11da
commit c8f19cf783
10 changed files with 46 additions and 16 deletions

View File

@@ -1,4 +1,5 @@
import type { IRouteConfig } from '@push.rocks/smartproxy';
import type { IDcRouterRouteConfig } from './remoteingress.js';
// Derive IRouteSecurity from IRouteConfig since it's not directly exported
export type IRouteSecurity = NonNullable<IRouteConfig['security']>;
@@ -77,7 +78,7 @@ export interface IRouteMetadata {
* A merged route combining hardcoded and programmatic sources.
*/
export interface IMergedRoute {
route: IRouteConfig;
route: IDcRouterRouteConfig;
source: 'hardcoded' | 'programmatic';
enabled: boolean;
overridden: boolean;
@@ -118,7 +119,7 @@ export interface IApiTokenInfo {
*/
export interface IStoredRoute {
id: string;
route: IRouteConfig;
route: IDcRouterRouteConfig;
enabled: boolean;
createdAt: number;
updatedAt: number;

View File

@@ -2,6 +2,7 @@ import * as plugins from '../plugins.js';
import type * as authInterfaces from '../data/auth.js';
import type { IMergedRoute, IRouteWarning, IRouteMetadata } from '../data/route-management.js';
import type { IRouteConfig } from '@push.rocks/smartproxy';
import type { IDcRouterRouteConfig } from '../data/remoteingress.js';
// ============================================================================
// Route Management Endpoints
@@ -36,7 +37,7 @@ export interface IReq_CreateRoute extends plugins.typedrequestInterfaces.impleme
request: {
identity?: authInterfaces.IIdentity;
apiToken?: string;
route: IRouteConfig;
route: IDcRouterRouteConfig;
enabled?: boolean;
metadata?: IRouteMetadata;
};
@@ -59,7 +60,7 @@ export interface IReq_UpdateRoute extends plugins.typedrequestInterfaces.impleme
identity?: authInterfaces.IIdentity;
apiToken?: string;
id: string;
route?: Partial<IRouteConfig>;
route?: Partial<IDcRouterRouteConfig>;
enabled?: boolean;
metadata?: Partial<IRouteMetadata>;
};