@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.
Files changed (53) hide show
  1. package/dist/auth.d.ts +2 -2
  2. package/dist/connect/api/client.js +8 -10
  3. package/dist/connect/api/types.d.ts +4 -4
  4. package/dist/connect/config.d.ts +5 -5
  5. package/dist/connect/grpc_client.d.ts +2 -2
  6. package/dist/connect/index.d.ts +1 -1
  7. package/dist/connect/index.js +1 -1
  8. package/dist/connect/mappers/acl.d.ts +3 -0
  9. package/dist/connect/mappers/acl.js +19 -0
  10. package/dist/connect/mappers/agent.d.ts +3 -0
  11. package/dist/connect/mappers/agent.js +42 -0
  12. package/dist/connect/mappers/assertions.d.ts +2 -0
  13. package/dist/connect/mappers/assertions.js +31 -0
  14. package/dist/connect/mappers/credentials.d.ts +3 -0
  15. package/dist/connect/mappers/credentials.js +18 -0
  16. package/dist/connect/mappers/domain.d.ts +3 -0
  17. package/dist/connect/mappers/domain.js +19 -0
  18. package/dist/connect/mappers/index.d.ts +7 -0
  19. package/dist/connect/mappers/index.js +41 -0
  20. package/dist/connect/mappers/number.d.ts +3 -0
  21. package/dist/connect/mappers/number.js +26 -0
  22. package/dist/connect/mappers/peer.d.ts +3 -0
  23. package/dist/connect/mappers/peer.js +21 -0
  24. package/dist/connect/mappers/trunk.d.ts +3 -0
  25. package/dist/connect/mappers/trunk.js +34 -0
  26. package/dist/connect/protos/acl.proto +11 -16
  27. package/dist/connect/protos/agents.proto +19 -23
  28. package/dist/connect/protos/credentials.proto +8 -10
  29. package/dist/connect/protos/domains.proto +16 -18
  30. package/dist/connect/protos/numbers.proto +15 -25
  31. package/dist/connect/protos/peers.proto +21 -33
  32. package/dist/connect/protos/trunks.proto +16 -24
  33. package/dist/connect/schemas/acl.d.ts +2 -0
  34. package/dist/connect/schemas/acl.js +4 -2
  35. package/dist/connect/schemas/agent.d.ts +2 -0
  36. package/dist/connect/schemas/agent.js +6 -4
  37. package/dist/connect/schemas/crendentials.d.ts +4 -0
  38. package/dist/connect/schemas/crendentials.js +7 -3
  39. package/dist/connect/schemas/domain.d.ts +2 -0
  40. package/dist/connect/schemas/domain.js +4 -2
  41. package/dist/connect/schemas/number.d.ts +4 -0
  42. package/dist/connect/schemas/number.js +7 -3
  43. package/dist/connect/schemas/peer.d.ts +2 -0
  44. package/dist/connect/schemas/peer.js +5 -3
  45. package/dist/connect/schemas/trunk.d.ts +3 -0
  46. package/dist/connect/schemas/trunk.js +20 -4
  47. package/dist/connect/types.d.ts +18 -6
  48. package/dist/helper.js +2 -2
  49. package/dist/types.d.ts +12 -20
  50. package/dist/types.js +9 -23
  51. package/package.json +2 -2
  52. package/dist/connect/converters.d.ts +0 -10
  53. 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.toLowerCase() === transport.toLowerCase())
83
- : listeningPoints.find((lp) => lp.transport.toLowerCase() === types_1.Transport.UDP);
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 = "tcp",
19
- UDP = "udp",
20
- TLS = "tls",
21
- SCTP = "sctp",
22
- WS = "ws",
23
- WSS = "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 = "none",
35
- PRIVATE = "id"
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: string;
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.Qop = exports.AuthorizationScheme = exports.AuthorizationAlgorithm = exports.Privacy = exports.ExtraHeader = exports.Transport = exports.Method = void 0;
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"] = "tcp";
21
- Transport["UDP"] = "udp";
22
- Transport["TLS"] = "tls";
23
- Transport["SCTP"] = "sctp";
24
- Transport["WS"] = "ws";
25
- Transport["WSS"] = "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"] = "none";
39
- Privacy["PRIVATE"] = "id";
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.17",
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": "58f2415a0c32ab860a254a6fac0c1d3de8718dfb"
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;