/* Options: Date: 2026-11-08 11:51:50 Version: 5.140 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://devapi.billhighway.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetCampaign.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class IReturnLegacyException { } class CampaignThemeImage implements IConvertible { String? BackgroundImage; String? Icon; CampaignThemeImage({this.BackgroundImage,this.Icon}); CampaignThemeImage.fromJson(Map json) { fromMap(json); } fromMap(Map json) { BackgroundImage = json['BackgroundImage']; Icon = json['Icon']; return this; } Map toJson() => { 'BackgroundImage': BackgroundImage, 'Icon': Icon }; getTypeName() => "CampaignThemeImage"; TypeContext? context = _ctx; } class CampaignTheme implements IConvertible { int? Id; String? Name; String? MainColor; String? SecondaryColor; CampaignThemeImage? iPhone; CampaignThemeImage? iPhoneRetina; CampaignTheme({this.Id,this.Name,this.MainColor,this.SecondaryColor,this.iPhone,this.iPhoneRetina}); CampaignTheme.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; MainColor = json['MainColor']; SecondaryColor = json['SecondaryColor']; iPhone = JsonConverters.fromJson(json['iPhone'],'CampaignThemeImage',context!); iPhoneRetina = JsonConverters.fromJson(json['iPhoneRetina'],'CampaignThemeImage',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'MainColor': MainColor, 'SecondaryColor': SecondaryColor, 'iPhone': JsonConverters.toJson(iPhone,'CampaignThemeImage',context!), 'iPhoneRetina': JsonConverters.toJson(iPhoneRetina,'CampaignThemeImage',context!) }; getTypeName() => "CampaignTheme"; TypeContext? context = _ctx; } class CampaignGoal implements IConvertible { double? Target; double? Actual; CampaignGoal({this.Target,this.Actual}); CampaignGoal.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Target = JsonConverters.toDouble(json['Target']); Actual = JsonConverters.toDouble(json['Actual']); return this; } Map toJson() => { 'Target': Target, 'Actual': Actual }; getTypeName() => "CampaignGoal"; TypeContext? context = _ctx; } class Signup implements IConvertible { bool? ShowOnNewMembership; bool? ShowOnSignupRenewal; bool? ShowOtherAmount; Signup({this.ShowOnNewMembership,this.ShowOnSignupRenewal,this.ShowOtherAmount}); Signup.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ShowOnNewMembership = json['ShowOnNewMembership']; ShowOnSignupRenewal = json['ShowOnSignupRenewal']; ShowOtherAmount = json['ShowOtherAmount']; return this; } Map toJson() => { 'ShowOnNewMembership': ShowOnNewMembership, 'ShowOnSignupRenewal': ShowOnSignupRenewal, 'ShowOtherAmount': ShowOtherAmount }; getTypeName() => "Signup"; TypeContext? context = _ctx; } class CampaignItem implements IConvertible { int? Id; String? Name; String? SubTitle; String? Description; bool? HasGoal; String? DetailUri; CampaignTheme? Theme; CampaignGoal? Goal; List? Levels; String? LogoUrl; String? HighResolutionLogoUrl; Signup? Signup; CampaignItem({this.Id,this.Name,this.SubTitle,this.Description,this.HasGoal,this.DetailUri,this.Theme,this.Goal,this.Levels,this.LogoUrl,this.HighResolutionLogoUrl,this.Signup}); CampaignItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; SubTitle = json['SubTitle']; Description = json['Description']; HasGoal = json['HasGoal']; DetailUri = json['DetailUri']; Theme = JsonConverters.fromJson(json['Theme'],'CampaignTheme',context!); Goal = JsonConverters.fromJson(json['Goal'],'CampaignGoal',context!); Levels = JsonConverters.fromJson(json['Levels'],'List',context!); LogoUrl = json['LogoUrl']; HighResolutionLogoUrl = json['HighResolutionLogoUrl']; Signup = JsonConverters.fromJson(json['Signup'],'Signup',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'SubTitle': SubTitle, 'Description': Description, 'HasGoal': HasGoal, 'DetailUri': DetailUri, 'Theme': JsonConverters.toJson(Theme,'CampaignTheme',context!), 'Goal': JsonConverters.toJson(Goal,'CampaignGoal',context!), 'Levels': JsonConverters.toJson(Levels,'List',context!), 'LogoUrl': LogoUrl, 'HighResolutionLogoUrl': HighResolutionLogoUrl, 'Signup': JsonConverters.toJson(Signup,'Signup',context!) }; getTypeName() => "CampaignItem"; TypeContext? context = _ctx; } // @Route("/v1.1/campaigns/get/{campaignId*}", "GET") // @Route("/v1.2/campaigns/get/{campaignId*}", "GET") class GetCampaign extends GetCampaign implements IReturn, IReturnLegacyException, IConvertible { GetCampaign(); GetCampaign.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => CampaignItem(); getResponseTypeName() => "CampaignItem"; getTypeName() => "GetCampaign"; TypeContext? context = _ctx; } class GetCampaign implements IConvertible { int? campaignId; GetCampaign({this.campaignId}); GetCampaign.fromJson(Map json) { fromMap(json); } fromMap(Map json) { campaignId = json['campaignId']; return this; } Map toJson() => { 'campaignId': campaignId }; getTypeName() => "GetCampaign"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: { 'IReturnLegacyException': TypeInfo(TypeOf.Interface), 'CampaignThemeImage': TypeInfo(TypeOf.Class, create:() => CampaignThemeImage()), 'CampaignTheme': TypeInfo(TypeOf.Class, create:() => CampaignTheme()), 'CampaignGoal': TypeInfo(TypeOf.Class, create:() => CampaignGoal()), 'Signup': TypeInfo(TypeOf.Class, create:() => Signup()), 'CampaignItem': TypeInfo(TypeOf.Class, create:() => CampaignItem()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CampaignLevel': TypeInfo(TypeOf.Class, create:() => CampaignLevel()), 'GetCampaign': TypeInfo(TypeOf.Class, create:() => GetCampaign()), });