/* Options: Date: 2024-12-15 19:32:37 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://staging-api.billiecart.com.au //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateEmployerRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class PostOperationUnTenanted implements IPost { PostOperationUnTenanted(); PostOperationUnTenanted.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "PostOperationUnTenanted<$TResponse>"; TypeContext? context = _ctx; } abstract class PostOperationTenanted extends PostOperationUnTenanted implements ITenantedRequest { String? organisationId; PostOperationTenanted({this.organisationId}); PostOperationTenanted.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); organisationId = json['organisationId']; return this; } Map toJson() => super.toJson()..addAll({ 'organisationId': organisationId }); getTypeName() => "PostOperationTenanted<$TResponse>"; TypeContext? context = _ctx; } abstract class ITenantedRequest { String? organisationId; } class BusinessDetails implements IConvertible { String? tradingName; String? australianBusinessNumber; String? australianCompanyNumber; BusinessDetails({this.tradingName,this.australianBusinessNumber,this.australianCompanyNumber}); BusinessDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { tradingName = json['tradingName']; australianBusinessNumber = json['australianBusinessNumber']; australianCompanyNumber = json['australianCompanyNumber']; return this; } Map toJson() => { 'tradingName': tradingName, 'australianBusinessNumber': australianBusinessNumber, 'australianCompanyNumber': australianCompanyNumber }; getTypeName() => "BusinessDetails"; TypeContext? context = _ctx; } class Contact implements IConvertible { String? contactName; String? email; String? phoneNumber; String? preferredContactMethod; Contact({this.contactName,this.email,this.phoneNumber,this.preferredContactMethod}); Contact.fromJson(Map json) { fromMap(json); } fromMap(Map json) { contactName = json['contactName']; email = json['email']; phoneNumber = json['phoneNumber']; preferredContactMethod = json['preferredContactMethod']; return this; } Map toJson() => { 'contactName': contactName, 'email': email, 'phoneNumber': phoneNumber, 'preferredContactMethod': preferredContactMethod }; getTypeName() => "Contact"; TypeContext? context = _ctx; } class Address implements IConvertible { String? addressLine1; String? addressLine2; String? suburb; String? stateTerritory; String? postcode; Address({this.addressLine1,this.addressLine2,this.suburb,this.stateTerritory,this.postcode}); Address.fromJson(Map json) { fromMap(json); } fromMap(Map json) { addressLine1 = json['addressLine1']; addressLine2 = json['addressLine2']; suburb = json['suburb']; stateTerritory = json['stateTerritory']; postcode = json['postcode']; return this; } Map toJson() => { 'addressLine1': addressLine1, 'addressLine2': addressLine2, 'suburb': suburb, 'stateTerritory': stateTerritory, 'postcode': postcode }; getTypeName() => "Address"; TypeContext? context = _ctx; } class Employer implements IIdentifiableResource, IConvertible { String? name; BusinessDetails? businessDetails; Contact? contact; Address? postalAddress; Address? physicalAddress; String? id; Employer({this.name,this.businessDetails,this.contact,this.postalAddress,this.physicalAddress,this.id}); Employer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { name = json['name']; businessDetails = JsonConverters.fromJson(json['businessDetails'],'BusinessDetails',context!); contact = JsonConverters.fromJson(json['contact'],'Contact',context!); postalAddress = JsonConverters.fromJson(json['postalAddress'],'Address',context!); physicalAddress = JsonConverters.fromJson(json['physicalAddress'],'Address',context!); id = json['id']; return this; } Map toJson() => { 'name': name, 'businessDetails': JsonConverters.toJson(businessDetails,'BusinessDetails',context!), 'contact': JsonConverters.toJson(contact,'Contact',context!), 'postalAddress': JsonConverters.toJson(postalAddress,'Address',context!), 'physicalAddress': JsonConverters.toJson(physicalAddress,'Address',context!), 'id': id }; getTypeName() => "Employer"; TypeContext? context = _ctx; } abstract class IIdentifiableResource { String? id; } class CreateEmployerResponse implements IConvertible { ResponseStatus? responseStatus; Employer? employer; CreateEmployerResponse({this.responseStatus,this.employer}); CreateEmployerResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); employer = JsonConverters.fromJson(json['employer'],'Employer',context!); return this; } Map toJson() => { 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!), 'employer': JsonConverters.toJson(employer,'Employer',context!) }; getTypeName() => "CreateEmployerResponse"; TypeContext? context = _ctx; } // @Route("/employers", "POST") class CreateEmployerRequest extends PostOperationTenanted implements IReturn, IConvertible { String? name; CreateEmployerRequest({this.name}); CreateEmployerRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); name = json['name']; return this; } Map toJson() => super.toJson()..addAll({ 'name': name }); createResponse() => CreateEmployerResponse(); getResponseTypeName() => "CreateEmployerResponse"; getTypeName() => "CreateEmployerRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'staging_api.billiecart.com.au', types: { 'PostOperationUnTenanted': TypeInfo(TypeOf.AbstractClass), 'PostOperationTenanted': TypeInfo(TypeOf.AbstractClass), 'ITenantedRequest': TypeInfo(TypeOf.Interface), 'BusinessDetails': TypeInfo(TypeOf.Class, create:() => BusinessDetails()), 'Contact': TypeInfo(TypeOf.Class, create:() => Contact()), 'Address': TypeInfo(TypeOf.Class, create:() => Address()), 'Employer': TypeInfo(TypeOf.Class, create:() => Employer()), 'IIdentifiableResource': TypeInfo(TypeOf.Interface), 'CreateEmployerResponse': TypeInfo(TypeOf.Class, create:() => CreateEmployerResponse()), 'CreateEmployerRequest': TypeInfo(TypeOf.Class, create:() => CreateEmployerRequest()), });