/* Options: Date: 2025-05-04 23:30:19 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetMyFiles.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; enum FileTypes { Upload, VoiceMessage, CallRecording, Fax, Attachment, FaxOutgoing, } class FileInfo extends EntityInfo implements IConvertible { /** * The type of file this is */ // @ApiMember(Description="The type of file this is") FileTypes? type; /** * The account ID this file is associated with */ // @ApiMember(Description="The account ID this file is associated with") String? accountId; /** * The name of the account this file is associated with */ // @ApiMember(Description="The name of the account this file is associated with") String? accountName; /** * The ID of the customer this file is associated with */ // @ApiMember(Description="The ID of the customer this file is associated with") String? customerId; /** * The name of the customer this file is associated with */ // @ApiMember(Description="The name of the customer this file is associated with") String? customerName; /** * The breadcrumb to the customer for this file */ // @ApiMember(Description="The breadcrumb to the customer for this file") List? customerBreadcrumb; /** * The ID of the user this file is assocaited with */ // @ApiMember(Description="The ID of the user this file is assocaited with") String? userId; /** * The name of the user this file is associated with */ // @ApiMember(Description="The name of the user this file is associated with") String? userName; /** * The original file name for the file */ // @ApiMember(Description="The original file name for the file") String? fileName; /** * The URI of the file */ // @ApiMember(Description="The URI of the file") String? uri; /** * The Content type of the file */ // @ApiMember(Description="The Content type of the file") String? contentType; /** * The size of the file */ // @ApiMember(Description="The size of the file") int? contentLength; /** * The Twilio ID of the recording */ // @ApiMember(Description="The Twilio ID of the recording") String? recordingSid; /** * The duration of the recording in seconds */ // @ApiMember(Description="The duration of the recording in seconds") int? recordingDuration; /** * Who is the recording from? */ // @ApiMember(Description="Who is the recording from?") String? recordingFrom; /** * Transcription (if available) */ // @ApiMember(Description="Transcription (if available)") String? transcription; /** * From Address (e.g. caller ID) for incoming calls */ // @ApiMember(Description="From Address (e.g. caller ID) for incoming calls") String? fromAddress; /** * To Address (e.g. dialed number) for outgoing calls */ // @ApiMember(Description="To Address (e.g. dialed number) for outgoing calls") String? toAddress; /** * The AI transcription for this call */ // @ApiMember(Description="The AI transcription for this call") String? aiTranscription; FileInfo({this.type,this.accountId,this.accountName,this.customerId,this.customerName,this.customerBreadcrumb,this.userId,this.userName,this.fileName,this.uri,this.contentType,this.contentLength,this.recordingSid,this.recordingDuration,this.recordingFrom,this.transcription,this.fromAddress,this.toAddress,this.aiTranscription}); FileInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); type = JsonConverters.fromJson(json['type'],'FileTypes',context!); accountId = json['accountId']; accountName = json['accountName']; customerId = json['customerId']; customerName = json['customerName']; customerBreadcrumb = JsonConverters.fromJson(json['customerBreadcrumb'],'List',context!); userId = json['userId']; userName = json['userName']; fileName = json['fileName']; uri = json['uri']; contentType = json['contentType']; contentLength = json['contentLength']; recordingSid = json['recordingSid']; recordingDuration = json['recordingDuration']; recordingFrom = json['recordingFrom']; transcription = json['transcription']; fromAddress = json['fromAddress']; toAddress = json['toAddress']; aiTranscription = json['aiTranscription']; return this; } Map toJson() => super.toJson()..addAll({ 'type': JsonConverters.toJson(type,'FileTypes',context!), 'accountId': accountId, 'accountName': accountName, 'customerId': customerId, 'customerName': customerName, 'customerBreadcrumb': JsonConverters.toJson(customerBreadcrumb,'List',context!), 'userId': userId, 'userName': userName, 'fileName': fileName, 'uri': uri, 'contentType': contentType, 'contentLength': contentLength, 'recordingSid': recordingSid, 'recordingDuration': recordingDuration, 'recordingFrom': recordingFrom, 'transcription': transcription, 'fromAddress': fromAddress, 'toAddress': toAddress, 'aiTranscription': aiTranscription }); getTypeName() => "FileInfo"; TypeContext? context = _ctx; } class GetMyFilesResponse implements IConvertible { List? files; GetMyFilesResponse({this.files}); GetMyFilesResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { files = JsonConverters.fromJson(json['files'],'List',context!); return this; } Map toJson() => { 'files': JsonConverters.toJson(files,'List',context!) }; getTypeName() => "GetMyFilesResponse"; TypeContext? context = _ctx; } /** * Gets the files associated with the authenticated user */ // @Route("/app/files", "GET") // @Api(Description="Gets the files associated with the authenticated user") class GetMyFiles implements IReturn, IPost, IConvertible { /** * Filter by type */ // @ApiMember(Description="Filter by type") List? fileTypes; GetMyFiles({this.fileTypes}); GetMyFiles.fromJson(Map json) { fromMap(json); } fromMap(Map json) { fileTypes = JsonConverters.fromJson(json['fileTypes'],'List',context!); return this; } Map toJson() => { 'fileTypes': JsonConverters.toJson(fileTypes,'List',context!) }; createResponse() => GetMyFilesResponse(); getResponseTypeName() => "GetMyFilesResponse"; getTypeName() => "GetMyFiles"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'team.evovoice.io', types: { 'FileTypes': TypeInfo(TypeOf.Enum, enumValues:FileTypes.values), 'FileInfo': TypeInfo(TypeOf.Class, create:() => FileInfo()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CustomerBreadcrumb': TypeInfo(TypeOf.Class, create:() => CustomerBreadcrumb()), 'GetMyFilesResponse': TypeInfo(TypeOf.Class, create:() => GetMyFilesResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetMyFiles': TypeInfo(TypeOf.Class, create:() => GetMyFiles()), 'List': TypeInfo(TypeOf.Class, create:() => []), });