Skip to content

Commit

Permalink
fix: phone number capabilities type
Browse files Browse the repository at this point in the history
  • Loading branch information
Exotica0122 committed Jun 17, 2024
1 parent 55db7c2 commit b194de5
Show file tree
Hide file tree
Showing 19 changed files with 149 additions and 55 deletions.
10 changes: 6 additions & 4 deletions spec/unit/rest/incomingPhoneNumber.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ var client;
var holodeck;

describe("IncomingPhoneNumber", function () {
const incomingPhoneNumbers = [{ capabilities: {} }];

/* Before Hooks */
beforeEach(function () {
holodeck = new Holodeck();
Expand All @@ -20,7 +22,7 @@ describe("IncomingPhoneNumber", function () {
end: 0,
first_page_uri:
"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json?FriendlyName=friendly_name&Beta=true&PhoneNumber=%2B19876543210&PageSize=50&Page=0",
incoming_phone_numbers: [{}],
incoming_phone_numbers: incomingPhoneNumbers,
next_page_uri: null,
page: 0,
page_size: 50,
Expand All @@ -38,7 +40,7 @@ describe("IncomingPhoneNumber", function () {
end: 0,
first_page_uri:
"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json?FriendlyName=friendly_name&Beta=true&PhoneNumber=%2B19876543210&PageSize=1&Page=0",
incoming_phone_numbers: [{}],
incoming_phone_numbers: incomingPhoneNumbers,
next_page_uri:
"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json?FriendlyName=friendly_name&Beta=true&PhoneNumber=%2B19876543210&PageSize=1&Page=1",
page: 0,
Expand All @@ -59,7 +61,7 @@ describe("IncomingPhoneNumber", function () {
end: 0,
first_page_uri:
"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json?FriendlyName=friendly_name&Beta=true&PhoneNumber=%2B19876543210&PageSize=1&Page=0",
incoming_phone_numbers: [{}],
incoming_phone_numbers: incomingPhoneNumbers,
next_page_uri:
"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json?FriendlyName=friendly_name&Beta=true&PhoneNumber=%2B19876543210&PageSize=1&Page=1",
page: 0,
Expand All @@ -80,7 +82,7 @@ describe("IncomingPhoneNumber", function () {
end: 0,
first_page_uri:
"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json?FriendlyName=friendly_name&Beta=true&PhoneNumber=%2B19876543210&PageSize=1&Page=0",
incoming_phone_numbers: [{}],
incoming_phone_numbers: incomingPhoneNumbers,
next_page_uri:
"/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers.json?FriendlyName=friendly_name&Beta=true&PhoneNumber=%2B19876543210&PageSize=1&Page=1",
page: 0,
Expand Down
7 changes: 7 additions & 0 deletions src/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ export type PhoneNumberCapabilities = {
fax: boolean;
};

export type PhoneNumberCapabilitiesResource = {
MMS: boolean;
SMS: boolean;
voice: boolean;
fax: boolean;
};

export type Sid = string;

export interface ListEachOptions<TInstance> {
Expand Down
11 changes: 8 additions & 3 deletions src/rest/api/v2010/account/availablePhoneNumberCountry/local.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import V2010 from "../../../V2010";
const deserialize = require("../../../../../base/deserialize");
const serialize = require("../../../../../base/serialize");
import { isValidPathParam } from "../../../../../base/utility";
import { PhoneNumberCapabilities } from "../../../../../interfaces";
import { PhoneNumberCapabilities, PhoneNumberCapabilitiesResource } from "../../../../../interfaces";

/**
* Options to pass to each
Expand Down Expand Up @@ -397,7 +397,7 @@ interface LocalResource {
iso_country: string;
address_requirements: string;
beta: boolean;
capabilities: PhoneNumberCapabilities;
capabilities: PhoneNumberCapabilitiesResource;
}

export class LocalInstance {
Expand All @@ -419,7 +419,12 @@ export class LocalInstance {
this.isoCountry = payload.iso_country;
this.addressRequirements = payload.address_requirements;
this.beta = payload.beta;
this.capabilities = payload.capabilities;
this.capabilities = {
voice: payload.capabilities.voice,
sms: payload.capabilities.SMS,
mms: payload.capabilities.MMS,
fax: payload.capabilities.fax ?? false,
};
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import V2010 from "../../../V2010";
const deserialize = require("../../../../../base/deserialize");
const serialize = require("../../../../../base/serialize");
import { isValidPathParam } from "../../../../../base/utility";
import { PhoneNumberCapabilities } from "../../../../../interfaces";
import { PhoneNumberCapabilities, PhoneNumberCapabilitiesResource } from "../../../../../interfaces";

/**
* Options to pass to each
Expand Down Expand Up @@ -408,7 +408,7 @@ interface MachineToMachineResource {
iso_country: string;
address_requirements: string;
beta: boolean;
capabilities: PhoneNumberCapabilities;
capabilities: PhoneNumberCapabilitiesResource;
}

export class MachineToMachineInstance {
Expand All @@ -430,7 +430,12 @@ export class MachineToMachineInstance {
this.isoCountry = payload.iso_country;
this.addressRequirements = payload.address_requirements;
this.beta = payload.beta;
this.capabilities = payload.capabilities;
this.capabilities = {
voice: payload.capabilities.voice,
sms: payload.capabilities.SMS,
mms: payload.capabilities.MMS,
fax: payload.capabilities.fax ?? false,
};
}

/**
Expand Down
11 changes: 8 additions & 3 deletions src/rest/api/v2010/account/availablePhoneNumberCountry/mobile.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import V2010 from "../../../V2010";
const deserialize = require("../../../../../base/deserialize");
const serialize = require("../../../../../base/serialize");
import { isValidPathParam } from "../../../../../base/utility";
import { PhoneNumberCapabilities } from "../../../../../interfaces";
import { PhoneNumberCapabilities, PhoneNumberCapabilitiesResource } from "../../../../../interfaces";

/**
* Options to pass to each
Expand Down Expand Up @@ -398,7 +398,7 @@ interface MobileResource {
iso_country: string;
address_requirements: string;
beta: boolean;
capabilities: PhoneNumberCapabilities;
capabilities: PhoneNumberCapabilitiesResource;
}

export class MobileInstance {
Expand All @@ -420,7 +420,12 @@ export class MobileInstance {
this.isoCountry = payload.iso_country;
this.addressRequirements = payload.address_requirements;
this.beta = payload.beta;
this.capabilities = payload.capabilities;
this.capabilities = {
voice: payload.capabilities.voice,
sms: payload.capabilities.SMS,
mms: payload.capabilities.MMS,
fax: payload.capabilities.fax ?? false,
};
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import V2010 from "../../../V2010";
const deserialize = require("../../../../../base/deserialize");
const serialize = require("../../../../../base/serialize");
import { isValidPathParam } from "../../../../../base/utility";
import { PhoneNumberCapabilities } from "../../../../../interfaces";
import { PhoneNumberCapabilities, PhoneNumberCapabilitiesResource } from "../../../../../interfaces";

/**
* Options to pass to each
Expand Down Expand Up @@ -399,7 +399,7 @@ interface NationalResource {
iso_country: string;
address_requirements: string;
beta: boolean;
capabilities: PhoneNumberCapabilities;
capabilities: PhoneNumberCapabilitiesResource;
}

export class NationalInstance {
Expand All @@ -421,7 +421,12 @@ export class NationalInstance {
this.isoCountry = payload.iso_country;
this.addressRequirements = payload.address_requirements;
this.beta = payload.beta;
this.capabilities = payload.capabilities;
this.capabilities = {
voice: payload.capabilities.voice,
sms: payload.capabilities.SMS,
mms: payload.capabilities.MMS,
fax: payload.capabilities.fax ?? false,
};
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import V2010 from "../../../V2010";
const deserialize = require("../../../../../base/deserialize");
const serialize = require("../../../../../base/serialize");
import { isValidPathParam } from "../../../../../base/utility";
import { PhoneNumberCapabilities } from "../../../../../interfaces";
import { PhoneNumberCapabilities, PhoneNumberCapabilitiesResource } from "../../../../../interfaces";

/**
* Options to pass to each
Expand Down Expand Up @@ -399,7 +399,7 @@ interface SharedCostResource {
iso_country: string;
address_requirements: string;
beta: boolean;
capabilities: PhoneNumberCapabilities;
capabilities: PhoneNumberCapabilitiesResource;
}

export class SharedCostInstance {
Expand All @@ -421,7 +421,12 @@ export class SharedCostInstance {
this.isoCountry = payload.iso_country;
this.addressRequirements = payload.address_requirements;
this.beta = payload.beta;
this.capabilities = payload.capabilities;
this.capabilities = {
voice: payload.capabilities.voice,
sms: payload.capabilities.SMS,
mms: payload.capabilities.MMS,
fax: payload.capabilities.fax ?? false,
};
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import V2010 from "../../../V2010";
const deserialize = require("../../../../../base/deserialize");
const serialize = require("../../../../../base/serialize");
import { isValidPathParam } from "../../../../../base/utility";
import { PhoneNumberCapabilities } from "../../../../../interfaces";
import { PhoneNumberCapabilities, PhoneNumberCapabilitiesResource } from "../../../../../interfaces";

/**
* Options to pass to each
Expand Down Expand Up @@ -399,7 +399,7 @@ interface TollFreeResource {
iso_country: string;
address_requirements: string;
beta: boolean;
capabilities: PhoneNumberCapabilities;
capabilities: PhoneNumberCapabilitiesResource;
}

export class TollFreeInstance {
Expand All @@ -421,7 +421,12 @@ export class TollFreeInstance {
this.isoCountry = payload.iso_country;
this.addressRequirements = payload.address_requirements;
this.beta = payload.beta;
this.capabilities = payload.capabilities;
this.capabilities = {
voice: payload.capabilities.voice,
sms: payload.capabilities.SMS,
mms: payload.capabilities.MMS,
fax: payload.capabilities.fax ?? false,
};
}

/**
Expand Down
11 changes: 8 additions & 3 deletions src/rest/api/v2010/account/availablePhoneNumberCountry/voip.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import V2010 from "../../../V2010";
const deserialize = require("../../../../../base/deserialize");
const serialize = require("../../../../../base/serialize");
import { isValidPathParam } from "../../../../../base/utility";
import { PhoneNumberCapabilities } from "../../../../../interfaces";
import { PhoneNumberCapabilities, PhoneNumberCapabilitiesResource } from "../../../../../interfaces";

/**
* Options to pass to each
Expand Down Expand Up @@ -397,7 +397,7 @@ interface VoipResource {
iso_country: string;
address_requirements: string;
beta: boolean;
capabilities: PhoneNumberCapabilities;
capabilities: PhoneNumberCapabilitiesResource;
}

export class VoipInstance {
Expand All @@ -419,7 +419,12 @@ export class VoipInstance {
this.isoCountry = payload.iso_country;
this.addressRequirements = payload.address_requirements;
this.beta = payload.beta;
this.capabilities = payload.capabilities;
this.capabilities = {
voice: payload.capabilities.voice,
sms: payload.capabilities.SMS,
mms: payload.capabilities.MMS,
fax: payload.capabilities.fax ?? false,
};
}

/**
Expand Down
11 changes: 8 additions & 3 deletions src/rest/api/v2010/account/incomingPhoneNumber.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import { AssignedAddOnListInstance } from "./incomingPhoneNumber/assignedAddOn";
import { LocalListInstance } from "./incomingPhoneNumber/local";
import { MobileListInstance } from "./incomingPhoneNumber/mobile";
import { TollFreeListInstance } from "./incomingPhoneNumber/tollFree";
import { PhoneNumberCapabilities } from "../../../../interfaces";
import { PhoneNumberCapabilities, PhoneNumberCapabilitiesResource } from "../../../../interfaces";

export type IncomingPhoneNumberAddressRequirement =
| "none"
Expand Down Expand Up @@ -461,7 +461,7 @@ interface IncomingPhoneNumberResource {
address_requirements: IncomingPhoneNumberAddressRequirement;
api_version: string;
beta: boolean;
capabilities: PhoneNumberCapabilities;
capabilities: PhoneNumberCapabilitiesResource;
date_created: Date;
date_updated: Date;
friendly_name: string;
Expand Down Expand Up @@ -507,7 +507,12 @@ export class IncomingPhoneNumberInstance {
this.addressRequirements = payload.address_requirements;
this.apiVersion = payload.api_version;
this.beta = payload.beta;
this.capabilities = payload.capabilities;
this.capabilities = {
voice: payload.capabilities.voice,
sms: payload.capabilities.SMS,
mms: payload.capabilities.MMS,
fax: payload.capabilities.fax ?? false,
};
this.dateCreated = deserialize.rfc2822DateTime(payload.date_created);
this.dateUpdated = deserialize.rfc2822DateTime(payload.date_updated);
this.friendlyName = payload.friendly_name;
Expand Down
11 changes: 8 additions & 3 deletions src/rest/api/v2010/account/incomingPhoneNumber/local.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import V2010 from "../../../V2010";
const deserialize = require("../../../../../base/deserialize");
const serialize = require("../../../../../base/serialize");
import { isValidPathParam } from "../../../../../base/utility";
import { PhoneNumberCapabilities } from "../../../../../interfaces";
import { PhoneNumberCapabilities, PhoneNumberCapabilitiesResource } from "../../../../../interfaces";

export type LocalAddressRequirement = "none" | "any" | "local" | "foreign";

Expand Down Expand Up @@ -434,7 +434,7 @@ interface LocalResource {
address_requirements: LocalAddressRequirement;
api_version: string;
beta: boolean;
capabilities: PhoneNumberCapabilities;
capabilities: PhoneNumberCapabilitiesResource;
date_created: Date;
date_updated: Date;
friendly_name: string;
Expand Down Expand Up @@ -476,7 +476,12 @@ export class LocalInstance {
this.addressRequirements = payload.address_requirements;
this.apiVersion = payload.api_version;
this.beta = payload.beta;
this.capabilities = payload.capabilities;
this.capabilities = {
voice: payload.capabilities.voice,
sms: payload.capabilities.SMS,
mms: payload.capabilities.MMS,
fax: payload.capabilities.fax ?? false,
};
this.dateCreated = deserialize.rfc2822DateTime(payload.date_created);
this.dateUpdated = deserialize.rfc2822DateTime(payload.date_updated);
this.friendlyName = payload.friendly_name;
Expand Down
11 changes: 8 additions & 3 deletions src/rest/api/v2010/account/incomingPhoneNumber/mobile.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import V2010 from "../../../V2010";
const deserialize = require("../../../../../base/deserialize");
const serialize = require("../../../../../base/serialize");
import { isValidPathParam } from "../../../../../base/utility";
import { PhoneNumberCapabilities } from "../../../../../interfaces";
import { PhoneNumberCapabilities, PhoneNumberCapabilitiesResource } from "../../../../../interfaces";

export type MobileAddressRequirement = "none" | "any" | "local" | "foreign";

Expand Down Expand Up @@ -435,7 +435,7 @@ interface MobileResource {
address_requirements: MobileAddressRequirement;
api_version: string;
beta: boolean;
capabilities: PhoneNumberCapabilities;
capabilities: PhoneNumberCapabilitiesResource;
date_created: Date;
date_updated: Date;
friendly_name: string;
Expand Down Expand Up @@ -477,7 +477,12 @@ export class MobileInstance {
this.addressRequirements = payload.address_requirements;
this.apiVersion = payload.api_version;
this.beta = payload.beta;
this.capabilities = payload.capabilities;
this.capabilities = {
voice: payload.capabilities.voice,
sms: payload.capabilities.SMS,
mms: payload.capabilities.MMS,
fax: payload.capabilities.fax ?? false,
};
this.dateCreated = deserialize.rfc2822DateTime(payload.date_created);
this.dateUpdated = deserialize.rfc2822DateTime(payload.date_updated);
this.friendlyName = payload.friendly_name;
Expand Down

0 comments on commit b194de5

Please sign in to comment.