@serve.zone/dcrouter 13.4.2 → 13.7.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.
- package/dist_serve/bundle.js +1779 -1375
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.dcrouter.d.ts +2 -5
- package/dist_ts/classes.dcrouter.js +41 -10
- package/dist_ts/db/documents/classes.dns-provider.doc.d.ts +22 -0
- package/dist_ts/db/documents/classes.dns-provider.doc.js +134 -0
- package/dist_ts/db/documents/classes.dns-record.doc.d.ts +21 -0
- package/dist_ts/db/documents/classes.dns-record.doc.js +143 -0
- package/dist_ts/db/documents/classes.domain.doc.d.ts +22 -0
- package/dist_ts/db/documents/classes.domain.doc.js +146 -0
- package/dist_ts/db/documents/index.d.ts +3 -0
- package/dist_ts/db/documents/index.js +5 -1
- package/dist_ts/dns/index.d.ts +2 -0
- package/dist_ts/dns/index.js +3 -0
- package/dist_ts/dns/manager.dns.d.ts +227 -0
- package/dist_ts/dns/manager.dns.js +747 -0
- package/dist_ts/dns/providers/cloudflare.provider.d.ts +21 -0
- package/dist_ts/dns/providers/cloudflare.provider.js +106 -0
- package/dist_ts/dns/providers/factory.d.ts +23 -0
- package/dist_ts/dns/providers/factory.js +38 -0
- package/dist_ts/dns/providers/index.d.ts +3 -0
- package/dist_ts/dns/providers/index.js +4 -0
- package/dist_ts/dns/providers/interfaces.d.ts +54 -0
- package/dist_ts/dns/providers/interfaces.js +2 -0
- package/dist_ts/opsserver/classes.opsserver.d.ts +4 -0
- package/dist_ts/opsserver/classes.opsserver.js +9 -1
- package/dist_ts/opsserver/handlers/admin.handler.d.ts +9 -0
- package/dist_ts/opsserver/handlers/admin.handler.js +12 -1
- package/dist_ts/opsserver/handlers/config.handler.js +11 -2
- package/dist_ts/opsserver/handlers/dns-provider.handler.d.ts +16 -0
- package/dist_ts/opsserver/handlers/dns-provider.handler.js +119 -0
- package/dist_ts/opsserver/handlers/dns-record.handler.d.ts +13 -0
- package/dist_ts/opsserver/handlers/dns-record.handler.js +98 -0
- package/dist_ts/opsserver/handlers/domain.handler.d.ts +13 -0
- package/dist_ts/opsserver/handlers/domain.handler.js +124 -0
- package/dist_ts/opsserver/handlers/index.d.ts +4 -0
- package/dist_ts/opsserver/handlers/index.js +5 -1
- package/dist_ts/opsserver/handlers/users.handler.d.ts +12 -0
- package/dist_ts/opsserver/handlers/users.handler.js +24 -0
- package/dist_ts_interfaces/data/dns-provider.d.ts +112 -0
- package/dist_ts_interfaces/data/dns-provider.js +27 -0
- package/dist_ts_interfaces/data/dns-record.d.ts +40 -0
- package/dist_ts_interfaces/data/dns-record.js +2 -0
- package/dist_ts_interfaces/data/domain.d.ts +34 -0
- package/dist_ts_interfaces/data/domain.js +2 -0
- package/dist_ts_interfaces/data/index.d.ts +3 -0
- package/dist_ts_interfaces/data/index.js +4 -1
- package/dist_ts_interfaces/data/route-management.d.ts +1 -1
- package/dist_ts_interfaces/requests/dns-providers.d.ts +117 -0
- package/dist_ts_interfaces/requests/dns-providers.js +2 -0
- package/dist_ts_interfaces/requests/dns-records.d.ts +89 -0
- package/dist_ts_interfaces/requests/dns-records.js +2 -0
- package/dist_ts_interfaces/requests/domains.d.ts +118 -0
- package/dist_ts_interfaces/requests/domains.js +2 -0
- package/dist_ts_interfaces/requests/index.d.ts +4 -0
- package/dist_ts_interfaces/requests/index.js +5 -1
- package/dist_ts_interfaces/requests/users.d.ts +19 -0
- package/dist_ts_interfaces/requests/users.js +3 -0
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/appstate.d.ts +85 -0
- package/dist_ts_web/appstate.js +339 -6
- package/dist_ts_web/elements/access/index.d.ts +1 -0
- package/dist_ts_web/elements/access/index.js +2 -1
- package/dist_ts_web/elements/access/ops-view-apitokens.js +1 -1
- package/dist_ts_web/elements/access/ops-view-users.d.ts +11 -0
- package/dist_ts_web/elements/access/ops-view-users.js +190 -0
- package/dist_ts_web/elements/domains/dns-provider-form.d.ts +58 -0
- package/dist_ts_web/elements/domains/dns-provider-form.js +268 -0
- package/dist_ts_web/elements/domains/index.d.ts +5 -0
- package/dist_ts_web/elements/domains/index.js +6 -0
- package/dist_ts_web/elements/{ops-view-certificates.d.ts → domains/ops-view-certificates.d.ts} +1 -1
- package/dist_ts_web/elements/{ops-view-certificates.js → domains/ops-view-certificates.js} +5 -5
- package/dist_ts_web/elements/domains/ops-view-dns.d.ts +17 -0
- package/dist_ts_web/elements/domains/ops-view-dns.js +304 -0
- package/dist_ts_web/elements/domains/ops-view-domains.d.ts +18 -0
- package/dist_ts_web/elements/domains/ops-view-domains.js +361 -0
- package/dist_ts_web/elements/domains/ops-view-providers.d.ts +21 -0
- package/dist_ts_web/elements/domains/ops-view-providers.js +316 -0
- package/dist_ts_web/elements/email/ops-view-email-security.js +1 -1
- package/dist_ts_web/elements/email/ops-view-emails.js +1 -1
- package/dist_ts_web/elements/index.d.ts +1 -1
- package/dist_ts_web/elements/index.js +2 -2
- package/dist_ts_web/elements/network/ops-view-network-activity.js +6 -2
- package/dist_ts_web/elements/network/ops-view-networktargets.js +1 -1
- package/dist_ts_web/elements/network/ops-view-remoteingress.js +1 -1
- package/dist_ts_web/elements/network/ops-view-routes.js +1 -1
- package/dist_ts_web/elements/network/ops-view-sourceprofiles.js +1 -1
- package/dist_ts_web/elements/network/ops-view-targetprofiles.js +1 -1
- package/dist_ts_web/elements/network/ops-view-vpn.js +1 -1
- package/dist_ts_web/elements/ops-dashboard.js +16 -5
- package/dist_ts_web/elements/ops-view-logs.js +1 -1
- package/dist_ts_web/elements/overview/ops-view-config.js +3 -3
- package/dist_ts_web/elements/overview/ops-view-overview.js +1 -1
- package/dist_ts_web/elements/security/ops-view-security-authentication.js +1 -1
- package/dist_ts_web/elements/security/ops-view-security-blocked.js +1 -1
- package/dist_ts_web/elements/security/ops-view-security-overview.js +1 -1
- package/dist_ts_web/router.d.ts +1 -1
- package/dist_ts_web/router.js +5 -3
- package/package.json +2 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.dcrouter.ts +46 -17
- package/ts/db/documents/classes.dns-provider.doc.ts +63 -0
- package/ts/db/documents/classes.dns-record.doc.ts +62 -0
- package/ts/db/documents/classes.domain.doc.ts +66 -0
- package/ts/db/documents/index.ts +5 -0
- package/ts/dns/index.ts +2 -0
- package/ts/dns/manager.dns.ts +869 -0
- package/ts/dns/providers/cloudflare.provider.ts +131 -0
- package/ts/dns/providers/factory.ts +48 -0
- package/ts/dns/providers/index.ts +3 -0
- package/ts/dns/providers/interfaces.ts +67 -0
- package/ts/opsserver/classes.opsserver.ts +8 -0
- package/ts/opsserver/handlers/admin.handler.ts +12 -0
- package/ts/opsserver/handlers/config.handler.ts +10 -1
- package/ts/opsserver/handlers/dns-provider.handler.ts +159 -0
- package/ts/opsserver/handlers/dns-record.handler.ts +127 -0
- package/ts/opsserver/handlers/domain.handler.ts +161 -0
- package/ts/opsserver/handlers/index.ts +5 -1
- package/ts/opsserver/handlers/users.handler.ts +30 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/appstate.ts +460 -5
- package/ts_web/elements/access/index.ts +1 -0
- package/ts_web/elements/access/ops-view-apitokens.ts +1 -1
- package/ts_web/elements/access/ops-view-users.ts +140 -0
- package/ts_web/elements/domains/dns-provider-form.ts +216 -0
- package/ts_web/elements/domains/index.ts +5 -0
- package/ts_web/elements/{ops-view-certificates.ts → domains/ops-view-certificates.ts} +4 -4
- package/ts_web/elements/domains/ops-view-dns.ts +273 -0
- package/ts_web/elements/domains/ops-view-domains.ts +335 -0
- package/ts_web/elements/domains/ops-view-providers.ts +284 -0
- package/ts_web/elements/email/ops-view-email-security.ts +1 -1
- package/ts_web/elements/email/ops-view-emails.ts +1 -1
- package/ts_web/elements/index.ts +1 -1
- package/ts_web/elements/network/ops-view-network-activity.ts +5 -1
- package/ts_web/elements/network/ops-view-networktargets.ts +1 -1
- package/ts_web/elements/network/ops-view-remoteingress.ts +1 -1
- package/ts_web/elements/network/ops-view-routes.ts +1 -1
- package/ts_web/elements/network/ops-view-sourceprofiles.ts +1 -1
- package/ts_web/elements/network/ops-view-targetprofiles.ts +1 -1
- package/ts_web/elements/network/ops-view-vpn.ts +1 -1
- package/ts_web/elements/ops-dashboard.ts +16 -4
- package/ts_web/elements/ops-view-logs.ts +1 -1
- package/ts_web/elements/overview/ops-view-config.ts +2 -2
- package/ts_web/elements/overview/ops-view-overview.ts +1 -1
- package/ts_web/elements/security/ops-view-security-authentication.ts +1 -1
- package/ts_web/elements/security/ops-view-security-blocked.ts +1 -1
- package/ts_web/elements/security/ops-view-security-overview.ts +1 -1
- package/ts_web/router.ts +4 -2
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type * as authInterfaces from '../data/auth.js';
|
|
3
|
+
import type { IDnsProviderPublic, IProviderDomainListing, TDnsProviderType, TDnsProviderCredentials } from '../data/dns-provider.js';
|
|
4
|
+
/**
|
|
5
|
+
* Get all DNS providers (public view, no secrets).
|
|
6
|
+
*/
|
|
7
|
+
export interface IReq_GetDnsProviders extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetDnsProviders> {
|
|
8
|
+
method: 'getDnsProviders';
|
|
9
|
+
request: {
|
|
10
|
+
identity?: authInterfaces.IIdentity;
|
|
11
|
+
apiToken?: string;
|
|
12
|
+
};
|
|
13
|
+
response: {
|
|
14
|
+
providers: IDnsProviderPublic[];
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get a single DNS provider by id.
|
|
19
|
+
*/
|
|
20
|
+
export interface IReq_GetDnsProvider extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetDnsProvider> {
|
|
21
|
+
method: 'getDnsProvider';
|
|
22
|
+
request: {
|
|
23
|
+
identity?: authInterfaces.IIdentity;
|
|
24
|
+
apiToken?: string;
|
|
25
|
+
id: string;
|
|
26
|
+
};
|
|
27
|
+
response: {
|
|
28
|
+
provider: IDnsProviderPublic | null;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create a new DNS provider.
|
|
33
|
+
*/
|
|
34
|
+
export interface IReq_CreateDnsProvider extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateDnsProvider> {
|
|
35
|
+
method: 'createDnsProvider';
|
|
36
|
+
request: {
|
|
37
|
+
identity?: authInterfaces.IIdentity;
|
|
38
|
+
apiToken?: string;
|
|
39
|
+
name: string;
|
|
40
|
+
type: TDnsProviderType;
|
|
41
|
+
credentials: TDnsProviderCredentials;
|
|
42
|
+
};
|
|
43
|
+
response: {
|
|
44
|
+
success: boolean;
|
|
45
|
+
id?: string;
|
|
46
|
+
message?: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Update a DNS provider. Only supplied fields are updated.
|
|
51
|
+
* Pass `credentials` to rotate the secret.
|
|
52
|
+
*/
|
|
53
|
+
export interface IReq_UpdateDnsProvider extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateDnsProvider> {
|
|
54
|
+
method: 'updateDnsProvider';
|
|
55
|
+
request: {
|
|
56
|
+
identity?: authInterfaces.IIdentity;
|
|
57
|
+
apiToken?: string;
|
|
58
|
+
id: string;
|
|
59
|
+
name?: string;
|
|
60
|
+
credentials?: TDnsProviderCredentials;
|
|
61
|
+
};
|
|
62
|
+
response: {
|
|
63
|
+
success: boolean;
|
|
64
|
+
message?: string;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Delete a DNS provider. Fails if any IDomain still references it
|
|
69
|
+
* unless `force: true` is set.
|
|
70
|
+
*/
|
|
71
|
+
export interface IReq_DeleteDnsProvider extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteDnsProvider> {
|
|
72
|
+
method: 'deleteDnsProvider';
|
|
73
|
+
request: {
|
|
74
|
+
identity?: authInterfaces.IIdentity;
|
|
75
|
+
apiToken?: string;
|
|
76
|
+
id: string;
|
|
77
|
+
force?: boolean;
|
|
78
|
+
};
|
|
79
|
+
response: {
|
|
80
|
+
success: boolean;
|
|
81
|
+
message?: string;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Test the connection to a DNS provider. Used both for newly-saved
|
|
86
|
+
* providers and on demand from the UI.
|
|
87
|
+
*/
|
|
88
|
+
export interface IReq_TestDnsProvider extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_TestDnsProvider> {
|
|
89
|
+
method: 'testDnsProvider';
|
|
90
|
+
request: {
|
|
91
|
+
identity?: authInterfaces.IIdentity;
|
|
92
|
+
apiToken?: string;
|
|
93
|
+
id: string;
|
|
94
|
+
};
|
|
95
|
+
response: {
|
|
96
|
+
ok: boolean;
|
|
97
|
+
error?: string;
|
|
98
|
+
testedAt: number;
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* List the domains visible to a DNS provider's API account.
|
|
103
|
+
* Used when importing — does NOT persist anything.
|
|
104
|
+
*/
|
|
105
|
+
export interface IReq_ListProviderDomains extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ListProviderDomains> {
|
|
106
|
+
method: 'listProviderDomains';
|
|
107
|
+
request: {
|
|
108
|
+
identity?: authInterfaces.IIdentity;
|
|
109
|
+
apiToken?: string;
|
|
110
|
+
providerId: string;
|
|
111
|
+
};
|
|
112
|
+
response: {
|
|
113
|
+
success: boolean;
|
|
114
|
+
domains?: IProviderDomainListing[];
|
|
115
|
+
message?: string;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLXByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvcmVxdWVzdHMvZG5zLXByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type * as authInterfaces from '../data/auth.js';
|
|
3
|
+
import type { IDnsRecord, TDnsRecordType } from '../data/dns-record.js';
|
|
4
|
+
/**
|
|
5
|
+
* Get all DNS records for a domain.
|
|
6
|
+
*/
|
|
7
|
+
export interface IReq_GetDnsRecords extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetDnsRecords> {
|
|
8
|
+
method: 'getDnsRecords';
|
|
9
|
+
request: {
|
|
10
|
+
identity?: authInterfaces.IIdentity;
|
|
11
|
+
apiToken?: string;
|
|
12
|
+
domainId: string;
|
|
13
|
+
};
|
|
14
|
+
response: {
|
|
15
|
+
records: IDnsRecord[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get a single DNS record by id.
|
|
20
|
+
*/
|
|
21
|
+
export interface IReq_GetDnsRecord extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetDnsRecord> {
|
|
22
|
+
method: 'getDnsRecord';
|
|
23
|
+
request: {
|
|
24
|
+
identity?: authInterfaces.IIdentity;
|
|
25
|
+
apiToken?: string;
|
|
26
|
+
id: string;
|
|
27
|
+
};
|
|
28
|
+
response: {
|
|
29
|
+
record: IDnsRecord | null;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Create a new DNS record.
|
|
34
|
+
*
|
|
35
|
+
* For manual domains: registers the record with the embedded DnsServer.
|
|
36
|
+
* For provider domains: pushes the record to the provider API.
|
|
37
|
+
*/
|
|
38
|
+
export interface IReq_CreateDnsRecord extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateDnsRecord> {
|
|
39
|
+
method: 'createDnsRecord';
|
|
40
|
+
request: {
|
|
41
|
+
identity?: authInterfaces.IIdentity;
|
|
42
|
+
apiToken?: string;
|
|
43
|
+
domainId: string;
|
|
44
|
+
name: string;
|
|
45
|
+
type: TDnsRecordType;
|
|
46
|
+
value: string;
|
|
47
|
+
ttl?: number;
|
|
48
|
+
proxied?: boolean;
|
|
49
|
+
};
|
|
50
|
+
response: {
|
|
51
|
+
success: boolean;
|
|
52
|
+
id?: string;
|
|
53
|
+
message?: string;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Update a DNS record.
|
|
58
|
+
*/
|
|
59
|
+
export interface IReq_UpdateDnsRecord extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateDnsRecord> {
|
|
60
|
+
method: 'updateDnsRecord';
|
|
61
|
+
request: {
|
|
62
|
+
identity?: authInterfaces.IIdentity;
|
|
63
|
+
apiToken?: string;
|
|
64
|
+
id: string;
|
|
65
|
+
name?: string;
|
|
66
|
+
value?: string;
|
|
67
|
+
ttl?: number;
|
|
68
|
+
proxied?: boolean;
|
|
69
|
+
};
|
|
70
|
+
response: {
|
|
71
|
+
success: boolean;
|
|
72
|
+
message?: string;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Delete a DNS record.
|
|
77
|
+
*/
|
|
78
|
+
export interface IReq_DeleteDnsRecord extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteDnsRecord> {
|
|
79
|
+
method: 'deleteDnsRecord';
|
|
80
|
+
request: {
|
|
81
|
+
identity?: authInterfaces.IIdentity;
|
|
82
|
+
apiToken?: string;
|
|
83
|
+
id: string;
|
|
84
|
+
};
|
|
85
|
+
response: {
|
|
86
|
+
success: boolean;
|
|
87
|
+
message?: string;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLXJlY29yZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL3JlcXVlc3RzL2Rucy1yZWNvcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDIn0=
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import type * as authInterfaces from '../data/auth.js';
|
|
3
|
+
import type { IDomain } from '../data/domain.js';
|
|
4
|
+
/**
|
|
5
|
+
* Get all domains under management.
|
|
6
|
+
*/
|
|
7
|
+
export interface IReq_GetDomains extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetDomains> {
|
|
8
|
+
method: 'getDomains';
|
|
9
|
+
request: {
|
|
10
|
+
identity?: authInterfaces.IIdentity;
|
|
11
|
+
apiToken?: string;
|
|
12
|
+
};
|
|
13
|
+
response: {
|
|
14
|
+
domains: IDomain[];
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get a single domain by id.
|
|
19
|
+
*/
|
|
20
|
+
export interface IReq_GetDomain extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetDomain> {
|
|
21
|
+
method: 'getDomain';
|
|
22
|
+
request: {
|
|
23
|
+
identity?: authInterfaces.IIdentity;
|
|
24
|
+
apiToken?: string;
|
|
25
|
+
id: string;
|
|
26
|
+
};
|
|
27
|
+
response: {
|
|
28
|
+
domain: IDomain | null;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create a manual (authoritative) domain. dcrouter will serve DNS
|
|
33
|
+
* records for this domain via the embedded smartdns.DnsServer.
|
|
34
|
+
*/
|
|
35
|
+
export interface IReq_CreateDomain extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_CreateDomain> {
|
|
36
|
+
method: 'createDomain';
|
|
37
|
+
request: {
|
|
38
|
+
identity?: authInterfaces.IIdentity;
|
|
39
|
+
apiToken?: string;
|
|
40
|
+
name: string;
|
|
41
|
+
description?: string;
|
|
42
|
+
};
|
|
43
|
+
response: {
|
|
44
|
+
success: boolean;
|
|
45
|
+
id?: string;
|
|
46
|
+
message?: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Import one or more domains from a DNS provider. For each imported
|
|
51
|
+
* domain, records are pulled from the provider into DnsRecordDoc.
|
|
52
|
+
*/
|
|
53
|
+
export interface IReq_ImportDomain extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ImportDomain> {
|
|
54
|
+
method: 'importDomain';
|
|
55
|
+
request: {
|
|
56
|
+
identity?: authInterfaces.IIdentity;
|
|
57
|
+
apiToken?: string;
|
|
58
|
+
providerId: string;
|
|
59
|
+
/** FQDN(s) of the zone(s) to import — must be visible to the provider account. */
|
|
60
|
+
domainNames: string[];
|
|
61
|
+
};
|
|
62
|
+
response: {
|
|
63
|
+
success: boolean;
|
|
64
|
+
importedIds?: string[];
|
|
65
|
+
message?: string;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Update a domain's metadata. Cannot change source / providerId once set.
|
|
70
|
+
*/
|
|
71
|
+
export interface IReq_UpdateDomain extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_UpdateDomain> {
|
|
72
|
+
method: 'updateDomain';
|
|
73
|
+
request: {
|
|
74
|
+
identity?: authInterfaces.IIdentity;
|
|
75
|
+
apiToken?: string;
|
|
76
|
+
id: string;
|
|
77
|
+
description?: string;
|
|
78
|
+
};
|
|
79
|
+
response: {
|
|
80
|
+
success: boolean;
|
|
81
|
+
message?: string;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Delete a domain and all of its DNS records.
|
|
86
|
+
* For provider-managed domains, this only removes dcrouter's local record —
|
|
87
|
+
* it does NOT delete the zone at the provider.
|
|
88
|
+
*/
|
|
89
|
+
export interface IReq_DeleteDomain extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_DeleteDomain> {
|
|
90
|
+
method: 'deleteDomain';
|
|
91
|
+
request: {
|
|
92
|
+
identity?: authInterfaces.IIdentity;
|
|
93
|
+
apiToken?: string;
|
|
94
|
+
id: string;
|
|
95
|
+
};
|
|
96
|
+
response: {
|
|
97
|
+
success: boolean;
|
|
98
|
+
message?: string;
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Force-resync a provider-managed domain: re-pulls all records from the
|
|
103
|
+
* provider API, replacing the cached DnsRecordDocs.
|
|
104
|
+
* No-op for manual domains.
|
|
105
|
+
*/
|
|
106
|
+
export interface IReq_SyncDomain extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_SyncDomain> {
|
|
107
|
+
method: 'syncDomain';
|
|
108
|
+
request: {
|
|
109
|
+
identity?: authInterfaces.IIdentity;
|
|
110
|
+
apiToken?: string;
|
|
111
|
+
id: string;
|
|
112
|
+
};
|
|
113
|
+
response: {
|
|
114
|
+
success: boolean;
|
|
115
|
+
recordCount?: number;
|
|
116
|
+
message?: string;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWlucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX2ludGVyZmFjZXMvcmVxdWVzdHMvZG9tYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQyJ9
|
|
@@ -13,3 +13,7 @@ export * from './vpn.js';
|
|
|
13
13
|
export * from './source-profiles.js';
|
|
14
14
|
export * from './target-profiles.js';
|
|
15
15
|
export * from './network-targets.js';
|
|
16
|
+
export * from './users.js';
|
|
17
|
+
export * from './dns-providers.js';
|
|
18
|
+
export * from './domains.js';
|
|
19
|
+
export * from './dns-records.js';
|
|
@@ -13,4 +13,8 @@ export * from './vpn.js';
|
|
|
13
13
|
export * from './source-profiles.js';
|
|
14
14
|
export * from './target-profiles.js';
|
|
15
15
|
export * from './network-targets.js';
|
|
16
|
-
|
|
16
|
+
export * from './users.js';
|
|
17
|
+
export * from './dns-providers.js';
|
|
18
|
+
export * from './domains.js';
|
|
19
|
+
export * from './dns-records.js';
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL3JlcXVlc3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQyJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import * as authInterfaces from '../data/auth.js';
|
|
3
|
+
/**
|
|
4
|
+
* List all OpsServer users (admin-only, read-only).
|
|
5
|
+
* Deliberately omits password/secret fields from the response.
|
|
6
|
+
*/
|
|
7
|
+
export interface IReq_ListUsers extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_ListUsers> {
|
|
8
|
+
method: 'listUsers';
|
|
9
|
+
request: {
|
|
10
|
+
identity: authInterfaces.IIdentity;
|
|
11
|
+
};
|
|
12
|
+
response: {
|
|
13
|
+
users: Array<{
|
|
14
|
+
id: string;
|
|
15
|
+
username: string;
|
|
16
|
+
role: string;
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import * as plugins from '../plugins.js';
|
|
2
|
+
import * as authInterfaces from '../data/auth.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c19pbnRlcmZhY2VzL3JlcXVlc3RzL3VzZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxjQUFjLE1BQU0saUJBQWlCLENBQUMifQ==
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@serve.zone/dcrouter',
|
|
6
|
-
version: '13.
|
|
6
|
+
version: '13.7.0',
|
|
7
7
|
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSwwRUFBMEU7Q0FDeEYsQ0FBQSJ9
|
|
@@ -120,6 +120,18 @@ export interface IRouteManagementState {
|
|
|
120
120
|
lastUpdated: number;
|
|
121
121
|
}
|
|
122
122
|
export declare const routeManagementStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IRouteManagementState>;
|
|
123
|
+
export interface IUser {
|
|
124
|
+
id: string;
|
|
125
|
+
username: string;
|
|
126
|
+
role: string;
|
|
127
|
+
}
|
|
128
|
+
export interface IUsersState {
|
|
129
|
+
users: IUser[];
|
|
130
|
+
isLoading: boolean;
|
|
131
|
+
error: string | null;
|
|
132
|
+
lastUpdated: number;
|
|
133
|
+
}
|
|
134
|
+
export declare const usersStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IUsersState>;
|
|
123
135
|
export declare const loginAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ILoginState, {
|
|
124
136
|
username: string;
|
|
125
137
|
password: string;
|
|
@@ -308,6 +320,78 @@ export declare const deleteTargetAction: plugins.deesElement.domtools.plugins.sm
|
|
|
308
320
|
id: string;
|
|
309
321
|
force?: boolean;
|
|
310
322
|
}>;
|
|
323
|
+
export interface IDomainsState {
|
|
324
|
+
providers: interfaces.data.IDnsProviderPublic[];
|
|
325
|
+
domains: interfaces.data.IDomain[];
|
|
326
|
+
records: interfaces.data.IDnsRecord[];
|
|
327
|
+
/** id of the currently-selected domain in the DNS records subview. */
|
|
328
|
+
selectedDomainId: string | null;
|
|
329
|
+
isLoading: boolean;
|
|
330
|
+
error: string | null;
|
|
331
|
+
lastUpdated: number;
|
|
332
|
+
}
|
|
333
|
+
export declare const domainsStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IDomainsState>;
|
|
334
|
+
export declare const fetchDomainsAndProvidersAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, unknown>;
|
|
335
|
+
export declare const fetchDnsRecordsForDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
336
|
+
domainId: string;
|
|
337
|
+
}>;
|
|
338
|
+
export declare const createDnsProviderAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
339
|
+
name: string;
|
|
340
|
+
type: interfaces.data.TDnsProviderType;
|
|
341
|
+
credentials: interfaces.data.TDnsProviderCredentials;
|
|
342
|
+
}>;
|
|
343
|
+
export declare const updateDnsProviderAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
344
|
+
id: string;
|
|
345
|
+
name?: string;
|
|
346
|
+
credentials?: interfaces.data.TDnsProviderCredentials;
|
|
347
|
+
}>;
|
|
348
|
+
export declare const deleteDnsProviderAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
349
|
+
id: string;
|
|
350
|
+
force?: boolean;
|
|
351
|
+
}>;
|
|
352
|
+
export declare const testDnsProviderAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
353
|
+
id: string;
|
|
354
|
+
}>;
|
|
355
|
+
/** One-shot fetch for the import-domain modal. Does NOT modify state. */
|
|
356
|
+
export declare function fetchProviderDomains(providerId: string): Promise<{
|
|
357
|
+
success: boolean;
|
|
358
|
+
domains?: interfaces.data.IProviderDomainListing[];
|
|
359
|
+
message?: string;
|
|
360
|
+
}>;
|
|
361
|
+
export declare const createManualDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
362
|
+
name: string;
|
|
363
|
+
description?: string;
|
|
364
|
+
}>;
|
|
365
|
+
export declare const importDomainsFromProviderAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
366
|
+
providerId: string;
|
|
367
|
+
domainNames: string[];
|
|
368
|
+
}>;
|
|
369
|
+
export declare const deleteDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
370
|
+
id: string;
|
|
371
|
+
}>;
|
|
372
|
+
export declare const syncDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
373
|
+
id: string;
|
|
374
|
+
}>;
|
|
375
|
+
export declare const createDnsRecordAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
376
|
+
domainId: string;
|
|
377
|
+
name: string;
|
|
378
|
+
type: interfaces.data.TDnsRecordType;
|
|
379
|
+
value: string;
|
|
380
|
+
ttl?: number;
|
|
381
|
+
proxied?: boolean;
|
|
382
|
+
}>;
|
|
383
|
+
export declare const updateDnsRecordAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
384
|
+
id: string;
|
|
385
|
+
domainId: string;
|
|
386
|
+
name?: string;
|
|
387
|
+
value?: string;
|
|
388
|
+
ttl?: number;
|
|
389
|
+
proxied?: boolean;
|
|
390
|
+
}>;
|
|
391
|
+
export declare const deleteDnsRecordAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
|
|
392
|
+
id: string;
|
|
393
|
+
domainId: string;
|
|
394
|
+
}>;
|
|
311
395
|
export declare const fetchMergedRoutesAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
|
|
312
396
|
export declare const createRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
|
|
313
397
|
route: any;
|
|
@@ -331,6 +415,7 @@ export declare const setRouteOverrideAction: plugins.deesElement.domtools.plugin
|
|
|
331
415
|
}>;
|
|
332
416
|
export declare const removeRouteOverrideAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
|
|
333
417
|
export declare const fetchApiTokensAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
|
|
418
|
+
export declare const fetchUsersAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IUsersState, unknown>;
|
|
334
419
|
export declare function createApiToken(name: string, scopes: interfaces.data.TApiTokenScope[], expiresInDays?: number | null): Promise<{
|
|
335
420
|
success: boolean;
|
|
336
421
|
tokenId?: string;
|