@routr/common 2.0.8-alpha.17 → 2.0.8-alpha.18
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/auth.d.ts +2 -2
- package/dist/connect/api/client.js +8 -10
- package/dist/connect/api/types.d.ts +4 -4
- package/dist/connect/config.d.ts +5 -5
- package/dist/connect/grpc_client.d.ts +2 -2
- package/dist/connect/index.d.ts +1 -1
- package/dist/connect/index.js +1 -1
- package/dist/connect/mappers/acl.d.ts +3 -0
- package/dist/connect/mappers/acl.js +19 -0
- package/dist/connect/mappers/agent.d.ts +3 -0
- package/dist/connect/mappers/agent.js +42 -0
- package/dist/connect/mappers/assertions.d.ts +2 -0
- package/dist/connect/mappers/assertions.js +31 -0
- package/dist/connect/mappers/credentials.d.ts +3 -0
- package/dist/connect/mappers/credentials.js +18 -0
- package/dist/connect/mappers/domain.d.ts +3 -0
- package/dist/connect/mappers/domain.js +19 -0
- package/dist/connect/mappers/index.d.ts +7 -0
- package/dist/connect/mappers/index.js +41 -0
- package/dist/connect/mappers/number.d.ts +3 -0
- package/dist/connect/mappers/number.js +26 -0
- package/dist/connect/mappers/peer.d.ts +3 -0
- package/dist/connect/mappers/peer.js +21 -0
- package/dist/connect/mappers/trunk.d.ts +3 -0
- package/dist/connect/mappers/trunk.js +34 -0
- package/dist/connect/protos/acl.proto +11 -16
- package/dist/connect/protos/agents.proto +19 -23
- package/dist/connect/protos/credentials.proto +8 -10
- package/dist/connect/protos/domains.proto +16 -18
- package/dist/connect/protos/numbers.proto +15 -25
- package/dist/connect/protos/peers.proto +21 -33
- package/dist/connect/protos/trunks.proto +16 -24
- package/dist/connect/schemas/acl.d.ts +2 -0
- package/dist/connect/schemas/acl.js +4 -2
- package/dist/connect/schemas/agent.d.ts +2 -0
- package/dist/connect/schemas/agent.js +6 -4
- package/dist/connect/schemas/crendentials.d.ts +4 -0
- package/dist/connect/schemas/crendentials.js +7 -3
- package/dist/connect/schemas/domain.d.ts +2 -0
- package/dist/connect/schemas/domain.js +4 -2
- package/dist/connect/schemas/number.d.ts +4 -0
- package/dist/connect/schemas/number.js +7 -3
- package/dist/connect/schemas/peer.d.ts +2 -0
- package/dist/connect/schemas/peer.js +5 -3
- package/dist/connect/schemas/trunk.d.ts +3 -0
- package/dist/connect/schemas/trunk.js +20 -4
- package/dist/connect/types.d.ts +18 -6
- package/dist/helper.js +2 -2
- package/dist/types.d.ts +12 -20
- package/dist/types.js +9 -23
- package/package.json +2 -2
- package/dist/connect/converters.d.ts +0 -10
- package/dist/connect/converters.js +0 -178
package/dist/helper.js
CHANGED
|
@@ -79,8 +79,8 @@ exports.deepCopy = deepCopy;
|
|
|
79
79
|
*/
|
|
80
80
|
const getListeningPoint = (listeningPoints, transport) => {
|
|
81
81
|
const listeningPoint = transport
|
|
82
|
-
? listeningPoints.find((lp) => lp.transport.
|
|
83
|
-
: listeningPoints.find((lp) => lp.transport.
|
|
82
|
+
? listeningPoints.find((lp) => lp.transport.toUpperCase() === transport.toUpperCase())
|
|
83
|
+
: listeningPoints.find((lp) => lp.transport.toUpperCase() === types_1.Transport.UDP);
|
|
84
84
|
if (!listeningPoint) {
|
|
85
85
|
throw new Error(`no listening point found for transport ${transport}`);
|
|
86
86
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -15,12 +15,12 @@ export declare enum Method {
|
|
|
15
15
|
OPTIONS = "OPTIONS"
|
|
16
16
|
}
|
|
17
17
|
export declare enum Transport {
|
|
18
|
-
TCP = "
|
|
19
|
-
UDP = "
|
|
20
|
-
TLS = "
|
|
21
|
-
SCTP = "
|
|
22
|
-
WS = "
|
|
23
|
-
WSS = "
|
|
18
|
+
TCP = "TCP",
|
|
19
|
+
UDP = "UDP",
|
|
20
|
+
TLS = "TLS",
|
|
21
|
+
SCTP = "SCTP",
|
|
22
|
+
WS = "WS",
|
|
23
|
+
WSS = "WSS"
|
|
24
24
|
}
|
|
25
25
|
export declare enum ExtraHeader {
|
|
26
26
|
REQUEST_URI = "X-Request-Uri",
|
|
@@ -31,20 +31,12 @@ export declare enum ExtraHeader {
|
|
|
31
31
|
DOD_PRIVACY = "X-DOD-Privacy"
|
|
32
32
|
}
|
|
33
33
|
export declare enum Privacy {
|
|
34
|
-
NONE = "
|
|
35
|
-
PRIVATE = "
|
|
36
|
-
}
|
|
37
|
-
export declare enum AuthorizationAlgorithm {
|
|
38
|
-
MD5 = "MD5"
|
|
39
|
-
}
|
|
40
|
-
export declare enum AuthorizationScheme {
|
|
41
|
-
DIGEST = "Digest"
|
|
42
|
-
}
|
|
43
|
-
export declare enum Qop {
|
|
44
|
-
AUTH = "auth",
|
|
45
|
-
AUTH_INT = "auth-int",
|
|
46
|
-
NONE = ""
|
|
34
|
+
NONE = "NONE",
|
|
35
|
+
PRIVATE = "ID"
|
|
47
36
|
}
|
|
37
|
+
export type AuthorizationAlgorithm = "MD5";
|
|
38
|
+
export type AuthorizationScheme = "Digest";
|
|
39
|
+
export type Qop = "auth" | "auth-int" | "";
|
|
48
40
|
export interface NetInterface {
|
|
49
41
|
host: string;
|
|
50
42
|
port: number;
|
|
@@ -245,7 +237,7 @@ export interface SipURI {
|
|
|
245
237
|
user?: string;
|
|
246
238
|
host: string;
|
|
247
239
|
port?: number;
|
|
248
|
-
transportParam:
|
|
240
|
+
transportParam: Transport;
|
|
249
241
|
mAddrParam?: string;
|
|
250
242
|
userParam?: string;
|
|
251
243
|
ttlParam?: number;
|
package/dist/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MessageType = exports.ResponseType = exports.HeaderModifierAction = exports.
|
|
3
|
+
exports.MessageType = exports.ResponseType = exports.HeaderModifierAction = exports.Privacy = exports.ExtraHeader = exports.Transport = exports.Method = void 0;
|
|
4
4
|
var Method;
|
|
5
5
|
(function (Method) {
|
|
6
6
|
Method["UNKNOWN"] = "UNKNOWN";
|
|
@@ -17,12 +17,12 @@ var Method;
|
|
|
17
17
|
})(Method = exports.Method || (exports.Method = {}));
|
|
18
18
|
var Transport;
|
|
19
19
|
(function (Transport) {
|
|
20
|
-
Transport["TCP"] = "
|
|
21
|
-
Transport["UDP"] = "
|
|
22
|
-
Transport["TLS"] = "
|
|
23
|
-
Transport["SCTP"] = "
|
|
24
|
-
Transport["WS"] = "
|
|
25
|
-
Transport["WSS"] = "
|
|
20
|
+
Transport["TCP"] = "TCP";
|
|
21
|
+
Transport["UDP"] = "UDP";
|
|
22
|
+
Transport["TLS"] = "TLS";
|
|
23
|
+
Transport["SCTP"] = "SCTP";
|
|
24
|
+
Transport["WS"] = "WS";
|
|
25
|
+
Transport["WSS"] = "WSS";
|
|
26
26
|
})(Transport = exports.Transport || (exports.Transport = {}));
|
|
27
27
|
var ExtraHeader;
|
|
28
28
|
(function (ExtraHeader) {
|
|
@@ -35,23 +35,9 @@ var ExtraHeader;
|
|
|
35
35
|
})(ExtraHeader = exports.ExtraHeader || (exports.ExtraHeader = {}));
|
|
36
36
|
var Privacy;
|
|
37
37
|
(function (Privacy) {
|
|
38
|
-
Privacy["NONE"] = "
|
|
39
|
-
Privacy["PRIVATE"] = "
|
|
38
|
+
Privacy["NONE"] = "NONE";
|
|
39
|
+
Privacy["PRIVATE"] = "ID";
|
|
40
40
|
})(Privacy = exports.Privacy || (exports.Privacy = {}));
|
|
41
|
-
var AuthorizationAlgorithm;
|
|
42
|
-
(function (AuthorizationAlgorithm) {
|
|
43
|
-
AuthorizationAlgorithm["MD5"] = "MD5";
|
|
44
|
-
})(AuthorizationAlgorithm = exports.AuthorizationAlgorithm || (exports.AuthorizationAlgorithm = {}));
|
|
45
|
-
var AuthorizationScheme;
|
|
46
|
-
(function (AuthorizationScheme) {
|
|
47
|
-
AuthorizationScheme["DIGEST"] = "Digest";
|
|
48
|
-
})(AuthorizationScheme = exports.AuthorizationScheme || (exports.AuthorizationScheme = {}));
|
|
49
|
-
var Qop;
|
|
50
|
-
(function (Qop) {
|
|
51
|
-
Qop["AUTH"] = "auth";
|
|
52
|
-
Qop["AUTH_INT"] = "auth-int";
|
|
53
|
-
Qop["NONE"] = "";
|
|
54
|
-
})(Qop = exports.Qop || (exports.Qop = {}));
|
|
55
41
|
var HeaderModifierAction;
|
|
56
42
|
(function (HeaderModifierAction) {
|
|
57
43
|
HeaderModifierAction["ADD"] = "add";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@routr/common",
|
|
3
|
-
"version": "2.0.8-alpha.
|
|
3
|
+
"version": "2.0.8-alpha.18",
|
|
4
4
|
"description": "Common package",
|
|
5
5
|
"author": "Pedro Sanders <psanders@fonoster.com>",
|
|
6
6
|
"homepage": "https://github.com/fonoster/routr#readme",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/js-yaml": "^4.0.5"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "66ce6b3ed832bb8c549d344b3367aceed4b6da8f"
|
|
55
55
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { UserConfig } from "./config";
|
|
2
|
-
import { AccessControlList, Agent, Credentials, Domain, INumber, Peer, Trunk } from "./types";
|
|
3
|
-
export declare const getConverter: (kind: string) => typeof convertAgentConfigToAgent | typeof convertDomainConfigToDomain | typeof convertPeerConfigToPeer | typeof convertNumberConfigToNumber | typeof convertTrunkConfigToTrunk | typeof convertCredentialsConfigToCredentials | typeof convertACLConfigToACL;
|
|
4
|
-
export declare function convertAgentConfigToAgent(config: UserConfig, list: UserConfig[]): Agent;
|
|
5
|
-
export declare function convertDomainConfigToDomain(config: UserConfig, list: UserConfig[]): Domain;
|
|
6
|
-
export declare function convertPeerConfigToPeer(config: UserConfig, list: UserConfig[]): Peer;
|
|
7
|
-
export declare function convertNumberConfigToNumber(config: UserConfig, list: UserConfig[]): INumber;
|
|
8
|
-
export declare function convertTrunkConfigToTrunk(config: UserConfig, list: UserConfig[]): Trunk;
|
|
9
|
-
export declare function convertCredentialsConfigToCredentials(config: UserConfig): Credentials;
|
|
10
|
-
export declare function convertACLConfigToACL(config: UserConfig): AccessControlList;
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertACLConfigToACL = exports.convertCredentialsConfigToCredentials = exports.convertTrunkConfigToTrunk = exports.convertNumberConfigToNumber = exports.convertPeerConfigToPeer = exports.convertDomainConfigToDomain = exports.convertAgentConfigToAgent = exports.getConverter = void 0;
|
|
4
|
-
/*
|
|
5
|
-
* Copyright (C) 2023 by Fonoster Inc (https://fonoster.com)
|
|
6
|
-
* http://github.com/fonoster
|
|
7
|
-
*
|
|
8
|
-
* This file is part of Routr.
|
|
9
|
-
*
|
|
10
|
-
* Licensed under the MIT License (the "License");
|
|
11
|
-
* you may not use this file except in compliance with
|
|
12
|
-
* the License. You may obtain a copy of the License at
|
|
13
|
-
*
|
|
14
|
-
* https://opensource.org/licenses/MIT
|
|
15
|
-
*
|
|
16
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
-
* See the License for the specific language governing permissions and
|
|
20
|
-
* limitations under the License.
|
|
21
|
-
*/
|
|
22
|
-
/* eslint-disable require-jsdoc */
|
|
23
|
-
const logger_1 = require("@fonoster/logger");
|
|
24
|
-
const types_1 = require("../types");
|
|
25
|
-
const types_2 = require("./types");
|
|
26
|
-
const logger = (0, logger_1.getLogger)({ service: "simpledata", filePath: __filename });
|
|
27
|
-
const findByRef = (ref, list) => {
|
|
28
|
-
const resource = list.find((r) => r.ref === ref);
|
|
29
|
-
if (ref != null && resource == null) {
|
|
30
|
-
logger.error(`the resource with ref ${ref} does not exist in the configuration file; exiting`);
|
|
31
|
-
process.exit(1);
|
|
32
|
-
}
|
|
33
|
-
return resource ? (0, exports.getConverter)(resource.kind)(resource, list) : null;
|
|
34
|
-
};
|
|
35
|
-
const getConverter = (kind) => {
|
|
36
|
-
switch (kind) {
|
|
37
|
-
case types_2.Kind.AGENT:
|
|
38
|
-
return convertAgentConfigToAgent;
|
|
39
|
-
case types_2.Kind.DOMAIN:
|
|
40
|
-
return convertDomainConfigToDomain;
|
|
41
|
-
case types_2.Kind.PEER:
|
|
42
|
-
return convertPeerConfigToPeer;
|
|
43
|
-
case types_2.Kind.NUMBER:
|
|
44
|
-
return convertNumberConfigToNumber;
|
|
45
|
-
case types_2.Kind.TRUNK:
|
|
46
|
-
return convertTrunkConfigToTrunk;
|
|
47
|
-
case types_2.Kind.CREDENTIALS:
|
|
48
|
-
return convertCredentialsConfigToCredentials;
|
|
49
|
-
case types_2.Kind.ACL:
|
|
50
|
-
return convertACLConfigToACL;
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
exports.getConverter = getConverter;
|
|
54
|
-
function convertAgentConfigToAgent(config, list) {
|
|
55
|
-
var _a, _b;
|
|
56
|
-
if (config.kind !== types_2.Kind.AGENT)
|
|
57
|
-
throw new Error("invalid resource type `Agent`");
|
|
58
|
-
return {
|
|
59
|
-
apiVersion: config.apiVersion,
|
|
60
|
-
ref: config.ref,
|
|
61
|
-
name: config.metadata.name,
|
|
62
|
-
username: config.spec.username,
|
|
63
|
-
privacy: (_b = (_a = config.spec.privacy) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : types_1.Privacy.NONE,
|
|
64
|
-
enabled: config.spec.enabled,
|
|
65
|
-
domain: findByRef(config.spec.domainRef, list),
|
|
66
|
-
credentials: findByRef(config.spec.credentialsRef, list)
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
exports.convertAgentConfigToAgent = convertAgentConfigToAgent;
|
|
70
|
-
function convertDomainConfigToDomain(config, list) {
|
|
71
|
-
var _a;
|
|
72
|
-
if (config.kind !== types_2.Kind.DOMAIN)
|
|
73
|
-
throw new Error("invalid resource type `Domain`");
|
|
74
|
-
const egressPolicies = (_a = config.spec.context.egressPolicies) === null || _a === void 0 ? void 0 : _a.map((policy) => {
|
|
75
|
-
return {
|
|
76
|
-
rule: policy.rule,
|
|
77
|
-
number: findByRef(policy.numberRef, list)
|
|
78
|
-
};
|
|
79
|
-
});
|
|
80
|
-
return {
|
|
81
|
-
apiVersion: config.apiVersion,
|
|
82
|
-
ref: config.ref,
|
|
83
|
-
name: config.metadata.name,
|
|
84
|
-
domainUri: config.spec.context.domainUri,
|
|
85
|
-
accessControlList: findByRef(config.spec.accessControlListRef, list),
|
|
86
|
-
egressPolicies
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
exports.convertDomainConfigToDomain = convertDomainConfigToDomain;
|
|
90
|
-
function convertPeerConfigToPeer(config, list) {
|
|
91
|
-
if (config.kind !== types_2.Kind.PEER)
|
|
92
|
-
throw new Error("invalid resource type `Peer`");
|
|
93
|
-
return {
|
|
94
|
-
apiVersion: config.apiVersion,
|
|
95
|
-
ref: config.ref,
|
|
96
|
-
name: config.metadata.name,
|
|
97
|
-
username: config.spec.username,
|
|
98
|
-
aor: config.spec.aor,
|
|
99
|
-
contactAddr: config.spec.contactAddr,
|
|
100
|
-
enabled: config.spec.enabled,
|
|
101
|
-
credentials: findByRef(config.spec.credentialsRef, list)
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
exports.convertPeerConfigToPeer = convertPeerConfigToPeer;
|
|
105
|
-
function convertNumberConfigToNumber(config, list) {
|
|
106
|
-
if (config.kind !== types_2.Kind.NUMBER)
|
|
107
|
-
throw new Error("invalid resource type `Number`");
|
|
108
|
-
const metadata = config.metadata;
|
|
109
|
-
const location = config.spec.location;
|
|
110
|
-
return {
|
|
111
|
-
apiVersion: config.apiVersion,
|
|
112
|
-
ref: config.ref,
|
|
113
|
-
name: metadata.name,
|
|
114
|
-
city: metadata.geoInfo.city,
|
|
115
|
-
country: metadata.geoInfo.country,
|
|
116
|
-
countryIsoCode: metadata.geoInfo.countryISOCode,
|
|
117
|
-
telUrl: location.telUrl,
|
|
118
|
-
aorLink: location.aorLink,
|
|
119
|
-
sessionAffinityHeader: location.sessionAffinityHeader,
|
|
120
|
-
extraHeaders: location.extraHeaders,
|
|
121
|
-
trunk: findByRef(config.spec.trunkRef, list)
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
exports.convertNumberConfigToNumber = convertNumberConfigToNumber;
|
|
125
|
-
function convertTrunkConfigToTrunk(config, list) {
|
|
126
|
-
var _a;
|
|
127
|
-
if (config.kind !== types_2.Kind.TRUNK)
|
|
128
|
-
throw new Error("invalid resource type `Trunk`");
|
|
129
|
-
const inbound = config.spec.inbound;
|
|
130
|
-
const outbound = config.spec.outbound;
|
|
131
|
-
return {
|
|
132
|
-
apiVersion: config.apiVersion,
|
|
133
|
-
ref: config.ref,
|
|
134
|
-
name: config.metadata.name,
|
|
135
|
-
sendRegister: outbound.sendRegister,
|
|
136
|
-
inboundUri: inbound.uri,
|
|
137
|
-
inboundCredentials: findByRef(inbound.credentialsRef, list),
|
|
138
|
-
outboundCredentials: findByRef(outbound.credentialsRef, list),
|
|
139
|
-
accessControlList: findByRef(inbound.accessControlListRef, list),
|
|
140
|
-
uris: (_a = config.spec.outbound.uris) === null || _a === void 0 ? void 0 : _a.map((entry) => {
|
|
141
|
-
return {
|
|
142
|
-
user: entry.uri.user,
|
|
143
|
-
host: entry.uri.host,
|
|
144
|
-
port: entry.uri.port,
|
|
145
|
-
transport: entry.uri.transport,
|
|
146
|
-
enabled: entry.enabled,
|
|
147
|
-
weight: entry.weight,
|
|
148
|
-
priority: entry.priority
|
|
149
|
-
};
|
|
150
|
-
})
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
exports.convertTrunkConfigToTrunk = convertTrunkConfigToTrunk;
|
|
154
|
-
function convertCredentialsConfigToCredentials(config) {
|
|
155
|
-
if (config.kind !== types_2.Kind.CREDENTIALS)
|
|
156
|
-
throw new Error("invalid resource type `Credentials`");
|
|
157
|
-
return {
|
|
158
|
-
apiVersion: config.apiVersion,
|
|
159
|
-
ref: config.ref,
|
|
160
|
-
name: config.metadata.name,
|
|
161
|
-
username: config.spec.credentials.username,
|
|
162
|
-
password: config.spec.credentials.password
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
exports.convertCredentialsConfigToCredentials = convertCredentialsConfigToCredentials;
|
|
166
|
-
function convertACLConfigToACL(config) {
|
|
167
|
-
var _a, _b, _c, _d;
|
|
168
|
-
if (config.kind !== types_2.Kind.ACL)
|
|
169
|
-
throw new Error("invalid resource type `AccessControlList`");
|
|
170
|
-
return {
|
|
171
|
-
apiVersion: config.apiVersion,
|
|
172
|
-
ref: config.ref,
|
|
173
|
-
name: config.metadata.name,
|
|
174
|
-
allow: (_b = (_a = config.spec.accessControlList) === null || _a === void 0 ? void 0 : _a.allow) !== null && _b !== void 0 ? _b : [],
|
|
175
|
-
deny: (_d = (_c = config.spec.accessControlList) === null || _c === void 0 ? void 0 : _c.deny) !== null && _d !== void 0 ? _d : []
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
exports.convertACLConfigToACL = convertACLConfigToACL;
|