/* Options: Date: 2024-11-23 08:56:46 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: UpdateCustomer.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class AddCustomField implements IConvertible { int? Id; String? Value; AddCustomField({this.Id,this.Value}); AddCustomField.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Value = json['Value']; return this; } Map toJson() => { 'Id': Id, 'Value': Value }; getTypeName() => "AddCustomField"; TypeContext? context = _ctx; } class AddUserAccessKey implements IConvertible { String? Id; String? CompanyId; int? AccessKeyTypeId; String? Value; String? CustomerId; String? Description; AddUserAccessKey({this.Id,this.CompanyId,this.AccessKeyTypeId,this.Value,this.CustomerId,this.Description}); AddUserAccessKey.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; CompanyId = json['CompanyId']; AccessKeyTypeId = json['AccessKeyTypeId']; Value = json['Value']; CustomerId = json['CustomerId']; Description = json['Description']; return this; } Map toJson() => { 'Id': Id, 'CompanyId': CompanyId, 'AccessKeyTypeId': AccessKeyTypeId, 'Value': Value, 'CustomerId': CustomerId, 'Description': Description }; getTypeName() => "AddUserAccessKey"; TypeContext? context = _ctx; } class DeleteUserAccessKey implements IConvertible { String? Id; DeleteUserAccessKey({this.Id}); DeleteUserAccessKey.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; return this; } Map toJson() => { 'Id': Id }; getTypeName() => "DeleteUserAccessKey"; TypeContext? context = _ctx; } class InvoiceAddress implements IConvertible { String? CorporateIdentityNumber; String? InvoiceAddress1; String? InvoiceAddress2; String? InvoiceCity; String? InvoicePostalCode; String? InvoiceCountryCode; InvoiceAddress({this.CorporateIdentityNumber,this.InvoiceAddress1,this.InvoiceAddress2,this.InvoiceCity,this.InvoicePostalCode,this.InvoiceCountryCode}); InvoiceAddress.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CorporateIdentityNumber = json['CorporateIdentityNumber']; InvoiceAddress1 = json['InvoiceAddress1']; InvoiceAddress2 = json['InvoiceAddress2']; InvoiceCity = json['InvoiceCity']; InvoicePostalCode = json['InvoicePostalCode']; InvoiceCountryCode = json['InvoiceCountryCode']; return this; } Map toJson() => { 'CorporateIdentityNumber': CorporateIdentityNumber, 'InvoiceAddress1': InvoiceAddress1, 'InvoiceAddress2': InvoiceAddress2, 'InvoiceCity': InvoiceCity, 'InvoicePostalCode': InvoicePostalCode, 'InvoiceCountryCode': InvoiceCountryCode }; getTypeName() => "InvoiceAddress"; TypeContext? context = _ctx; } class CustomFieldValueResponse implements IConvertible { String? Value; CustomFieldValueResponse({this.Value}); CustomFieldValueResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Value = json['Value']; return this; } Map toJson() => { 'Value': Value }; getTypeName() => "CustomFieldValueResponse"; TypeContext? context = _ctx; } class CustomFieldConfigData implements IConvertible { /** * Custom field id */ // @ApiMember(Description="Custom field id") int? Id; /** * Configuration name. Example: 'Number of persons'. */ // @ApiMember(Description="Configuration name. Example: 'Number of persons'.") String? Name; /** * Custom field description. Example: 'For how many persons is this booking?' */ // @ApiMember(Description="Custom field description. Example: 'For how many persons is this booking?'") String? Description; /** * Field width. Example: 20 for 20px */ // @ApiMember(Description="Field width. Example: 20 for 20px") int? Width; /** * Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */ // @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'") String? DataType; /** * Default value of the field. Example: '3' */ // @ApiMember(Description="Default value of the field. Example: '3'") String? DefaultValue; /** * Determines if the field is required to have a value or not */ // @ApiMember(Description="Determines if the field is required to have a value or not") bool? IsMandatory; /** * Error message shown to the user if the field data is required but not entered */ // @ApiMember(Description="Error message shown to the user if the field data is required but not entered") String? MandatoryErrorMessage; /** * Max lenght of the field */ // @ApiMember(Description="Max lenght of the field") int? MaxLength; /** * If the field should have multiple lines */ // @ApiMember(Description="If the field should have multiple lines") bool? MultipleLineText; /** * Regular expression used for validation of the field */ // @ApiMember(Description="Regular expression used for validation of the field") String? RegEx; /** * Error message shown if the regular expression validation failed */ // @ApiMember(Description="Error message shown if the regular expression validation failed") String? RegExErrorMessage; /** * The values to select from if Datatype is DropDown for this custom field */ // @ApiMember(Description="The values to select from if Datatype is DropDown for this custom field") List? Values; CustomFieldConfigData({this.Id,this.Name,this.Description,this.Width,this.DataType,this.DefaultValue,this.IsMandatory,this.MandatoryErrorMessage,this.MaxLength,this.MultipleLineText,this.RegEx,this.RegExErrorMessage,this.Values}); CustomFieldConfigData.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Width = json['Width']; DataType = json['DataType']; DefaultValue = json['DefaultValue']; IsMandatory = json['IsMandatory']; MandatoryErrorMessage = json['MandatoryErrorMessage']; MaxLength = json['MaxLength']; MultipleLineText = json['MultipleLineText']; RegEx = json['RegEx']; RegExErrorMessage = json['RegExErrorMessage']; Values = JsonConverters.fromJson(json['Values'],'List',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Width': Width, 'DataType': DataType, 'DefaultValue': DefaultValue, 'IsMandatory': IsMandatory, 'MandatoryErrorMessage': MandatoryErrorMessage, 'MaxLength': MaxLength, 'MultipleLineText': MultipleLineText, 'RegEx': RegEx, 'RegExErrorMessage': RegExErrorMessage, 'Values': JsonConverters.toJson(Values,'List',context!) }; getTypeName() => "CustomFieldConfigData"; TypeContext? context = _ctx; } class CustomFieldDataResponse implements IConvertible { int? Id; String? Column; String? Name; String? Description; String? Value; /** * Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */ // @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'") String? DataType; CustomFieldDataResponse({this.Id,this.Column,this.Name,this.Description,this.Value,this.DataType}); CustomFieldDataResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Column = json['Column']; Name = json['Name']; Description = json['Description']; Value = json['Value']; DataType = json['DataType']; return this; } Map toJson() => { 'Id': Id, 'Column': Column, 'Name': Name, 'Description': Description, 'Value': Value, 'DataType': DataType }; getTypeName() => "CustomFieldDataResponse"; TypeContext? context = _ctx; } class BaseModel implements IConvertible { BaseModel(); BaseModel.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "BaseModel"; TypeContext? context = _ctx; } class UserAccessKeys extends BaseModel implements IConvertible { // @Required() String? CompanyId; // @Required() int? AccessKeyTypeId; // @Required() String? Value; // @Required() String? CustomerId; String? Description; // @Required() String? Id; UserAccessKeys({this.CompanyId,this.AccessKeyTypeId,this.Value,this.CustomerId,this.Description,this.Id}); UserAccessKeys.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); CompanyId = json['CompanyId']; AccessKeyTypeId = json['AccessKeyTypeId']; Value = json['Value']; CustomerId = json['CustomerId']; Description = json['Description']; Id = json['Id']; return this; } Map toJson() => super.toJson()..addAll({ 'CompanyId': CompanyId, 'AccessKeyTypeId': AccessKeyTypeId, 'Value': Value, 'CustomerId': CustomerId, 'Description': Description, 'Id': Id }); getTypeName() => "UserAccessKeys"; TypeContext? context = _ctx; } class CustomerCommentsResponse implements IConvertible { int? Id; String? CustomerId; String? Comments; DateTime? Updated; DateTime? Created; Uri? ImageUrl; CustomerCommentsResponse({this.Id,this.CustomerId,this.Comments,this.Updated,this.Created,this.ImageUrl}); CustomerCommentsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; CustomerId = json['CustomerId']; Comments = json['Comments']; Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!); Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!); return this; } Map toJson() => { 'Id': Id, 'CustomerId': CustomerId, 'Comments': Comments, 'Updated': JsonConverters.toJson(Updated,'DateTime',context!), 'Created': JsonConverters.toJson(Created,'DateTime',context!), 'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!) }; getTypeName() => "CustomerCommentsResponse"; TypeContext? context = _ctx; } class CustomerQueryResponse implements IConvertible { String? Id; String? Firstname; String? Lastname; String? Email; String? Phone; String? ImageUrl; List? CustomFields; List? CustomFieldValues; List? Comments; List? AccessKeys; DateTime? Updated; DateTime? Created; dynamic? ResponseStatus; bool? SubscribedToNewsletter; InvoiceAddress? InvoiceAddress; CustomerQueryResponse({this.Id,this.Firstname,this.Lastname,this.Email,this.Phone,this.ImageUrl,this.CustomFields,this.CustomFieldValues,this.Comments,this.AccessKeys,this.Updated,this.Created,this.ResponseStatus,this.SubscribedToNewsletter,this.InvoiceAddress}); CustomerQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Firstname = json['Firstname']; Lastname = json['Lastname']; Email = json['Email']; Phone = json['Phone']; ImageUrl = json['ImageUrl']; CustomFields = JsonConverters.fromJson(json['CustomFields'],'List',context!); CustomFieldValues = JsonConverters.fromJson(json['CustomFieldValues'],'List',context!); Comments = JsonConverters.fromJson(json['Comments'],'List',context!); AccessKeys = JsonConverters.fromJson(json['AccessKeys'],'List',context!); Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!); Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'dynamic',context!); SubscribedToNewsletter = json['SubscribedToNewsletter']; InvoiceAddress = JsonConverters.fromJson(json['InvoiceAddress'],'InvoiceAddress',context!); return this; } Map toJson() => { 'Id': Id, 'Firstname': Firstname, 'Lastname': Lastname, 'Email': Email, 'Phone': Phone, 'ImageUrl': ImageUrl, 'CustomFields': JsonConverters.toJson(CustomFields,'List',context!), 'CustomFieldValues': JsonConverters.toJson(CustomFieldValues,'List',context!), 'Comments': JsonConverters.toJson(Comments,'List',context!), 'AccessKeys': JsonConverters.toJson(AccessKeys,'List',context!), 'Updated': JsonConverters.toJson(Updated,'DateTime',context!), 'Created': JsonConverters.toJson(Created,'DateTime',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'dynamic',context!), 'SubscribedToNewsletter': SubscribedToNewsletter, 'InvoiceAddress': JsonConverters.toJson(InvoiceAddress,'InvoiceAddress',context!) }; getTypeName() => "CustomerQueryResponse"; TypeContext? context = _ctx; } // @Route("/customers/{Id}", "PUT") // @ApiResponse(Description="Returned if there is a validation error on the input parameters", StatusCode=400) // @ApiResponse(Description="Returned if the current user is not allowed to perform the action", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") class UpdateCustomer implements IReturn, IConvertible, IPut { /** * Enter the company and id for the customer, if blank company id and you are an admin, your company id will be used. */ // @ApiMember(Description="Enter the company and id for the customer, if blank company id and you are an admin, your company id will be used.", ParameterType="query") String? CompanyId; /** * customer id */ // @ApiMember(Description="customer id", IsRequired=true, ParameterType="path") String? Id; String? Firstname; String? Lastname; String? Phone; String? Email; /** * If Custom Fields are added to the customer, here you will send the id and the value for each custom field to be updated */ // @ApiMember(Description="If Custom Fields are added to the customer, here you will send the id and the value for each custom field to be updated") List? CustomFields; /** * List of Access Keys */ // @ApiMember(Description="List of Access Keys") List? AccessKeys; List? AccessKeysToDelete; bool? SubscribedToNewsletter; InvoiceAddress? InvoiceAddress; UpdateCustomer({this.CompanyId,this.Id,this.Firstname,this.Lastname,this.Phone,this.Email,this.CustomFields,this.AccessKeys,this.AccessKeysToDelete,this.SubscribedToNewsletter,this.InvoiceAddress}); UpdateCustomer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; Id = json['Id']; Firstname = json['Firstname']; Lastname = json['Lastname']; Phone = json['Phone']; Email = json['Email']; CustomFields = JsonConverters.fromJson(json['CustomFields'],'List',context!); AccessKeys = JsonConverters.fromJson(json['AccessKeys'],'List',context!); AccessKeysToDelete = JsonConverters.fromJson(json['AccessKeysToDelete'],'List',context!); SubscribedToNewsletter = json['SubscribedToNewsletter']; InvoiceAddress = JsonConverters.fromJson(json['InvoiceAddress'],'InvoiceAddress',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'Id': Id, 'Firstname': Firstname, 'Lastname': Lastname, 'Phone': Phone, 'Email': Email, 'CustomFields': JsonConverters.toJson(CustomFields,'List',context!), 'AccessKeys': JsonConverters.toJson(AccessKeys,'List',context!), 'AccessKeysToDelete': JsonConverters.toJson(AccessKeysToDelete,'List',context!), 'SubscribedToNewsletter': SubscribedToNewsletter, 'InvoiceAddress': JsonConverters.toJson(InvoiceAddress,'InvoiceAddress',context!) }; createResponse() => CustomerQueryResponse(); getResponseTypeName() => "CustomerQueryResponse"; getTypeName() => "UpdateCustomer"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'AddCustomField': TypeInfo(TypeOf.Class, create:() => AddCustomField()), 'AddUserAccessKey': TypeInfo(TypeOf.Class, create:() => AddUserAccessKey()), 'DeleteUserAccessKey': TypeInfo(TypeOf.Class, create:() => DeleteUserAccessKey()), 'InvoiceAddress': TypeInfo(TypeOf.Class, create:() => InvoiceAddress()), 'CustomFieldValueResponse': TypeInfo(TypeOf.Class, create:() => CustomFieldValueResponse()), 'CustomFieldConfigData': TypeInfo(TypeOf.Class, create:() => CustomFieldConfigData()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CustomFieldDataResponse': TypeInfo(TypeOf.Class, create:() => CustomFieldDataResponse()), 'BaseModel': TypeInfo(TypeOf.Class, create:() => BaseModel()), 'UserAccessKeys': TypeInfo(TypeOf.Class, create:() => UserAccessKeys()), 'CustomerCommentsResponse': TypeInfo(TypeOf.Class, create:() => CustomerCommentsResponse()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'CustomerQueryResponse': TypeInfo(TypeOf.Class, create:() => CustomerQueryResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'UpdateCustomer': TypeInfo(TypeOf.Class, create:() => UpdateCustomer()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), });