@serve.zone/dcrouter 12.0.0 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist_serve/bundle.js +1179 -1004
  2. package/dist_ts/00_commitinfo_data.js +1 -1
  3. package/dist_ts/classes.dcrouter.d.ts +17 -1
  4. package/dist_ts/classes.dcrouter.js +16 -3
  5. package/dist_ts/config/classes.db-seeder.d.ts +25 -0
  6. package/dist_ts/config/classes.db-seeder.js +69 -0
  7. package/dist_ts/config/classes.reference-resolver.d.ts +80 -0
  8. package/dist_ts/config/classes.reference-resolver.js +482 -0
  9. package/dist_ts/config/classes.route-config-manager.d.ts +13 -3
  10. package/dist_ts/config/classes.route-config-manager.js +53 -3
  11. package/dist_ts/config/index.d.ts +2 -0
  12. package/dist_ts/config/index.js +3 -1
  13. package/dist_ts/db/documents/classes.network-target.doc.d.ts +15 -0
  14. package/dist_ts/db/documents/classes.network-target.doc.js +118 -0
  15. package/dist_ts/db/documents/classes.security-profile.doc.d.ts +16 -0
  16. package/dist_ts/db/documents/classes.security-profile.doc.js +118 -0
  17. package/dist_ts/db/documents/classes.stored-route.doc.d.ts +2 -0
  18. package/dist_ts/db/documents/classes.stored-route.doc.js +8 -2
  19. package/dist_ts/db/documents/classes.vpn-client.doc.d.ts +8 -0
  20. package/dist_ts/db/documents/classes.vpn-client.doc.js +50 -2
  21. package/dist_ts/db/documents/index.d.ts +2 -0
  22. package/dist_ts/db/documents/index.js +3 -1
  23. package/dist_ts/opsserver/classes.opsserver.d.ts +2 -0
  24. package/dist_ts/opsserver/classes.opsserver.js +5 -1
  25. package/dist_ts/opsserver/handlers/index.d.ts +2 -0
  26. package/dist_ts/opsserver/handlers/index.js +3 -1
  27. package/dist_ts/opsserver/handlers/network-target.handler.d.ts +10 -0
  28. package/dist_ts/opsserver/handlers/network-target.handler.js +117 -0
  29. package/dist_ts/opsserver/handlers/route-management.handler.js +3 -2
  30. package/dist_ts/opsserver/handlers/security-profile.handler.d.ts +10 -0
  31. package/dist_ts/opsserver/handlers/security-profile.handler.js +119 -0
  32. package/dist_ts/opsserver/handlers/vpn.handler.js +35 -1
  33. package/dist_ts/vpn/classes.vpn-manager.d.ts +33 -0
  34. package/dist_ts/vpn/classes.vpn-manager.js +122 -7
  35. package/dist_ts_interfaces/data/route-management.d.ts +48 -1
  36. package/dist_ts_interfaces/data/vpn.d.ts +8 -0
  37. package/dist_ts_interfaces/requests/index.d.ts +2 -0
  38. package/dist_ts_interfaces/requests/index.js +3 -1
  39. package/dist_ts_interfaces/requests/network-targets.d.ts +102 -0
  40. package/dist_ts_interfaces/requests/network-targets.js +2 -0
  41. package/dist_ts_interfaces/requests/route-management.d.ts +3 -1
  42. package/dist_ts_interfaces/requests/security-profiles.d.ts +102 -0
  43. package/dist_ts_interfaces/requests/security-profiles.js +2 -0
  44. package/dist_ts_interfaces/requests/vpn.d.ts +16 -0
  45. package/dist_ts_web/00_commitinfo_data.js +1 -1
  46. package/dist_ts_web/appstate.d.ts +59 -0
  47. package/dist_ts_web/appstate.js +192 -2
  48. package/dist_ts_web/elements/index.d.ts +2 -0
  49. package/dist_ts_web/elements/index.js +3 -1
  50. package/dist_ts_web/elements/ops-dashboard.js +13 -1
  51. package/dist_ts_web/elements/ops-view-networktargets.d.ts +17 -0
  52. package/dist_ts_web/elements/ops-view-networktargets.js +246 -0
  53. package/dist_ts_web/elements/ops-view-securityprofiles.d.ts +17 -0
  54. package/dist_ts_web/elements/ops-view-securityprofiles.js +275 -0
  55. package/dist_ts_web/elements/ops-view-vpn.js +155 -3
  56. package/dist_ts_web/router.d.ts +1 -1
  57. package/dist_ts_web/router.js +2 -2
  58. package/package.json +3 -3
  59. package/ts/00_commitinfo_data.ts +1 -1
  60. package/ts/classes.dcrouter.ts +35 -1
  61. package/ts/config/classes.db-seeder.ts +95 -0
  62. package/ts/config/classes.reference-resolver.ts +576 -0
  63. package/ts/config/classes.route-config-manager.ts +64 -1
  64. package/ts/config/index.ts +3 -1
  65. package/ts/db/documents/classes.network-target.doc.ts +48 -0
  66. package/ts/db/documents/classes.security-profile.doc.ts +49 -0
  67. package/ts/db/documents/classes.stored-route.doc.ts +4 -0
  68. package/ts/db/documents/classes.vpn-client.doc.ts +24 -0
  69. package/ts/db/documents/index.ts +2 -0
  70. package/ts/opsserver/classes.opsserver.ts +4 -0
  71. package/ts/opsserver/handlers/index.ts +3 -1
  72. package/ts/opsserver/handlers/network-target.handler.ts +167 -0
  73. package/ts/opsserver/handlers/route-management.handler.ts +2 -1
  74. package/ts/opsserver/handlers/security-profile.handler.ts +169 -0
  75. package/ts/opsserver/handlers/vpn.handler.ts +37 -0
  76. package/ts/vpn/classes.vpn-manager.ts +143 -6
  77. package/ts_web/00_commitinfo_data.ts +1 -1
  78. package/ts_web/appstate.ts +275 -1
  79. package/ts_web/elements/index.ts +2 -0
  80. package/ts_web/elements/ops-dashboard.ts +12 -0
  81. package/ts_web/elements/ops-view-networktargets.ts +214 -0
  82. package/ts_web/elements/ops-view-securityprofiles.ts +242 -0
  83. package/ts_web/elements/ops-view-vpn.ts +153 -2
  84. package/ts_web/router.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import type * as authInterfaces from '../data/auth.js';
3
- import type { IMergedRoute, IRouteWarning } from '../data/route-management.js';
3
+ import type { IMergedRoute, IRouteWarning, IRouteMetadata } from '../data/route-management.js';
4
4
  import type { IRouteConfig } from '@push.rocks/smartproxy';
5
5
  /**
6
6
  * Get all merged routes (hardcoded + programmatic) with warnings.
@@ -26,6 +26,7 @@ export interface IReq_CreateRoute extends plugins.typedrequestInterfaces.impleme
26
26
  apiToken?: string;
27
27
  route: IRouteConfig;
28
28
  enabled?: boolean;
29
+ metadata?: IRouteMetadata;
29
30
  };
30
31
  response: {
31
32
  success: boolean;
@@ -44,6 +45,7 @@ export interface IReq_UpdateRoute extends plugins.typedrequestInterfaces.impleme
44
45
  id: string;
45
46
  route?: Partial<IRouteConfig>;
46
47
  enabled?: boolean;
48
+ metadata?: Partial<IRouteMetadata>;
47
49
  };
48
50
  response: {
49
51
  success: boolean;
@@ -0,0 +1,102 @@
1
+ import * as plugins from '../plugins.js';
2
+ import type * as authInterfaces from '../data/auth.js';
3
+ import type { ISecurityProfile, IRouteSecurity } from '../data/route-management.js';
4
+ /**
5
+ * Get all security profiles.
6
+ */
7
+ export interface IReq_GetSecurityProfiles extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetSecurityProfiles> {
8
+ method: 'getSecurityProfiles';
9
+ request: {
10
+ identity?: authInterfaces.IIdentity;
11
+ apiToken?: string;
12
+ };
13
+ response: {
14
+ profiles: ISecurityProfile[];
15
+ };
16
+ }
17
+ /**
18
+ * Get a single security profile by ID.
19
+ */
20
+ export interface IReq_GetSecurityProfile extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetSecurityProfile> {
21
+ method: 'getSecurityProfile';
22
+ request: {
23
+ identity?: authInterfaces.IIdentity;
24
+ apiToken?: string;
25
+ id: string;
26
+ };
27
+ response: {
28
+ profile: ISecurityProfile | null;
29
+ };
30
+ }
31
+ /**
32
+ * Create a new security profile.
33
+ */
34
+ export interface IReq_CreateSecurityProfile extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateSecurityProfile> {
35
+ method: 'createSecurityProfile';
36
+ request: {
37
+ identity?: authInterfaces.IIdentity;
38
+ apiToken?: string;
39
+ name: string;
40
+ description?: string;
41
+ security: IRouteSecurity;
42
+ extendsProfiles?: string[];
43
+ };
44
+ response: {
45
+ success: boolean;
46
+ id?: string;
47
+ message?: string;
48
+ };
49
+ }
50
+ /**
51
+ * Update a security profile.
52
+ */
53
+ export interface IReq_UpdateSecurityProfile extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateSecurityProfile> {
54
+ method: 'updateSecurityProfile';
55
+ request: {
56
+ identity?: authInterfaces.IIdentity;
57
+ apiToken?: string;
58
+ id: string;
59
+ name?: string;
60
+ description?: string;
61
+ security?: IRouteSecurity;
62
+ extendsProfiles?: string[];
63
+ };
64
+ response: {
65
+ success: boolean;
66
+ affectedRouteCount?: number;
67
+ message?: string;
68
+ };
69
+ }
70
+ /**
71
+ * Delete a security profile.
72
+ */
73
+ export interface IReq_DeleteSecurityProfile extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteSecurityProfile> {
74
+ method: 'deleteSecurityProfile';
75
+ request: {
76
+ identity?: authInterfaces.IIdentity;
77
+ apiToken?: string;
78
+ id: string;
79
+ force?: boolean;
80
+ };
81
+ response: {
82
+ success: boolean;
83
+ message?: string;
84
+ };
85
+ }
86
+ /**
87
+ * Get which routes reference a security profile.
88
+ */
89
+ export interface IReq_GetSecurityProfileUsage extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetSecurityProfileUsage> {
90
+ method: 'getSecurityProfileUsage';
91
+ request: {
92
+ identity?: authInterfaces.IIdentity;
93
+ apiToken?: string;
94
+ id: string;
95
+ };
96
+ response: {
97
+ routes: Array<{
98
+ id: string;
99
+ name: string;
100
+ }>;
101
+ };
102
+ }
@@ -0,0 +1,2 @@
1
+ import * as plugins from '../plugins.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktcHJvZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL3JlcXVlc3RzL3NlY3VyaXR5LXByb2ZpbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDIn0=
@@ -35,6 +35,14 @@ export interface IReq_CreateVpnClient extends plugins.typedrequestInterfaces.imp
35
35
  clientId: string;
36
36
  serverDefinedClientTags?: string[];
37
37
  description?: string;
38
+ forceDestinationSmartproxy?: boolean;
39
+ destinationAllowList?: string[];
40
+ destinationBlockList?: string[];
41
+ useHostIp?: boolean;
42
+ useDhcp?: boolean;
43
+ staticIp?: string;
44
+ forceVlan?: boolean;
45
+ vlanId?: number;
38
46
  };
39
47
  response: {
40
48
  success: boolean;
@@ -54,6 +62,14 @@ export interface IReq_UpdateVpnClient extends plugins.typedrequestInterfaces.imp
54
62
  clientId: string;
55
63
  description?: string;
56
64
  serverDefinedClientTags?: string[];
65
+ forceDestinationSmartproxy?: boolean;
66
+ destinationAllowList?: string[];
67
+ destinationBlockList?: string[];
68
+ useHostIp?: boolean;
69
+ useDhcp?: boolean;
70
+ staticIp?: string;
71
+ forceVlan?: boolean;
72
+ vlanId?: number;
57
73
  };
58
74
  response: {
59
75
  success: boolean;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/dcrouter',
6
- version: '12.0.0',
6
+ version: '12.2.0',
7
7
  description: 'A multifaceted routing service handling mail and SMS delivery functions.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSwwRUFBMEU7Q0FDeEYsQ0FBQSJ9
@@ -198,6 +198,14 @@ export declare const createVpnClientAction: plugins.deesElement.domtools.plugins
198
198
  clientId: string;
199
199
  serverDefinedClientTags?: string[];
200
200
  description?: string;
201
+ forceDestinationSmartproxy?: boolean;
202
+ destinationAllowList?: string[];
203
+ destinationBlockList?: string[];
204
+ useHostIp?: boolean;
205
+ useDhcp?: boolean;
206
+ staticIp?: string;
207
+ forceVlan?: boolean;
208
+ vlanId?: number;
201
209
  }>;
202
210
  export declare const deleteVpnClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IVpnState, string>;
203
211
  export declare const toggleVpnClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IVpnState, {
@@ -208,8 +216,59 @@ export declare const updateVpnClientAction: plugins.deesElement.domtools.plugins
208
216
  clientId: string;
209
217
  description?: string;
210
218
  serverDefinedClientTags?: string[];
219
+ forceDestinationSmartproxy?: boolean;
220
+ destinationAllowList?: string[];
221
+ destinationBlockList?: string[];
222
+ useHostIp?: boolean;
223
+ useDhcp?: boolean;
224
+ staticIp?: string;
225
+ forceVlan?: boolean;
226
+ vlanId?: number;
211
227
  }>;
212
228
  export declare const clearNewClientConfigAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IVpnState, unknown>;
229
+ export interface IProfilesTargetsState {
230
+ profiles: interfaces.data.ISecurityProfile[];
231
+ targets: interfaces.data.INetworkTarget[];
232
+ isLoading: boolean;
233
+ error: string | null;
234
+ lastUpdated: number;
235
+ }
236
+ export declare const profilesTargetsStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IProfilesTargetsState>;
237
+ export declare const fetchProfilesAndTargetsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, unknown>;
238
+ export declare const createProfileAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
239
+ name: string;
240
+ description?: string;
241
+ security: any;
242
+ extendsProfiles?: string[];
243
+ }>;
244
+ export declare const updateProfileAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
245
+ id: string;
246
+ name?: string;
247
+ description?: string;
248
+ security?: any;
249
+ extendsProfiles?: string[];
250
+ }>;
251
+ export declare const deleteProfileAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
252
+ id: string;
253
+ force?: boolean;
254
+ }>;
255
+ export declare const createTargetAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
256
+ name: string;
257
+ description?: string;
258
+ host: string | string[];
259
+ port: number;
260
+ }>;
261
+ export declare const updateTargetAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
262
+ id: string;
263
+ name?: string;
264
+ description?: string;
265
+ host?: string | string[];
266
+ port?: number;
267
+ }>;
268
+ export declare const deleteTargetAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
269
+ id: string;
270
+ force?: boolean;
271
+ }>;
213
272
  export declare const fetchMergedRoutesAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
214
273
  export declare const createRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
215
274
  route: any;