@fonoster/types 0.6.2 → 0.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.
@@ -1,37 +1,33 @@
1
- import { BaseApiObject } from "./common";
2
- type AclExtended = {
1
+ import { BaseApiObject, ListRequest, ListResponse } from "./common";
2
+ import { Flatten, RenameAndConvertToTimestamp } from "./utils";
3
+ type Acl = {
3
4
  ref: string;
4
5
  name: string;
5
6
  allow: string[];
6
7
  deny: string[];
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ };
11
+ type AclExtended = RenameAndConvertToTimestamp<Acl> & {
7
12
  extended?: Record<string, unknown>;
8
- createdAt?: number;
9
- updatedAt?: number;
10
13
  };
11
- type CreateAclRequestExtended = {
14
+ type CreateAclRequest = {
12
15
  name: string;
13
16
  allow: string[];
14
17
  deny: string[];
15
- extended: {
16
- accessKeyId: string;
17
- };
18
- };
19
- type UpdateAclRequest = BaseApiObject & Omit<Partial<CreateAclRequestExtended>, "extended">;
20
- type ListAclsRequest = {
21
- pageSize: number;
22
- pageToken: string;
23
18
  };
24
- type ListAclsResponse = {
25
- items: Acl[];
26
- nextPageToken: string;
19
+ type CreateAclRequestExtended = CreateAclRequest & {
20
+ extended?: Record<string, unknown>;
27
21
  };
28
- type Acl = Omit<AclExtended, "extended">;
29
- type CreateAclRequest = Omit<CreateAclRequestExtended, "extended">;
22
+ type UpdateAclRequest = Flatten<BaseApiObject & Partial<CreateAclRequest>>;
23
+ type ListAclsRequest = ListRequest;
24
+ type ListAclsResponse = ListResponse<Acl>;
25
+ type ListAclsResponseExtended = ListResponse<AclExtended>;
30
26
  type AclsApi = {
31
- createACL(request: CreateAclRequestExtended): Promise<BaseApiObject>;
32
- updateACL(request: UpdateAclRequest): Promise<BaseApiObject>;
33
- getACL(ref: string): Promise<AclExtended>;
34
- deleteACL(ref: string): Promise<void>;
35
- listACLs(request: ListAclsRequest): Promise<ListAclsResponse>;
27
+ createAcl(request: CreateAclRequestExtended): Promise<BaseApiObject>;
28
+ updateAcl(request: UpdateAclRequest): Promise<BaseApiObject>;
29
+ getAcl(ref: string): Promise<AclExtended>;
30
+ deleteAcl(ref: string): Promise<void>;
31
+ listAcls(request: ListAclsRequest): Promise<ListAclsResponseExtended>;
36
32
  };
37
33
  export { Acl, AclExtended, CreateAclRequest, CreateAclRequestExtended, UpdateAclRequest, ListAclsRequest, ListAclsResponse, AclsApi };
@@ -1,10 +1,10 @@
1
- import { BaseApiObject } from "./common";
2
- import { Domain } from "./domains.types";
1
+ import { BaseApiObject, ListRequest, ListResponse } from "./common";
2
+ import { Flatten, RenameAndConvertToTimestamp } from "./utils";
3
3
  declare enum Privacy {
4
4
  PRIVATE = "ID",
5
5
  NONE = "NONE"
6
6
  }
7
- type AgentExtended = {
7
+ type Agent = {
8
8
  ref: string;
9
9
  name: string;
10
10
  username: string;
@@ -12,39 +12,44 @@ type AgentExtended = {
12
12
  enabled: boolean;
13
13
  maxContacts?: number;
14
14
  expires?: number;
15
- domain?: Domain;
15
+ domain?: {
16
+ ref: string;
17
+ name: string;
18
+ domainUri: string;
19
+ };
20
+ credentials?: {
21
+ ref: string;
22
+ name: string;
23
+ username: string;
24
+ };
25
+ createdAt: Date;
26
+ updatedAt: Date;
27
+ };
28
+ type AgentExtended = RenameAndConvertToTimestamp<Agent> & {
16
29
  extended?: Record<string, unknown>;
17
- createdAt?: number;
18
- updatedAt?: number;
19
30
  };
20
- type CreateAgentRequestExtended = {
31
+ type CreateAgentRequest = {
21
32
  name: string;
22
33
  username: string;
23
34
  privacy: Privacy;
24
35
  enabled: boolean;
25
36
  maxContacts: number;
26
- expires?: number;
27
- domainRef: string;
28
- extended: {
29
- accessKeyId: string;
30
- };
31
- };
32
- type UpdateAgentRequest = BaseApiObject & Omit<Partial<CreateAgentRequestExtended>, "username" | "extended">;
33
- type ListAgentsRequest = {
34
- pageSize: number;
35
- pageToken: string;
37
+ expires: number;
38
+ domainRef?: string;
39
+ credentialsRef?: string;
36
40
  };
37
- type ListAgentsResponse = {
38
- items: Agent[];
39
- nextPageToken: string;
41
+ type CreateAgentRequestExtended = CreateAgentRequest & {
42
+ extended?: Record<string, unknown>;
40
43
  };
44
+ type UpdateAgentRequest = Flatten<BaseApiObject & Omit<Partial<CreateAgentRequest>, "username" | "extended">>;
45
+ type ListAgentsRequest = ListRequest;
46
+ type ListAgentsResponse = ListResponse<Agent>;
47
+ type ListAgentsResponseExtended = ListResponse<AgentExtended>;
41
48
  type AgentsApi = {
42
49
  createAgent(request: CreateAgentRequestExtended): Promise<BaseApiObject>;
43
50
  updateAgent(request: UpdateAgentRequest): Promise<BaseApiObject>;
44
51
  getAgent(ref: string): Promise<AgentExtended>;
45
52
  deleteAgent(ref: string): Promise<void>;
46
- listAgents(request: ListAgentsRequest): Promise<ListAgentsResponse>;
53
+ listAgents(request: ListAgentsRequest): Promise<ListAgentsResponseExtended>;
47
54
  };
48
- type Agent = Omit<AgentExtended, "extended">;
49
- type CreateAgentRequest = Omit<CreateAgentRequestExtended, "extended">;
50
55
  export { AgentExtended, Agent, CreateAgentRequestExtended, CreateAgentRequest, UpdateAgentRequest, ListAgentsRequest, ListAgentsResponse, AgentsApi, Privacy };
@@ -1,4 +1,5 @@
1
- import { BaseApiObject } from "./common";
1
+ import { BaseApiObject, ListRequest, ListResponse } from "./common";
2
+ import { Flatten } from "./utils";
2
3
  declare enum ApplicationType {
3
4
  PROGRAMMABLE_VOICE = "PROGRAMMABLE_VOICE"
4
5
  }
@@ -6,16 +7,16 @@ type Application = {
6
7
  ref: string;
7
8
  name: string;
8
9
  type: ApplicationType;
9
- appEndpoint: string;
10
- textToSpeech: {
10
+ endpoint?: string;
11
+ textToSpeech?: {
11
12
  productRef: string;
12
13
  config: Record<string, unknown>;
13
14
  };
14
- speechToText: {
15
+ speechToText?: {
15
16
  productRef: string;
16
17
  config: Record<string, unknown>;
17
18
  };
18
- intelligence: {
19
+ intelligence?: {
19
20
  productRef: string;
20
21
  config: Record<string, unknown>;
21
22
  };
@@ -25,7 +26,7 @@ type Application = {
25
26
  type CreateApplicationRequest = {
26
27
  name: string;
27
28
  type: ApplicationType;
28
- appEndpoint?: string;
29
+ endpoint?: string;
29
30
  textToSpeech?: {
30
31
  productRef: string;
31
32
  config: Record<string, unknown>;
@@ -40,18 +41,7 @@ type CreateApplicationRequest = {
40
41
  config: Record<string, unknown>;
41
42
  };
42
43
  };
43
- type CreateApplicationResponse = BaseApiObject;
44
- type UpdateApplicationRequest = BaseApiObject & Partial<CreateApplicationRequest>;
45
- type GetApplicationRequest = BaseApiObject;
46
- type UpdateApplicationResponse = BaseApiObject;
47
- type DeleteApplicationRequest = BaseApiObject;
48
- type DeleteApplicationResponse = BaseApiObject;
49
- type ListApplicationsRequest = {
50
- pageSize: number;
51
- pageToken: string;
52
- };
53
- type ListApplicationsResponse = {
54
- nextPageToken?: string;
55
- items: Application[];
56
- };
57
- export { Application, CreateApplicationRequest, CreateApplicationResponse, UpdateApplicationRequest, UpdateApplicationResponse, DeleteApplicationRequest, DeleteApplicationResponse, ListApplicationsRequest, ListApplicationsResponse, GetApplicationRequest, ApplicationType };
44
+ type UpdateApplicationRequest = Flatten<BaseApiObject & Partial<CreateApplicationRequest>>;
45
+ type ListApplicationsRequest = ListRequest;
46
+ type ListApplicationsResponse = ListResponse<Application>;
47
+ export { Application, CreateApplicationRequest, UpdateApplicationRequest, ListApplicationsRequest, ListApplicationsResponse, ApplicationType };
@@ -1,9 +1,10 @@
1
+ import { BaseApiObject, ListResponse } from "./common";
1
2
  declare const CALL_DETAIL_RECORD_MEASUREMENT = "cdr";
2
3
  declare enum CallType {
3
- PROGRAMMABLE = "PROGRAMMABLE",
4
- SIP_TRUNKING = "SIP_TRUNKING"
4
+ SIP_ORIGINATED = "SIP_ORIGINATED",
5
+ API_ORIGINATED = "API_ORIGINATED"
5
6
  }
6
- declare enum HangupCause {
7
+ declare enum CallStatus {
7
8
  NORMAL_CLEARING = "NORMAL_CLEARING",
8
9
  CALL_REJECTED = "CALL_REJECTED",
9
10
  UNALLOCATED = "UNALLOCATED",
@@ -15,65 +16,41 @@ declare enum HangupCause {
15
16
  SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE",
16
17
  INVALID_NUMBER_FORMAT = "INVALID_NUMBER_FORMAT"
17
18
  }
18
- declare enum CallStatus {
19
- QUEUED = "QUEUED",
20
- RINGING = "RINGING",
21
- IN_PROGRESS = "IN_PROGRESS",
22
- COMPLETED = "COMPLETED",
23
- FAILED = "FAILED",
24
- BUSY = "BUSY",
25
- NO_ANSWER = "NO_ANSWER",
26
- CANCELED = "CANCELED",
27
- REJECTED = "REJECTED",
28
- TIMEOUT = "TIMEOUT",
29
- UNKNOWN = "UNKNOWN"
30
- }
31
19
  declare enum CallDirection {
32
- INBOUND = "INBOUND",
33
- OUTBOUND = "OUTBOUND"
20
+ FROM_PSTN = "FROM_PSTN",
21
+ TO_PSTN = "TO_PSTN",
22
+ INTRA_NETWORK = "INTRA_NETWORK"
34
23
  }
35
24
  type CallDetailRecord = {
36
25
  ref: string;
37
- type: CallType;
38
26
  status: CallStatus;
39
- hangupCause: HangupCause;
27
+ type: CallType;
40
28
  from: string;
41
29
  to: string;
42
30
  duration: number;
43
31
  direction: CallDirection;
44
- startedAt: number;
45
- endedAt: number;
32
+ startedAt: Date;
33
+ endedAt: Date;
46
34
  };
47
35
  type ListCallsRequest = {
48
36
  after?: string;
49
37
  before?: string;
50
38
  type?: CallType;
51
39
  status?: CallStatus;
52
- hangupCause?: HangupCause;
53
40
  from?: string;
54
41
  to?: string;
55
42
  pageSize?: number;
56
43
  pageToken?: string;
57
44
  };
58
- type ListCallsResponse = {
59
- nextPageToken?: string;
60
- items: CallDetailRecord[];
61
- };
62
- type GetCallRequest = {
63
- ref: string;
64
- };
45
+ type ListCallsResponse = ListResponse<CallDetailRecord>;
65
46
  type CreateCallRequest = {
66
47
  from: string;
67
48
  to: string;
68
49
  appRef?: string;
69
- };
70
- type CreateCallResponse = {
71
- ref: string;
50
+ timeout?: number;
72
51
  };
73
52
  type CallPublisher = {
74
- publishCall: (event: CreateCallRequest & {
75
- ref: string;
76
- }) => void;
53
+ publishCall: (event: CreateCallRequest & BaseApiObject) => void;
77
54
  };
78
55
  type TrackCallResponse = {
79
56
  ref: string;
@@ -84,4 +61,4 @@ type TrackCallSubscriber = {
84
61
  on: (event: string, cb: (data: TrackCallResponse | Error) => void) => void;
85
62
  };
86
63
  };
87
- export { CALL_DETAIL_RECORD_MEASUREMENT, CallDetailRecord, ListCallsRequest, ListCallsResponse, GetCallRequest, CallType, CallStatus, CallDirection, CreateCallRequest, CreateCallResponse, CallPublisher, TrackCallResponse, TrackCallSubscriber, HangupCause };
64
+ export { CALL_DETAIL_RECORD_MEASUREMENT, CallDetailRecord, ListCallsRequest, ListCallsResponse, CallType, CallStatus, CallDirection, CreateCallRequest, CallPublisher, TrackCallResponse, TrackCallSubscriber };
@@ -1,60 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HangupCause = exports.CallDirection = exports.CallStatus = exports.CallType = exports.CALL_DETAIL_RECORD_MEASUREMENT = void 0;
4
- /*
5
- * Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
6
- * http://github.com/fonoster/fonoster
7
- *
8
- * This file is part of Fonoster
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
- */
3
+ exports.CallDirection = exports.CallStatus = exports.CallType = exports.CALL_DETAIL_RECORD_MEASUREMENT = void 0;
22
4
  const CALL_DETAIL_RECORD_MEASUREMENT = "cdr";
23
5
  exports.CALL_DETAIL_RECORD_MEASUREMENT = CALL_DETAIL_RECORD_MEASUREMENT;
24
6
  var CallType;
25
7
  (function (CallType) {
26
- CallType["PROGRAMMABLE"] = "PROGRAMMABLE";
27
- CallType["SIP_TRUNKING"] = "SIP_TRUNKING";
8
+ CallType["SIP_ORIGINATED"] = "SIP_ORIGINATED";
9
+ CallType["API_ORIGINATED"] = "API_ORIGINATED";
28
10
  })(CallType || (exports.CallType = CallType = {}));
29
- var HangupCause;
30
- (function (HangupCause) {
31
- HangupCause["NORMAL_CLEARING"] = "NORMAL_CLEARING";
32
- HangupCause["CALL_REJECTED"] = "CALL_REJECTED";
33
- HangupCause["UNALLOCATED"] = "UNALLOCATED";
34
- HangupCause["NO_USER_RESPONSE"] = "NO_USER_RESPONSE";
35
- HangupCause["NO_ROUTE_DESTINATION"] = "NO_ROUTE_DESTINATION";
36
- HangupCause["NO_ANSWER"] = "NO_ANSWER";
37
- HangupCause["USER_BUSY"] = "USER_BUSY";
38
- HangupCause["NOT_ACCEPTABLE_HERE"] = "NOT_ACCEPTABLE_HERE";
39
- HangupCause["SERVICE_UNAVAILABLE"] = "SERVICE_UNAVAILABLE";
40
- HangupCause["INVALID_NUMBER_FORMAT"] = "INVALID_NUMBER_FORMAT";
41
- })(HangupCause || (exports.HangupCause = HangupCause = {}));
42
11
  var CallStatus;
43
12
  (function (CallStatus) {
44
- CallStatus["QUEUED"] = "QUEUED";
45
- CallStatus["RINGING"] = "RINGING";
46
- CallStatus["IN_PROGRESS"] = "IN_PROGRESS";
47
- CallStatus["COMPLETED"] = "COMPLETED";
48
- CallStatus["FAILED"] = "FAILED";
49
- CallStatus["BUSY"] = "BUSY";
13
+ CallStatus["NORMAL_CLEARING"] = "NORMAL_CLEARING";
14
+ CallStatus["CALL_REJECTED"] = "CALL_REJECTED";
15
+ CallStatus["UNALLOCATED"] = "UNALLOCATED";
16
+ CallStatus["NO_USER_RESPONSE"] = "NO_USER_RESPONSE";
17
+ CallStatus["NO_ROUTE_DESTINATION"] = "NO_ROUTE_DESTINATION";
50
18
  CallStatus["NO_ANSWER"] = "NO_ANSWER";
51
- CallStatus["CANCELED"] = "CANCELED";
52
- CallStatus["REJECTED"] = "REJECTED";
53
- CallStatus["TIMEOUT"] = "TIMEOUT";
54
- CallStatus["UNKNOWN"] = "UNKNOWN";
19
+ CallStatus["USER_BUSY"] = "USER_BUSY";
20
+ CallStatus["NOT_ACCEPTABLE_HERE"] = "NOT_ACCEPTABLE_HERE";
21
+ CallStatus["SERVICE_UNAVAILABLE"] = "SERVICE_UNAVAILABLE";
22
+ CallStatus["INVALID_NUMBER_FORMAT"] = "INVALID_NUMBER_FORMAT";
55
23
  })(CallStatus || (exports.CallStatus = CallStatus = {}));
56
24
  var CallDirection;
57
25
  (function (CallDirection) {
58
- CallDirection["INBOUND"] = "INBOUND";
59
- CallDirection["OUTBOUND"] = "OUTBOUND";
26
+ CallDirection["FROM_PSTN"] = "FROM_PSTN";
27
+ CallDirection["TO_PSTN"] = "TO_PSTN";
28
+ CallDirection["INTRA_NETWORK"] = "INTRA_NETWORK";
60
29
  })(CallDirection || (exports.CallDirection = CallDirection = {}));
package/dist/common.d.ts CHANGED
@@ -5,4 +5,12 @@ type NumberPreconditionsCheck = (request: {
5
5
  appRef?: string;
6
6
  agentAor?: string;
7
7
  }) => Promise<void>;
8
- export { NumberPreconditionsCheck, BaseApiObject };
8
+ type ListRequest = {
9
+ pageSize?: number;
10
+ pageToken?: string;
11
+ };
12
+ type ListResponse<R> = {
13
+ items: R[];
14
+ nextPageToken?: string;
15
+ };
16
+ export { NumberPreconditionsCheck, BaseApiObject, ListRequest, ListResponse };
@@ -1,37 +1,35 @@
1
- import { BaseApiObject } from "./common";
2
- type CredentialsExtended = {
1
+ import { BaseApiObject, ListRequest, ListResponse } from "./common";
2
+ import { Flatten, RenameAndConvertToTimestamp } from "./utils";
3
+ type Credentials = {
3
4
  ref: string;
4
5
  name: string;
5
6
  username: string;
6
- password: string;
7
+ createdAt: Date;
8
+ updatedAt: Date;
9
+ };
10
+ type CredentialsExtended = RenameAndConvertToTimestamp<Credentials> & {
7
11
  extended?: Record<string, unknown>;
8
- createdAt?: number;
9
- updatedAt?: number;
10
12
  };
11
- type CreateCredentialsRequestExtended = {
13
+ type CreateCredentialsRequest = {
12
14
  name: string;
13
15
  username: string;
14
16
  password: string;
15
- extended: {
16
- accessKeyId: string;
17
- };
18
- };
19
- type UpdateCredentialsRequest = BaseApiObject & Omit<Partial<CreateCredentialsRequest>, "username" | "extended">;
20
- type ListCredentialsRequest = {
21
- pageSize: number;
22
- pageToken: string;
17
+ extended?: Record<string, unknown>;
23
18
  };
24
- type ListCredentialsResponse = {
25
- items: Credentials[];
26
- nextPageToken: string;
19
+ type CreateCredentialsRequestExtended = CreateCredentialsRequest & {
20
+ extended?: Record<string, unknown>;
27
21
  };
22
+ type UpdateCredentialsRequest = Flatten<BaseApiObject & {
23
+ name: string;
24
+ }>;
25
+ type ListCredentialsRequest = ListRequest;
26
+ type ListCredentialsResponse = ListResponse<Credentials>;
27
+ type ListCredentialsResponseExtended = ListResponse<CredentialsExtended>;
28
28
  type CredentialsApi = {
29
29
  createCredentials(request: CreateCredentialsRequestExtended): Promise<BaseApiObject>;
30
30
  updateCredentials(request: UpdateCredentialsRequest): Promise<BaseApiObject>;
31
31
  getCredentials(ref: string): Promise<CredentialsExtended>;
32
32
  deleteCredentials(ref: string): Promise<void>;
33
- listCredentials(request: ListCredentialsRequest): Promise<ListCredentialsResponse>;
33
+ listCredentials(request: ListCredentialsRequest): Promise<ListCredentialsResponseExtended>;
34
34
  };
35
- type Credentials = Omit<CredentialsExtended, "extended">;
36
- type CreateCredentialsRequest = Omit<CreateCredentialsRequestExtended, "extended">;
37
35
  export { Credentials, CredentialsExtended, CreateCredentialsRequest, CreateCredentialsRequestExtended, UpdateCredentialsRequest, ListCredentialsRequest, ListCredentialsResponse, CredentialsApi };
@@ -1,5 +1,6 @@
1
- import { BaseApiObject } from "./common";
2
- type DomainExtended = {
1
+ import { BaseApiObject, ListRequest, ListResponse } from "./common";
2
+ import { Flatten, RenameAndConvertToTimestamp } from "./utils";
3
+ type Domain = {
3
4
  ref: string;
4
5
  name: string;
5
6
  domainUri: string;
@@ -8,11 +9,13 @@ type DomainExtended = {
8
9
  rule: string;
9
10
  numberRef: string;
10
11
  }[];
12
+ createdAt: Date;
13
+ updatedAt: Date;
14
+ };
15
+ type DomainExtended = RenameAndConvertToTimestamp<Domain> & {
11
16
  extended?: Record<string, unknown>;
12
- createdAt?: number;
13
- updatedAt?: number;
14
17
  };
15
- type CreateDomainRequestExtended = {
18
+ type CreateDomainRequest = {
16
19
  name: string;
17
20
  domainUri: string;
18
21
  accessControlListRef?: string;
@@ -20,26 +23,19 @@ type CreateDomainRequestExtended = {
20
23
  rule: string;
21
24
  numberRef: string;
22
25
  }[];
23
- extended: {
24
- accessKeyId: string;
25
- };
26
- };
27
- type UpdateDomainRequest = BaseApiObject & Omit<Partial<CreateDomainRequest>, "domainUri" | "extended">;
28
- type ListDomainsRequest = {
29
- pageSize: number;
30
- pageToken: string;
31
26
  };
32
- type ListDomainsResponse = {
33
- items: Domain[];
34
- nextPageToken: string;
27
+ type CreateDomainRequestExtended = CreateDomainRequest & {
28
+ extended?: Record<string, unknown>;
35
29
  };
30
+ type UpdateDomainRequest = Flatten<BaseApiObject & Omit<Partial<CreateDomainRequest>, "domainUri">>;
31
+ type ListDomainsRequest = ListRequest;
32
+ type ListDomainsResponse = ListResponse<Domain>;
33
+ type ListDomainsResponseExtended = ListResponse<DomainExtended>;
36
34
  type DomainsApi = {
37
35
  createDomain: (request: CreateDomainRequest) => Promise<BaseApiObject>;
38
36
  updateDomain: (request: UpdateDomainRequest) => Promise<BaseApiObject>;
39
- getDomain: (ref: string) => Promise<Domain>;
40
- listDomains: (request: ListDomainsRequest) => Promise<ListDomainsResponse>;
37
+ getDomain: (ref: string) => Promise<DomainExtended>;
38
+ listDomains: (request: ListDomainsRequest) => Promise<ListDomainsResponseExtended>;
41
39
  deleteDomain: (ref: string) => Promise<void>;
42
40
  };
43
- type Domain = Omit<DomainExtended, "extended">;
44
- type CreateDomainRequest = Omit<CreateDomainRequestExtended, "extended">;
45
41
  export { Domain, DomainExtended, DomainsApi, CreateDomainRequestExtended, CreateDomainRequest, UpdateDomainRequest, ListDomainsRequest, ListDomainsResponse };
@@ -1,3 +1,4 @@
1
+ import { ListRequest, ListResponse } from "./common";
1
2
  declare enum ApiRoleEnum {
2
3
  WORKSPACE_ADMIN = "WORKSPACE_ADMIN"
3
4
  }
@@ -35,10 +36,6 @@ type RegenerateApiKeyResponse = {
35
36
  accessKeyId: string;
36
37
  accessKeySecret: string;
37
38
  };
38
- type ListApiKeysRequest = {
39
- pageSize: number;
40
- pageToken: string;
41
- };
42
39
  type ApiKey = {
43
40
  ref: string;
44
41
  accessKeyId: string;
@@ -47,8 +44,6 @@ type ApiKey = {
47
44
  createdAt: Date;
48
45
  updatedAt: Date;
49
46
  };
50
- type ListApiKeysResponse = {
51
- items: ApiKey[];
52
- nextPageToken?: string;
53
- };
47
+ type ListApiKeysRequest = ListRequest;
48
+ type ListApiKeysResponse = ListResponse<ApiKey>;
54
49
  export { ApiRoleEnum, User, CreateUserRequest, UpdateUserRequest, CreateApiKeyRequest, CreateApiKeyResponse, RegenerateApiKeyResponse, ListApiKeysRequest, ListApiKeysResponse };
@@ -1,24 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiRoleEnum = void 0;
4
- /*
5
- * Copyright (C) 2024 by Fonoster Inc (https://fonoster.com)
6
- * http://github.com/fonoster/fonoster
7
- *
8
- * This file is part of Fonoster
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
4
  var ApiRoleEnum;
23
5
  (function (ApiRoleEnum) {
24
6
  ApiRoleEnum["WORKSPACE_ADMIN"] = "WORKSPACE_ADMIN";
@@ -1,72 +1,58 @@
1
- import { BaseApiObject } from "./common";
1
+ import { BaseApiObject, ListRequest, ListResponse } from "./common";
2
2
  import { TrunkExtended } from "./trunks.types";
3
- type INumberExtended = {
3
+ import { Flatten, RenameAndConvertToTimestamp } from "./utils";
4
+ type INumber = {
4
5
  ref: string;
5
6
  name: string;
6
7
  telUrl: string;
7
- aorLink: string;
8
- city: string;
9
- country: string;
10
- countryIsoCode: string;
11
- sessionAffinityHeader: string;
12
- extraHeaders: {
13
- name: string;
14
- value: string;
15
- }[];
16
- trunk?: TrunkExtended;
17
- extended?: Record<string, unknown>;
18
- createdAt?: number;
19
- updatedAt?: number;
20
- };
21
- type CreateNumberRequestExtended = {
22
- name: string;
23
- telUrl: string;
24
- aorLink: string;
8
+ appRef?: string;
9
+ agentAor?: string;
25
10
  city: string;
26
11
  country: string;
27
12
  countryIsoCode: string;
28
- sessionAffinityHeader: string;
29
- extraHeaders: {
13
+ trunk?: {
14
+ ref: string;
30
15
  name: string;
31
- value: string;
32
- }[];
33
- extended: {
34
- accessKeyId: string;
35
16
  };
17
+ createdAt: Date;
18
+ updatedAt: Date;
36
19
  };
37
- type UpdateNumberRequest = {
38
- ref: string;
39
- } & Omit<Partial<CreateNumberRequest>, "telUrl" | "city" | "country" | "countryIsoCode" | "extended">;
40
- type ListNumbersRequest = {
41
- pageSize: number;
42
- pageToken: string;
43
- };
44
- type ListNumbersResponse = {
45
- items: INumber[];
46
- nextPageToken: string;
47
- };
48
- type INumber = Omit<INumberExtended, "extended">;
49
- type CreateNumberRequest = Omit<CreateNumberRequestExtended, "extended" | "sessionAffinityHeader">;
50
- type FCreateNumberRequest = {
20
+ type CreateNumberRequest = {
51
21
  name: string;
52
22
  telUrl: string;
53
23
  city: string;
54
24
  country: string;
55
25
  countryIsoCode: string;
26
+ trunkRef?: string;
56
27
  appRef?: string;
57
28
  agentAor?: string;
58
29
  };
59
- type FUpdateNumberRequest = {
60
- ref: string;
61
- name?: string;
62
- appRef?: string;
63
- agentAor?: string;
30
+ type UpdateNumberRequest = Flatten<BaseApiObject & Omit<Partial<CreateNumberRequest>, "telUrl" | "city" | "country" | "countryIsoCode">>;
31
+ type INumberExtended = RenameAndConvertToTimestamp<Omit<INumber, "appRef" | "agentAor" | "trunk">> & {
32
+ aorLink?: string;
33
+ trunk?: TrunkExtended;
34
+ extended?: Record<string, unknown>;
35
+ extraHeaders?: {
36
+ name: string;
37
+ value: string;
38
+ }[];
39
+ };
40
+ type CreateNumberRequestExtended = CreateNumberRequest & {
41
+ trunkRef?: string;
42
+ extended?: Record<string, unknown>;
43
+ extraHeaders?: {
44
+ name: string;
45
+ value: string;
46
+ }[];
64
47
  };
48
+ type ListNumbersRequest = ListRequest;
49
+ type ListNumbersResponse = ListResponse<INumber>;
50
+ type ListNumbersResponseExtended = ListResponse<INumberExtended>;
65
51
  type NumbersApi = {
66
52
  createNumber(request: CreateNumberRequestExtended): Promise<BaseApiObject>;
67
53
  updateNumber(request: UpdateNumberRequest): Promise<BaseApiObject>;
68
54
  getNumber(ref: string): Promise<INumberExtended>;
69
55
  deleteNumber(ref: string): Promise<void>;
70
- listNumbers(request: ListNumbersRequest): Promise<ListNumbersResponse>;
56
+ listNumbers(request: ListNumbersRequest): Promise<ListNumbersResponseExtended>;
71
57
  };
72
- export { INumber, INumberExtended, NumbersApi, CreateNumberRequest, CreateNumberRequestExtended, UpdateNumberRequest, ListNumbersRequest, ListNumbersResponse, FCreateNumberRequest, FUpdateNumberRequest };
58
+ export { INumber, INumberExtended, NumbersApi, CreateNumberRequest, CreateNumberRequestExtended, UpdateNumberRequest, ListNumbersRequest, ListNumbersResponse };
@@ -1,4 +1,4 @@
1
- import { BaseApiObject } from "./common";
1
+ import { BaseApiObject, ListRequest, ListResponse } from "./common";
2
2
  type Secret = {
3
3
  ref: string;
4
4
  name: string;
@@ -11,12 +11,6 @@ type CreateSecretRequest = {
11
11
  secret: string;
12
12
  };
13
13
  type UpdateSecretRequest = BaseApiObject & Partial<CreateSecretRequest>;
14
- type ListSecretsRequest = {
15
- pageSize: number;
16
- pageToken: string;
17
- };
18
- type ListSecretsResponse = {
19
- nextPageToken?: string;
20
- items: Secret[];
21
- };
14
+ type ListSecretsRequest = ListRequest;
15
+ type ListSecretsResponse = ListResponse<Secret>;
22
16
  export { Secret, CreateSecretRequest, UpdateSecretRequest, ListSecretsRequest, ListSecretsResponse };
@@ -1,5 +1,7 @@
1
- import { Acl } from "./acls.types";
1
+ import { AclExtended } from "./acls.types";
2
+ import { BaseApiObject, ListRequest, ListResponse } from "./common";
2
3
  import { CredentialsExtended } from "./credentials.types";
4
+ import { Flatten, RenameAndConvertToTimestamp } from "./utils";
3
5
  declare enum Transport {
4
6
  UDP = "UDP",
5
7
  TCP = "TCP",
@@ -17,61 +19,45 @@ type TrunkURI = {
17
19
  priority: number;
18
20
  enabled: boolean;
19
21
  };
20
- type TrunkExtended = {
22
+ type Trunk = {
21
23
  ref: string;
22
24
  name: string;
23
25
  sendRegister: boolean;
24
26
  inboundUri?: string;
25
- accessControlList?: Acl;
27
+ accessControlListRef?: string;
28
+ inboundCredentialsRef?: string;
29
+ outboundCredentialsRef?: string;
30
+ uris?: TrunkURI[];
31
+ createdAt: Date;
32
+ updatedAt: Date;
33
+ };
34
+ type TrunkExtended = RenameAndConvertToTimestamp<Trunk> & {
35
+ accessControlList?: AclExtended;
26
36
  inboundCredentials?: CredentialsExtended;
27
37
  outboundCredentials?: CredentialsExtended;
28
- uris?: TrunkURI[];
29
- extended?: unknown;
30
- createdAt?: number;
31
- updatedAt?: number;
38
+ extended?: Record<string, unknown>;
32
39
  };
33
- type CreateTrunkRequestExtended = {
40
+ type CreateTrunkRequest = {
34
41
  name: string;
35
42
  sendRegister: boolean;
36
43
  inboundUri: string;
37
- accessControlList?: Acl;
38
- inboundCredentials?: CredentialsExtended;
39
- outboundCredentials?: CredentialsExtended;
44
+ accessControlListRef?: string;
45
+ inboundCredentialsRef?: string;
46
+ outboundCredentialsRef?: string;
40
47
  uris?: TrunkURI[];
41
- extended?: {
42
- accessKeyId: string;
43
- };
44
- };
45
- type UpdateTrunkRequest = {
46
- ref: string;
47
- } & Omit<Partial<CreateTrunkRequest>, "extended">;
48
- type CreateTrunkResponse = {
49
- ref: string;
50
- };
51
- type UpdateTrunkResponse = {
52
- ref: string;
53
- };
54
- type GetTrunkRequest = {
55
- ref: string;
56
- };
57
- type DeleteTrunkRequest = {
58
- ref: string;
59
- };
60
- type ListTrunksRequest = {
61
- pageSize: number;
62
- pageToken: string;
63
48
  };
64
- type ListTrunksResponse = {
65
- items: Trunk[];
66
- nextPageToken: string;
49
+ type CreateTrunkRequestExtended = CreateTrunkRequest & {
50
+ extended?: Record<string, unknown>;
67
51
  };
68
- type Trunk = Omit<TrunkExtended, "extended">;
69
- type CreateTrunkRequest = Omit<CreateTrunkRequestExtended, "extended">;
52
+ type UpdateTrunkRequest = Flatten<BaseApiObject & Partial<CreateTrunkRequest>>;
53
+ type ListTrunksRequest = ListRequest;
54
+ type ListTrunksResponse = ListResponse<Trunk>;
55
+ type ListTrunksResponseExtended = ListResponse<TrunkExtended>;
70
56
  type TrunkApi = {
71
- createTrunk(request: CreateTrunkRequest): Promise<CreateTrunkResponse>;
72
- updateTrunk(request: UpdateTrunkRequest): Promise<UpdateTrunkResponse>;
73
- getTrunk(ref: string): Promise<Trunk>;
57
+ createTrunk(request: CreateTrunkRequest): Promise<BaseApiObject>;
58
+ updateTrunk(request: UpdateTrunkRequest): Promise<BaseApiObject>;
59
+ getTrunk(ref: string): Promise<TrunkExtended>;
74
60
  deleteTrunk(ref: string): Promise<void>;
75
- listTrunks(request: ListTrunksRequest): Promise<ListTrunksResponse>;
61
+ listTrunks(request: ListTrunksRequest): Promise<ListTrunksResponseExtended>;
76
62
  };
77
- export { Trunk, TrunkExtended, CreateTrunkRequest, CreateTrunkRequestExtended, UpdateTrunkRequest, CreateTrunkResponse, UpdateTrunkResponse, GetTrunkRequest, DeleteTrunkRequest, ListTrunksRequest, ListTrunksResponse, TrunkApi };
63
+ export { Trunk, TrunkExtended, CreateTrunkRequest, CreateTrunkRequestExtended, UpdateTrunkRequest, ListTrunksRequest, ListTrunksResponse, TrunkApi };
@@ -0,0 +1,8 @@
1
+ type Flatten<T> = {
2
+ [K in keyof T]: T[K];
3
+ };
4
+ type RenameAndConvertToTimestamp<T> = Omit<T, "createdAt" | "updatedAt"> & {
5
+ createdAt: number;
6
+ updatedAt: number;
7
+ };
8
+ export { Flatten, RenameAndConvertToTimestamp };
package/dist/utils.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +1,4 @@
1
+ import { ListResponse } from "./common";
1
2
  declare enum WorkspaceRoleEnum {
2
3
  OWNER = "OWNER",
3
4
  ADMIN = "ADMIN",
@@ -21,9 +22,7 @@ type UpdateWorkspaceRequest = {
21
22
  ref: string;
22
23
  name: string;
23
24
  };
24
- type ListWorkspacesResponse = {
25
- workspaces: Workspace[];
26
- };
25
+ type ListWorkspacesResponse = ListResponse<Workspace>;
27
26
  type InviteUserToWorkspaceResponse = {
28
27
  workspaceRef: string;
29
28
  userRef: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fonoster/types",
3
- "version": "0.6.2",
3
+ "version": "0.7.0",
4
4
  "description": "Common types for Fonoster projects",
5
5
  "author": "Pedro Sanders <psanders@fonoster.com>",
6
6
  "homepage": "https://github.com/fonoster/fonoster#readme",
@@ -29,5 +29,5 @@
29
29
  "bugs": {
30
30
  "url": "https://github.com/fonoster/fonoster/issues"
31
31
  },
32
- "gitHead": "9b55399d2906479d826a53a5e3bd10206aaaa86d"
32
+ "gitHead": "afa950ace3b1d022b6dc8be0c3b87a6b8a5ba3c5"
33
33
  }