/* Options: Date: 2025-08-02 21:39:03 SwiftVersion: 5.0 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://szallitoiportal-be.veolia.hu //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: BrowseSupplierAddress.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/supplier/{supplierid}/address/{supplieraddressid}", "GET") public class BrowseSupplierAddress : IReturn, IGet, Codable { public typealias Return = BrowseSupplierAddressResponse public var supplierId:Int public var supplierAddressId:Int required public init(){} } public class BrowseSupplierAddressResponse : ResponseBase { public var supplierAddress:SupplierAddressSimple required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case supplierAddress } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) supplierAddress = try container.decodeIfPresent(SupplierAddressSimple.self, forKey: .supplierAddress) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if supplierAddress != nil { try container.encode(supplierAddress, forKey: .supplierAddress) } } } public protocol IConcurrencyStamp { var concurrencyStamp:String { get set } } public enum AddressType : Int, Codable { case Postal = 0 case HeadQuarters = 1 case Site = 2 } public class SupplierAddressBase : ModifyRequestBase { public var countryId:Int public var addressType:AddressType public var zipCode:String public var city:String public var address:String public var streetAddress:String public var streetType:String public var houseNumber:String public var building:String public var staircase:String public var floor:String public var door:String public var pob:String public var other:String required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case countryId case addressType case zipCode case city case address case streetAddress case streetType case houseNumber case building case staircase case floor case door case pob case other } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) countryId = try container.decodeIfPresent(Int.self, forKey: .countryId) addressType = try container.decodeIfPresent(AddressType.self, forKey: .addressType) zipCode = try container.decodeIfPresent(String.self, forKey: .zipCode) city = try container.decodeIfPresent(String.self, forKey: .city) address = try container.decodeIfPresent(String.self, forKey: .address) streetAddress = try container.decodeIfPresent(String.self, forKey: .streetAddress) streetType = try container.decodeIfPresent(String.self, forKey: .streetType) houseNumber = try container.decodeIfPresent(String.self, forKey: .houseNumber) building = try container.decodeIfPresent(String.self, forKey: .building) staircase = try container.decodeIfPresent(String.self, forKey: .staircase) floor = try container.decodeIfPresent(String.self, forKey: .floor) door = try container.decodeIfPresent(String.self, forKey: .door) pob = try container.decodeIfPresent(String.self, forKey: .pob) other = try container.decodeIfPresent(String.self, forKey: .other) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if countryId != nil { try container.encode(countryId, forKey: .countryId) } if addressType != nil { try container.encode(addressType, forKey: .addressType) } if zipCode != nil { try container.encode(zipCode, forKey: .zipCode) } if city != nil { try container.encode(city, forKey: .city) } if address != nil { try container.encode(address, forKey: .address) } if streetAddress != nil { try container.encode(streetAddress, forKey: .streetAddress) } if streetType != nil { try container.encode(streetType, forKey: .streetType) } if houseNumber != nil { try container.encode(houseNumber, forKey: .houseNumber) } if building != nil { try container.encode(building, forKey: .building) } if staircase != nil { try container.encode(staircase, forKey: .staircase) } if floor != nil { try container.encode(floor, forKey: .floor) } if door != nil { try container.encode(door, forKey: .door) } if pob != nil { try container.encode(pob, forKey: .pob) } if other != nil { try container.encode(other, forKey: .other) } } } public class ResponseBase : Codable { public var responseStatus:ResponseStatus required public init(){} } public class SupplierAddressSimple : SupplierAddressBase { public var id:Int public var countryCode:String public var countryName:String required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case id case countryCode case countryName } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) id = try container.decodeIfPresent(Int.self, forKey: .id) countryCode = try container.decodeIfPresent(String.self, forKey: .countryCode) countryName = try container.decodeIfPresent(String.self, forKey: .countryName) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if id != nil { try container.encode(id, forKey: .id) } if countryCode != nil { try container.encode(countryCode, forKey: .countryCode) } if countryName != nil { try container.encode(countryName, forKey: .countryName) } } } public class ModifyRequestBase : IConcurrencyStamp, Codable { public var concurrencyStamp:String required public init(){} }