/* Options: Date: 2026-10-01 10:22:38 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: SurveyCampaignCreateRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class SurveyCampaign implements IConvertible { int? id; // @StringLength(200) String? name; // @StringLength(16) String? status; // @StringLength(300) String? subject; // @StringLength(2147483647) String? bodyHtml; // @StringLength(300) String? reminderSubject; // @StringLength(2147483647) String? reminderBodyHtml; // @StringLength(320) String? fromEmail; // @StringLength(200) String? fromName; // @StringLength(8) String? language; int? reminderAfterDays; int? maxReminders; DateTime? createdAt; DateTime? sentAt; DateTime? closedAt; SurveyCampaign({this.id,this.name,this.status,this.subject,this.bodyHtml,this.reminderSubject,this.reminderBodyHtml,this.fromEmail,this.fromName,this.language,this.reminderAfterDays,this.maxReminders,this.createdAt,this.sentAt,this.closedAt}); SurveyCampaign.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; name = json['name']; status = json['status']; subject = json['subject']; bodyHtml = json['bodyHtml']; reminderSubject = json['reminderSubject']; reminderBodyHtml = json['reminderBodyHtml']; fromEmail = json['fromEmail']; fromName = json['fromName']; language = json['language']; reminderAfterDays = json['reminderAfterDays']; maxReminders = json['maxReminders']; createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!); sentAt = JsonConverters.fromJson(json['sentAt'],'DateTime',context!); closedAt = JsonConverters.fromJson(json['closedAt'],'DateTime',context!); return this; } Map toJson() => { 'id': id, 'name': name, 'status': status, 'subject': subject, 'bodyHtml': bodyHtml, 'reminderSubject': reminderSubject, 'reminderBodyHtml': reminderBodyHtml, 'fromEmail': fromEmail, 'fromName': fromName, 'language': language, 'reminderAfterDays': reminderAfterDays, 'maxReminders': maxReminders, 'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!), 'sentAt': JsonConverters.toJson(sentAt,'DateTime',context!), 'closedAt': JsonConverters.toJson(closedAt,'DateTime',context!) }; getTypeName() => "SurveyCampaign"; TypeContext? context = _ctx; } class SurveyCampaignStats implements IConvertible { int? recipients; int? pending; int? queued; int? sent; int? bounced; int? rejected; int? opened; int? clicked; int? responded; int? remindersSent; int? dueForReminder; SurveyCampaignStats({this.recipients,this.pending,this.queued,this.sent,this.bounced,this.rejected,this.opened,this.clicked,this.responded,this.remindersSent,this.dueForReminder}); SurveyCampaignStats.fromJson(Map json) { fromMap(json); } fromMap(Map json) { recipients = json['recipients']; pending = json['pending']; queued = json['queued']; sent = json['sent']; bounced = json['bounced']; rejected = json['rejected']; opened = json['opened']; clicked = json['clicked']; responded = json['responded']; remindersSent = json['remindersSent']; dueForReminder = json['dueForReminder']; return this; } Map toJson() => { 'recipients': recipients, 'pending': pending, 'queued': queued, 'sent': sent, 'bounced': bounced, 'rejected': rejected, 'opened': opened, 'clicked': clicked, 'responded': responded, 'remindersSent': remindersSent, 'dueForReminder': dueForReminder }; getTypeName() => "SurveyCampaignStats"; TypeContext? context = _ctx; } class SurveyCampaignResult implements IConvertible { SurveyCampaign? item; SurveyCampaignStats? stats; int? statusCode; String? message; SurveyCampaignResult({this.item,this.stats,this.statusCode,this.message}); SurveyCampaignResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { item = JsonConverters.fromJson(json['item'],'SurveyCampaign',context!); stats = JsonConverters.fromJson(json['stats'],'SurveyCampaignStats',context!); statusCode = json['statusCode']; message = json['message']; return this; } Map toJson() => { 'item': JsonConverters.toJson(item,'SurveyCampaign',context!), 'stats': JsonConverters.toJson(stats,'SurveyCampaignStats',context!), 'statusCode': statusCode, 'message': message }; getTypeName() => "SurveyCampaignResult"; TypeContext? context = _ctx; } // @Route("/SurveyCampaign", "POST") class SurveyCampaignCreateRequest implements IReturn, IConvertible { SurveyCampaign? item; SurveyCampaignCreateRequest({this.item}); SurveyCampaignCreateRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { item = JsonConverters.fromJson(json['item'],'SurveyCampaign',context!); return this; } Map toJson() => { 'item': JsonConverters.toJson(item,'SurveyCampaign',context!) }; createResponse() => SurveyCampaignResult(); getResponseTypeName() => "SurveyCampaignResult"; getTypeName() => "SurveyCampaignCreateRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: { 'SurveyCampaign': TypeInfo(TypeOf.Class, create:() => SurveyCampaign()), 'SurveyCampaignStats': TypeInfo(TypeOf.Class, create:() => SurveyCampaignStats()), 'SurveyCampaignResult': TypeInfo(TypeOf.Class, create:() => SurveyCampaignResult()), 'SurveyCampaignCreateRequest': TypeInfo(TypeOf.Class, create:() => SurveyCampaignCreateRequest()), });