@apideck/node
Version:
Apideck Node.js SDK
275 lines (268 loc) • 7.05 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* Apideck
* The Apideck OpenAPI Spec: SDK Optimized
*
* The version of the OpenAPI document: 10.13.0
* Contact: support@apideck.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists } from '../runtime'
import { PassThroughBody, PassThroughBodyFromJSON, PassThroughBodyToJSON } from './PassThroughBody'
import { Price, PriceFromJSON, PriceToJSON } from './Price'
/**
*
* @export
* @interface Message
*/
export interface Message {
/**
* The phone number that initiated the message.
* @type {string}
* @memberof Message
*/
from: string
/**
* The phone number that received the message.
* @type {string}
* @memberof Message
*/
to: string
/**
* The message text.
* @type {string}
* @memberof Message
*/
body: string
/**
* A unique identifier for an object.
* @type {string}
* @memberof Message
*/
readonly id?: string
/**
*
* @type {string}
* @memberof Message
*/
subject?: string
/**
* Set to sms for SMS messages and mms for MMS messages.
* @type {string}
* @memberof Message
*/
type?: MessageType
/**
* The number of units that make up the complete message. Messages can be split up due to the constraints of the message size.
* @type {number}
* @memberof Message
*/
readonly number_of_units?: number
/**
* The number of media files associated with the message.
* @type {number}
* @memberof Message
*/
readonly number_of_media_files?: number
/**
* The direction of the message.
* @type {string}
* @memberof Message
*/
readonly direction?: MessageDirection
/**
* Status of the delivery of the message.
* @type {string}
* @memberof Message
*/
readonly status?: MessageStatus
/**
* The scheduled date and time of the message.
* @type {Date}
* @memberof Message
*/
scheduled_at?: Date
/**
* The date and time that the message was sent
* @type {Date}
* @memberof Message
*/
readonly sent_at?: Date
/**
* Define a webhook to receive delivery notifications.
* @type {string}
* @memberof Message
*/
webhook_url?: string
/**
* A client reference.
* @type {string}
* @memberof Message
*/
reference?: string
/**
*
* @type {Price}
* @memberof Message
*/
price?: Price
/**
*
* @type {Error}
* @memberof Message
*/
error?: Error
/**
* The ID of the Messaging Service used with the message. In case of Plivo this links to the Powerpack ID.
* @type {string}
* @memberof Message
*/
messaging_service_id?: string
/**
* When custom mappings are configured on the resource, the result is included here.
* @type {object}
* @memberof Message
*/
readonly custom_mappings?: object | null
/**
* The user who last updated the object.
* @type {string}
* @memberof Message
*/
readonly updated_by?: string | null
/**
* The user who created the object.
* @type {string}
* @memberof Message
*/
readonly created_by?: string | null
/**
* The date and time when the object was last updated.
* @type {Date}
* @memberof Message
*/
readonly updated_at?: Date | null
/**
* The date and time when the object was created.
* @type {Date}
* @memberof Message
*/
readonly created_at?: Date | null
/**
*
* @type {PassThroughBody}
* @memberof Message
*/
pass_through?: PassThroughBody
}
/**
* @export
* @enum {string}
*/
export enum MessageType {
sms = 'sms',
mms = 'mms'
}
/**
* @export
* @enum {string}
*/
export enum MessageDirection {
inbound = 'inbound',
outbound_api = 'outbound-api',
outbound_call = 'outbound-call',
outbound_reply = 'outbound-reply',
unknown = 'unknown'
}
/**
* @export
* @enum {string}
*/
export enum MessageStatus {
accepted = 'accepted',
scheduled = 'scheduled',
canceled = 'canceled',
queued = 'queued',
sending = 'sending',
sent = 'sent',
failed = 'failed',
delivered = 'delivered',
undelivered = 'undelivered',
receiving = 'receiving',
received = 'received',
read = 'read'
}
export function MessageFromJSON(json: any): Message {
return MessageFromJSONTyped(json, false)
}
export function MessageFromJSONTyped(json: any, ignoreDiscriminator: boolean): Message {
if (json === undefined || json === null) {
return json
}
return {
from: json['from'],
to: json['to'],
body: json['body'],
id: !exists(json, 'id') ? undefined : json['id'],
subject: !exists(json, 'subject') ? undefined : json['subject'],
type: !exists(json, 'type') ? undefined : json['type'],
number_of_units: !exists(json, 'number_of_units') ? undefined : json['number_of_units'],
number_of_media_files: !exists(json, 'number_of_media_files')
? undefined
: json['number_of_media_files'],
direction: !exists(json, 'direction') ? undefined : json['direction'],
status: !exists(json, 'status') ? undefined : json['status'],
scheduled_at: !exists(json, 'scheduled_at') ? undefined : new Date(json['scheduled_at']),
sent_at: !exists(json, 'sent_at') ? undefined : new Date(json['sent_at']),
webhook_url: !exists(json, 'webhook_url') ? undefined : json['webhook_url'],
reference: !exists(json, 'reference') ? undefined : json['reference'],
price: !exists(json, 'price') ? undefined : PriceFromJSON(json['price']),
error: !exists(json, 'error') ? undefined : json['error'],
messaging_service_id: !exists(json, 'messaging_service_id')
? undefined
: json['messaging_service_id'],
custom_mappings: !exists(json, 'custom_mappings') ? undefined : json['custom_mappings'],
updated_by: !exists(json, 'updated_by') ? undefined : json['updated_by'],
created_by: !exists(json, 'created_by') ? undefined : json['created_by'],
updated_at: !exists(json, 'updated_at')
? undefined
: json['updated_at'] === null
? null
: new Date(json['updated_at']),
created_at: !exists(json, 'created_at')
? undefined
: json['created_at'] === null
? null
: new Date(json['created_at']),
pass_through: !exists(json, 'pass_through')
? undefined
: PassThroughBodyFromJSON(json['pass_through'])
}
}
export function MessageToJSON(value?: Message | null): any {
if (value === undefined) {
return undefined
}
if (value === null) {
return null
}
return {
from: value.from,
to: value.to,
body: value.body,
subject: value.subject,
type: value.type,
scheduled_at:
value.scheduled_at === undefined ? undefined : new Date(value.scheduled_at).toISOString(),
webhook_url: value.webhook_url,
reference: value.reference,
price: PriceToJSON(value.price),
error: value.error,
messaging_service_id: value.messaging_service_id,
pass_through: PassThroughBodyToJSON(value.pass_through)
}
}