@routr/pgdata 2.7.2 → 2.7.5

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.
@@ -7,7 +7,11 @@ type AgentWithDomainAndCredentials = Prisma.AgentGetPayload<{
7
7
  domain: {
8
8
  include: {
9
9
  accessControlList: true;
10
- egressPolicies: true;
10
+ egressPolicies: {
11
+ include: {
12
+ number: true;
13
+ };
14
+ };
11
15
  };
12
16
  };
13
17
  credentials: true;
@@ -5,7 +5,11 @@ import { EntityManager } from "./manager";
5
5
  type DomainWithACL = Prisma.DomainGetPayload<{
6
6
  include: {
7
7
  accessControlList: true;
8
- egressPolicies: true;
8
+ egressPolicies: {
9
+ include: {
10
+ number: true;
11
+ };
12
+ };
9
13
  };
10
14
  }>;
11
15
  export declare class DomainManager extends EntityManager {
@@ -4,6 +4,7 @@ exports.DomainManager = void 0;
4
4
  const common_1 = require("@routr/common");
5
5
  const acl_1 = require("./acl");
6
6
  const manager_1 = require("./manager");
7
+ const number_1 = require("./number");
7
8
  // Needs testing
8
9
  class DomainManager extends manager_1.EntityManager {
9
10
  constructor(domain) {
@@ -13,7 +14,11 @@ class DomainManager extends manager_1.EntityManager {
13
14
  static includeFields() {
14
15
  return {
15
16
  accessControlList: true,
16
- egressPolicies: true
17
+ egressPolicies: {
18
+ include: {
19
+ number: true
20
+ }
21
+ }
17
22
  };
18
23
  }
19
24
  validOrThrowCreate() {
@@ -52,7 +57,11 @@ class DomainManager extends manager_1.EntityManager {
52
57
  static mapToDto(domain) {
53
58
  var _a;
54
59
  return domain
55
- ? Object.assign(Object.assign({}, domain), { accessControlListRef: (_a = domain.accessControlList) === null || _a === void 0 ? void 0 : _a.ref, accessControlList: acl_1.ACLManager.mapToDto(domain.accessControlList), extended: domain.extended, createdAt: domain.createdAt.getTime() / 1000, updatedAt: domain.updatedAt.getTime() / 1000 }) : undefined;
60
+ ? Object.assign(Object.assign({}, domain), { accessControlListRef: (_a = domain.accessControlList) === null || _a === void 0 ? void 0 : _a.ref, accessControlList: acl_1.ACLManager.mapToDto(domain.accessControlList), egressPolicies: domain.egressPolicies.map((policy) => ({
61
+ rule: policy.rule,
62
+ numberRef: policy.numberRef,
63
+ number: number_1.NumberManager.mapToDtoWithoutTrunk(policy.number)
64
+ })), extended: domain.extended, createdAt: domain.createdAt.getTime() / 1000, updatedAt: domain.updatedAt.getTime() / 1000 }) : undefined;
56
65
  }
57
66
  }
58
67
  exports.DomainManager = DomainManager;
@@ -22,5 +22,6 @@ export declare class NumberManager extends EntityManager {
22
22
  validOrThrowUpdate(): void;
23
23
  mapToPrisma(): NumberPrismaModel;
24
24
  static mapToDto(number: NumberWithTrunk): CC.INumber;
25
+ static mapToDtoWithoutTrunk(number: NumberPrismaModel): CC.INumber;
25
26
  }
26
27
  export {};
@@ -24,12 +24,13 @@ class NumberManager extends manager_1.EntityManager {
24
24
  };
25
25
  }
26
26
  validOrThrowCreate() {
27
+ common_1.CommonConnect.hasTelUrlOrThrow(this.number.telUrl);
28
+ common_1.CommonConnect.isValidTelUrlOrThrow(this.number.telUrl);
27
29
  if (common_2.Environment.ENFORCE_E164) {
28
- common_1.CommonConnect.isValidE164OrThrow(this.number.telUrl, this.number.countryIsoCode, common_2.Environment.ENFORCE_E164_WITH_MOBILE_PREFIX);
30
+ common_1.CommonConnect.isValidE164OrThrow(this.number.telUrl.split("tel:")[1], this.number.countryIsoCode, common_2.Environment.ENFORCE_E164_WITH_MOBILE_PREFIX);
29
31
  }
30
32
  common_1.CommonConnect.hasNameOrThrow(this.number.name);
31
33
  common_1.CommonConnect.isValidNameOrThrow(this.number.name);
32
- common_1.CommonConnect.hasTelUrlOrThrow(this.number.telUrl);
33
34
  common_1.CommonConnect.isValidAORLinkOrThrow(this.number.aorLink);
34
35
  common_1.CommonConnect.hasCityOrThrow(this.number.city);
35
36
  common_1.CommonConnect.hasCountryOrThrow(this.number.country);
@@ -88,5 +89,25 @@ class NumberManager extends manager_1.EntityManager {
88
89
  }
89
90
  : undefined;
90
91
  }
92
+ static mapToDtoWithoutTrunk(number) {
93
+ return number
94
+ ? {
95
+ apiVersion: number.apiVersion,
96
+ ref: number.ref,
97
+ name: number.name,
98
+ trunkRef: number.trunkRef,
99
+ telUrl: number.telUrl,
100
+ aorLink: number.aorLink,
101
+ city: number.city,
102
+ country: number.country,
103
+ countryIsoCode: number.countryISOCode,
104
+ sessionAffinityHeader: number.sessionAffinityHeader,
105
+ extraHeaders: number.extraHeaders,
106
+ extended: number.extended,
107
+ createdAt: number.createdAt.getTime() / 1000,
108
+ updatedAt: number.updatedAt.getTime() / 1000
109
+ }
110
+ : undefined;
111
+ }
91
112
  }
92
113
  exports.NumberManager = NumberManager;
@@ -6,4 +6,4 @@ import { DomainManager } from "./domain";
6
6
  import { NumberManager } from "./number";
7
7
  import { PeerManager } from "./peer";
8
8
  import { TrunkManager } from "./trunk";
9
- export declare function getManager(kind: CC.KindWithoutUnknown): typeof ACLManager | typeof CredentialsManager | typeof DomainManager | typeof AgentManager | typeof TrunkManager | typeof NumberManager | typeof PeerManager;
9
+ export declare function getManager(kind: CC.KindWithoutUnknown): typeof ACLManager | typeof CredentialsManager | typeof TrunkManager | typeof NumberManager | typeof DomainManager | typeof AgentManager | typeof PeerManager;
package/dist/service.js CHANGED
@@ -68,9 +68,9 @@ const logger = (0, logger_1.getLogger)({ service: "pgdata", filePath: __filename
68
68
  */
69
69
  function pgDataService(config) {
70
70
  const { bindAddr } = config;
71
- logger.info("starting routr service", { bindAddr, name: "pgdata" });
72
71
  const internalServer = new grpc.Server();
73
72
  const externalServer = new grpc.Server();
73
+ logger.info("starting routr service", { bindAddr, name: "pgdata" });
74
74
  const kinds = [
75
75
  common_1.CommonConnect.Kind.AGENT,
76
76
  common_1.CommonConnect.Kind.CREDENTIALS,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@routr/pgdata",
3
- "version": "2.7.2",
3
+ "version": "2.7.5",
4
4
  "description": "Postgres API Server for Routr Connect",
5
5
  "author": "Pedro Sanders <psanders@fonoster.com>",
6
6
  "homepage": "https://github.com/fonoster/routr#readme",
@@ -32,8 +32,8 @@
32
32
  "@opentelemetry/sdk-trace-node": "^1.0.4",
33
33
  "@opentelemetry/semantic-conventions": "^1.0.4",
34
34
  "@prisma/client": "^5.9.1",
35
- "@routr/common": "^2.7.2",
36
- "@routr/processor": "^2.7.2",
35
+ "@routr/common": "^2.7.5",
36
+ "@routr/processor": "^2.7.5",
37
37
  "google-protobuf": "^3.9.2",
38
38
  "pb-util": "^1.0.3",
39
39
  "phone": "^3.1.32",
@@ -57,5 +57,5 @@
57
57
  "@types/validator": "^13.7.10",
58
58
  "prisma": "^5.9.1"
59
59
  },
60
- "gitHead": "01dfded02d52434ae789257b069b3bba1949878f"
60
+ "gitHead": "dddfe0d347cd9cf928c2500fe01ed14df2a3943a"
61
61
  }