@fonoster/sipnet 0.7.5 → 0.7.9
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/acls/buildService.d.ts +2 -2
- package/dist/acls/operations.d.ts +3 -3
- package/dist/acls/operations.js +21 -2
- package/dist/agents/buildService.d.ts +2 -2
- package/dist/agents/operations.d.ts +3 -3
- package/dist/agents/operations.js +21 -2
- package/dist/constants.js +0 -1
- package/dist/credentials/buildService.d.ts +2 -2
- package/dist/credentials/operations.d.ts +3 -3
- package/dist/credentials/operations.js +21 -2
- package/dist/domains/buildService.d.ts +2 -2
- package/dist/domains/operations.d.ts +3 -3
- package/dist/domains/operations.js +21 -2
- package/dist/numbers/buildService.d.ts +8 -8
- package/dist/numbers/createNumber.d.ts +3 -3
- package/dist/numbers/createNumber.js +8 -14
- package/dist/numbers/getNumber.d.ts +3 -3
- package/dist/numbers/getNumber.js +7 -10
- package/dist/numbers/listNumbers.d.ts +3 -3
- package/dist/numbers/listNumbers.js +8 -12
- package/dist/numbers/updateNumber.d.ts +3 -3
- package/dist/numbers/updateNumber.js +7 -13
- package/dist/resources/createResource.d.ts +4 -3
- package/dist/resources/createResource.js +7 -11
- package/dist/resources/deleteResource.js +1 -1
- package/dist/resources/getResource.js +1 -1
- package/dist/resources/listResources.d.ts +1 -1
- package/dist/resources/listResources.js +1 -1
- package/dist/resources/updateResource.d.ts +2 -1
- package/dist/resources/updateResource.js +2 -2
- package/dist/trunks/buildService.d.ts +2 -2
- package/dist/trunks/operations.d.ts +3 -3
- package/dist/trunks/operations.js +22 -2
- package/package.json +6 -6
- package/dist/numbers/validation.d.ts +0 -39
- package/dist/numbers/validation.js +0 -51
|
@@ -8,8 +8,8 @@ declare function buildService(clientOptions: ClientOptions): {
|
|
|
8
8
|
};
|
|
9
9
|
handlers: {
|
|
10
10
|
createAcl: (call: {
|
|
11
|
-
request:
|
|
12
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
11
|
+
request: unknown;
|
|
12
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
13
13
|
updateAcl: (call: {
|
|
14
14
|
request: unknown;
|
|
15
15
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AclsApi } from "@fonoster/types";
|
|
2
2
|
declare function createAcl(acls: AclsApi): (call: {
|
|
3
|
-
request:
|
|
4
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
3
|
+
request: unknown;
|
|
4
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
5
5
|
declare function updateAcl(acls: AclsApi): (call: {
|
|
6
6
|
request: unknown;
|
|
7
7
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
package/dist/acls/operations.js
CHANGED
|
@@ -5,6 +5,25 @@ exports.deleteAcl = deleteAcl;
|
|
|
5
5
|
exports.getAcl = getAcl;
|
|
6
6
|
exports.listAcls = listAcls;
|
|
7
7
|
exports.updateAcl = updateAcl;
|
|
8
|
+
/*
|
|
9
|
+
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
10
|
+
* http://github.com/fonoster/fonoster
|
|
11
|
+
*
|
|
12
|
+
* This file is part of Fonoster
|
|
13
|
+
*
|
|
14
|
+
* Licensed under the MIT License (the "License");
|
|
15
|
+
* you may not use this file except in compliance with
|
|
16
|
+
* the License. You may obtain a copy of the License at
|
|
17
|
+
*
|
|
18
|
+
* https://opensource.org/licenses/MIT
|
|
19
|
+
*
|
|
20
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
21
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
+
* See the License for the specific language governing permissions and
|
|
24
|
+
* limitations under the License.
|
|
25
|
+
*/
|
|
26
|
+
const common_1 = require("@fonoster/common");
|
|
8
27
|
const createResource_1 = require("../resources/createResource");
|
|
9
28
|
const deleteResource_1 = require("../resources/deleteResource");
|
|
10
29
|
const getResource_1 = require("../resources/getResource");
|
|
@@ -12,10 +31,10 @@ const listResources_1 = require("../resources/listResources");
|
|
|
12
31
|
const updateResource_1 = require("../resources/updateResource");
|
|
13
32
|
const RESOURCE = "Acl";
|
|
14
33
|
function createAcl(acls) {
|
|
15
|
-
return (0, createResource_1.createResource)(acls, RESOURCE);
|
|
34
|
+
return (0, createResource_1.createResource)(acls, RESOURCE, common_1.Validators.createAclRequestSchema);
|
|
16
35
|
}
|
|
17
36
|
function updateAcl(acls) {
|
|
18
|
-
return (0, updateResource_1.updateResource)(acls, RESOURCE);
|
|
37
|
+
return (0, updateResource_1.updateResource)(acls, RESOURCE, common_1.Validators.updateAclRequestSchema);
|
|
19
38
|
}
|
|
20
39
|
function getAcl(acls) {
|
|
21
40
|
return (0, getResource_1.getResource)(acls, RESOURCE);
|
|
@@ -8,8 +8,8 @@ declare function buildService(clientOptions: ClientOptions): {
|
|
|
8
8
|
};
|
|
9
9
|
handlers: {
|
|
10
10
|
createAgent: (call: {
|
|
11
|
-
request:
|
|
12
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
11
|
+
request: unknown;
|
|
12
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
13
13
|
updateAgent: (call: {
|
|
14
14
|
request: unknown;
|
|
15
15
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AgentsApi } from "@fonoster/types";
|
|
2
2
|
declare function createAgent(agents: AgentsApi): (call: {
|
|
3
|
-
request:
|
|
4
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
3
|
+
request: unknown;
|
|
4
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
5
5
|
declare function updateAgent(agents: AgentsApi): (call: {
|
|
6
6
|
request: unknown;
|
|
7
7
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
@@ -5,6 +5,25 @@ exports.deleteAgent = deleteAgent;
|
|
|
5
5
|
exports.getAgent = getAgent;
|
|
6
6
|
exports.listAgents = listAgents;
|
|
7
7
|
exports.updateAgent = updateAgent;
|
|
8
|
+
/*
|
|
9
|
+
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
10
|
+
* http://github.com/fonoster/fonoster
|
|
11
|
+
*
|
|
12
|
+
* This file is part of Fonoster
|
|
13
|
+
*
|
|
14
|
+
* Licensed under the MIT License (the "License");
|
|
15
|
+
* you may not use this file except in compliance with
|
|
16
|
+
* the License. You may obtain a copy of the License at
|
|
17
|
+
*
|
|
18
|
+
* https://opensource.org/licenses/MIT
|
|
19
|
+
*
|
|
20
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
21
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
+
* See the License for the specific language governing permissions and
|
|
24
|
+
* limitations under the License.
|
|
25
|
+
*/
|
|
26
|
+
const common_1 = require("@fonoster/common");
|
|
8
27
|
const createResource_1 = require("../resources/createResource");
|
|
9
28
|
const deleteResource_1 = require("../resources/deleteResource");
|
|
10
29
|
const getResource_1 = require("../resources/getResource");
|
|
@@ -12,10 +31,10 @@ const listResources_1 = require("../resources/listResources");
|
|
|
12
31
|
const updateResource_1 = require("../resources/updateResource");
|
|
13
32
|
const RESOURCE = "Agent";
|
|
14
33
|
function createAgent(agents) {
|
|
15
|
-
return (0, createResource_1.createResource)(agents, RESOURCE);
|
|
34
|
+
return (0, createResource_1.createResource)(agents, RESOURCE, common_1.Validators.createAgentRequestSchema);
|
|
16
35
|
}
|
|
17
36
|
function updateAgent(agents) {
|
|
18
|
-
return (0, updateResource_1.updateResource)(agents, RESOURCE);
|
|
37
|
+
return (0, updateResource_1.updateResource)(agents, RESOURCE, common_1.Validators.updateAgentRequestSchema);
|
|
19
38
|
}
|
|
20
39
|
function getAgent(agents) {
|
|
21
40
|
return (0, getResource_1.getResource)(agents, RESOURCE);
|
package/dist/constants.js
CHANGED
|
@@ -21,6 +21,5 @@ exports.ROUTR_DEFAULT_PEER_AOR = exports.APP_REF_HEADER = void 0;
|
|
|
21
21
|
*/
|
|
22
22
|
const APP_REF_HEADER = "x-app-ref";
|
|
23
23
|
exports.APP_REF_HEADER = APP_REF_HEADER;
|
|
24
|
-
// TODO: Fix duplicated constant (exist in the apiserver)
|
|
25
24
|
const ROUTR_DEFAULT_PEER_AOR = "sip:voice@default";
|
|
26
25
|
exports.ROUTR_DEFAULT_PEER_AOR = ROUTR_DEFAULT_PEER_AOR;
|
|
@@ -8,8 +8,8 @@ declare function buildService(clientOptions: ClientOptions): {
|
|
|
8
8
|
};
|
|
9
9
|
handlers: {
|
|
10
10
|
createCredentials: (call: {
|
|
11
|
-
request:
|
|
12
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
11
|
+
request: unknown;
|
|
12
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
13
13
|
updateCredentials: (call: {
|
|
14
14
|
request: unknown;
|
|
15
15
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CredentialsApi } from "@fonoster/types";
|
|
2
2
|
declare function createCredentials(credentials: CredentialsApi): (call: {
|
|
3
|
-
request:
|
|
4
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
3
|
+
request: unknown;
|
|
4
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
5
5
|
declare function updateCredentials(credentials: CredentialsApi): (call: {
|
|
6
6
|
request: unknown;
|
|
7
7
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
@@ -5,6 +5,25 @@ exports.deleteCredentials = deleteCredentials;
|
|
|
5
5
|
exports.getCredentials = getCredentials;
|
|
6
6
|
exports.listCredentials = listCredentials;
|
|
7
7
|
exports.updateCredentials = updateCredentials;
|
|
8
|
+
/*
|
|
9
|
+
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
10
|
+
* http://github.com/fonoster/fonoster
|
|
11
|
+
*
|
|
12
|
+
* This file is part of Fonoster
|
|
13
|
+
*
|
|
14
|
+
* Licensed under the MIT License (the "License");
|
|
15
|
+
* you may not use this file except in compliance with
|
|
16
|
+
* the License. You may obtain a copy of the License at
|
|
17
|
+
*
|
|
18
|
+
* https://opensource.org/licenses/MIT
|
|
19
|
+
*
|
|
20
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
21
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
+
* See the License for the specific language governing permissions and
|
|
24
|
+
* limitations under the License.
|
|
25
|
+
*/
|
|
26
|
+
const common_1 = require("@fonoster/common");
|
|
8
27
|
const createResource_1 = require("../resources/createResource");
|
|
9
28
|
const deleteResource_1 = require("../resources/deleteResource");
|
|
10
29
|
const getResource_1 = require("../resources/getResource");
|
|
@@ -12,10 +31,10 @@ const listResources_1 = require("../resources/listResources");
|
|
|
12
31
|
const updateResource_1 = require("../resources/updateResource");
|
|
13
32
|
const RESOURCE = "Credentials";
|
|
14
33
|
function createCredentials(credentials) {
|
|
15
|
-
return (0, createResource_1.createResource)(credentials, RESOURCE);
|
|
34
|
+
return (0, createResource_1.createResource)(credentials, RESOURCE, common_1.Validators.createCredentialsRequestSchema);
|
|
16
35
|
}
|
|
17
36
|
function updateCredentials(credentials) {
|
|
18
|
-
return (0, updateResource_1.updateResource)(credentials, RESOURCE);
|
|
37
|
+
return (0, updateResource_1.updateResource)(credentials, RESOURCE, common_1.Validators.updateCredentialsRequestSchema);
|
|
19
38
|
}
|
|
20
39
|
function getCredentials(credentials) {
|
|
21
40
|
return (0, getResource_1.getResource)(credentials, RESOURCE);
|
|
@@ -8,8 +8,8 @@ declare function buildService(clientOptions: ClientOptions): {
|
|
|
8
8
|
};
|
|
9
9
|
handlers: {
|
|
10
10
|
createDomain: (call: {
|
|
11
|
-
request:
|
|
12
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
11
|
+
request: unknown;
|
|
12
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
13
13
|
updateDomain: (call: {
|
|
14
14
|
request: unknown;
|
|
15
15
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainsApi } from "@fonoster/types";
|
|
2
2
|
declare function createDomain(domains: DomainsApi): (call: {
|
|
3
|
-
request:
|
|
4
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
3
|
+
request: unknown;
|
|
4
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
5
5
|
declare function updateDomain(domains: DomainsApi): (call: {
|
|
6
6
|
request: unknown;
|
|
7
7
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
@@ -5,6 +5,25 @@ exports.deleteDomain = deleteDomain;
|
|
|
5
5
|
exports.getDomain = getDomain;
|
|
6
6
|
exports.listDomains = listDomains;
|
|
7
7
|
exports.updateDomain = updateDomain;
|
|
8
|
+
/*
|
|
9
|
+
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
10
|
+
* http://github.com/fonoster/fonoster
|
|
11
|
+
*
|
|
12
|
+
* This file is part of Fonoster
|
|
13
|
+
*
|
|
14
|
+
* Licensed under the MIT License (the "License");
|
|
15
|
+
* you may not use this file except in compliance with
|
|
16
|
+
* the License. You may obtain a copy of the License at
|
|
17
|
+
*
|
|
18
|
+
* https://opensource.org/licenses/MIT
|
|
19
|
+
*
|
|
20
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
21
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
+
* See the License for the specific language governing permissions and
|
|
24
|
+
* limitations under the License.
|
|
25
|
+
*/
|
|
26
|
+
const common_1 = require("@fonoster/common");
|
|
8
27
|
const createResource_1 = require("../resources/createResource");
|
|
9
28
|
const deleteResource_1 = require("../resources/deleteResource");
|
|
10
29
|
const getResource_1 = require("../resources/getResource");
|
|
@@ -12,10 +31,10 @@ const listResources_1 = require("../resources/listResources");
|
|
|
12
31
|
const updateResource_1 = require("../resources/updateResource");
|
|
13
32
|
const RESOURCE = "Domain";
|
|
14
33
|
function createDomain(domains) {
|
|
15
|
-
return (0, createResource_1.createResource)(domains, RESOURCE);
|
|
34
|
+
return (0, createResource_1.createResource)(domains, RESOURCE, common_1.Validators.createDomainRequestSchema);
|
|
16
35
|
}
|
|
17
36
|
function updateDomain(domains) {
|
|
18
|
-
return (0, updateResource_1.updateResource)(domains, RESOURCE);
|
|
37
|
+
return (0, updateResource_1.updateResource)(domains, RESOURCE, common_1.Validators.updateDomainRequestSchema);
|
|
19
38
|
}
|
|
20
39
|
function getDomain(domains) {
|
|
21
40
|
return (0, getResource_1.getResource)(domains, RESOURCE);
|
|
@@ -9,17 +9,17 @@ declare function buildService(clientOptions: ClientOptions, checkNumberPrecondit
|
|
|
9
9
|
};
|
|
10
10
|
handlers: {
|
|
11
11
|
createNumber: (call: {
|
|
12
|
-
request:
|
|
13
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
12
|
+
request: unknown;
|
|
13
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
14
14
|
updateNumber: (call: {
|
|
15
|
-
request:
|
|
16
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
15
|
+
request: unknown;
|
|
16
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
17
17
|
getNumber: (call: {
|
|
18
|
-
request:
|
|
19
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
18
|
+
request: unknown;
|
|
19
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
20
20
|
listNumbers: (call: {
|
|
21
|
-
request:
|
|
22
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
21
|
+
request: unknown;
|
|
22
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
23
23
|
deleteNumber: (call: {
|
|
24
24
|
request: unknown;
|
|
25
25
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GrpcErrorMessage, NumberPreconditionsCheck } from "@fonoster/common";
|
|
2
|
-
import {
|
|
2
|
+
import { NumbersApi } from "@fonoster/types";
|
|
3
3
|
declare function createNumber(api: NumbersApi, checkNumberPreconditions: NumberPreconditionsCheck): (call: {
|
|
4
|
-
request:
|
|
5
|
-
}, callback: (error?: GrpcErrorMessage, response?:
|
|
4
|
+
request: unknown;
|
|
5
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
6
6
|
export { createNumber };
|
|
@@ -32,22 +32,16 @@ const common_1 = require("@fonoster/common");
|
|
|
32
32
|
const identity_1 = require("@fonoster/identity");
|
|
33
33
|
const logger_1 = require("@fonoster/logger");
|
|
34
34
|
const convertToRoutrNumber_1 = require("./convertToRoutrNumber");
|
|
35
|
-
const validation_1 = require("./validation");
|
|
36
35
|
const logger = (0, logger_1.getLogger)({ service: "sipnet", filePath: __filename });
|
|
37
36
|
function createNumber(api, checkNumberPreconditions) {
|
|
38
|
-
|
|
37
|
+
const fn = (call, callback) => __awaiter(this, void 0, void 0, function* () {
|
|
39
38
|
const { request } = call;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const response = yield api.createNumber((0, convertToRoutrNumber_1.convertToRoutrNumber)(request, accessKeyId));
|
|
47
|
-
callback(null, response);
|
|
48
|
-
}
|
|
49
|
-
catch (e) {
|
|
50
|
-
(0, common_1.handleError)(e, callback);
|
|
51
|
-
}
|
|
39
|
+
// Validates that the appRef or agentAor exists in the system
|
|
40
|
+
yield checkNumberPreconditions(request);
|
|
41
|
+
const accessKeyId = (0, identity_1.getAccessKeyIdFromCall)(call);
|
|
42
|
+
logger.verbose("call to createNumber", Object.assign(Object.assign({}, request), { accessKeyId }));
|
|
43
|
+
const response = yield api.createNumber((0, convertToRoutrNumber_1.convertToRoutrNumber)(request, accessKeyId));
|
|
44
|
+
callback(null, response);
|
|
52
45
|
});
|
|
46
|
+
return (0, common_1.withErrorHandlingAndValidation)(fn, common_1.Validators.createNumberRequestSchema);
|
|
53
47
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GrpcErrorMessage } from "@fonoster/common";
|
|
2
|
-
import {
|
|
2
|
+
import { NumbersApi } from "@fonoster/types";
|
|
3
3
|
declare function getNumber(api: NumbersApi): (call: {
|
|
4
|
-
request:
|
|
5
|
-
}, callback: (error?: GrpcErrorMessage, response?:
|
|
4
|
+
request: unknown;
|
|
5
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
6
6
|
export { getNumber };
|
|
@@ -33,15 +33,12 @@ const logger_1 = require("@fonoster/logger");
|
|
|
33
33
|
const convertToFonosterNumber_1 = require("./convertToFonosterNumber");
|
|
34
34
|
const logger = (0, logger_1.getLogger)({ service: "sipnet", filePath: __filename });
|
|
35
35
|
function getNumber(api) {
|
|
36
|
-
|
|
37
|
-
const {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
(0, common_1.handleError)(e, callback);
|
|
45
|
-
}
|
|
36
|
+
const fn = (call, callback) => __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const { request } = call;
|
|
38
|
+
const { ref } = request;
|
|
39
|
+
logger.verbose("call to getNumber", { ref });
|
|
40
|
+
const response = yield api.getNumber(ref);
|
|
41
|
+
callback(null, (0, convertToFonosterNumber_1.convertToFonosterNumber)(response));
|
|
46
42
|
});
|
|
43
|
+
return (0, common_1.withErrorHandlingAndValidation)(fn, common_1.Validators.baseApiObjectSchema);
|
|
47
44
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GrpcErrorMessage } from "@fonoster/common";
|
|
2
|
-
import {
|
|
2
|
+
import { NumbersApi } from "@fonoster/types";
|
|
3
3
|
declare function listNumbers(api: NumbersApi): (call: {
|
|
4
|
-
request:
|
|
5
|
-
}, callback: (error?: GrpcErrorMessage, response?:
|
|
4
|
+
request: unknown;
|
|
5
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
6
6
|
export { listNumbers };
|
|
@@ -33,19 +33,15 @@ const logger_1 = require("@fonoster/logger");
|
|
|
33
33
|
const convertToFonosterNumber_1 = require("./convertToFonosterNumber");
|
|
34
34
|
const logger = (0, logger_1.getLogger)({ service: "sipnet", filePath: __filename });
|
|
35
35
|
function listNumbers(api) {
|
|
36
|
-
|
|
36
|
+
const fn = (call, callback) => __awaiter(this, void 0, void 0, function* () {
|
|
37
37
|
const { request } = call;
|
|
38
38
|
logger.verbose("call to listNumbers", Object.assign({}, request));
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
(0, common_1.handleError)(e, callback);
|
|
49
|
-
}
|
|
39
|
+
const response = yield api.listNumbers(request);
|
|
40
|
+
const items = response.items.map(convertToFonosterNumber_1.convertToFonosterNumber);
|
|
41
|
+
callback(null, {
|
|
42
|
+
items: items,
|
|
43
|
+
nextPageToken: response.nextPageToken
|
|
44
|
+
});
|
|
50
45
|
});
|
|
46
|
+
return (0, common_1.withErrorHandlingAndValidation)(fn, common_1.Validators.listRequestSchema);
|
|
51
47
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GrpcErrorMessage, NumberPreconditionsCheck } from "@fonoster/common";
|
|
2
|
-
import {
|
|
2
|
+
import { NumbersApi } from "@fonoster/types";
|
|
3
3
|
declare function updateNumber(api: NumbersApi, checkNumberPreconditions: NumberPreconditionsCheck): (call: {
|
|
4
|
-
request:
|
|
5
|
-
}, callback: (error?: GrpcErrorMessage, response?:
|
|
4
|
+
request: unknown;
|
|
5
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
6
6
|
export { updateNumber };
|
|
@@ -31,21 +31,15 @@ exports.updateNumber = updateNumber;
|
|
|
31
31
|
const common_1 = require("@fonoster/common");
|
|
32
32
|
const logger_1 = require("@fonoster/logger");
|
|
33
33
|
const convertToRoutrNumber_1 = require("./convertToRoutrNumber");
|
|
34
|
-
const validation_1 = require("./validation");
|
|
35
34
|
const logger = (0, logger_1.getLogger)({ service: "sipnet", filePath: __filename });
|
|
36
35
|
function updateNumber(api, checkNumberPreconditions) {
|
|
37
|
-
|
|
36
|
+
const fn = (call, callback) => __awaiter(this, void 0, void 0, function* () {
|
|
38
37
|
const { request } = call;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const response = yield api.updateNumber((0, convertToRoutrNumber_1.convertToRoutrNumberUpdate)(request));
|
|
45
|
-
callback(null, response);
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
(0, common_1.handleError)(e, callback);
|
|
49
|
-
}
|
|
38
|
+
// Validates that the appRef or agentAor exists in the system
|
|
39
|
+
yield checkNumberPreconditions(request);
|
|
40
|
+
logger.verbose("call to updateNumber", Object.assign({}, request));
|
|
41
|
+
const response = yield api.updateNumber((0, convertToRoutrNumber_1.convertToRoutrNumberUpdate)(request));
|
|
42
|
+
callback(null, response);
|
|
50
43
|
});
|
|
44
|
+
return (0, common_1.withErrorHandlingAndValidation)(fn, common_1.Validators.updateNumberRequestSchema);
|
|
51
45
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GrpcErrorMessage } from "@fonoster/common";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
declare function createResource<T, R, U>(api: U, resource: string, schema: z.ZodSchema): (call: {
|
|
4
|
+
request: unknown;
|
|
5
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
5
6
|
export { createResource };
|
|
@@ -32,19 +32,15 @@ const common_1 = require("@fonoster/common");
|
|
|
32
32
|
const identity_1 = require("@fonoster/identity");
|
|
33
33
|
const logger_1 = require("@fonoster/logger");
|
|
34
34
|
const logger = (0, logger_1.getLogger)({ service: "sipnet", filePath: __filename });
|
|
35
|
-
function createResource(api, resource) {
|
|
36
|
-
|
|
35
|
+
function createResource(api, resource, schema) {
|
|
36
|
+
const fn = (call, callback) => __awaiter(this, void 0, void 0, function* () {
|
|
37
37
|
const { request } = call;
|
|
38
38
|
const accessKeyId = (0, identity_1.getAccessKeyIdFromCall)(call);
|
|
39
39
|
logger.verbose(`call to create${resource}`, Object.assign(Object.assign({}, request), { accessKeyId }));
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
callback(null, response);
|
|
45
|
-
}
|
|
46
|
-
catch (e) {
|
|
47
|
-
(0, common_1.handleError)(e, callback);
|
|
48
|
-
}
|
|
40
|
+
const response = yield api[`create${resource}`](Object.assign(Object.assign({}, request), { extended: {
|
|
41
|
+
accessKeyId
|
|
42
|
+
} }));
|
|
43
|
+
callback(null, response);
|
|
49
44
|
});
|
|
45
|
+
return (0, common_1.withErrorHandlingAndValidation)(fn, schema);
|
|
50
46
|
}
|
|
@@ -39,5 +39,5 @@ function deleteResource(api, resource) {
|
|
|
39
39
|
yield api[`delete${resource}`](request.ref);
|
|
40
40
|
return { ref: request.ref };
|
|
41
41
|
});
|
|
42
|
-
return (0, common_1.
|
|
42
|
+
return (0, common_1.withErrorHandlingAndValidation)((0, identity_1.withAccess)(fn, (ref) => api[`get${resource}`](ref)), common_1.Validators.baseApiObjectSchema);
|
|
43
43
|
}
|
|
@@ -38,5 +38,5 @@ function getResource(api, resource) {
|
|
|
38
38
|
logger.verbose(`call to get${resource}`, { request, resource });
|
|
39
39
|
return yield api[`get${resource}`](request.ref);
|
|
40
40
|
});
|
|
41
|
-
return (0, common_1.
|
|
41
|
+
return (0, common_1.withErrorHandlingAndValidation)((0, identity_1.withAccess)(fn, (ref) => api[`get${resource}`](ref)), common_1.Validators.baseApiObjectSchema);
|
|
42
42
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GrpcErrorMessage } from "@fonoster/common";
|
|
2
2
|
declare function listResources<T, R, U>(api: U, resource: string): (call: {
|
|
3
3
|
request: unknown;
|
|
4
|
-
}, callback: (error?: GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
4
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
5
5
|
export { listResources };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
declare function updateResource<T, R, U>(api: U, resource: string, schema: z.ZodSchema): (call: {
|
|
2
3
|
request: unknown;
|
|
3
4
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
4
5
|
export { updateResource };
|
|
@@ -32,11 +32,11 @@ const common_1 = require("@fonoster/common");
|
|
|
32
32
|
const identity_1 = require("@fonoster/identity");
|
|
33
33
|
const logger_1 = require("@fonoster/logger");
|
|
34
34
|
const logger = (0, logger_1.getLogger)({ service: "sipnet", filePath: __filename });
|
|
35
|
-
function updateResource(api, resource) {
|
|
35
|
+
function updateResource(api, resource, schema) {
|
|
36
36
|
const fn = (call) => __awaiter(this, void 0, void 0, function* () {
|
|
37
37
|
const { request } = call;
|
|
38
38
|
logger.verbose(`call to update${resource}`, Object.assign({}, request));
|
|
39
39
|
return yield api[`update${resource}`](request);
|
|
40
40
|
});
|
|
41
|
-
return (0, common_1.
|
|
41
|
+
return (0, common_1.withErrorHandlingAndValidation)((0, identity_1.withAccess)(fn, (ref) => api[`get${resource}`](ref)), schema);
|
|
42
42
|
}
|
|
@@ -8,8 +8,8 @@ declare function buildService(clientOptions: ClientOptions): {
|
|
|
8
8
|
};
|
|
9
9
|
handlers: {
|
|
10
10
|
createTrunk: (call: {
|
|
11
|
-
request:
|
|
12
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
11
|
+
request: unknown;
|
|
12
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
13
13
|
updateTrunk: (call: {
|
|
14
14
|
request: unknown;
|
|
15
15
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TrunkApi } from "@fonoster/types";
|
|
2
2
|
declare function createTrunk(trunks: TrunkApi): (call: {
|
|
3
|
-
request:
|
|
4
|
-
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?:
|
|
3
|
+
request: unknown;
|
|
4
|
+
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
5
5
|
declare function updateTrunk(trunks: TrunkApi): (call: {
|
|
6
6
|
request: unknown;
|
|
7
7
|
}, callback: (error?: import("@fonoster/common").GrpcErrorMessage, response?: unknown) => void) => Promise<void>;
|
|
@@ -5,6 +5,26 @@ exports.deleteTrunk = deleteTrunk;
|
|
|
5
5
|
exports.getTrunk = getTrunk;
|
|
6
6
|
exports.listTrunks = listTrunks;
|
|
7
7
|
exports.updateTrunk = updateTrunk;
|
|
8
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
9
|
+
/*
|
|
10
|
+
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
11
|
+
* http://github.com/fonoster/fonoster
|
|
12
|
+
*
|
|
13
|
+
* This file is part of Fonoster
|
|
14
|
+
*
|
|
15
|
+
* Licensed under the MIT License (the "License");
|
|
16
|
+
* you may not use this file except in compliance with
|
|
17
|
+
* the License. You may obtain a copy of the License at
|
|
18
|
+
*
|
|
19
|
+
* https://opensource.org/licenses/MIT
|
|
20
|
+
*
|
|
21
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
22
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
+
* See the License for the specific language governing permissions and
|
|
25
|
+
* limitations under the License.
|
|
26
|
+
*/
|
|
27
|
+
const common_1 = require("@fonoster/common");
|
|
8
28
|
const createResource_1 = require("../resources/createResource");
|
|
9
29
|
const deleteResource_1 = require("../resources/deleteResource");
|
|
10
30
|
const getResource_1 = require("../resources/getResource");
|
|
@@ -12,10 +32,10 @@ const listResources_1 = require("../resources/listResources");
|
|
|
12
32
|
const updateResource_1 = require("../resources/updateResource");
|
|
13
33
|
const RESOURCE = "Trunk";
|
|
14
34
|
function createTrunk(trunks) {
|
|
15
|
-
return (0, createResource_1.createResource)(trunks, RESOURCE);
|
|
35
|
+
return (0, createResource_1.createResource)(trunks, RESOURCE, common_1.Validators.createTrunkRequestSchema);
|
|
16
36
|
}
|
|
17
37
|
function updateTrunk(trunks) {
|
|
18
|
-
return (0, updateResource_1.updateResource)(trunks, RESOURCE);
|
|
38
|
+
return (0, updateResource_1.updateResource)(trunks, RESOURCE, common_1.Validators.updateTrunkRequestSchema);
|
|
19
39
|
}
|
|
20
40
|
function getTrunk(trunks) {
|
|
21
41
|
return (0, getResource_1.getResource)(trunks, RESOURCE);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fonoster/sipnet",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.9",
|
|
4
4
|
"description": "Routr-based SIP stack",
|
|
5
5
|
"author": "Pedro Sanders <psanders@fonoster.com>",
|
|
6
6
|
"homepage": "https://github.com/fonoster/fonoster#readme",
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"fonoster": "./dist/index.js"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@fonoster/common": "^0.7.
|
|
24
|
-
"@fonoster/identity": "^0.7.
|
|
25
|
-
"@fonoster/logger": "^0.7.
|
|
26
|
-
"@fonoster/types": "^0.7.
|
|
23
|
+
"@fonoster/common": "^0.7.9",
|
|
24
|
+
"@fonoster/identity": "^0.7.9",
|
|
25
|
+
"@fonoster/logger": "^0.7.9",
|
|
26
|
+
"@fonoster/types": "^0.7.9",
|
|
27
27
|
"@grpc/grpc-js": "~1.10.6",
|
|
28
28
|
"@routr/sdk": "2.13.1",
|
|
29
29
|
"zod": "^3.23.8"
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"bugs": {
|
|
42
42
|
"url": "https://github.com/fonoster/fonoster/issues"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "3b16a5ed87b84d03534bb20de4d59d5bbb51a742"
|
|
45
45
|
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
declare const createNumberRequestSchema: z.ZodEffects<z.ZodObject<{
|
|
3
|
-
agentAor: z.ZodOptional<z.ZodString>;
|
|
4
|
-
appRef: z.ZodOptional<z.ZodString>;
|
|
5
|
-
countryIsoCode: z.ZodEffects<z.ZodString, string, string>;
|
|
6
|
-
}, "strip", z.ZodTypeAny, {
|
|
7
|
-
countryIsoCode?: string;
|
|
8
|
-
appRef?: string;
|
|
9
|
-
agentAor?: string;
|
|
10
|
-
}, {
|
|
11
|
-
countryIsoCode?: string;
|
|
12
|
-
appRef?: string;
|
|
13
|
-
agentAor?: string;
|
|
14
|
-
}>, {
|
|
15
|
-
countryIsoCode?: string;
|
|
16
|
-
appRef?: string;
|
|
17
|
-
agentAor?: string;
|
|
18
|
-
}, {
|
|
19
|
-
countryIsoCode?: string;
|
|
20
|
-
appRef?: string;
|
|
21
|
-
agentAor?: string;
|
|
22
|
-
}>;
|
|
23
|
-
declare const updateNumberRequestSchema: z.ZodEffects<z.ZodObject<{
|
|
24
|
-
agentAor: z.ZodOptional<z.ZodString>;
|
|
25
|
-
appRef: z.ZodOptional<z.ZodString>;
|
|
26
|
-
}, "strip", z.ZodTypeAny, {
|
|
27
|
-
appRef?: string;
|
|
28
|
-
agentAor?: string;
|
|
29
|
-
}, {
|
|
30
|
-
appRef?: string;
|
|
31
|
-
agentAor?: string;
|
|
32
|
-
}>, {
|
|
33
|
-
appRef?: string;
|
|
34
|
-
agentAor?: string;
|
|
35
|
-
}, {
|
|
36
|
-
appRef?: string;
|
|
37
|
-
agentAor?: string;
|
|
38
|
-
}>;
|
|
39
|
-
export { createNumberRequestSchema, updateNumberRequestSchema };
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.updateNumberRequestSchema = exports.createNumberRequestSchema = void 0;
|
|
7
|
-
/*
|
|
8
|
-
* Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
|
|
9
|
-
* http://github.com/fonoster/fonoster
|
|
10
|
-
*
|
|
11
|
-
* This file is part of Fonoster
|
|
12
|
-
*
|
|
13
|
-
* Licensed under the MIT License (the "License");
|
|
14
|
-
* you may not use this file except in compliance with
|
|
15
|
-
* the License. You may obtain a copy of the License at
|
|
16
|
-
*
|
|
17
|
-
* https://opensource.org/licenses/MIT
|
|
18
|
-
*
|
|
19
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
20
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
21
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
22
|
-
* See the License for the specific language governing permissions and
|
|
23
|
-
* limitations under the License.
|
|
24
|
-
*/
|
|
25
|
-
const isISO31661Alpha2_1 = __importDefault(require("validator/lib/isISO31661Alpha2"));
|
|
26
|
-
const zod_1 = require("zod");
|
|
27
|
-
const sipUriRegex = /^sip:[a-zA-Z0-9_.-]+@[a-zA-Z0-9_.-]+$/;
|
|
28
|
-
const sipUriSchema = zod_1.z.string().regex(sipUriRegex, "Invalid SIP URI");
|
|
29
|
-
const countryIsoCodeSchema = zod_1.z.string().refine((val) => (0, isISO31661Alpha2_1.default)(val), {
|
|
30
|
-
message: "Invalid country ISO code"
|
|
31
|
-
});
|
|
32
|
-
const createNumberRequestSchema = zod_1.z
|
|
33
|
-
.object({
|
|
34
|
-
// TODO: Add validation for telUrl (perhaps using the "phone" package)
|
|
35
|
-
agentAor: sipUriSchema.optional(),
|
|
36
|
-
appRef: zod_1.z.string().optional(),
|
|
37
|
-
countryIsoCode: countryIsoCodeSchema
|
|
38
|
-
})
|
|
39
|
-
.refine(({ agentAor, appRef }) => !(agentAor !== undefined && appRef !== undefined), {
|
|
40
|
-
message: "You can only provide one of the following fields: 'agentAor' or 'appRef'"
|
|
41
|
-
});
|
|
42
|
-
exports.createNumberRequestSchema = createNumberRequestSchema;
|
|
43
|
-
const updateNumberRequestSchema = zod_1.z
|
|
44
|
-
.object({
|
|
45
|
-
agentAor: sipUriSchema.optional(),
|
|
46
|
-
appRef: zod_1.z.string().optional()
|
|
47
|
-
})
|
|
48
|
-
.refine(({ agentAor, appRef }) => !(agentAor !== undefined && appRef !== undefined), {
|
|
49
|
-
message: "You can only provide one of the following fields: 'agentAor' or 'appRef'"
|
|
50
|
-
});
|
|
51
|
-
exports.updateNumberRequestSchema = updateNumberRequestSchema;
|