/* Options: Date: 2025-09-15 16:37:41 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bookmore.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: UpdateUser.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/users", "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") public class UpdateUser : IReturn, Codable { public typealias Return = UpdateUserResponse /** * The user id for your profile. */ // @ApiMember(Description="The user id for your profile.") public var userId:String? public var newEmail:String? public var userProfile:UpdateCustomerProfile? public var adminProfile:UpdateAdminProfile? /** * The user realm for identity server. BookMore = 1, BookMoreAdmin = 2 */ // @ApiMember(Description="The user realm for identity server. BookMore = 1, BookMoreAdmin = 2 ", IsRequired=true) public var realm:KeyCloakRealm? public var invoiceAddress:InvoiceAddressToHandle? required public init(){} } public class UpdateUserResponse : Codable { public var responseStatus:String? /** * The user id for your profile. */ // @ApiMember(Description="The user id for your profile.", IsRequired=true) public var userId:String? public var userProfile:UserProfileResponse? public var adminProfile:AdminProfile? public var isSentConfirmationUpdateEmail:Bool? public var invoiceAddress:InvoiceAddressResponse? required public init(){} } public class InvoiceAddressToHandle : Codable { public var corporateIdentityNumber:String? public var invoiceAddress1:String? public var invoiceAddress2:String? public var invoiceCity:String? public var invoicePostalCode:String? public var invoiceCountryCode:String? required public init(){} } public class InvoiceAddressResponse : Codable { public var invoiceAddressId:String? public var userId:String? public var corporateIdentityNumber:String? public var invoiceAddress1:String? public var invoiceAddress2:String? public var invoiceCity:String? public var invoicePostalCode:String? public var invoiceCountryCode:String? required public init(){} } public class UpdateCustomerProfile : Codable { public var firstname:String? public var lastname:String? public var phone:String? public var email:String? public var invoiceAddress:InvoiceAddressResponse? required public init(){} } public class UpdateAdminProfile : Codable { public var firstname:String? public var lastname:String? public var phone:String? public var email:String? required public init(){} } public enum KeyCloakRealm : Int, Codable { case BookMore = 1 case BookMoreAdmin = 2 case SuperAdmin = 3 } public class UserProfileResponse : Codable { public var id:String? public var firstname:String? public var lastname:String? public var phone:String? public var email:String? public var invoiceAddress:InvoiceAddressResponse? required public init(){} } public class AdminProfile : Codable { public var companyId:String? public var id:String? public var firstname:String? public var lastname:String? public var email:String? public var workerId:String? public var phone:String? required public init(){} }