/* Options: Date: 2024-09-16 20:18:19 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: UpdateProduct.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; /** * 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 a service request to update product data. */ // @Api(Description="Specifies a service request to update product data.") abstract class UpdateProductBase implements IPut { /** * The unique identifier of the product. */ // @ApiMember(Description="The unique identifier of the product.") int? id; /** * The name of the product. */ // @ApiMember(Description="The name of the product.") String? name; /** * The description of the product. */ // @ApiMember(Description="The description of the product.") String? description; /** * The version of the product. */ // @ApiMember(Description="The version of the product.") String? version; /** * Tags associated with the product. */ // @ApiMember(Description="Tags associated with the product.") List? tags; UpdateProductBase({this.id,this.name,this.description,this.version,this.tags}); UpdateProductBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; name = json['name']; description = json['description']; version = json['version']; tags = JsonConverters.fromJson(json['tags'],'List',context!); return this; } Map toJson() => { 'id': id, 'name': name, 'description': description, 'version': version, 'tags': JsonConverters.toJson(tags,'List',context!) }; getTypeName() => "UpdateProductBase"; TypeContext? context = _ctx; } enum HttpStatusCode { Continue, SwitchingProtocols, Processing, EarlyHints, OK, Created, Accepted, NonAuthoritativeInformation, NoContent, ResetContent, PartialContent, MultiStatus, AlreadyReported, IMUsed, MultipleChoices, Ambiguous, MovedPermanently, Moved, Found, Redirect, SeeOther, RedirectMethod, NotModified, UseProxy, Unused, TemporaryRedirect, RedirectKeepVerb, PermanentRedirect, BadRequest, Unauthorized, PaymentRequired, Forbidden, NotFound, MethodNotAllowed, NotAcceptable, ProxyAuthenticationRequired, RequestTimeout, Conflict, Gone, LengthRequired, PreconditionFailed, RequestEntityTooLarge, RequestUriTooLong, UnsupportedMediaType, RequestedRangeNotSatisfiable, ExpectationFailed, MisdirectedRequest, UnprocessableEntity, UnprocessableContent, Locked, FailedDependency, UpgradeRequired, PreconditionRequired, TooManyRequests, RequestHeaderFieldsTooLarge, UnavailableForLegalReasons, InternalServerError, NotImplemented, BadGateway, ServiceUnavailable, GatewayTimeout, HttpVersionNotSupported, VariantAlsoNegotiates, InsufficientStorage, LoopDetected, NotExtended, NetworkAuthenticationRequired, } /** * Represents a commission to consume services. */ // @Api(Description="Represents a commission to consume services.") class Order implements IHasName, IConvertible { /** * The unique identifier of the order. */ // @ApiMember(Description="The unique identifier of the order.", IsRequired=true) int? id; /** * The unique identifier of the product, for which the order is made. */ // @ApiMember(Description="The unique identifier of the product, for which the order is made.", IsRequired=true) int? productId; /** * The unique identifier of the user account, who placed the order. */ // @ApiMember(Description="The unique identifier of the user account, who placed the order.", IsRequired=true) int? accountId; /** * A name to identify the order. */ // @ApiMember(Description="A name to identify the order.", IsRequired=true) // @Validate(Validator="NotEmpty") String? name; /** * The name of the service, for which the order was made. */ // @ApiMember(Description="The name of the service, for which the order was made.") String? serviceName; /** * The time stamp at which the order was initiated. */ // @ApiMember(Description="The time stamp at which the order was initiated.") DateTime? requestTimestamp; /** * The time stamp at which the order was completed. */ // @ApiMember(Description="The time stamp at which the order was completed.") DateTime? responseTimestamp; /** * The URI from which the order was initiated. */ // @ApiMember(Description="The URI from which the order was initiated.") String? requestUri; /** * The HTTP method of the order request. */ // @ApiMember(Description="The HTTP method of the order request.") String? requestHttpMethod; /** * The duration of the order request. */ // @ApiMember(Description="The duration of the order request.") Duration? requestDuration; /** * The HTTP status code of the order request. */ // @ApiMember(Description="The HTTP status code of the order request.") HttpStatusCode? responseStatusCode; /** * The IP address of client, who placed the order. */ // @ApiMember(Description="The IP address of client, who placed the order.") String? clientIPAddress; /** * The unit of measurement for the order. */ // @ApiMember(Description="The unit of measurement for the order.") String? unitOfMeasurement; /** * The type of process, for which the order is charged. */ // @ApiMember(Description="The type of process, for which the order is charged.") String? processType; /** * The type of data, for which the order is charged. */ // @ApiMember(Description="The type of data, for which the order is charged.") String? dataType; /** * The name of the data, for which the order is charged. */ // @ApiMember(Description="The name of the data, for which the order is charged.") String? dataName; /** * The date of creation of the order. */ // @ApiMember(Description="The date of creation of the order.") DateTime? creationDate; /** * The final date to retain the order in the records. After this date, the order is expunged from the records. */ // @ApiMember(Description="The final date to retain the order in the records. After this date, the order is expunged from the records.") DateTime? expiryDate; /** * Indicates whether the order is simulated for test purposes. True if the order is simulated for test purposes; otherwise it is a false order for production purposes. */ // @ApiMember(Description="Indicates whether the order is simulated for test purposes. True if the order is simulated for test purposes; otherwise it is a false order for production purposes.") bool? isTest; Order({this.id,this.productId,this.accountId,this.name,this.serviceName,this.requestTimestamp,this.responseTimestamp,this.requestUri,this.requestHttpMethod,this.requestDuration,this.responseStatusCode,this.clientIPAddress,this.unitOfMeasurement,this.processType,this.dataType,this.dataName,this.creationDate,this.expiryDate,this.isTest}); Order.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; productId = json['productId']; accountId = json['accountId']; name = json['name']; serviceName = json['serviceName']; requestTimestamp = JsonConverters.fromJson(json['requestTimestamp'],'DateTime',context!); responseTimestamp = JsonConverters.fromJson(json['responseTimestamp'],'DateTime',context!); requestUri = json['requestUri']; requestHttpMethod = json['requestHttpMethod']; requestDuration = JsonConverters.fromJson(json['requestDuration'],'Duration',context!); responseStatusCode = JsonConverters.fromJson(json['responseStatusCode'],'HttpStatusCode',context!); clientIPAddress = json['clientIPAddress']; unitOfMeasurement = json['unitOfMeasurement']; processType = json['processType']; dataType = json['dataType']; dataName = json['dataName']; creationDate = JsonConverters.fromJson(json['creationDate'],'DateTime',context!); expiryDate = JsonConverters.fromJson(json['expiryDate'],'DateTime',context!); isTest = json['isTest']; return this; } Map toJson() => { 'id': id, 'productId': productId, 'accountId': accountId, 'name': name, 'serviceName': serviceName, 'requestTimestamp': JsonConverters.toJson(requestTimestamp,'DateTime',context!), 'responseTimestamp': JsonConverters.toJson(responseTimestamp,'DateTime',context!), 'requestUri': requestUri, 'requestHttpMethod': requestHttpMethod, 'requestDuration': JsonConverters.toJson(requestDuration,'Duration',context!), 'responseStatusCode': JsonConverters.toJson(responseStatusCode,'HttpStatusCode',context!), 'clientIPAddress': clientIPAddress, 'unitOfMeasurement': unitOfMeasurement, 'processType': processType, 'dataType': dataType, 'dataName': dataName, 'creationDate': JsonConverters.toJson(creationDate,'DateTime',context!), 'expiryDate': JsonConverters.toJson(expiryDate,'DateTime',context!), 'isTest': isTest }; getTypeName() => "Order"; TypeContext? context = _ctx; } /** * Specifies a base service response class that contains a structured error information. */ // @Api(Description="Specifies a base service response class that contains a structured error information.") abstract class ServiceResponseBase { /** * Data structure that holds error information from a service operation. */ // @ApiMember(Description="Data structure that holds error information from a service operation.") ResponseStatus? responseStatus; ServiceResponseBase({this.responseStatus}); ServiceResponseBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "ServiceResponseBase"; TypeContext? context = _ctx; } /** * Specifies that a data type should have a 'Name' property. */ abstract class IHasName { /** * The 'Name' property. */ String? name; } /** * Represents a service response that encapsulates product data. */ // @Api(Description="Represents a service response that encapsulates product data.") class ProductResponse extends ServiceResponseBase implements IConvertible { /** * The product data of the response. */ // @ApiMember(Description="The product data of the response.") Product? product; /** * The list of orders associated with the encapsulated product. */ // @ApiMember(Description="The list of orders associated with the encapsulated product.") List? orders; /** * Data structure that holds error information from a service operation. */ // @ApiMember(Description="Data structure that holds error information from a service operation.") ResponseStatus? responseStatus; ProductResponse({this.product,this.orders,this.responseStatus}); ProductResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); product = JsonConverters.fromJson(json['product'],'Product',context!); orders = JsonConverters.fromJson(json['orders'],'List',context!); responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map toJson() => super.toJson()..addAll({ 'product': JsonConverters.toJson(product,'Product',context!), 'orders': JsonConverters.toJson(orders,'List',context!), 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }); getTypeName() => "ProductResponse"; TypeContext? context = _ctx; } /** * Represents a service request to update product data. */ // @Route("/sync/products/{Id}", "PUT") // @Api(Description="Represents a service request to update product data.") class UpdateProduct extends UpdateProductBase implements IReturn, IConvertible, IPut { /** * The unique identifier of the product. */ // @ApiMember(Description="The unique identifier of the product.") int? id; /** * The name of the product. */ // @ApiMember(Description="The name of the product.") String? name; /** * The description of the product. */ // @ApiMember(Description="The description of the product.") String? description; /** * The version of the product. */ // @ApiMember(Description="The version of the product.") String? version; /** * Tags associated with the product. */ // @ApiMember(Description="Tags associated with the product.") List? tags; UpdateProduct({this.id,this.name,this.description,this.version,this.tags}); UpdateProduct.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); id = json['id']; name = json['name']; description = json['description']; version = json['version']; tags = JsonConverters.fromJson(json['tags'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'id': id, 'name': name, 'description': description, 'version': version, 'tags': JsonConverters.toJson(tags,'List',context!) }); createResponse() => ProductResponse(); getResponseTypeName() => "ProductResponse"; getTypeName() => "UpdateProduct"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'taxfiling.pwc.de', types: { 'Product': TypeInfo(TypeOf.Class, create:() => Product()), 'UpdateProductBase': TypeInfo(TypeOf.AbstractClass), 'HttpStatusCode': TypeInfo(TypeOf.Enum, enumValues:HttpStatusCode.values), 'Order': TypeInfo(TypeOf.Class, create:() => Order()), 'ServiceResponseBase': TypeInfo(TypeOf.AbstractClass), 'IHasName': TypeInfo(TypeOf.Interface), 'ProductResponse': TypeInfo(TypeOf.Class, create:() => ProductResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'UpdateProduct': TypeInfo(TypeOf.Class, create:() => UpdateProduct()), });