/* Options: Date: 2026-10-01 12:30:30 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stubbur-app.azurewebsites.net //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: OutboundCampaignCreateRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class OutboundCampaignDevice implements IConvertible { String? token; String? platform; OutboundCampaignDevice({this.token,this.platform}); OutboundCampaignDevice.fromJson(Map json) { fromMap(json); } fromMap(Map json) { token = json['token']; platform = json['platform']; return this; } Map toJson() => { 'token': token, 'platform': platform }; getTypeName() => "OutboundCampaignDevice"; TypeContext? context = _ctx; } class OutboundCampaignPerson implements IConvertible { String? phone; String? email; List? devices; bool? pushConsent; bool? smsConsent; bool? emailConsent; String? payloadJson; OutboundCampaignPerson({this.phone,this.email,this.devices,this.pushConsent,this.smsConsent,this.emailConsent,this.payloadJson}); OutboundCampaignPerson.fromJson(Map json) { fromMap(json); } fromMap(Map json) { phone = json['phone']; email = json['email']; devices = JsonConverters.fromJson(json['devices'],'List',context!); pushConsent = json['pushConsent']; smsConsent = json['smsConsent']; emailConsent = json['emailConsent']; payloadJson = json['payloadJson']; return this; } Map toJson() => { 'phone': phone, 'email': email, 'devices': JsonConverters.toJson(devices,'List',context!), 'pushConsent': pushConsent, 'smsConsent': smsConsent, 'emailConsent': emailConsent, 'payloadJson': payloadJson }; getTypeName() => "OutboundCampaignPerson"; TypeContext? context = _ctx; } class OutboundCampaignResult implements IConvertible { int? campaignId; Map? decisions; Map? queuedByChannel; Map? messageStatuses; int? duplicates; int? noIdentity; int? statusCode; String? message; OutboundCampaignResult({this.campaignId,this.decisions,this.queuedByChannel,this.messageStatuses,this.duplicates,this.noIdentity,this.statusCode,this.message}); OutboundCampaignResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { campaignId = json['campaignId']; decisions = JsonConverters.fromJson(json['decisions'],'Map',context!); queuedByChannel = JsonConverters.fromJson(json['queuedByChannel'],'Map',context!); messageStatuses = JsonConverters.fromJson(json['messageStatuses'],'Map',context!); duplicates = json['duplicates']; noIdentity = json['noIdentity']; statusCode = json['statusCode']; message = json['message']; return this; } Map toJson() => { 'campaignId': campaignId, 'decisions': JsonConverters.toJson(decisions,'Map',context!), 'queuedByChannel': JsonConverters.toJson(queuedByChannel,'Map',context!), 'messageStatuses': JsonConverters.toJson(messageStatuses,'Map',context!), 'duplicates': duplicates, 'noIdentity': noIdentity, 'statusCode': statusCode, 'message': message }; getTypeName() => "OutboundCampaignResult"; TypeContext? context = _ctx; } // @Route("/Outbound/Campaigns", "POST") class OutboundCampaignCreateRequest implements IReturn, IConvertible { int? ownerId; String? name; String? lane; String? templateKey; String? payloadJson; String? channelOrder; int? holdoutPercent; String? guardKey; String? guardSubject; DateTime? sendAt; DateTime? expiresAt; String? audienceSource; List? people; OutboundCampaignCreateRequest({this.ownerId,this.name,this.lane,this.templateKey,this.payloadJson,this.channelOrder,this.holdoutPercent,this.guardKey,this.guardSubject,this.sendAt,this.expiresAt,this.audienceSource,this.people}); OutboundCampaignCreateRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ownerId = json['ownerId']; name = json['name']; lane = json['lane']; templateKey = json['templateKey']; payloadJson = json['payloadJson']; channelOrder = json['channelOrder']; holdoutPercent = json['holdoutPercent']; guardKey = json['guardKey']; guardSubject = json['guardSubject']; sendAt = JsonConverters.fromJson(json['sendAt'],'DateTime',context!); expiresAt = JsonConverters.fromJson(json['expiresAt'],'DateTime',context!); audienceSource = json['audienceSource']; people = JsonConverters.fromJson(json['people'],'List',context!); return this; } Map toJson() => { 'ownerId': ownerId, 'name': name, 'lane': lane, 'templateKey': templateKey, 'payloadJson': payloadJson, 'channelOrder': channelOrder, 'holdoutPercent': holdoutPercent, 'guardKey': guardKey, 'guardSubject': guardSubject, 'sendAt': JsonConverters.toJson(sendAt,'DateTime',context!), 'expiresAt': JsonConverters.toJson(expiresAt,'DateTime',context!), 'audienceSource': audienceSource, 'people': JsonConverters.toJson(people,'List',context!) }; createResponse() => OutboundCampaignResult(); getResponseTypeName() => "OutboundCampaignResult"; getTypeName() => "OutboundCampaignCreateRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: { 'OutboundCampaignDevice': TypeInfo(TypeOf.Class, create:() => OutboundCampaignDevice()), 'OutboundCampaignPerson': TypeInfo(TypeOf.Class, create:() => OutboundCampaignPerson()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'OutboundCampaignResult': TypeInfo(TypeOf.Class, create:() => OutboundCampaignResult()), 'Map': TypeInfo(TypeOf.Class, create:() => Map()), 'OutboundCampaignCreateRequest': TypeInfo(TypeOf.Class, create:() => OutboundCampaignCreateRequest()), 'List': TypeInfo(TypeOf.Class, create:() => []), });