/* Options: Date: 2025-01-18 07:41:31 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SyncCompanyCustomerMembers.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } class MemberTag implements IConvertible { int? Id; String? Name; DateTime? DateAdded; String? Status; MemberTag({this.Id,this.Name,this.DateAdded,this.Status}); MemberTag.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; DateAdded = JsonConverters.fromJson(json['DateAdded'],'DateTime',context!); Status = json['Status']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'DateAdded': JsonConverters.toJson(DateAdded,'DateTime',context!), 'Status': Status }; getTypeName() => "MemberTag"; TypeContext? context = _ctx; } class MemberResponse implements IConvertible { String? EmailAddress; String? FullName; List? Tags; MemberResponse({this.EmailAddress,this.FullName,this.Tags}); MemberResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { EmailAddress = json['EmailAddress']; FullName = json['FullName']; Tags = JsonConverters.fromJson(json['Tags'],'List',context!); return this; } Map toJson() => { 'EmailAddress': EmailAddress, 'FullName': FullName, 'Tags': JsonConverters.toJson(Tags,'List',context!) }; getTypeName() => "MemberResponse"; TypeContext? context = _ctx; } class SyncMembersResponse implements IConvertible { List? FailedSyncedMembers; List? SuccessSyncedMembers; SyncMembersResponse({this.FailedSyncedMembers,this.SuccessSyncedMembers}); SyncMembersResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { FailedSyncedMembers = JsonConverters.fromJson(json['FailedSyncedMembers'],'List',context!); SuccessSyncedMembers = JsonConverters.fromJson(json['SuccessSyncedMembers'],'List',context!); return this; } Map toJson() => { 'FailedSyncedMembers': JsonConverters.toJson(FailedSyncedMembers,'List',context!), 'SuccessSyncedMembers': JsonConverters.toJson(SuccessSyncedMembers,'List',context!) }; getTypeName() => "SyncMembersResponse"; TypeContext? context = _ctx; } // @Route("/mailchimp/member/company/customer/sync", "PUT") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) class SyncCompanyCustomerMembers implements IReturn, ICompany, IConvertible, IPut { /** * The company id, if empty will use the company id for the user you are logged in with. */ // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") String? CompanyId; /** * Should we delete emails that do not exist in BokaMera. */ // @ApiMember(Description="Should we delete emails that do not exist in BokaMera.") bool? DeleteNonExisting; /** * Should we target only subscribed to newsletter customers. */ // @ApiMember(Description="Should we target only subscribed to newsletter customers.") bool? OnlySubscribed; /** * Determines if it is a test user */ // @ApiMember(Description="Determines if it is a test user") bool? Test; SyncCompanyCustomerMembers({this.CompanyId,this.DeleteNonExisting,this.OnlySubscribed,this.Test}); SyncCompanyCustomerMembers.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; DeleteNonExisting = json['DeleteNonExisting']; OnlySubscribed = json['OnlySubscribed']; Test = json['Test']; return this; } Map toJson() => { 'CompanyId': CompanyId, 'DeleteNonExisting': DeleteNonExisting, 'OnlySubscribed': OnlySubscribed, 'Test': Test }; createResponse() => SyncMembersResponse(); getResponseTypeName() => "SyncMembersResponse"; getTypeName() => "SyncCompanyCustomerMembers"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'MemberTag': TypeInfo(TypeOf.Class, create:() => MemberTag()), 'MemberResponse': TypeInfo(TypeOf.Class, create:() => MemberResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SyncMembersResponse': TypeInfo(TypeOf.Class, create:() => SyncMembersResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SyncCompanyCustomerMembers': TypeInfo(TypeOf.Class, create:() => SyncCompanyCustomerMembers()), });