@serve.zone/dcrouter 11.12.4 → 11.14.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 (214) hide show
  1. package/dist_serve/bundle.js +705 -548
  2. package/dist_ts_interfaces/data/index.d.ts +1 -0
  3. package/dist_ts_interfaces/data/index.js +2 -1
  4. package/dist_ts_interfaces/data/remoteingress.d.ts +10 -1
  5. package/dist_ts_interfaces/data/vpn.d.ts +43 -0
  6. package/dist_ts_interfaces/data/vpn.js +2 -0
  7. package/dist_ts_interfaces/requests/index.d.ts +1 -0
  8. package/dist_ts_interfaces/requests/index.js +2 -1
  9. package/dist_ts_interfaces/requests/vpn.d.ts +135 -0
  10. package/dist_ts_interfaces/requests/vpn.js +3 -0
  11. package/package.json +2 -1
  12. package/readme.md +107 -3
  13. package/ts/00_commitinfo_data.ts +1 -1
  14. package/ts/classes.dcrouter.ts +126 -0
  15. package/ts/config/classes.route-config-manager.ts +20 -3
  16. package/ts/opsserver/classes.opsserver.ts +2 -0
  17. package/ts/opsserver/handlers/index.ts +2 -1
  18. package/ts/opsserver/handlers/vpn.handler.ts +257 -0
  19. package/ts/plugins.ts +2 -1
  20. package/ts/vpn/classes.vpn-manager.ts +378 -0
  21. package/ts/vpn/index.ts +1 -0
  22. package/ts_web/00_commitinfo_data.ts +1 -1
  23. package/ts_web/appstate.ts +164 -0
  24. package/ts_web/elements/index.ts +1 -0
  25. package/ts_web/elements/ops-dashboard.ts +6 -0
  26. package/ts_web/elements/ops-view-vpn.ts +330 -0
  27. package/ts_web/readme.md +17 -0
  28. package/ts_web/router.ts +1 -1
  29. package/dist_ts/00_commitinfo_data.d.ts +0 -8
  30. package/dist_ts/00_commitinfo_data.js +0 -9
  31. package/dist_ts/cache/classes.cache.cleaner.d.ts +0 -47
  32. package/dist_ts/cache/classes.cache.cleaner.js +0 -130
  33. package/dist_ts/cache/classes.cached.document.d.ts +0 -76
  34. package/dist_ts/cache/classes.cached.document.js +0 -100
  35. package/dist_ts/cache/classes.cachedb.d.ts +0 -60
  36. package/dist_ts/cache/classes.cachedb.js +0 -126
  37. package/dist_ts/cache/documents/classes.cached.email.d.ts +0 -125
  38. package/dist_ts/cache/documents/classes.cached.email.js +0 -337
  39. package/dist_ts/cache/documents/classes.cached.ip.reputation.d.ts +0 -119
  40. package/dist_ts/cache/documents/classes.cached.ip.reputation.js +0 -323
  41. package/dist_ts/cache/documents/index.d.ts +0 -2
  42. package/dist_ts/cache/documents/index.js +0 -3
  43. package/dist_ts/cache/index.d.ts +0 -4
  44. package/dist_ts/cache/index.js +0 -7
  45. package/dist_ts/classes.cert-provision-scheduler.d.ts +0 -54
  46. package/dist_ts/classes.cert-provision-scheduler.js +0 -118
  47. package/dist_ts/classes.dcrouter.d.ts +0 -356
  48. package/dist_ts/classes.dcrouter.js +0 -1592
  49. package/dist_ts/classes.storage-cert-manager.d.ts +0 -18
  50. package/dist_ts/classes.storage-cert-manager.js +0 -43
  51. package/dist_ts/config/classes.api-token-manager.d.ts +0 -46
  52. package/dist_ts/config/classes.api-token-manager.js +0 -150
  53. package/dist_ts/config/classes.route-config-manager.d.ts +0 -37
  54. package/dist_ts/config/classes.route-config-manager.js +0 -240
  55. package/dist_ts/config/index.d.ts +0 -3
  56. package/dist_ts/config/index.js +0 -5
  57. package/dist_ts/config/validator.d.ts +0 -104
  58. package/dist_ts/config/validator.js +0 -152
  59. package/dist_ts/errors/base.errors.d.ts +0 -224
  60. package/dist_ts/errors/base.errors.js +0 -320
  61. package/dist_ts/errors/error-handler.d.ts +0 -98
  62. package/dist_ts/errors/error-handler.js +0 -282
  63. package/dist_ts/errors/error.codes.d.ts +0 -115
  64. package/dist_ts/errors/error.codes.js +0 -136
  65. package/dist_ts/errors/index.d.ts +0 -54
  66. package/dist_ts/errors/index.js +0 -136
  67. package/dist_ts/errors/reputation.errors.d.ts +0 -183
  68. package/dist_ts/errors/reputation.errors.js +0 -292
  69. package/dist_ts/http3/http3-route-augmentation.d.ts +0 -50
  70. package/dist_ts/http3/http3-route-augmentation.js +0 -98
  71. package/dist_ts/http3/index.d.ts +0 -1
  72. package/dist_ts/http3/index.js +0 -2
  73. package/dist_ts/index.d.ts +0 -8
  74. package/dist_ts/index.js +0 -29
  75. package/dist_ts/logger.d.ts +0 -21
  76. package/dist_ts/logger.js +0 -81
  77. package/dist_ts/monitoring/classes.metricscache.d.ts +0 -32
  78. package/dist_ts/monitoring/classes.metricscache.js +0 -63
  79. package/dist_ts/monitoring/classes.metricsmanager.d.ts +0 -184
  80. package/dist_ts/monitoring/classes.metricsmanager.js +0 -744
  81. package/dist_ts/monitoring/index.d.ts +0 -1
  82. package/dist_ts/monitoring/index.js +0 -2
  83. package/dist_ts/opsserver/classes.opsserver.d.ts +0 -37
  84. package/dist_ts/opsserver/classes.opsserver.js +0 -85
  85. package/dist_ts/opsserver/handlers/admin.handler.d.ts +0 -31
  86. package/dist_ts/opsserver/handlers/admin.handler.js +0 -180
  87. package/dist_ts/opsserver/handlers/api-token.handler.d.ts +0 -6
  88. package/dist_ts/opsserver/handlers/api-token.handler.js +0 -62
  89. package/dist_ts/opsserver/handlers/certificate.handler.d.ts +0 -32
  90. package/dist_ts/opsserver/handlers/certificate.handler.js +0 -421
  91. package/dist_ts/opsserver/handlers/config.handler.d.ts +0 -7
  92. package/dist_ts/opsserver/handlers/config.handler.js +0 -192
  93. package/dist_ts/opsserver/handlers/email-ops.handler.d.ts +0 -30
  94. package/dist_ts/opsserver/handlers/email-ops.handler.js +0 -227
  95. package/dist_ts/opsserver/handlers/index.d.ts +0 -11
  96. package/dist_ts/opsserver/handlers/index.js +0 -12
  97. package/dist_ts/opsserver/handlers/logs.handler.d.ts +0 -25
  98. package/dist_ts/opsserver/handlers/logs.handler.js +0 -256
  99. package/dist_ts/opsserver/handlers/radius.handler.d.ts +0 -6
  100. package/dist_ts/opsserver/handlers/radius.handler.js +0 -295
  101. package/dist_ts/opsserver/handlers/remoteingress.handler.d.ts +0 -6
  102. package/dist_ts/opsserver/handlers/remoteingress.handler.js +0 -156
  103. package/dist_ts/opsserver/handlers/route-management.handler.d.ts +0 -14
  104. package/dist_ts/opsserver/handlers/route-management.handler.js +0 -117
  105. package/dist_ts/opsserver/handlers/security.handler.d.ts +0 -9
  106. package/dist_ts/opsserver/handlers/security.handler.js +0 -233
  107. package/dist_ts/opsserver/handlers/stats.handler.d.ts +0 -11
  108. package/dist_ts/opsserver/handlers/stats.handler.js +0 -403
  109. package/dist_ts/opsserver/helpers/guards.d.ts +0 -27
  110. package/dist_ts/opsserver/helpers/guards.js +0 -43
  111. package/dist_ts/opsserver/index.d.ts +0 -1
  112. package/dist_ts/opsserver/index.js +0 -2
  113. package/dist_ts/paths.d.ts +0 -26
  114. package/dist_ts/paths.js +0 -45
  115. package/dist_ts/plugins.d.ts +0 -80
  116. package/dist_ts/plugins.js +0 -114
  117. package/dist_ts/radius/classes.accounting.manager.d.ts +0 -231
  118. package/dist_ts/radius/classes.accounting.manager.js +0 -462
  119. package/dist_ts/radius/classes.radius.server.d.ts +0 -171
  120. package/dist_ts/radius/classes.radius.server.js +0 -386
  121. package/dist_ts/radius/classes.vlan.manager.d.ts +0 -128
  122. package/dist_ts/radius/classes.vlan.manager.js +0 -279
  123. package/dist_ts/radius/index.d.ts +0 -13
  124. package/dist_ts/radius/index.js +0 -14
  125. package/dist_ts/remoteingress/classes.remoteingress-manager.d.ts +0 -94
  126. package/dist_ts/remoteingress/classes.remoteingress-manager.js +0 -271
  127. package/dist_ts/remoteingress/classes.tunnel-manager.d.ts +0 -59
  128. package/dist_ts/remoteingress/classes.tunnel-manager.js +0 -165
  129. package/dist_ts/remoteingress/index.d.ts +0 -2
  130. package/dist_ts/remoteingress/index.js +0 -3
  131. package/dist_ts/security/classes.contentscanner.d.ts +0 -164
  132. package/dist_ts/security/classes.contentscanner.js +0 -642
  133. package/dist_ts/security/classes.ipreputationchecker.d.ts +0 -160
  134. package/dist_ts/security/classes.ipreputationchecker.js +0 -537
  135. package/dist_ts/security/classes.securitylogger.d.ts +0 -144
  136. package/dist_ts/security/classes.securitylogger.js +0 -235
  137. package/dist_ts/security/index.d.ts +0 -3
  138. package/dist_ts/security/index.js +0 -4
  139. package/dist_ts/sms/classes.smsservice.d.ts +0 -15
  140. package/dist_ts/sms/classes.smsservice.js +0 -72
  141. package/dist_ts/sms/config/sms.config.d.ts +0 -93
  142. package/dist_ts/sms/config/sms.config.js +0 -2
  143. package/dist_ts/sms/config/sms.schema.d.ts +0 -5
  144. package/dist_ts/sms/config/sms.schema.js +0 -121
  145. package/dist_ts/sms/index.d.ts +0 -1
  146. package/dist_ts/sms/index.js +0 -2
  147. package/dist_ts/storage/classes.storagemanager.d.ts +0 -83
  148. package/dist_ts/storage/classes.storagemanager.js +0 -348
  149. package/dist_ts/storage/index.d.ts +0 -1
  150. package/dist_ts/storage/index.js +0 -3
  151. package/dist_ts_apiclient/classes.apitoken.d.ts +0 -41
  152. package/dist_ts_apiclient/classes.apitoken.js +0 -115
  153. package/dist_ts_apiclient/classes.certificate.d.ts +0 -57
  154. package/dist_ts_apiclient/classes.certificate.js +0 -69
  155. package/dist_ts_apiclient/classes.config.d.ts +0 -7
  156. package/dist_ts_apiclient/classes.config.js +0 -11
  157. package/dist_ts_apiclient/classes.dcrouterapiclient.d.ts +0 -41
  158. package/dist_ts_apiclient/classes.dcrouterapiclient.js +0 -81
  159. package/dist_ts_apiclient/classes.email.d.ts +0 -30
  160. package/dist_ts_apiclient/classes.email.js +0 -52
  161. package/dist_ts_apiclient/classes.logs.d.ts +0 -21
  162. package/dist_ts_apiclient/classes.logs.js +0 -14
  163. package/dist_ts_apiclient/classes.radius.d.ts +0 -59
  164. package/dist_ts_apiclient/classes.radius.js +0 -95
  165. package/dist_ts_apiclient/classes.remoteingress.d.ts +0 -54
  166. package/dist_ts_apiclient/classes.remoteingress.js +0 -136
  167. package/dist_ts_apiclient/classes.route.d.ts +0 -42
  168. package/dist_ts_apiclient/classes.route.js +0 -154
  169. package/dist_ts_apiclient/classes.stats.d.ts +0 -47
  170. package/dist_ts_apiclient/classes.stats.js +0 -38
  171. package/dist_ts_apiclient/index.d.ts +0 -10
  172. package/dist_ts_apiclient/index.js +0 -14
  173. package/dist_ts_apiclient/plugins.d.ts +0 -3
  174. package/dist_ts_apiclient/plugins.js +0 -5
  175. package/dist_ts_web/00_commitinfo_data.d.ts +0 -8
  176. package/dist_ts_web/00_commitinfo_data.js +0 -9
  177. package/dist_ts_web/appstate.d.ts +0 -216
  178. package/dist_ts_web/appstate.js +0 -1064
  179. package/dist_ts_web/elements/index.d.ts +0 -12
  180. package/dist_ts_web/elements/index.js +0 -13
  181. package/dist_ts_web/elements/ops-dashboard.d.ts +0 -23
  182. package/dist_ts_web/elements/ops-dashboard.js +0 -317
  183. package/dist_ts_web/elements/ops-view-apitokens.d.ts +0 -13
  184. package/dist_ts_web/elements/ops-view-apitokens.js +0 -371
  185. package/dist_ts_web/elements/ops-view-certificates.d.ts +0 -22
  186. package/dist_ts_web/elements/ops-view-certificates.js +0 -528
  187. package/dist_ts_web/elements/ops-view-config.d.ts +0 -19
  188. package/dist_ts_web/elements/ops-view-config.js +0 -339
  189. package/dist_ts_web/elements/ops-view-emails.d.ts +0 -21
  190. package/dist_ts_web/elements/ops-view-emails.js +0 -165
  191. package/dist_ts_web/elements/ops-view-logs.d.ts +0 -13
  192. package/dist_ts_web/elements/ops-view-logs.js +0 -159
  193. package/dist_ts_web/elements/ops-view-network.d.ts +0 -71
  194. package/dist_ts_web/elements/ops-view-network.js +0 -764
  195. package/dist_ts_web/elements/ops-view-overview.d.ts +0 -22
  196. package/dist_ts_web/elements/ops-view-overview.js +0 -456
  197. package/dist_ts_web/elements/ops-view-remoteingress.d.ts +0 -20
  198. package/dist_ts_web/elements/ops-view-remoteingress.js +0 -494
  199. package/dist_ts_web/elements/ops-view-routes.d.ts +0 -12
  200. package/dist_ts_web/elements/ops-view-routes.js +0 -404
  201. package/dist_ts_web/elements/ops-view-security.d.ts +0 -21
  202. package/dist_ts_web/elements/ops-view-security.js +0 -574
  203. package/dist_ts_web/elements/shared/css.d.ts +0 -1
  204. package/dist_ts_web/elements/shared/css.js +0 -10
  205. package/dist_ts_web/elements/shared/index.d.ts +0 -2
  206. package/dist_ts_web/elements/shared/index.js +0 -3
  207. package/dist_ts_web/elements/shared/ops-sectionheading.d.ts +0 -5
  208. package/dist_ts_web/elements/shared/ops-sectionheading.js +0 -82
  209. package/dist_ts_web/index.d.ts +0 -1
  210. package/dist_ts_web/index.js +0 -10
  211. package/dist_ts_web/plugins.d.ts +0 -6
  212. package/dist_ts_web/plugins.js +0 -11
  213. package/dist_ts_web/router.d.ts +0 -19
  214. package/dist_ts_web/router.js +0 -91
@@ -1,115 +0,0 @@
1
- import * as interfaces from '../dist_ts_interfaces/index.js';
2
- export class ApiToken {
3
- clientRef;
4
- // Data from IApiTokenInfo
5
- id;
6
- name;
7
- scopes;
8
- createdAt;
9
- expiresAt;
10
- lastUsedAt;
11
- enabled;
12
- /** Only set on creation or roll. Not persisted on server side. */
13
- tokenValue;
14
- constructor(clientRef, data, tokenValue) {
15
- this.clientRef = clientRef;
16
- this.id = data.id;
17
- this.name = data.name;
18
- this.scopes = data.scopes;
19
- this.createdAt = data.createdAt;
20
- this.expiresAt = data.expiresAt;
21
- this.lastUsedAt = data.lastUsedAt;
22
- this.enabled = data.enabled;
23
- this.tokenValue = tokenValue;
24
- }
25
- async revoke() {
26
- const response = await this.clientRef.request('revokeApiToken', this.clientRef.buildRequestPayload({ id: this.id }));
27
- if (!response.success) {
28
- throw new Error(response.message || 'Failed to revoke token');
29
- }
30
- }
31
- async roll() {
32
- const response = await this.clientRef.request('rollApiToken', this.clientRef.buildRequestPayload({ id: this.id }));
33
- if (!response.success) {
34
- throw new Error(response.message || 'Failed to roll token');
35
- }
36
- this.tokenValue = response.tokenValue;
37
- return response.tokenValue;
38
- }
39
- async toggle(enabled) {
40
- const response = await this.clientRef.request('toggleApiToken', this.clientRef.buildRequestPayload({ id: this.id, enabled }));
41
- if (!response.success) {
42
- throw new Error(response.message || 'Failed to toggle token');
43
- }
44
- this.enabled = enabled;
45
- }
46
- }
47
- export class ApiTokenBuilder {
48
- clientRef;
49
- tokenName = '';
50
- tokenScopes = [];
51
- tokenExpiresInDays;
52
- constructor(clientRef) {
53
- this.clientRef = clientRef;
54
- }
55
- setName(name) {
56
- this.tokenName = name;
57
- return this;
58
- }
59
- setScopes(scopes) {
60
- this.tokenScopes = scopes;
61
- return this;
62
- }
63
- addScope(scope) {
64
- if (!this.tokenScopes.includes(scope)) {
65
- this.tokenScopes.push(scope);
66
- }
67
- return this;
68
- }
69
- setExpiresInDays(days) {
70
- this.tokenExpiresInDays = days;
71
- return this;
72
- }
73
- async save() {
74
- const response = await this.clientRef.request('createApiToken', this.clientRef.buildRequestPayload({
75
- name: this.tokenName,
76
- scopes: this.tokenScopes,
77
- expiresInDays: this.tokenExpiresInDays,
78
- }));
79
- if (!response.success) {
80
- throw new Error(response.message || 'Failed to create API token');
81
- }
82
- return new ApiToken(this.clientRef, {
83
- id: response.tokenId,
84
- name: this.tokenName,
85
- scopes: this.tokenScopes,
86
- createdAt: Date.now(),
87
- expiresAt: this.tokenExpiresInDays
88
- ? Date.now() + this.tokenExpiresInDays * 24 * 60 * 60 * 1000
89
- : null,
90
- lastUsedAt: null,
91
- enabled: true,
92
- }, response.tokenValue);
93
- }
94
- }
95
- export class ApiTokenManager {
96
- clientRef;
97
- constructor(clientRef) {
98
- this.clientRef = clientRef;
99
- }
100
- async list() {
101
- const response = await this.clientRef.request('listApiTokens', this.clientRef.buildRequestPayload());
102
- return response.tokens.map((t) => new ApiToken(this.clientRef, t));
103
- }
104
- async create(options) {
105
- return this.build()
106
- .setName(options.name)
107
- .setScopes(options.scopes)
108
- .setExpiresInDays(options.expiresInDays ?? null)
109
- .save();
110
- }
111
- build() {
112
- return new ApiTokenBuilder(this.clientRef);
113
- }
114
- }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hcGl0b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2FwaWNsaWVudC9jbGFzc2VzLmFwaXRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFHeEQsTUFBTSxPQUFPLFFBQVE7SUFDWCxTQUFTLENBQW9CO0lBRXJDLDBCQUEwQjtJQUNuQixFQUFFLENBQVM7SUFDWCxJQUFJLENBQVM7SUFDYixNQUFNLENBQW1DO0lBQ3pDLFNBQVMsQ0FBUztJQUNsQixTQUFTLENBQWdCO0lBQ3pCLFVBQVUsQ0FBZ0I7SUFDMUIsT0FBTyxDQUFVO0lBRXhCLGtFQUFrRTtJQUMzRCxVQUFVLENBQVU7SUFFM0IsWUFBWSxTQUE0QixFQUFFLElBQW1DLEVBQUUsVUFBbUI7UUFDaEcsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTTtRQUNqQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUMzQyxnQkFBZ0IsRUFDaEIsSUFB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
@@ -1,57 +0,0 @@
1
- import * as interfaces from '../dist_ts_interfaces/index.js';
2
- import type { DcRouterApiClient } from './classes.dcrouterapiclient.js';
3
- export declare class Certificate {
4
- private clientRef;
5
- domain: string;
6
- routeNames: string[];
7
- status: interfaces.requests.TCertificateStatus;
8
- source: interfaces.requests.TCertificateSource;
9
- tlsMode: 'terminate' | 'terminate-and-reencrypt' | 'passthrough';
10
- expiryDate?: string;
11
- issuer?: string;
12
- issuedAt?: string;
13
- error?: string;
14
- canReprovision: boolean;
15
- backoffInfo?: {
16
- failures: number;
17
- retryAfter?: string;
18
- lastError?: string;
19
- };
20
- constructor(clientRef: DcRouterApiClient, data: interfaces.requests.ICertificateInfo);
21
- reprovision(): Promise<void>;
22
- delete(): Promise<void>;
23
- export(): Promise<{
24
- id: string;
25
- domainName: string;
26
- created: number;
27
- validUntil: number;
28
- privateKey: string;
29
- publicKey: string;
30
- csr: string;
31
- } | undefined>;
32
- }
33
- export interface ICertificateSummary {
34
- total: number;
35
- valid: number;
36
- expiring: number;
37
- expired: number;
38
- failed: number;
39
- unknown: number;
40
- }
41
- export declare class CertificateManager {
42
- private clientRef;
43
- constructor(clientRef: DcRouterApiClient);
44
- list(): Promise<{
45
- certificates: Certificate[];
46
- summary: ICertificateSummary;
47
- }>;
48
- import(cert: {
49
- id: string;
50
- domainName: string;
51
- created: number;
52
- validUntil: number;
53
- privateKey: string;
54
- publicKey: string;
55
- csr: string;
56
- }): Promise<void>;
57
- }
@@ -1,69 +0,0 @@
1
- import * as interfaces from '../dist_ts_interfaces/index.js';
2
- export class Certificate {
3
- clientRef;
4
- // Data from ICertificateInfo
5
- domain;
6
- routeNames;
7
- status;
8
- source;
9
- tlsMode;
10
- expiryDate;
11
- issuer;
12
- issuedAt;
13
- error;
14
- canReprovision;
15
- backoffInfo;
16
- constructor(clientRef, data) {
17
- this.clientRef = clientRef;
18
- this.domain = data.domain;
19
- this.routeNames = data.routeNames;
20
- this.status = data.status;
21
- this.source = data.source;
22
- this.tlsMode = data.tlsMode;
23
- this.expiryDate = data.expiryDate;
24
- this.issuer = data.issuer;
25
- this.issuedAt = data.issuedAt;
26
- this.error = data.error;
27
- this.canReprovision = data.canReprovision;
28
- this.backoffInfo = data.backoffInfo;
29
- }
30
- async reprovision() {
31
- const response = await this.clientRef.request('reprovisionCertificateDomain', this.clientRef.buildRequestPayload({ domain: this.domain }));
32
- if (!response.success) {
33
- throw new Error(response.message || 'Failed to reprovision certificate');
34
- }
35
- }
36
- async delete() {
37
- const response = await this.clientRef.request('deleteCertificate', this.clientRef.buildRequestPayload({ domain: this.domain }));
38
- if (!response.success) {
39
- throw new Error(response.message || 'Failed to delete certificate');
40
- }
41
- }
42
- async export() {
43
- const response = await this.clientRef.request('exportCertificate', this.clientRef.buildRequestPayload({ domain: this.domain }));
44
- if (!response.success) {
45
- throw new Error(response.message || 'Failed to export certificate');
46
- }
47
- return response.cert;
48
- }
49
- }
50
- export class CertificateManager {
51
- clientRef;
52
- constructor(clientRef) {
53
- this.clientRef = clientRef;
54
- }
55
- async list() {
56
- const response = await this.clientRef.request('getCertificateOverview', this.clientRef.buildRequestPayload());
57
- return {
58
- certificates: response.certificates.map((c) => new Certificate(this.clientRef, c)),
59
- summary: response.summary,
60
- };
61
- }
62
- async import(cert) {
63
- const response = await this.clientRef.request('importCertificate', this.clientRef.buildRequestPayload({ cert }));
64
- if (!response.success) {
65
- throw new Error(response.message || 'Failed to import certificate');
66
- }
67
- }
68
- }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jZXJ0aWZpY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2FwaWNsaWVudC9jbGFzc2VzLmNlcnRpZmljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFHeEQsTUFBTSxPQUFPLFdBQVc7SUFDZCxTQUFTLENBQW9CO0lBRXJDLDZCQUE2QjtJQUN0QixNQUFNLENBQVM7SUFDZixVQUFVLENBQVc7SUFDckIsTUFBTSxDQUF5QztJQUMvQyxNQUFNLENBQXlDO0lBQy9DLE9BQU8sQ0FBMEQ7SUFDakUsVUFBVSxDQUFVO0lBQ3BCLE1BQU0sQ0FBVTtJQUNoQixRQUFRLENBQVU7SUFDbEIsS0FBSyxDQUFVO0lBQ2YsY0FBYyxDQUFVO0lBQ3hCLFdBQVcsQ0FJaEI7SUFFRixZQUFZLFNBQTRCLEVBQUUsSUFBMEM7UUFDbEYsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNB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
@@ -1,7 +0,0 @@
1
- import * as interfaces from '../dist_ts_interfaces/index.js';
2
- import type { DcRouterApiClient } from './classes.dcrouterapiclient.js';
3
- export declare class ConfigManager {
4
- private clientRef;
5
- constructor(clientRef: DcRouterApiClient);
6
- get(section?: string): Promise<interfaces.requests.IReq_GetConfiguration['response']>;
7
- }
@@ -1,11 +0,0 @@
1
- import * as interfaces from '../dist_ts_interfaces/index.js';
2
- export class ConfigManager {
3
- clientRef;
4
- constructor(clientRef) {
5
- this.clientRef = clientRef;
6
- }
7
- async get(section) {
8
- return this.clientRef.request('getConfiguration', this.clientRef.buildRequestPayload({ section }));
9
- }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19hcGljbGllbnQvY2xhc3Nlcy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFVBQVUsTUFBTSwyQkFBMkIsQ0FBQztBQUd4RCxNQUFNLE9BQU8sYUFBYTtJQUNoQixTQUFTLENBQW9CO0lBRXJDLFlBQVksU0FBNEI7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBZ0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0Isa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBUSxDQUN2RCxDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
@@ -1,41 +0,0 @@
1
- import * as plugins from './plugins.js';
2
- import * as interfaces from '../dist_ts_interfaces/index.js';
3
- import { RouteManager } from './classes.route.js';
4
- import { CertificateManager } from './classes.certificate.js';
5
- import { ApiTokenManager } from './classes.apitoken.js';
6
- import { RemoteIngressManager } from './classes.remoteingress.js';
7
- import { StatsManager } from './classes.stats.js';
8
- import { ConfigManager } from './classes.config.js';
9
- import { LogManager } from './classes.logs.js';
10
- import { EmailManager } from './classes.email.js';
11
- import { RadiusManager } from './classes.radius.js';
12
- export interface IDcRouterApiClientOptions {
13
- baseUrl: string;
14
- apiToken?: string;
15
- }
16
- export declare class DcRouterApiClient {
17
- baseUrl: string;
18
- apiToken?: string;
19
- identity?: interfaces.data.IIdentity;
20
- routes: RouteManager;
21
- certificates: CertificateManager;
22
- apiTokens: ApiTokenManager;
23
- remoteIngress: RemoteIngressManager;
24
- stats: StatsManager;
25
- config: ConfigManager;
26
- logs: LogManager;
27
- emails: EmailManager;
28
- radius: RadiusManager;
29
- constructor(options: IDcRouterApiClientOptions);
30
- login(username: string, password: string): Promise<interfaces.data.IIdentity>;
31
- logout(): Promise<void>;
32
- verifyIdentity(): Promise<{
33
- valid: boolean;
34
- identity?: interfaces.data.IIdentity;
35
- }>;
36
- request<T extends plugins.typedrequestInterfaces.ITypedRequest>(method: string, requestData: T['request']): Promise<T['response']>;
37
- /**
38
- * Build a request payload with identity and optional API token auto-injected.
39
- */
40
- buildRequestPayload(extra?: Record<string, any>): Record<string, any>;
41
- }
@@ -1,81 +0,0 @@
1
- import * as plugins from './plugins.js';
2
- import * as interfaces from '../dist_ts_interfaces/index.js';
3
- import { RouteManager } from './classes.route.js';
4
- import { CertificateManager } from './classes.certificate.js';
5
- import { ApiTokenManager } from './classes.apitoken.js';
6
- import { RemoteIngressManager } from './classes.remoteingress.js';
7
- import { StatsManager } from './classes.stats.js';
8
- import { ConfigManager } from './classes.config.js';
9
- import { LogManager } from './classes.logs.js';
10
- import { EmailManager } from './classes.email.js';
11
- import { RadiusManager } from './classes.radius.js';
12
- export class DcRouterApiClient {
13
- baseUrl;
14
- apiToken;
15
- identity;
16
- // Resource managers
17
- routes;
18
- certificates;
19
- apiTokens;
20
- remoteIngress;
21
- stats;
22
- config;
23
- logs;
24
- emails;
25
- radius;
26
- constructor(options) {
27
- this.baseUrl = options.baseUrl.replace(/\/+$/, '');
28
- this.apiToken = options.apiToken;
29
- this.routes = new RouteManager(this);
30
- this.certificates = new CertificateManager(this);
31
- this.apiTokens = new ApiTokenManager(this);
32
- this.remoteIngress = new RemoteIngressManager(this);
33
- this.stats = new StatsManager(this);
34
- this.config = new ConfigManager(this);
35
- this.logs = new LogManager(this);
36
- this.emails = new EmailManager(this);
37
- this.radius = new RadiusManager(this);
38
- }
39
- // =====================
40
- // Auth
41
- // =====================
42
- async login(username, password) {
43
- const response = await this.request('adminLoginWithUsernameAndPassword', { username, password });
44
- if (response.identity) {
45
- this.identity = response.identity;
46
- }
47
- return response.identity;
48
- }
49
- async logout() {
50
- await this.request('adminLogout', { identity: this.identity });
51
- this.identity = undefined;
52
- }
53
- async verifyIdentity() {
54
- const response = await this.request('verifyIdentity', { identity: this.identity });
55
- if (response.identity) {
56
- this.identity = response.identity;
57
- }
58
- return response;
59
- }
60
- // =====================
61
- // Internal request helper
62
- // =====================
63
- async request(method, requestData) {
64
- const typedRequest = new plugins.typedrequest.TypedRequest(`${this.baseUrl}/typedrequest`, method);
65
- return typedRequest.fire(requestData);
66
- }
67
- /**
68
- * Build a request payload with identity and optional API token auto-injected.
69
- */
70
- buildRequestPayload(extra = {}) {
71
- const payload = { ...extra };
72
- if (this.identity) {
73
- payload.identity = this.identity;
74
- }
75
- if (this.apiToken) {
76
- payload.apiToken = this.apiToken;
77
- }
78
- return payload;
79
- }
80
- }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5kY3JvdXRlcmFwaWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2FwaWNsaWVudC9jbGFzc2VzLmRjcm91dGVyYXBpY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBT3BELE1BQU0sT0FBTyxpQkFBaUI7SUFDckIsT0FBTyxDQUFTO0lBQ2hCLFFBQVEsQ0FBVTtJQUNsQixRQUFRLENBQTZCO0lBRTVDLG9CQUFvQjtJQUNiLE1BQU0sQ0FBZTtJQUNyQixZQUFZLENBQXFCO0lBQ2pDLFNBQVMsQ0FBa0I7SUFDM0IsYUFBYSxDQUF1QjtJQUNwQyxLQUFLLENBQWU7SUFDcEIsTUFBTSxDQUFnQjtJQUN0QixJQUFJLENBQWE7SUFDakIsTUFBTSxDQUFlO0lBQ3JCLE1BQU0sQ0FBZ0I7SUFFN0IsWUFBWSxPQUFrQztRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFFakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsT0FBTztJQUNQLHdCQUF3QjtJQUVqQixLQUFLLENBQUMsS0FBSyxDQUFDLFFBQWdCLEVBQUUsUUFBZ0I7UUFDbkQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUNqQyxtQ0FBbUMsRUFDbkMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQ3ZCLENBQUM7UUFDRixJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDLFFBQVMsQ0FBQztJQUM1QixDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU07UUFDakIsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUNoQixhQUFhLEVBQ2IsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVMsRUFBRSxDQUM3QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDNUIsQ0FBQztJQUVNLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FDakMsZ0JBQWdCLEVBQ2hCLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFTLEVBQUUsQ0FDN0IsQ0FBQztRQUNGLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELHdCQUF3QjtJQUN4QiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBRWpCLEtBQUssQ0FBQyxPQUFPLENBQ2xCLE1BQWMsRUFDZCxXQUF5QjtRQUV6QixNQUFNLFlBQVksR0FBRyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUN4RCxHQUFHLElBQUksQ0FBQyxPQUFPLGVBQWUsRUFDOUIsTUFBTSxDQUNQLENBQUM7UUFDRixPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksbUJBQW1CLENBQUMsUUFBNkIsRUFBRTtRQUN4RCxNQUFNLE9BQU8sR0FBd0IsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YifQ==
@@ -1,30 +0,0 @@
1
- import * as interfaces from '../dist_ts_interfaces/index.js';
2
- import type { DcRouterApiClient } from './classes.dcrouterapiclient.js';
3
- export declare class Email {
4
- private clientRef;
5
- id: string;
6
- direction: interfaces.requests.TEmailDirection;
7
- status: interfaces.requests.TEmailStatus;
8
- from: string;
9
- to: string;
10
- subject: string;
11
- timestamp: string;
12
- messageId: string;
13
- size: string;
14
- constructor(clientRef: DcRouterApiClient, data: interfaces.requests.IEmail);
15
- getDetail(): Promise<interfaces.requests.IEmailDetail | null>;
16
- resend(): Promise<{
17
- success: boolean;
18
- newQueueId?: string;
19
- }>;
20
- }
21
- export declare class EmailManager {
22
- private clientRef;
23
- constructor(clientRef: DcRouterApiClient);
24
- list(): Promise<Email[]>;
25
- getDetail(emailId: string): Promise<interfaces.requests.IEmailDetail | null>;
26
- resend(emailId: string): Promise<{
27
- success: boolean;
28
- newQueueId?: string;
29
- }>;
30
- }
@@ -1,52 +0,0 @@
1
- import * as interfaces from '../dist_ts_interfaces/index.js';
2
- export class Email {
3
- clientRef;
4
- // Data from IEmail
5
- id;
6
- direction;
7
- status;
8
- from;
9
- to;
10
- subject;
11
- timestamp;
12
- messageId;
13
- size;
14
- constructor(clientRef, data) {
15
- this.clientRef = clientRef;
16
- this.id = data.id;
17
- this.direction = data.direction;
18
- this.status = data.status;
19
- this.from = data.from;
20
- this.to = data.to;
21
- this.subject = data.subject;
22
- this.timestamp = data.timestamp;
23
- this.messageId = data.messageId;
24
- this.size = data.size;
25
- }
26
- async getDetail() {
27
- const response = await this.clientRef.request('getEmailDetail', this.clientRef.buildRequestPayload({ emailId: this.id }));
28
- return response.email;
29
- }
30
- async resend() {
31
- const response = await this.clientRef.request('resendEmail', this.clientRef.buildRequestPayload({ emailId: this.id }));
32
- return response;
33
- }
34
- }
35
- export class EmailManager {
36
- clientRef;
37
- constructor(clientRef) {
38
- this.clientRef = clientRef;
39
- }
40
- async list() {
41
- const response = await this.clientRef.request('getAllEmails', this.clientRef.buildRequestPayload());
42
- return response.emails.map((e) => new Email(this.clientRef, e));
43
- }
44
- async getDetail(emailId) {
45
- const response = await this.clientRef.request('getEmailDetail', this.clientRef.buildRequestPayload({ emailId }));
46
- return response.email;
47
- }
48
- async resend(emailId) {
49
- return this.clientRef.request('resendEmail', this.clientRef.buildRequestPayload({ emailId }));
50
- }
51
- }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5lbWFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2FwaWNsaWVudC9jbGFzc2VzLmVtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sMkJBQTJCLENBQUM7QUFHeEQsTUFBTSxPQUFPLEtBQUs7SUFDUixTQUFTLENBQW9CO0lBRXJDLG1CQUFtQjtJQUNaLEVBQUUsQ0FBUztJQUNYLFNBQVMsQ0FBc0M7SUFDL0MsTUFBTSxDQUFtQztJQUN6QyxJQUFJLENBQVM7SUFDYixFQUFFLENBQVM7SUFDWCxPQUFPLENBQVM7SUFDaEIsU0FBUyxDQUFTO0lBQ2xCLFNBQVMsQ0FBUztJQUNsQixJQUFJLENBQVM7SUFFcEIsWUFBWSxTQUE0QixFQUFFLElBQWdDO1FBQ3hFLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUztRQUNwQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUMzQyxnQkFBZ0IsRUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQVEsQ0FDaEUsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU07UUFDakIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0MsYUFBYSxFQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFRLENBQ2hFLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUNmLFNBQVMsQ0FBb0I7SUFFckMsWUFBWSxTQUE0QjtRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUk7UUFDZixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUMzQyxjQUFjLEVBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBUyxDQUM1QyxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQWU7UUFDcEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0MsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBUSxDQUN2RCxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQWU7UUFDakMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0IsYUFBYSxFQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBUSxDQUN2RCxDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
@@ -1,21 +0,0 @@
1
- import * as interfaces from '../dist_ts_interfaces/index.js';
2
- import type { DcRouterApiClient } from './classes.dcrouterapiclient.js';
3
- export declare class LogManager {
4
- private clientRef;
5
- constructor(clientRef: DcRouterApiClient);
6
- getRecent(options?: {
7
- level?: 'debug' | 'info' | 'warn' | 'error';
8
- category?: 'smtp' | 'dns' | 'security' | 'system' | 'email';
9
- limit?: number;
10
- offset?: number;
11
- search?: string;
12
- timeRange?: string;
13
- }): Promise<interfaces.requests.IReq_GetRecentLogs['response']>;
14
- getStream(options?: {
15
- follow?: boolean;
16
- filters?: {
17
- level?: string[];
18
- category?: string[];
19
- };
20
- }): Promise<interfaces.requests.IReq_GetLogStream['response']>;
21
- }
@@ -1,14 +0,0 @@
1
- import * as interfaces from '../dist_ts_interfaces/index.js';
2
- export class LogManager {
3
- clientRef;
4
- constructor(clientRef) {
5
- this.clientRef = clientRef;
6
- }
7
- async getRecent(options) {
8
- return this.clientRef.request('getRecentLogs', this.clientRef.buildRequestPayload(options || {}));
9
- }
10
- async getStream(options) {
11
- return this.clientRef.request('getLogStream', this.clientRef.buildRequestPayload(options || {}));
12
- }
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5sb2dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfYXBpY2xpZW50L2NsYXNzZXMubG9ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLDJCQUEyQixDQUFDO0FBR3hELE1BQU0sT0FBTyxVQUFVO0lBQ2IsU0FBUyxDQUFvQjtJQUVyQyxZQUFZLFNBQTRCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BT3RCO1FBQ0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0IsZUFBZSxFQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBUSxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FNdEI7UUFDQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUMzQixjQUFjLEVBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFRLENBQ3pELENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -1,59 +0,0 @@
1
- import * as interfaces from '../dist_ts_interfaces/index.js';
2
- import type { DcRouterApiClient } from './classes.dcrouterapiclient.js';
3
- export declare class RadiusClientManager {
4
- private clientRef;
5
- constructor(clientRef: DcRouterApiClient);
6
- list(): Promise<Array<{
7
- name: string;
8
- ipRange: string;
9
- description?: string;
10
- enabled: boolean;
11
- }>>;
12
- set(client: {
13
- name: string;
14
- ipRange: string;
15
- secret: string;
16
- description?: string;
17
- enabled: boolean;
18
- }): Promise<void>;
19
- remove(name: string): Promise<void>;
20
- }
21
- export declare class RadiusVlanManager {
22
- private clientRef;
23
- constructor(clientRef: DcRouterApiClient);
24
- list(): Promise<interfaces.requests.IReq_GetVlanMappings['response']>;
25
- set(mapping: {
26
- mac: string;
27
- vlan: number;
28
- description?: string;
29
- enabled: boolean;
30
- }): Promise<void>;
31
- remove(mac: string): Promise<void>;
32
- updateConfig(options: {
33
- defaultVlan?: number;
34
- allowUnknownMacs?: boolean;
35
- }): Promise<{
36
- defaultVlan: number;
37
- allowUnknownMacs: boolean;
38
- }>;
39
- testAssignment(mac: string): Promise<interfaces.requests.IReq_TestVlanAssignment['response']>;
40
- }
41
- export declare class RadiusSessionManager {
42
- private clientRef;
43
- constructor(clientRef: DcRouterApiClient);
44
- list(filter?: {
45
- username?: string;
46
- nasIpAddress?: string;
47
- vlanId?: number;
48
- }): Promise<interfaces.requests.IReq_GetRadiusSessions['response']>;
49
- disconnect(sessionId: string, reason?: string): Promise<void>;
50
- }
51
- export declare class RadiusManager {
52
- private clientRef;
53
- clients: RadiusClientManager;
54
- vlans: RadiusVlanManager;
55
- sessions: RadiusSessionManager;
56
- constructor(clientRef: DcRouterApiClient);
57
- getAccountingSummary(startTime: number, endTime: number): Promise<interfaces.requests.IReq_GetRadiusAccountingSummary['response']['summary']>;
58
- getStatistics(): Promise<interfaces.requests.IReq_GetRadiusStatistics['response']>;
59
- }