/* Options: Date: 2024-06-01 15:45:32 Version: 8.12 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://taxfiling.pwc.de //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SearchProducts.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* /** * Represents a service to search for product data. */ @Route(Path="/sync/products/search", Verbs="GET") @Api(Description="Represents a service to search for product data.") open class SearchProducts : SearchProductsBase(), IReturn { /** * The unique identifier of the account associated with the product. */ @ApiMember(Description="The unique identifier of the account associated with the product.") var productId:Int? = null /** * The unique identifier of the account associated with the product. */ @ApiMember(Description="The unique identifier of the account associated with the product.") var accountId:Int? = null /** * The name of the product. */ @ApiMember(Description="The name of the product.") var name:String? = null /** * Search by using the name of the product that starts with the specified value. */ @ApiMember(Description="Search by using the name of the product that starts with the specified value.") var nameStartsWith:String? = null /** * Search by using the name of the product that ends with the specified value. */ @ApiMember(Description="Search by using the name of the product that ends with the specified value.") var nameEndsWith:String? = null /** * Search by using the name of the product that contains the specified value. */ @ApiMember(Description="Search by using the name of the product that contains the specified value.") var nameContains:String? = null /** * The version of the product. */ @ApiMember(Description="The version of the product.") var version:String? = null /** * Search by using the version of the product that starts with the specified value. */ @ApiMember(Description="Search by using the version of the product that starts with the specified value.") var versionStartsWith:String? = null /** * Search by using the version of the product that ends with the specified value. */ @ApiMember(Description="Search by using the version of the product that ends with the specified value.") var versionEndsWith:String? = null /** * Search by using the version of the product that contains the specified value. */ @ApiMember(Description="Search by using the version of the product that contains the specified value.") var versionContains:String? = null /** * The description of the product. */ @ApiMember(Description="The description of the product.") var description:String? = null /** * Search by using the description of the product that starts with the specified value. */ @ApiMember(Description="Search by using the description of the product that starts with the specified value.") var descriptionStartsWith:String? = null /** * Search by using the description of the product that ends with the specified value. */ @ApiMember(Description="Search by using the description of the product that ends with the specified value.") var descriptionEndsWith:String? = null /** * Search by using the description of the product that contains the specified value. */ @ApiMember(Description="Search by using the description of the product that contains the specified value.") var descriptionContains:String? = null /** * Should the related orders of the account be included in the retrieved products? */ @ApiMember(Description="Should the related orders of the account be included in the retrieved products?") var includeOrders:Boolean? = null /** * Specifies the number of orders to skip per product. Applicable only when 'IncludeOrders' is true. */ @ApiMember(Description="Specifies the number of orders to skip per product. Applicable only when 'IncludeOrders' is true. ") var skipOrders:Int? = null /** * Specifies the number of orders to include per product. Applicable only when 'IncludeOrders' is true. */ @ApiMember(Description="Specifies the number of orders to include per product. Applicable only when 'IncludeOrders' is true. ") var takeOrders:Int? = null /** * The number of query results to skip. */ @ApiMember(Description="The number of query results to skip.") var skip:Int? = null /** * The number of query results to include. */ @ApiMember(Description="The number of query results to include.") var take:Int? = null companion object { private val responseType = ProductQueryResponse::class.java } override fun getResponseType(): Any? = SearchProducts.responseType } /** * Represents a query response that contains a structured error information and encapsulates products. */ @Api(Description="Represents a query response that contains a structured error information and encapsulates products.") open class ProductQueryResponse : QueryResponse() { /** * The dictionary of orders associated with each found product. */ @ApiMember(Description="The dictionary of orders associated with each found product.") var ordersMap:HashMap> = HashMap>() @DataMember(Order=1) var offset:Int? = null @DataMember(Order=2) var total:Int? = null @DataMember(Order=3) var results:ArrayList = ArrayList() @DataMember(Order=4) var meta:HashMap = HashMap() @DataMember(Order=5) var responseStatus:ResponseStatus? = null } open interface IPaginate { var skip:Int? var take:Int? } /** * Specifies a service to search for products. */ @Api(Description="Specifies a service to search for products.") open class SearchProductsBase : PaginationBase(), IGet { /** * The unique identifier of the account associated with the product. */ @ApiMember(Description="The unique identifier of the account associated with the product.") var productId:Int? = null /** * The unique identifier of the account associated with the product. */ @ApiMember(Description="The unique identifier of the account associated with the product.") var accountId:Int? = null /** * The name of the product. */ @ApiMember(Description="The name of the product.") var name:String? = null /** * Search by using the name of the product that starts with the specified value. */ @ApiMember(Description="Search by using the name of the product that starts with the specified value.") var nameStartsWith:String? = null /** * Search by using the name of the product that ends with the specified value. */ @ApiMember(Description="Search by using the name of the product that ends with the specified value.") var nameEndsWith:String? = null /** * Search by using the name of the product that contains the specified value. */ @ApiMember(Description="Search by using the name of the product that contains the specified value.") var nameContains:String? = null /** * The version of the product. */ @ApiMember(Description="The version of the product.") var version:String? = null /** * Search by using the version of the product that starts with the specified value. */ @ApiMember(Description="Search by using the version of the product that starts with the specified value.") var versionStartsWith:String? = null /** * Search by using the version of the product that ends with the specified value. */ @ApiMember(Description="Search by using the version of the product that ends with the specified value.") var versionEndsWith:String? = null /** * Search by using the version of the product that contains the specified value. */ @ApiMember(Description="Search by using the version of the product that contains the specified value.") var versionContains:String? = null /** * The description of the product. */ @ApiMember(Description="The description of the product.") var description:String? = null /** * Search by using the description of the product that starts with the specified value. */ @ApiMember(Description="Search by using the description of the product that starts with the specified value.") var descriptionStartsWith:String? = null /** * Search by using the description of the product that ends with the specified value. */ @ApiMember(Description="Search by using the description of the product that ends with the specified value.") var descriptionEndsWith:String? = null /** * Search by using the description of the product that contains the specified value. */ @ApiMember(Description="Search by using the description of the product that contains the specified value.") var descriptionContains:String? = null /** * Should the related orders of the account be included in the retrieved products? */ @ApiMember(Description="Should the related orders of the account be included in the retrieved products?") var includeOrders:Boolean? = null /** * Specifies the number of orders to skip per product. Applicable only when 'IncludeOrders' is true. */ @ApiMember(Description="Specifies the number of orders to skip per product. Applicable only when 'IncludeOrders' is true. ") var skipOrders:Int? = null /** * Specifies the number of orders to include per product. Applicable only when 'IncludeOrders' is true. */ @ApiMember(Description="Specifies the number of orders to include per product. Applicable only when 'IncludeOrders' is true. ") var takeOrders:Int? = null /** * The number of query results to skip. */ @ApiMember(Description="The number of query results to skip.") var skip:Int? = null /** * The number of query results to include. */ @ApiMember(Description="The number of query results to include.") var take:Int? = null } /** * Represents a product. */ @Api(Description="Represents a product.") open class Product : IHasName { /** * The unique identifier of the product. */ @ApiMember(Description="The unique identifier of the product.", IsRequired=true) var id:Int? = null /** * The position of this instance in a collection of 'Product' instances */ @ApiMember(Description="The position of this instance in a collection of 'Product' instances", IsRequired=true) var index:Int? = null /** * The name of the product. */ @ApiMember(Description="The name of the product.", IsRequired=true) @Validate(Validator="NotEmpty") var name:String? = null /** * The version of the product. */ @ApiMember(Description="The version of the product.", IsRequired=true) @Validate(Validator="NotEmpty") var version:String? = null /** * The version of the product. */ @ApiMember(Description="The version of the product.") var description:String? = null /** * Tags associated with the product. */ @ApiMember(Description="Tags associated with the product.") var tags:ArrayList = ArrayList() } @DataContract open class QueryResponse { @DataMember(Order=1) var offset:Int? = null @DataMember(Order=2) var total:Int? = null @DataMember(Order=3) var results:ArrayList = ArrayList() @DataMember(Order=4) var meta:HashMap = HashMap() @DataMember(Order=5) var responseStatus:ResponseStatus? = null } /** * The number of query results to skip. */ @Api(Description="The number of query results to skip.") open class PaginationBase : IPaginate { /** * The number of query results to skip. */ @ApiMember(Description="The number of query results to skip.") var skip:Int? = null /** * The number of query results to include. */ @ApiMember(Description="The number of query results to include.") var take:Int? = null } /** * Specifies that a data type should have a 'Name' property. */ open interface IHasName { /** * The 'Name' property. */ var name:String? }