/* Options: Date: 2025-12-06 08:56:04 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://cochraneplus-api-dev.happen.zone //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SubmitThunderBoltAction.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible { /** * The API Key required for authentication */ // @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true) String? apiKey; /** * Latitude of the user making this request */ // @ApiMember(DataType="double", Description="Latitude of the user making this request") double? latitude; /** * Longitude of the user making this request */ // @ApiMember(DataType="double", Description="Longitude of the user making this request") double? longitude; ApiServiceRequest({this.apiKey,this.latitude,this.longitude}); ApiServiceRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { apiKey = json['apiKey']; latitude = JsonConverters.toDouble(json['latitude']); longitude = JsonConverters.toDouble(json['longitude']); return this; } Map toJson() => { 'apiKey': apiKey, 'latitude': latitude, 'longitude': longitude }; getTypeName() => "ApiServiceRequest"; TypeContext? context = _ctx; } abstract class IServiceRequest { } abstract class IHasApiKey { String? apiKey; } abstract class IHasDeviceInfo { } class ContactInteractionPlatform { static const ContactInteractionPlatform None = const ContactInteractionPlatform._(0); static const ContactInteractionPlatform Whatsapp = const ContactInteractionPlatform._(1); static const ContactInteractionPlatform Linkus = const ContactInteractionPlatform._(2); static const ContactInteractionPlatform Mobile = const ContactInteractionPlatform._(3); static const ContactInteractionPlatform Outlook = const ContactInteractionPlatform._(4); static const ContactInteractionPlatform LinkedIn = const ContactInteractionPlatform._(5); static const ContactInteractionPlatform Telegram = const ContactInteractionPlatform._(6); static const ContactInteractionPlatform Signal = const ContactInteractionPlatform._(7); static const ContactInteractionPlatform Sms = const ContactInteractionPlatform._(8); final int _value; const ContactInteractionPlatform._(this._value); int get value => _value; static List get values => const [None,Whatsapp,Linkus,Mobile,Outlook,LinkedIn,Telegram,Signal,Sms]; } class GetThunderBoltActionsResponse extends ApiServiceResponse implements IConvertible { int? dailyActionsNumber; int? supportingDocumentProbability; List? thunderBoltActions; List? thunderBoltActionEvents; List? contacts; GetThunderBoltActionsResponse({this.dailyActionsNumber,this.supportingDocumentProbability,this.thunderBoltActions,this.thunderBoltActionEvents,this.contacts}); GetThunderBoltActionsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); dailyActionsNumber = json['dailyActionsNumber']; supportingDocumentProbability = json['supportingDocumentProbability']; thunderBoltActions = JsonConverters.fromJson(json['thunderBoltActions'],'List',context!); thunderBoltActionEvents = JsonConverters.fromJson(json['thunderBoltActionEvents'],'List',context!); contacts = JsonConverters.fromJson(json['contacts'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'dailyActionsNumber': dailyActionsNumber, 'supportingDocumentProbability': supportingDocumentProbability, 'thunderBoltActions': JsonConverters.toJson(thunderBoltActions,'List',context!), 'thunderBoltActionEvents': JsonConverters.toJson(thunderBoltActionEvents,'List',context!), 'contacts': JsonConverters.toJson(contacts,'List',context!) }); getTypeName() => "GetThunderBoltActionsResponse"; TypeContext? context = _ctx; } class SubmitThunderBoltActionResponse extends GetThunderBoltActionsResponse implements IConvertible { int? thunderboltActionEventId; SubmitThunderBoltActionResponse({this.thunderboltActionEventId}); SubmitThunderBoltActionResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); thunderboltActionEventId = json['thunderboltActionEventId']; return this; } Map toJson() => super.toJson()..addAll({ 'thunderboltActionEventId': thunderboltActionEventId }); getTypeName() => "SubmitThunderBoltActionResponse"; TypeContext? context = _ctx; } // @Route("/thunderbolt/submit", "POST") class SubmitThunderBoltAction extends ApiServiceRequest implements IReturn, IConvertible, IPost { int? actionId; ContactInteractionPlatform? platform; String? number; String? email; String? notes; DateTime? dateTime; int? contactId; SubmitThunderBoltAction({this.actionId,this.platform,this.number,this.email,this.notes,this.dateTime,this.contactId}); SubmitThunderBoltAction.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); actionId = json['actionId']; platform = JsonConverters.fromJson(json['platform'],'ContactInteractionPlatform',context!); number = json['number']; email = json['email']; notes = json['notes']; dateTime = JsonConverters.fromJson(json['dateTime'],'DateTime',context!); contactId = json['contactId']; return this; } Map toJson() => super.toJson()..addAll({ 'actionId': actionId, 'platform': JsonConverters.toJson(platform,'ContactInteractionPlatform',context!), 'number': number, 'email': email, 'notes': notes, 'dateTime': JsonConverters.toJson(dateTime,'DateTime',context!), 'contactId': contactId }); createResponse() => SubmitThunderBoltActionResponse(); getResponseTypeName() => "SubmitThunderBoltActionResponse"; getTypeName() => "SubmitThunderBoltAction"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'cochraneplus_api_dev.happen.zone', types: { 'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()), 'IServiceRequest': TypeInfo(TypeOf.Interface), 'IHasApiKey': TypeInfo(TypeOf.Interface), 'IHasDeviceInfo': TypeInfo(TypeOf.Interface), 'ContactInteractionPlatform': TypeInfo(TypeOf.Enum, enumValues:ContactInteractionPlatform.values), 'GetThunderBoltActionsResponse': TypeInfo(TypeOf.Class, create:() => GetThunderBoltActionsResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ThunderBoltActionData': TypeInfo(TypeOf.Class, create:() => ThunderBoltActionData()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ThunderBoltActionEventData': TypeInfo(TypeOf.Class, create:() => ThunderBoltActionEventData()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ContactData': TypeInfo(TypeOf.Class, create:() => ContactData()), 'SubmitThunderBoltActionResponse': TypeInfo(TypeOf.Class, create:() => SubmitThunderBoltActionResponse()), 'SubmitThunderBoltAction': TypeInfo(TypeOf.Class, create:() => SubmitThunderBoltAction()), });