@ringer-tel/ivy
Version:
TypeScript SDK for Ringer APIs
151 lines (139 loc) • 5.02 kB
text/typescript
/* 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';
import type { Link } from './Link';
import {
LinkFromJSON,
LinkFromJSONTyped,
LinkToJSON,
LinkToJSONTyped,
} from './Link';
/**
* Detailed information about a conference room.
* @export
* @interface ConferenceRoomResponse
*/
export interface ConferenceRoomResponse {
/**
* A user-friendly name for the conference room.
* @type {string}
* @memberof ConferenceRoomResponse
*/
name: string;
/**
* Numeric PIN required for participants to join the conference.
* @type {string}
* @memberof ConferenceRoomResponse
*/
pin: string | null;
/**
* Numeric PIN required for the moderator to join and control the conference.
* @type {string}
* @memberof ConferenceRoomResponse
*/
moderatorPin: string | null;
/**
* Conference profile or type (e.g., default, enhanced audio). Specific values depend on system configuration.
* @type {string}
* @memberof ConferenceRoomResponse
*/
profile?: string | null;
/**
* Identifier of the user primarily associated with this conference room, if any.
* @type {number}
* @memberof ConferenceRoomResponse
*/
userId?: number | null;
/**
* Unique identifier for the conference room.
* @type {number}
* @memberof ConferenceRoomResponse
*/
id: number;
/**
* Identifier of the site this conference room belongs to.
* @type {number}
* @memberof ConferenceRoomResponse
*/
siteId: number | null;
/**
* URL to the current greeting audio file.
* @type {string}
* @memberof ConferenceRoomResponse
*/
greetingUrl?: string | null;
/**
* URL to the current music on hold audio file.
* @type {string}
* @memberof ConferenceRoomResponse
*/
musicOnHoldUrl?: string | null;
/**
* HATEOAS links related to this conference room.
* @type {Array<Link>}
* @memberof ConferenceRoomResponse
*/
links?: Array<Link> | null;
}
/**
* Check if a given object implements the ConferenceRoomResponse interface.
*/
export function instanceOfConferenceRoomResponse(value: object): value is ConferenceRoomResponse {
if (!('name' in value) || value['name'] === undefined) return false;
if (!('pin' in value) || value['pin'] === undefined) return false;
if (!('moderatorPin' in value) || value['moderatorPin'] === undefined) return false;
if (!('id' in value) || value['id'] === undefined) return false;
if (!('siteId' in value) || value['siteId'] === undefined) return false;
return true;
}
export function ConferenceRoomResponseFromJSON(json: any): ConferenceRoomResponse {
return ConferenceRoomResponseFromJSONTyped(json, false);
}
export function ConferenceRoomResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConferenceRoomResponse {
if (json == null) {
return json;
}
return {
'name': json['name'],
'pin': json['pin'],
'moderatorPin': json['moderator_pin'],
'profile': json['profile'] == null ? undefined : json['profile'],
'userId': json['user_id'] == null ? undefined : json['user_id'],
'id': json['id'],
'siteId': json['site_id'],
'greetingUrl': json['greeting_url'] == null ? undefined : json['greeting_url'],
'musicOnHoldUrl': json['music_on_hold_url'] == null ? undefined : json['music_on_hold_url'],
'links': json['links'] == null ? undefined : ((json['links'] as Array<any>).map(LinkFromJSON)),
};
}
export function ConferenceRoomResponseToJSON(json: any): ConferenceRoomResponse {
return ConferenceRoomResponseToJSONTyped(json, false);
}
export function ConferenceRoomResponseToJSONTyped(value?: ConferenceRoomResponse | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'name': value['name'],
'pin': value['pin'],
'moderator_pin': value['moderatorPin'],
'profile': value['profile'],
'user_id': value['userId'],
'id': value['id'],
'site_id': value['siteId'],
'greeting_url': value['greetingUrl'],
'music_on_hold_url': value['musicOnHoldUrl'],
'links': value['links'] == null ? undefined : ((value['links'] as Array<any>).map(LinkToJSON)),
};
}