/* Options: Date: 2025-05-04 23:43:53 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: ExportPackage.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class Struct extends Map implements IConvertible { Struct(); Struct.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); getTypeName() => "Struct"; TypeContext? context = _ctx; } class Value implements IConvertible { bool? boolValue; String? stringValue; double? numberValue; List? listValue; Struct? structValue; Value({this.boolValue,this.stringValue,this.numberValue,this.listValue,this.structValue}); Value.fromJson(Map json) { fromMap(json); } fromMap(Map json) { boolValue = json['boolValue']; stringValue = json['stringValue']; numberValue = JsonConverters.toDouble(json['numberValue']); listValue = JsonConverters.fromJson(json['listValue'],'List',context!); structValue = JsonConverters.fromJson(json['structValue'],'Struct',context!); return this; } Map toJson() => { 'boolValue': boolValue, 'stringValue': stringValue, 'numberValue': numberValue, 'listValue': JsonConverters.toJson(listValue,'List',context!), 'structValue': JsonConverters.toJson(structValue,'Struct',context!) }; getTypeName() => "Value"; TypeContext? context = _ctx; } enum UserDataFieldModes { Hidden, ReadOnly, ReadWrite, } enum EndpointTypes { PhoneNumber, User, FaxNumber, EmailAddress, Unused_1, Unused_2, Unused_3, Unused_4, Unused_5, Team, Assistant, } enum ValueTypes { NotSpecified, String, Boolean, Number, List, Struct, Transition, Custom, Date, AudioFile, TimeZoneId, PhoneNumber, User, Endpoint, Time, File, FaxNumber, EmailAccount, Customer, Flow, Team, FlowReference, Integration, Assistant, } enum UIHints { None, LargeText, InlineForm, Password, InlineStruct, } enum DataFieldUniqueness { NotUnique, Unique, UniqueToCustomer, } class DataField implements IConvertible { String? id; String? name; ValueTypes? type; UIHints? uiHint; String? uiTab; bool? isAsync; bool? disableBinding; DataType? structType; DataType? listType; String? description; List? possibleValues; bool? isOutput; String? customFieldValuesUrl; Value? defaultValue; String? transitionNameFormat; DataFieldUniqueness? uniqueness; bool? voiceOnly; String? conditionalVisibilityField; String? conditionalVisibilityValue; bool? noEvalTemplate; UserDataFieldModes? userMode; bool? anyValueType; DataField({this.id,this.name,this.type,this.uiHint,this.uiTab,this.isAsync,this.disableBinding,this.structType,this.listType,this.description,this.possibleValues,this.isOutput,this.customFieldValuesUrl,this.defaultValue,this.transitionNameFormat,this.uniqueness,this.voiceOnly,this.conditionalVisibilityField,this.conditionalVisibilityValue,this.noEvalTemplate,this.userMode,this.anyValueType}); DataField.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; name = json['name']; type = JsonConverters.fromJson(json['type'],'ValueTypes',context!); uiHint = JsonConverters.fromJson(json['uiHint'],'UIHints',context!); uiTab = json['uiTab']; isAsync = json['isAsync']; disableBinding = json['disableBinding']; structType = JsonConverters.fromJson(json['structType'],'DataType',context!); listType = JsonConverters.fromJson(json['listType'],'DataType',context!); description = json['description']; possibleValues = JsonConverters.fromJson(json['possibleValues'],'List',context!); isOutput = json['isOutput']; customFieldValuesUrl = json['customFieldValuesUrl']; defaultValue = JsonConverters.fromJson(json['defaultValue'],'Value',context!); transitionNameFormat = json['transitionNameFormat']; uniqueness = JsonConverters.fromJson(json['uniqueness'],'DataFieldUniqueness',context!); voiceOnly = json['voiceOnly']; conditionalVisibilityField = json['conditionalVisibilityField']; conditionalVisibilityValue = json['conditionalVisibilityValue']; noEvalTemplate = json['noEvalTemplate']; userMode = JsonConverters.fromJson(json['userMode'],'UserDataFieldModes',context!); anyValueType = json['anyValueType']; return this; } Map toJson() => { 'id': id, 'name': name, 'type': JsonConverters.toJson(type,'ValueTypes',context!), 'uiHint': JsonConverters.toJson(uiHint,'UIHints',context!), 'uiTab': uiTab, 'isAsync': isAsync, 'disableBinding': disableBinding, 'structType': JsonConverters.toJson(structType,'DataType',context!), 'listType': JsonConverters.toJson(listType,'DataType',context!), 'description': description, 'possibleValues': JsonConverters.toJson(possibleValues,'List',context!), 'isOutput': isOutput, 'customFieldValuesUrl': customFieldValuesUrl, 'defaultValue': JsonConverters.toJson(defaultValue,'Value',context!), 'transitionNameFormat': transitionNameFormat, 'uniqueness': JsonConverters.toJson(uniqueness,'DataFieldUniqueness',context!), 'voiceOnly': voiceOnly, 'conditionalVisibilityField': conditionalVisibilityField, 'conditionalVisibilityValue': conditionalVisibilityValue, 'noEvalTemplate': noEvalTemplate, 'userMode': JsonConverters.toJson(userMode,'UserDataFieldModes',context!), 'anyValueType': anyValueType }; getTypeName() => "DataField"; TypeContext? context = _ctx; } class DataType implements IConvertible { String? typeName; List? fields; DataType({this.typeName,this.fields}); DataType.fromJson(Map json) { fromMap(json); } fromMap(Map json) { typeName = json['typeName']; fields = JsonConverters.fromJson(json['fields'],'List',context!); return this; } Map toJson() => { 'typeName': typeName, 'fields': JsonConverters.toJson(fields,'List',context!) }; getTypeName() => "DataType"; TypeContext? context = _ctx; } class SystemSettingsField extends DataField implements IConvertible { Value? value; SystemSettingsField({this.value}); SystemSettingsField.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); value = JsonConverters.fromJson(json['value'],'Value',context!); return this; } Map toJson() => super.toJson()..addAll({ 'value': JsonConverters.toJson(value,'Value',context!) }); getTypeName() => "SystemSettingsField"; TypeContext? context = _ctx; } class CustomerDataField extends DataField implements IConvertible { bool? showInSearch; CustomerDataField({this.showInSearch}); CustomerDataField.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); showInSearch = json['showInSearch']; return this; } Map toJson() => super.toJson()..addAll({ 'showInSearch': showInSearch }); getTypeName() => "CustomerDataField"; TypeContext? context = _ctx; } class EndpointDataField extends DataField implements IConvertible { bool? showInSearch; bool? showInLists; EndpointTypes? endpointType; bool? isCallerId; bool? isKnob; EndpointDataField({this.showInSearch,this.showInLists,this.endpointType,this.isCallerId,this.isKnob}); EndpointDataField.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); showInSearch = json['showInSearch']; showInLists = json['showInLists']; endpointType = JsonConverters.fromJson(json['endpointType'],'EndpointTypes',context!); isCallerId = json['isCallerId']; isKnob = json['isKnob']; return this; } Map toJson() => super.toJson()..addAll({ 'showInSearch': showInSearch, 'showInLists': showInLists, 'endpointType': JsonConverters.toJson(endpointType,'EndpointTypes',context!), 'isCallerId': isCallerId, 'isKnob': isKnob }); getTypeName() => "EndpointDataField"; TypeContext? context = _ctx; } class FlowInfo extends EntityInfo implements IConvertible { /** * The name of this flow */ // @ApiMember(Description="The name of this flow") String? name; /** * The roles that this flow has */ // @ApiMember(Description="The roles that this flow has") List? roles; /** * What this flow does */ // @ApiMember(Description="What this flow does") String? description; /** * Any notes for this flow */ // @ApiMember(Description="Any notes for this flow") String? notes; /** * The ID of the account associated with the flow */ // @ApiMember(Description="The ID of the account associated with the flow") String? accountId; /** * The name of the account associated with the flow */ // @ApiMember(Description="The name of the account associated with the flow") String? accountName; /** * The ID of the customer this flow is associated with */ // @ApiMember(Description="The ID of the customer this flow is associated with") String? customerId; /** * The name of the customer this flow is associated with */ // @ApiMember(Description="The name of the customer this flow is associated with") String? customerName; /** * The breadcrumb to the flow for this endpoint */ // @ApiMember(Description="The breadcrumb to the flow for this endpoint") List? customerBreadcrumb; /** * The nodes in this flow */ // @ApiMember(Description="The nodes in this flow") List? nodes; /** * The flow's parameters */ // @ApiMember(Description="The flow's parameters") List? parameters; /** * The flow's exits */ // @ApiMember(Description="The flow's exits") List? exits; /** * The UI data for the flow */ // @ApiMember(Description="The UI data for the flow") FlowUI? ui; /** * The list of tags for this flow */ // @ApiMember(Description="The list of tags for this flow") List? tags; /** * The number of nodes in this flow */ // @ApiMember(Description="The number of nodes in this flow") int? nodeCount; FlowInfo({this.name,this.roles,this.description,this.notes,this.accountId,this.accountName,this.customerId,this.customerName,this.customerBreadcrumb,this.nodes,this.parameters,this.exits,this.ui,this.tags,this.nodeCount}); FlowInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); name = json['name']; roles = JsonConverters.fromJson(json['roles'],'List',context!); description = json['description']; notes = json['notes']; accountId = json['accountId']; accountName = json['accountName']; customerId = json['customerId']; customerName = json['customerName']; customerBreadcrumb = JsonConverters.fromJson(json['customerBreadcrumb'],'List',context!); nodes = JsonConverters.fromJson(json['nodes'],'List',context!); parameters = JsonConverters.fromJson(json['parameters'],'List',context!); exits = JsonConverters.fromJson(json['exits'],'List',context!); ui = JsonConverters.fromJson(json['ui'],'FlowUI',context!); tags = JsonConverters.fromJson(json['tags'],'List',context!); nodeCount = json['nodeCount']; return this; } Map toJson() => super.toJson()..addAll({ 'name': name, 'roles': JsonConverters.toJson(roles,'List',context!), 'description': description, 'notes': notes, 'accountId': accountId, 'accountName': accountName, 'customerId': customerId, 'customerName': customerName, 'customerBreadcrumb': JsonConverters.toJson(customerBreadcrumb,'List',context!), 'nodes': JsonConverters.toJson(nodes,'List',context!), 'parameters': JsonConverters.toJson(parameters,'List',context!), 'exits': JsonConverters.toJson(exits,'List',context!), 'ui': JsonConverters.toJson(ui,'FlowUI',context!), 'tags': JsonConverters.toJson(tags,'List',context!), 'nodeCount': nodeCount }); getTypeName() => "FlowInfo"; TypeContext? context = _ctx; } class PackageInfo implements IConvertible { List? flows; List? customerFields; List? endpointFields; List? systemFields; PackageInfo({this.flows,this.customerFields,this.endpointFields,this.systemFields}); PackageInfo.fromJson(Map json) { fromMap(json); } fromMap(Map json) { flows = JsonConverters.fromJson(json['flows'],'List',context!); customerFields = JsonConverters.fromJson(json['customerFields'],'List',context!); endpointFields = JsonConverters.fromJson(json['endpointFields'],'List',context!); systemFields = JsonConverters.fromJson(json['systemFields'],'List',context!); return this; } Map toJson() => { 'flows': JsonConverters.toJson(flows,'List',context!), 'customerFields': JsonConverters.toJson(customerFields,'List',context!), 'endpointFields': JsonConverters.toJson(endpointFields,'List',context!), 'systemFields': JsonConverters.toJson(systemFields,'List',context!) }; getTypeName() => "PackageInfo"; TypeContext? context = _ctx; } /** * Export the specified flows into a package */ // @Route("/packages", "GET") // @Api(Description="Export the specified flows into a package") class ExportPackage implements IReturn, IConvertible, IGet { /** * The ID of the account */ // @ApiMember(Description="The ID of the account") String? accountId; /** * The IDs of the flows to export */ // @ApiMember(Description="The IDs of the flows to export") List? flowIds; /** * Include all custom fields */ // @ApiMember(Description="Include all custom fields") bool? includeAllCustomFields; ExportPackage({this.accountId,this.flowIds,this.includeAllCustomFields}); ExportPackage.fromJson(Map json) { fromMap(json); } fromMap(Map json) { accountId = json['accountId']; flowIds = JsonConverters.fromJson(json['flowIds'],'List',context!); includeAllCustomFields = json['includeAllCustomFields']; return this; } Map toJson() => { 'accountId': accountId, 'flowIds': JsonConverters.toJson(flowIds,'List',context!), 'includeAllCustomFields': includeAllCustomFields }; createResponse() => PackageInfo(); getResponseTypeName() => "PackageInfo"; getTypeName() => "ExportPackage"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'team.evovoice.io', types: { 'Struct': TypeInfo(TypeOf.Class, create:() => Struct()), 'Value': TypeInfo(TypeOf.Class, create:() => Value()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'UserDataFieldModes': TypeInfo(TypeOf.Enum, enumValues:UserDataFieldModes.values), 'EndpointTypes': TypeInfo(TypeOf.Enum, enumValues:EndpointTypes.values), 'ValueTypes': TypeInfo(TypeOf.Enum, enumValues:ValueTypes.values), 'UIHints': TypeInfo(TypeOf.Enum, enumValues:UIHints.values), 'DataFieldUniqueness': TypeInfo(TypeOf.Enum, enumValues:DataFieldUniqueness.values), 'DataField': TypeInfo(TypeOf.Class, create:() => DataField()), 'DataType': TypeInfo(TypeOf.Class, create:() => DataType()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SystemSettingsField': TypeInfo(TypeOf.Class, create:() => SystemSettingsField()), 'CustomerDataField': TypeInfo(TypeOf.Class, create:() => CustomerDataField()), 'EndpointDataField': TypeInfo(TypeOf.Class, create:() => EndpointDataField()), 'FlowInfo': TypeInfo(TypeOf.Class, create:() => FlowInfo()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'FlowRoles': TypeInfo(TypeOf.Class, create:() => FlowRoles()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CustomerBreadcrumb': TypeInfo(TypeOf.Class, create:() => CustomerBreadcrumb()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'FlowNode': TypeInfo(TypeOf.Class, create:() => FlowNode()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'FlowParameter': TypeInfo(TypeOf.Class, create:() => FlowParameter()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'FlowExit': TypeInfo(TypeOf.Class, create:() => FlowExit()), 'FlowUI': TypeInfo(TypeOf.Class, create:() => FlowUI()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Tag': TypeInfo(TypeOf.Class, create:() => Tag()), 'PackageInfo': TypeInfo(TypeOf.Class, create:() => PackageInfo()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ExportPackage': TypeInfo(TypeOf.Class, create:() => ExportPackage()), });