/* Options: Date: 2024-05-09 21:14:15 SwiftVersion: 5.0 Version: 6.111 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://northwind.netcore.io //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: CachedGetCustomerDetails.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/cached/customers/{Id}") public class CachedGetCustomerDetails : IReturn, IGet, Codable { public typealias Return = CustomerDetailsResponse public var id:String required public init(){} } // @DataContract public class CustomerDetailsResponse : Codable { // @DataMember public var customer:Customer // @DataMember public var orders:[CustomerOrder] = [] // @DataMember public var responseStatus:ResponseStatus required public init(){} } // @DataContract public class Customer : Codable { // @DataMember public var id:String // @DataMember public var companyName:String // @DataMember public var contactName:String // @DataMember public var contactTitle:String // @DataMember public var address:String // @DataMember public var city:String // @DataMember public var region:String // @DataMember public var postalCode:String // @DataMember public var country:String // @DataMember public var phone:String // @DataMember public var fax:String required public init(){} } // @DataContract public class Order : Codable { // @DataMember public var id:Int // @DataMember public var customerId:String // @DataMember public var employeeId:Int // @DataMember public var orderDate:Date? // @DataMember public var requiredDate:Date? // @DataMember public var shippedDate:Date? // @DataMember public var shipVia:Int? // @DataMember public var freight:Double // @DataMember public var shipName:String // @DataMember public var shipAddress:String // @DataMember public var shipCity:String // @DataMember public var shipRegion:String // @DataMember public var shipPostalCode:String // @DataMember public var shipCountry:String required public init(){} } // @DataContract public class CustomerOrder : Codable { // @DataMember public var order:Order // @DataMember public var orderDetails:[OrderDetail] = [] required public init(){} } // @DataContract public class OrderDetail : Codable { // @DataMember public var orderId:Int // @DataMember public var productId:Int // @DataMember public var unitPrice:Double // @DataMember public var quantity:Int16 // @DataMember public var discount:Double required public init(){} }