/* Options: Date: 2024-12-04 08:06:47 Version: 8.12 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://taxfiling.pwc.de //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RetrieveAllProducts.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; abstract class IPaginate { int? skip; int? take; } /** * The number of query results to skip. */ // @Api(Description="The number of query results to skip.") abstract class PaginationBase implements IPaginate { /** * The number of query results to skip. */ // @ApiMember(Description="The number of query results to skip.") int? skip; /** * The number of query results to include. */ // @ApiMember(Description="The number of query results to include.") int? take; PaginationBase({this.skip,this.take}); PaginationBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { skip = json['skip']; take = json['take']; return this; } Map toJson() => { 'skip': skip, 'take': take }; getTypeName() => "PaginationBase"; TypeContext? context = _ctx; } /** * Specifies a service to retrieve all products. */ // @Api(Description="Specifies a service to retrieve all products.") abstract class RetrieveAllProductsBase extends PaginationBase implements IGet { /** * 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?") bool? includeOrders; /** * 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. ") int? skipOrders; /** * 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. ") int? takeOrders; /** * The number of query results to skip. */ // @ApiMember(Description="The number of query results to skip.") int? skip; /** * The number of query results to include. */ // @ApiMember(Description="The number of query results to include.") int? take; RetrieveAllProductsBase({this.includeOrders,this.skipOrders,this.takeOrders,this.skip,this.take}); RetrieveAllProductsBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); includeOrders = json['includeOrders']; skipOrders = json['skipOrders']; takeOrders = json['takeOrders']; skip = json['skip']; take = json['take']; return this; } Map toJson() => super.toJson()..addAll({ 'includeOrders': includeOrders, 'skipOrders': skipOrders, 'takeOrders': takeOrders, 'skip': skip, 'take': take }); getTypeName() => "RetrieveAllProductsBase"; TypeContext? context = _ctx; } /** * Represents a product. */ // @Api(Description="Represents a product.") class Product implements IHasName, IConvertible { /** * The unique identifier of the product. */ // @ApiMember(Description="The unique identifier of the product.", IsRequired=true) int? id; /** * 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) int? index; /** * The name of the product. */ // @ApiMember(Description="The name of the product.", IsRequired=true) // @Validate(Validator="NotEmpty") String? name; /** * The version of the product. */ // @ApiMember(Description="The version of the product.", IsRequired=true) // @Validate(Validator="NotEmpty") String? version; /** * The version of the product. */ // @ApiMember(Description="The version of the product.") String? description; /** * Tags associated with the product. */ // @ApiMember(Description="Tags associated with the product.") List? tags; Product({this.id,this.index,this.name,this.version,this.description,this.tags}); Product.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; index = json['index']; name = json['name']; version = json['version']; description = json['description']; tags = JsonConverters.fromJson(json['tags'],'List',context!); return this; } Map toJson() => { 'id': id, 'index': index, 'name': name, 'version': version, 'description': description, 'tags': JsonConverters.toJson(tags,'List',context!) }; getTypeName() => "Product"; TypeContext? context = _ctx; } /** * Specifies that a data type should have a 'Name' property. */ abstract class IHasName { /** * The 'Name' property. */ String? name; } /** * 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.") class ProductQueryResponse extends QueryResponse implements IConvertible { /** * The dictionary of orders associated with each found product. */ // @ApiMember(Description="The dictionary of orders associated with each found product.") Map?>? ordersMap; // @DataMember(Order=1) int? offset; // @DataMember(Order=2) int? total; // @DataMember(Order=3) List? results; // @DataMember(Order=4) Map? meta; // @DataMember(Order=5) ResponseStatus? responseStatus; ProductQueryResponse({this.ordersMap,this.offset,this.total,this.results,this.meta,this.responseStatus}); ProductQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ordersMap = JsonConverters.fromJson(json['ordersMap'],'Map?>',context!); offset = json['offset']; total = json['total']; results = JsonConverters.fromJson(json['results'],'List',context!); meta = JsonConverters.toStringMap(json['meta']); responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => super.toJson()..addAll({ 'ordersMap': JsonConverters.toJson(ordersMap,'Map?>',context!), 'offset': offset, 'total': total, 'results': JsonConverters.toJson(results,'List',context!), 'meta': meta, 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }); getTypeName() => "ProductQueryResponse"; TypeContext? context = _ctx; } /** * Represents a service request to retrieve all products. */ // @Route("/sync/products", "GET") // @Api(Description="Represents a service request to retrieve all products.") class RetrieveAllProducts extends RetrieveAllProductsBase implements IReturn, IConvertible, IGet { /** * 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?") bool? includeOrders; /** * 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. ") int? skipOrders; /** * 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. ") int? takeOrders; /** * The number of query results to skip. */ // @ApiMember(Description="The number of query results to skip.") int? skip; /** * The number of query results to include. */ // @ApiMember(Description="The number of query results to include.") int? take; RetrieveAllProducts({this.includeOrders,this.skipOrders,this.takeOrders,this.skip,this.take}); RetrieveAllProducts.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); includeOrders = json['includeOrders']; skipOrders = json['skipOrders']; takeOrders = json['takeOrders']; skip = json['skip']; take = json['take']; return this; } Map toJson() => super.toJson()..addAll({ 'includeOrders': includeOrders, 'skipOrders': skipOrders, 'takeOrders': takeOrders, 'skip': skip, 'take': take }); createResponse() => ProductQueryResponse(); getResponseTypeName() => "ProductQueryResponse"; getTypeName() => "RetrieveAllProducts"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'taxfiling.pwc.de', types: { 'IPaginate': TypeInfo(TypeOf.Interface), 'PaginationBase': TypeInfo(TypeOf.AbstractClass), 'RetrieveAllProductsBase': TypeInfo(TypeOf.AbstractClass), 'Product': TypeInfo(TypeOf.Class, create:() => Product()), 'IHasName': TypeInfo(TypeOf.Interface), 'ProductQueryResponse': TypeInfo(TypeOf.Class, create:() => ProductQueryResponse()), 'Map?>': TypeInfo(TypeOf.Class, create:() => Map?>()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Order': TypeInfo(TypeOf.Class, create:() => Order()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'RetrieveAllProducts': TypeInfo(TypeOf.Class, create:() => RetrieveAllProducts()), });