/* Options: Date: 2025-04-11 20:29:37 SwiftVersion: 5.0 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: GetVossProducts.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/voss/products", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) public class GetVossProducts : IReturn, ICompany, Codable { public typealias Return = SearchProductsResult /** * The company id, if empty will use the company id for the user you are logged in with. */ // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") public var companyId:String? required public init(){} } // @DataContract(Name="SearchProductsResult") public class SearchProductsResult : Codable { // @DataMember(Name="items", EmitDefaultValue=false) public var items:[ProductResult] = [] // @DataMember(Name="totalCount", EmitDefaultValue=false) public var totalCount:Int // @DataMember(Name="pageIndex", EmitDefaultValue=false) public var pageIndex:Int // @DataMember(Name="pageSize", EmitDefaultValue=false) public var pageSize:Int // @DataMember(Name="totalPages", EmitDefaultValue=false) public var totalPages:Int required public init(){} } public protocol ICompany { var companyId:String? { get set } } public enum StatusEnum : Int, Codable { case Active = 1 case Terminated = 2 } // @DataContract(Name="ProductResult") public class ProductResult : Codable { // @DataMember(Name="type", IsRequired=true) public var type:TypeEnum // @DataMember(Name="status", IsRequired=true) public var status:StatusEnum // @DataMember(Name="id", IsRequired=true) public var id:String // @DataMember(Name="name", IsRequired=true) public var name:String // @DataMember(Name="externalId") public var externalId:String // @DataMember(Name="articleNumber", IsRequired=true) public var articleNumber:String // @DataMember(Name="productFamily", IsRequired=true) public var productFamily:ProductResultProductFamilyDto required public init(){} } public enum TypeEnum : Int, Codable { case AtSubscriptionBillingPeriodEnd = 1 case AtBindingPeriodEnd = 2 case Immediately = 3 } // @DataContract(Name="ProductResultProductFamilyDto") public class ProductResultProductFamilyDto : Codable { // @DataMember(Name="id", IsRequired=true) public var id:String // @DataMember(Name="externalId") public var externalId:String required public init(){} }