/* Options: Date: 2025-05-04 21:58:32 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AppGetFiles.* //ExcludeTypes: //DefaultImports: */ export class NodeParameterMap { [key:string] : NodeParameter; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IReturn { createResponse(): T; } export enum SortOrders { Ascend = 'Ascend', Descend = 'Descend', } export class ListRequest implements IGet { /** @description The page of data to retrieve */ // @ApiMember(Description="The page of data to retrieve") public page: number; /** @description If you want all objects to be returned. This should be used with care */ // @ApiMember(Description="If you want all objects to be returned. This should be used with care") public all: boolean; /** @description The number per page to retrieve */ // @ApiMember(Description="The number per page to retrieve") public countPerPage: number; /** @description Specific IDs */ // @ApiMember(Description="Specific IDs") public specificIds: string[]; /** @description Specify a sort field */ // @ApiMember(Description="Specify a sort field") public sortField: string; /** @description Specify a sort order */ // @ApiMember(Description="Specify a sort order") public sortOrder: SortOrders; /** @description Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array */ // @ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array") public simplifiedPaging: boolean; public constructor(init?: Partial>) { (Object as any).assign(this, init); } } export enum FileTypes { Upload = 'Upload', VoiceMessage = 'VoiceMessage', CallRecording = 'CallRecording', Fax = 'Fax', Attachment = 'Attachment', FaxOutgoing = 'FaxOutgoing', } export class EntityInfo { /** @description The ID of the object */ // @ApiMember(Description="The ID of the object") public id: string; /** @description The date the object was created */ // @ApiMember(Description="The date the object was created") public dateCreated: string; /** @description The date the object was last modified */ // @ApiMember(Description="The date the object was last modified") public dateLastModified: string; /** @description The user that created this object */ // @ApiMember(Description="The user that created this object") public createdBy: string; /** @description The user that last modified this object */ // @ApiMember(Description="The user that last modified this object") public lastModifiedBy: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ListResponse { /** @description The items */ // @ApiMember(Description="The items") public items: T[]; /** @description The total number of items */ // @ApiMember(Description="The total number of items") public totalCount: number; /** @description The total number of pages */ // @ApiMember(Description="The total number of pages") public totalPages: number; /** @description Are there more pages of items? Used with simplified paging */ // @ApiMember(Description="Are there more pages of items? Used with simplified paging") public hasMorePages: boolean; public constructor(init?: Partial>) { (Object as any).assign(this, init); } } export class CustomerBreadcrumb { public id: string; public name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class FileInfo extends EntityInfo { /** @description The type of file this is */ // @ApiMember(Description="The type of file this is") public type: FileTypes; /** @description The account ID this file is associated with */ // @ApiMember(Description="The account ID this file is associated with") public accountId: string; /** @description The name of the account this file is associated with */ // @ApiMember(Description="The name of the account this file is associated with") public accountName: string; /** @description The ID of the customer this file is associated with */ // @ApiMember(Description="The ID of the customer this file is associated with") public customerId: string; /** @description The name of the customer this file is associated with */ // @ApiMember(Description="The name of the customer this file is associated with") public customerName: string; /** @description The breadcrumb to the customer for this file */ // @ApiMember(Description="The breadcrumb to the customer for this file") public customerBreadcrumb: CustomerBreadcrumb[]; /** @description The ID of the user this file is assocaited with */ // @ApiMember(Description="The ID of the user this file is assocaited with") public userId: string; /** @description The name of the user this file is associated with */ // @ApiMember(Description="The name of the user this file is associated with") public userName: string; /** @description The original file name for the file */ // @ApiMember(Description="The original file name for the file") public fileName: string; /** @description The URI of the file */ // @ApiMember(Description="The URI of the file") public uri: string; /** @description The Content type of the file */ // @ApiMember(Description="The Content type of the file") public contentType: string; /** @description The size of the file */ // @ApiMember(Description="The size of the file") public contentLength: number; /** @description The Twilio ID of the recording */ // @ApiMember(Description="The Twilio ID of the recording") public recordingSid: string; /** @description The duration of the recording in seconds */ // @ApiMember(Description="The duration of the recording in seconds") public recordingDuration: number; /** @description Who is the recording from? */ // @ApiMember(Description="Who is the recording from?") public recordingFrom: string; /** @description Transcription (if available) */ // @ApiMember(Description="Transcription (if available)") public transcription: string; /** @description From Address (e.g. caller ID) for incoming calls */ // @ApiMember(Description="From Address (e.g. caller ID) for incoming calls") public fromAddress: string; /** @description To Address (e.g. dialed number) for outgoing calls */ // @ApiMember(Description="To Address (e.g. dialed number) for outgoing calls") public toAddress: string; /** @description The AI transcription for this call */ // @ApiMember(Description="The AI transcription for this call") public aiTranscription: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @Route("/portal/files", "GET") export class AppGetFiles extends ListRequest implements IReturn> { public accountId: string; public customerId: string; public dateCreatedStart: string; public dateCreatedEnd: string; public fileNameFilter: string; public type?: FileTypes; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'AppGetFiles'; } public getMethod() { return 'GET'; } public createResponse() { return new ListResponse(); } }