UNPKG

@ringer-tel/ivy

Version:
147 lines (136 loc) 5 kB
/* tslint:disable */ /* eslint-disable */ /** * Ringer Business API * This API provides comprehensive endpoints for the Ringer Business system. It includes functionality for managing customer accounts, addresses, sites, phone numbers, payments, users, and other business resources. Operations typically require authentication and appropriate permissions. * * The version of the OpenAPI document: 1.0.5 * Contact: support@ringer.tel * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; /** * * @export * @interface SiteCore */ export interface SiteCore { /** * A user-friendly name for the site (e.g., "Main Office", "Sales Department"). * @type {string} * @memberof SiteCore */ name: string; /** * The DNS extension for the site, used to form part of its unique SIP domain. * @type {string} * @memberof SiteCore */ dnsExtension: string; /** * Indicates if the site is active. Inactive sites cannot place or receive calls. * @type {boolean} * @memberof SiteCore */ active: boolean; /** * Default Caller ID name for outbound calls originating from this site. * @type {string} * @memberof SiteCore */ callerIdName: string; /** * Default Caller ID number for outbound calls from this site (e.g., main business number). * @type {string} * @memberof SiteCore */ callerIdNumber: string; /** * Identifier of the thin client (call processing node) assigned to this site. * @type {number} * @memberof SiteCore */ thinClientId: number; /** * Access Control List (e.g., IP addresses or ranges) defining who can connect to this site's SIP services. * @type {string} * @memberof SiteCore */ acl: string; /** * Maximum number of concurrent call channels allowed for this site. * @type {number} * @memberof SiteCore */ channelLimit: number; /** * List of permitted outbound country codes or dialing zones for this site. Reference Country Codes API for available values. * @type {Array<string>} * @memberof SiteCore */ permittedCountryCodes: Array<string>; /** * URL to the music on hold audio file for the site. * @type {string} * @memberof SiteCore */ musicOnHoldUrl?: string | null; } /** * Check if a given object implements the SiteCore interface. */ export function instanceOfSiteCore(value: object): value is SiteCore { if (!('name' in value) || value['name'] === undefined) return false; if (!('dnsExtension' in value) || value['dnsExtension'] === undefined) return false; if (!('active' in value) || value['active'] === undefined) return false; if (!('callerIdName' in value) || value['callerIdName'] === undefined) return false; if (!('callerIdNumber' in value) || value['callerIdNumber'] === undefined) return false; if (!('thinClientId' in value) || value['thinClientId'] === undefined) return false; if (!('acl' in value) || value['acl'] === undefined) return false; if (!('channelLimit' in value) || value['channelLimit'] === undefined) return false; if (!('permittedCountryCodes' in value) || value['permittedCountryCodes'] === undefined) return false; return true; } export function SiteCoreFromJSON(json: any): SiteCore { return SiteCoreFromJSONTyped(json, false); } export function SiteCoreFromJSONTyped(json: any, ignoreDiscriminator: boolean): SiteCore { if (json == null) { return json; } return { 'name': json['name'], 'dnsExtension': json['dns_extension'], 'active': json['active'], 'callerIdName': json['caller_id_name'], 'callerIdNumber': json['caller_id_number'], 'thinClientId': json['thin_client_id'], 'acl': json['acl'], 'channelLimit': json['channel_limit'], 'permittedCountryCodes': json['permitted_country_codes'], 'musicOnHoldUrl': json['music_on_hold_url'] == null ? undefined : json['music_on_hold_url'], }; } export function SiteCoreToJSON(json: any): SiteCore { return SiteCoreToJSONTyped(json, false); } export function SiteCoreToJSONTyped(value?: SiteCore | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'name': value['name'], 'dns_extension': value['dnsExtension'], 'active': value['active'], 'caller_id_name': value['callerIdName'], 'caller_id_number': value['callerIdNumber'], 'thin_client_id': value['thinClientId'], 'acl': value['acl'], 'channel_limit': value['channelLimit'], 'permitted_country_codes': value['permittedCountryCodes'], 'music_on_hold_url': value['musicOnHoldUrl'], }; }