@serve.zone/dcrouter 13.27.1 → 13.29.1

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 (69) hide show
  1. package/.smartconfig.json +32 -10
  2. package/dist_serve/bundle.js +930 -799
  3. package/dist_ts/00_commitinfo_data.js +1 -1
  4. package/dist_ts/classes.dcrouter.d.ts +9 -1
  5. package/dist_ts/classes.dcrouter.js +22 -7
  6. package/dist_ts/config/classes.gateway-client-manager.d.ts +22 -0
  7. package/dist_ts/config/classes.gateway-client-manager.js +101 -0
  8. package/dist_ts/config/classes.route-config-manager.js +8 -7
  9. package/dist_ts/config/index.d.ts +1 -0
  10. package/dist_ts/config/index.js +2 -1
  11. package/dist_ts/db/documents/classes.gateway-client.doc.d.ts +18 -0
  12. package/dist_ts/db/documents/classes.gateway-client.doc.js +133 -0
  13. package/dist_ts/db/documents/index.d.ts +1 -0
  14. package/dist_ts/db/documents/index.js +2 -1
  15. package/dist_ts/opsserver/classes.opsserver.js +4 -1
  16. package/dist_ts/opsserver/handlers/admin.handler.d.ts +21 -6
  17. package/dist_ts/opsserver/handlers/admin.handler.js +188 -29
  18. package/dist_ts/opsserver/handlers/certificate.handler.js +5 -1
  19. package/dist_ts/opsserver/handlers/target-profile.handler.js +3 -1
  20. package/dist_ts/opsserver/handlers/users.handler.js +2 -2
  21. package/dist_ts/opsserver/handlers/workhoster.handler.d.ts +4 -0
  22. package/dist_ts/opsserver/handlers/workhoster.handler.js +146 -16
  23. package/dist_ts/plugins.d.ts +2 -0
  24. package/dist_ts/plugins.js +4 -1
  25. package/dist_ts/vpn/classes.vpn-manager.d.ts +2 -0
  26. package/dist_ts/vpn/classes.vpn-manager.js +41 -20
  27. package/dist_ts_apiclient/classes.workhoster.d.ts +1 -0
  28. package/dist_ts_apiclient/classes.workhoster.js +5 -1
  29. package/dist_ts_interfaces/data/workhoster.d.ts +28 -3
  30. package/dist_ts_interfaces/requests/admin.d.ts +38 -0
  31. package/dist_ts_interfaces/requests/users.d.ts +2 -5
  32. package/dist_ts_interfaces/requests/workhoster.d.ts +83 -1
  33. package/dist_ts_web/00_commitinfo_data.js +1 -1
  34. package/dist_ts_web/appstate.d.ts +46 -0
  35. package/dist_ts_web/appstate.js +105 -1
  36. package/dist_ts_web/elements/access/ops-view-apitokens.js +2 -1
  37. package/dist_ts_web/elements/access/ops-view-gatewayclients.d.ts +15 -0
  38. package/dist_ts_web/elements/access/ops-view-gatewayclients.js +293 -0
  39. package/dist_ts_web/elements/domains/ops-view-certificates.d.ts +6 -0
  40. package/dist_ts_web/elements/domains/ops-view-certificates.js +155 -13
  41. package/dist_ts_web/elements/network/ops-view-routes.js +2 -1
  42. package/dist_ts_web/elements/ops-dashboard.d.ts +4 -0
  43. package/dist_ts_web/elements/ops-dashboard.js +102 -3
  44. package/dist_ts_web/router.js +3 -3
  45. package/package.json +15 -22
  46. package/ts/00_commitinfo_data.ts +1 -1
  47. package/ts/classes.dcrouter.ts +30 -6
  48. package/ts/config/classes.gateway-client-manager.ts +117 -0
  49. package/ts/config/classes.route-config-manager.ts +8 -6
  50. package/ts/config/index.ts +2 -1
  51. package/ts/db/documents/classes.gateway-client.doc.ts +54 -0
  52. package/ts/db/documents/index.ts +1 -0
  53. package/ts/opsserver/classes.opsserver.ts +3 -0
  54. package/ts/opsserver/handlers/admin.handler.ts +244 -32
  55. package/ts/opsserver/handlers/certificate.handler.ts +5 -0
  56. package/ts/opsserver/handlers/target-profile.handler.ts +2 -0
  57. package/ts/opsserver/handlers/users.handler.ts +1 -1
  58. package/ts/opsserver/handlers/workhoster.handler.ts +191 -17
  59. package/ts/plugins.ts +7 -0
  60. package/ts/vpn/classes.vpn-manager.ts +56 -25
  61. package/ts_apiclient/classes.workhoster.ts +8 -0
  62. package/ts_web/00_commitinfo_data.ts +1 -1
  63. package/ts_web/appstate.ts +160 -0
  64. package/ts_web/elements/access/ops-view-apitokens.ts +1 -0
  65. package/ts_web/elements/access/ops-view-gatewayclients.ts +250 -0
  66. package/ts_web/elements/domains/ops-view-certificates.ts +166 -11
  67. package/ts_web/elements/network/ops-view-routes.ts +1 -0
  68. package/ts_web/elements/ops-dashboard.ts +102 -0
  69. package/ts_web/router.ts +2 -2
@@ -4,6 +4,7 @@ export declare class WorkHosterManager {
4
4
  private clientRef;
5
5
  constructor(clientRef: DcRouterApiClient);
6
6
  getCapabilities(): Promise<interfaces.data.IGatewayCapabilities>;
7
+ getGatewayClientContext(): Promise<interfaces.data.IGatewayClientContext>;
7
8
  getDomains(): Promise<interfaces.data.IWorkHosterDomain[]>;
8
9
  syncRoute(options: {
9
10
  ownership: interfaces.data.IWorkAppRouteOwnership;
@@ -8,6 +8,10 @@ export class WorkHosterManager {
8
8
  const response = await this.clientRef.request('getGatewayCapabilities', this.clientRef.buildRequestPayload());
9
9
  return response.capabilities;
10
10
  }
11
+ async getGatewayClientContext() {
12
+ const response = await this.clientRef.request('getGatewayClientContext', this.clientRef.buildRequestPayload());
13
+ return response.context;
14
+ }
11
15
  async getDomains() {
12
16
  const response = await this.clientRef.request('getWorkHosterDomains', this.clientRef.buildRequestPayload());
13
17
  return response.domains;
@@ -26,4 +30,4 @@ export class WorkHosterManager {
26
30
  }));
27
31
  }
28
32
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy53b3JraG9zdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfYXBpY2xpZW50L2NsYXNzZXMud29ya2hvc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBR3hELE1BQU0sT0FBTyxpQkFBaUI7SUFDUjtJQUFwQixZQUFvQixTQUE0QjtRQUE1QixjQUFTLEdBQVQsU0FBUyxDQUFtQjtJQUFHLENBQUM7SUFFN0MsS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0Msd0JBQXdCLEVBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQVMsQ0FDNUMsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQztJQUMvQixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0Msc0JBQXNCLEVBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQVMsQ0FDNUMsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUl0QjtRQUNDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzNCLGtCQUFrQixFQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDO1lBQ2pDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1NBQ3pCLENBQVEsQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQ3RCLFNBQWlEO1FBRWpELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzNCLGtCQUFrQixFQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDO1lBQ2pDLFNBQVM7WUFDVCxNQUFNLEVBQUUsSUFBSTtTQUNiLENBQVEsQ0FDVixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy53b3JraG9zdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfYXBpY2xpZW50L2NsYXNzZXMud29ya2hvc3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBR3hELE1BQU0sT0FBTyxpQkFBaUI7SUFDUjtJQUFwQixZQUFvQixTQUE0QjtRQUE1QixjQUFTLEdBQVQsU0FBUyxDQUFtQjtJQUFHLENBQUM7SUFFN0MsS0FBSyxDQUFDLGVBQWU7UUFDMUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0Msd0JBQXdCLEVBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQVMsQ0FDNUMsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQztJQUMvQixDQUFDO0lBRU0sS0FBSyxDQUFDLHVCQUF1QjtRQUNsQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUMzQyx5QkFBeUIsRUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBUyxDQUM1QyxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVTtRQUNyQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUMzQyxzQkFBc0IsRUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBUyxDQUM1QyxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BSXRCO1FBQ0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0Isa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUM7WUFDakMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztZQUNwQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDekIsQ0FBUSxDQUNWLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVcsQ0FDdEIsU0FBaUQ7UUFFakQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0Isa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUM7WUFDakMsU0FBUztZQUNULE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBUSxDQUNWLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -1,6 +1,6 @@
1
1
  import type { IDomain } from './domain.js';
2
2
  import type { IDnsRecord, TDnsRecordType } from './dns-record.js';
3
- import type { TGatewayClientType } from './route-management.js';
3
+ import type { IApiTokenPolicy, TApiTokenScope, TGatewayClientType } from './route-management.js';
4
4
  export interface IGatewayCapabilities {
5
5
  routes: {
6
6
  read: boolean;
@@ -32,6 +32,31 @@ export interface IGatewayCapabilities {
32
32
  enabled: boolean;
33
33
  };
34
34
  }
35
+ export interface IGatewayClientContext {
36
+ role: IApiTokenPolicy['role'];
37
+ scopes: TApiTokenScope[];
38
+ gatewayClient?: {
39
+ type: TGatewayClientType;
40
+ id: string;
41
+ };
42
+ hostnamePatterns: string[];
43
+ allowedRouteTargets: NonNullable<IApiTokenPolicy['allowedRouteTargets']>;
44
+ capabilities: NonNullable<IApiTokenPolicy['capabilities']>;
45
+ }
46
+ export interface IGatewayClient {
47
+ id: string;
48
+ type: TGatewayClientType;
49
+ name: string;
50
+ description?: string;
51
+ hostnamePatterns: string[];
52
+ allowedRouteTargets: NonNullable<IApiTokenPolicy['allowedRouteTargets']>;
53
+ capabilities: NonNullable<IApiTokenPolicy['capabilities']>;
54
+ enabled: boolean;
55
+ tokenCount?: number;
56
+ createdAt: number;
57
+ updatedAt: number;
58
+ createdBy: string;
59
+ }
35
60
  export interface IGatewayClientDomain extends IDomain {
36
61
  capabilities: {
37
62
  canCreateSubdomains: boolean;
@@ -45,8 +70,8 @@ export interface IGatewayClientDomain extends IDomain {
45
70
  /** @deprecated Use IGatewayClientDomain. */
46
71
  export type IWorkHosterDomain = IGatewayClientDomain;
47
72
  export interface IGatewayClientOwnership {
48
- gatewayClientType: TGatewayClientType;
49
- gatewayClientId: string;
73
+ gatewayClientType?: TGatewayClientType;
74
+ gatewayClientId?: string;
50
75
  appId: string;
51
76
  hostname: string;
52
77
  }
@@ -1,15 +1,53 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import * as authInterfaces from '../data/auth.js';
3
+ export type TAdminLoginAuthSource = 'auto' | 'local' | 'idp.global';
4
+ export interface IAdminUserProjection {
5
+ id: string;
6
+ username: string;
7
+ email?: string;
8
+ name?: string;
9
+ role: string;
10
+ status?: 'active' | 'disabled';
11
+ authSources?: Array<'local' | 'idp.global'>;
12
+ }
3
13
  export interface IReq_AdminLoginWithUsernameAndPassword extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_AdminLoginWithUsernameAndPassword> {
4
14
  method: 'adminLoginWithUsernameAndPassword';
5
15
  request: {
6
16
  username: string;
7
17
  password: string;
18
+ authSource?: TAdminLoginAuthSource;
8
19
  };
9
20
  response: {
10
21
  identity?: authInterfaces.IIdentity;
11
22
  };
12
23
  }
24
+ export interface IReq_GetAdminBootstrapStatus extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetAdminBootstrapStatus> {
25
+ method: 'getAdminBootstrapStatus';
26
+ request: {};
27
+ response: {
28
+ dbEnabled: boolean;
29
+ dbReady: boolean;
30
+ hasPersistentAdmin: boolean;
31
+ needsBootstrap: boolean;
32
+ ephemeralAdminAvailable: boolean;
33
+ idpGlobalConfigured: boolean;
34
+ };
35
+ }
36
+ export interface IReq_CreateInitialAdminUser extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateInitialAdminUser> {
37
+ method: 'createInitialAdminUser';
38
+ request: {
39
+ identity: authInterfaces.IIdentity;
40
+ email: string;
41
+ name?: string;
42
+ password: string;
43
+ enableIdpGlobalAuth?: boolean;
44
+ };
45
+ response: {
46
+ success: boolean;
47
+ identity?: authInterfaces.IIdentity;
48
+ user?: IAdminUserProjection;
49
+ };
50
+ }
13
51
  export interface IReq_AdminLogout extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_AdminLogout> {
14
52
  method: 'adminLogout';
15
53
  request: {
@@ -1,5 +1,6 @@
1
1
  import * as plugins from '../plugins.js';
2
2
  import * as authInterfaces from '../data/auth.js';
3
+ import type { IAdminUserProjection } from './admin.js';
3
4
  /**
4
5
  * List all OpsServer users (admin-only, read-only).
5
6
  * Deliberately omits password/secret fields from the response.
@@ -10,10 +11,6 @@ export interface IReq_ListUsers extends plugins.typedrequestInterfaces.implement
10
11
  identity: authInterfaces.IIdentity;
11
12
  };
12
13
  response: {
13
- users: Array<{
14
- id: string;
15
- username: string;
16
- role: string;
17
- }>;
14
+ users: IAdminUserProjection[];
18
15
  };
19
16
  }
@@ -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 { IGatewayClientDnsRecord, IGatewayClientDomain, IGatewayClientOwnership, IGatewayClientRouteSyncResult, IGatewayCapabilities, IWorkAppMailIdentity, IWorkAppMailIdentitySyncResult, IWorkAppMailInboundRoute, IWorkAppMailOwnership, IWorkAppRouteOwnership, IWorkAppRouteSyncResult, IWorkHosterDomain } from '../data/workhoster.js';
3
+ import type { IGatewayClientDnsRecord, IGatewayClientContext, IGatewayClient, IGatewayClientDomain, IGatewayClientOwnership, IGatewayClientRouteSyncResult, IGatewayCapabilities, IWorkAppMailIdentity, IWorkAppMailIdentitySyncResult, IWorkAppMailInboundRoute, IWorkAppMailOwnership, IWorkAppRouteOwnership, IWorkAppRouteSyncResult, IWorkHosterDomain } from '../data/workhoster.js';
4
4
  import type { IDcRouterRouteConfig } from '../data/remoteingress.js';
5
5
  export interface IReq_GetGatewayCapabilities extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetGatewayCapabilities> {
6
6
  method: 'getGatewayCapabilities';
@@ -12,6 +12,88 @@ export interface IReq_GetGatewayCapabilities extends plugins.typedrequestInterfa
12
12
  capabilities: IGatewayCapabilities;
13
13
  };
14
14
  }
15
+ export interface IReq_GetGatewayClientContext extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetGatewayClientContext> {
16
+ method: 'getGatewayClientContext';
17
+ request: {
18
+ identity?: authInterfaces.IIdentity;
19
+ apiToken?: string;
20
+ };
21
+ response: {
22
+ context: IGatewayClientContext;
23
+ capabilities: IGatewayCapabilities;
24
+ };
25
+ }
26
+ export interface IReq_ListGatewayClients extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ListGatewayClients> {
27
+ method: 'listGatewayClients';
28
+ request: {
29
+ identity: authInterfaces.IIdentity;
30
+ };
31
+ response: {
32
+ gatewayClients: IGatewayClient[];
33
+ };
34
+ }
35
+ export interface IReq_CreateGatewayClient extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateGatewayClient> {
36
+ method: 'createGatewayClient';
37
+ request: {
38
+ identity: authInterfaces.IIdentity;
39
+ id?: string;
40
+ type: IGatewayClient['type'];
41
+ name: string;
42
+ description?: string;
43
+ hostnamePatterns?: string[];
44
+ allowedRouteTargets?: IGatewayClient['allowedRouteTargets'];
45
+ capabilities?: IGatewayClient['capabilities'];
46
+ };
47
+ response: {
48
+ success: boolean;
49
+ gatewayClient?: IGatewayClient;
50
+ message?: string;
51
+ };
52
+ }
53
+ export interface IReq_UpdateGatewayClient extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateGatewayClient> {
54
+ method: 'updateGatewayClient';
55
+ request: {
56
+ identity: authInterfaces.IIdentity;
57
+ id: string;
58
+ name?: string;
59
+ description?: string;
60
+ hostnamePatterns?: string[];
61
+ allowedRouteTargets?: IGatewayClient['allowedRouteTargets'];
62
+ capabilities?: IGatewayClient['capabilities'];
63
+ enabled?: boolean;
64
+ };
65
+ response: {
66
+ success: boolean;
67
+ gatewayClient?: IGatewayClient;
68
+ message?: string;
69
+ };
70
+ }
71
+ export interface IReq_DeleteGatewayClient extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteGatewayClient> {
72
+ method: 'deleteGatewayClient';
73
+ request: {
74
+ identity: authInterfaces.IIdentity;
75
+ id: string;
76
+ };
77
+ response: {
78
+ success: boolean;
79
+ message?: string;
80
+ };
81
+ }
82
+ export interface IReq_CreateGatewayClientToken extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateGatewayClientToken> {
83
+ method: 'createGatewayClientToken';
84
+ request: {
85
+ identity: authInterfaces.IIdentity;
86
+ gatewayClientId: string;
87
+ name?: string;
88
+ expiresInDays?: number | null;
89
+ };
90
+ response: {
91
+ success: boolean;
92
+ tokenId?: string;
93
+ tokenValue?: string;
94
+ message?: string;
95
+ };
96
+ }
15
97
  export interface IReq_GetWorkHosterDomains extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetWorkHosterDomains> {
16
98
  method: 'getWorkHosterDomains';
17
99
  request: {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/dcrouter',
6
- version: '13.27.1',
6
+ version: '13.29.1',
7
7
  description: 'A multifaceted routing service handling mail and SMS delivery functions.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSwwRUFBMEU7Q0FDeEYsQ0FBQSJ9
@@ -5,6 +5,7 @@ export interface ILoginState {
5
5
  identity: interfaces.data.IIdentity | null;
6
6
  isLoggedIn: boolean;
7
7
  }
8
+ export type IAdminBootstrapStatus = interfaces.requests.IReq_GetAdminBootstrapStatus['response'];
8
9
  export interface IStatsState {
9
10
  serverStats: interfaces.data.IServerStats | null;
10
11
  emailStats: interfaces.data.IEmailStats | null;
@@ -140,6 +141,7 @@ export interface IRouteManagementState {
140
141
  mergedRoutes: interfaces.data.IMergedRoute[];
141
142
  warnings: interfaces.data.IRouteWarning[];
142
143
  apiTokens: interfaces.data.IApiTokenInfo[];
144
+ gatewayClients: interfaces.data.IGatewayClient[];
143
145
  isLoading: boolean;
144
146
  error: string | null;
145
147
  lastUpdated: number;
@@ -148,7 +150,11 @@ export declare const routeManagementStatePart: plugins.deesElement.domtools.plug
148
150
  export interface IUser {
149
151
  id: string;
150
152
  username: string;
153
+ email?: string;
154
+ name?: string;
151
155
  role: string;
156
+ status?: 'active' | 'disabled';
157
+ authSources?: Array<'local' | 'idp.global'>;
152
158
  }
153
159
  export interface IUsersState {
154
160
  users: IUser[];
@@ -160,6 +166,18 @@ export declare const usersStatePart: plugins.deesElement.domtools.plugins.smarts
160
166
  export declare const loginAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ILoginState, {
161
167
  username: string;
162
168
  password: string;
169
+ authSource?: interfaces.requests.TAdminLoginAuthSource;
170
+ }>;
171
+ export declare function getAdminBootstrapStatus(): Promise<IAdminBootstrapStatus>;
172
+ export declare function createInitialAdminUser(optionsArg: {
173
+ email: string;
174
+ name?: string;
175
+ password: string;
176
+ enableIdpGlobalAuth?: boolean;
177
+ }): Promise<{
178
+ success: boolean;
179
+ identity?: interfaces.data.IIdentity;
180
+ user?: interfaces.requests.IAdminUserProjection;
163
181
  }>;
164
182
  export declare const logoutAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ILoginState, unknown>;
165
183
  export declare const fetchAllStatsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IStatsState, unknown>;
@@ -466,6 +484,34 @@ export declare const toggleRouteAction: plugins.deesElement.domtools.plugins.sma
466
484
  enabled: boolean;
467
485
  }>;
468
486
  export declare const fetchApiTokensAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
487
+ export declare const fetchGatewayClientsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
488
+ export declare function createGatewayClient(data: {
489
+ id?: string;
490
+ type: interfaces.data.IGatewayClient['type'];
491
+ name: string;
492
+ description?: string;
493
+ hostnamePatterns?: string[];
494
+ allowedRouteTargets?: interfaces.data.IGatewayClient['allowedRouteTargets'];
495
+ }): Promise<{
496
+ success: boolean;
497
+ gatewayClient?: interfaces.data.IGatewayClient;
498
+ message?: string;
499
+ }>;
500
+ export declare const updateGatewayClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
501
+ id: string;
502
+ name?: string;
503
+ description?: string;
504
+ hostnamePatterns?: string[];
505
+ allowedRouteTargets?: interfaces.data.IGatewayClient["allowedRouteTargets"];
506
+ enabled?: boolean;
507
+ }>;
508
+ export declare const deleteGatewayClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
509
+ export declare function createGatewayClientToken(gatewayClientId: string, name?: string, expiresInDays?: number | null): Promise<{
510
+ success: boolean;
511
+ tokenId?: string;
512
+ tokenValue?: string;
513
+ message?: string;
514
+ }>;
469
515
  export declare const fetchUsersAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IUsersState, unknown>;
470
516
  export declare function createApiToken(name: string, scopes: interfaces.data.TApiTokenScope[], expiresInDays?: number | null, policy?: any): Promise<{
471
517
  success: boolean;