/* Options: Date: 2024-12-22 02:18:21 Version: 8.12 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://taxfiling.pwc.de //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RetrieveProduct.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } /** @description Specifies a service request to retrieve a product. */ // @Api(Description="Specifies a service request to retrieve a product.") export class RetrieveProductBase implements IGet { /** @description The unique identifier of the product. */ // @ApiMember(Description="The unique identifier of the product.", Name="Id") public id: number; /** @description Should the related orders of the account be included in the retrieved product? */ // @ApiMember(Description="Should the related orders of the account be included in the retrieved product?") public includeOrders?: boolean; /** @description Specifies the number of orders to skip. Applicable only when 'IncludeOrders' is true. */ // @ApiMember(Description="Specifies the number of orders to skip. Applicable only when 'IncludeOrders' is true. ") public skipOrders?: number; /** @description Specifies the number of orders to include. Applicable only when 'IncludeOrders' is true. */ // @ApiMember(Description="Specifies the number of orders to include. Applicable only when 'IncludeOrders' is true. ") public takeOrders?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description Represents a product. */ // @Api(Description="Represents a product.") export class Product implements IHasName { /** @description The unique identifier of the product. */ // @ApiMember(Description="The unique identifier of the product.", IsRequired=true) public id: number; /** @description 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) public index: number; /** @description The name of the product. */ // @ApiMember(Description="The name of the product.", IsRequired=true) // @Validate(Validator="NotEmpty") public name: string; /** @description The version of the product. */ // @ApiMember(Description="The version of the product.", IsRequired=true) // @Validate(Validator="NotEmpty") public version: string; /** @description The version of the product. */ // @ApiMember(Description="The version of the product.") public description?: string; /** @description Tags associated with the product. */ // @ApiMember(Description="Tags associated with the product.") public tags: string[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseError { // @DataMember(Order=1) public errorCode: string; // @DataMember(Order=2) public fieldName: string; // @DataMember(Order=3) public message: string; // @DataMember(Order=4) public meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public errorCode: string; // @DataMember(Order=2) public message: string; // @DataMember(Order=3) public stackTrace: string; // @DataMember(Order=4) public errors: ResponseError[]; // @DataMember(Order=5) public meta: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum HttpStatusCode { Continue = 100, SwitchingProtocols = 101, Processing = 102, EarlyHints = 103, OK = 200, Created = 201, Accepted = 202, NonAuthoritativeInformation = 203, NoContent = 204, ResetContent = 205, PartialContent = 206, MultiStatus = 207, AlreadyReported = 208, IMUsed = 226, MultipleChoices = 300, Ambiguous = 300, MovedPermanently = 301, Moved = 301, Found = 302, Redirect = 302, SeeOther = 303, RedirectMethod = 303, NotModified = 304, UseProxy = 305, Unused = 306, TemporaryRedirect = 307, RedirectKeepVerb = 307, PermanentRedirect = 308, BadRequest = 400, Unauthorized = 401, PaymentRequired = 402, Forbidden = 403, NotFound = 404, MethodNotAllowed = 405, NotAcceptable = 406, ProxyAuthenticationRequired = 407, RequestTimeout = 408, Conflict = 409, Gone = 410, LengthRequired = 411, PreconditionFailed = 412, RequestEntityTooLarge = 413, RequestUriTooLong = 414, UnsupportedMediaType = 415, RequestedRangeNotSatisfiable = 416, ExpectationFailed = 417, MisdirectedRequest = 421, UnprocessableEntity = 422, UnprocessableContent = 422, Locked = 423, FailedDependency = 424, UpgradeRequired = 426, PreconditionRequired = 428, TooManyRequests = 429, RequestHeaderFieldsTooLarge = 431, UnavailableForLegalReasons = 451, InternalServerError = 500, NotImplemented = 501, BadGateway = 502, ServiceUnavailable = 503, GatewayTimeout = 504, HttpVersionNotSupported = 505, VariantAlsoNegotiates = 506, InsufficientStorage = 507, LoopDetected = 508, NotExtended = 510, NetworkAuthenticationRequired = 511, } /** @description Represents a commission to consume services. */ // @Api(Description="Represents a commission to consume services.") export class Order implements IHasName { /** @description The unique identifier of the order. */ // @ApiMember(Description="The unique identifier of the order.", IsRequired=true) public id: number; /** @description 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) public productId: number; /** @description 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) public accountId: number; /** @description A name to identify the order. */ // @ApiMember(Description="A name to identify the order.", IsRequired=true) // @Validate(Validator="NotEmpty") public name: string; /** @description The name of the service, for which the order was made. */ // @ApiMember(Description="The name of the service, for which the order was made.") public serviceName?: string; /** @description The time stamp at which the order was initiated. */ // @ApiMember(Description="The time stamp at which the order was initiated.") public requestTimestamp?: string; /** @description The time stamp at which the order was completed. */ // @ApiMember(Description="The time stamp at which the order was completed.") public responseTimestamp?: string; /** @description The URI from which the order was initiated. */ // @ApiMember(Description="The URI from which the order was initiated.") public requestUri?: string; /** @description The HTTP method of the order request. */ // @ApiMember(Description="The HTTP method of the order request.") public requestHttpMethod?: string; /** @description The duration of the order request. */ // @ApiMember(Description="The duration of the order request.") public requestDuration?: string; /** @description The HTTP status code of the order request. */ // @ApiMember(Description="The HTTP status code of the order request.") public responseStatusCode: HttpStatusCode; /** @description The IP address of client, who placed the order. */ // @ApiMember(Description="The IP address of client, who placed the order.") public clientIPAddress?: string; /** @description The unit of measurement for the order. */ // @ApiMember(Description="The unit of measurement for the order.") public unitOfMeasurement?: string; /** @description The type of process, for which the order is charged. */ // @ApiMember(Description="The type of process, for which the order is charged.") public processType?: string; /** @description The type of data, for which the order is charged. */ // @ApiMember(Description="The type of data, for which the order is charged.") public dataType?: string; /** @description The name of the data, for which the order is charged. */ // @ApiMember(Description="The name of the data, for which the order is charged.") public dataName?: string; /** @description The date of creation of the order. */ // @ApiMember(Description="The date of creation of the order.") public creationDate: string; /** @description 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.") public expiryDate?: string; /** @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. */ // @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.") public isTest: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description 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.") export class ServiceResponseBase { /** @description Data structure that holds error information from a service operation. */ // @ApiMember(Description="Data structure that holds error information from a service operation.") public responseStatus?: ResponseStatus; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description Specifies that a data type should have a 'Name' property. */ export interface IHasName { /** @description The 'Name' property. */ name?: string; } /** @description Represents a service response that encapsulates product data. */ // @Api(Description="Represents a service response that encapsulates product data.") export class ProductResponse extends ServiceResponseBase { /** @description The product data of the response. */ // @ApiMember(Description="The product data of the response.") public product?: Product; /** @description The list of orders associated with the encapsulated product. */ // @ApiMember(Description="The list of orders associated with the encapsulated product.") public orders: Order[]; /** @description Data structure that holds error information from a service operation. */ // @ApiMember(Description="Data structure that holds error information from a service operation.") public responseStatus?: ResponseStatus; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } /** @description Represents a service request to retrieve a product. */ // @Route("/sync/products/{Id}", "GET") // @Api(Description="Represents a service request to retrieve a product.") export class RetrieveProduct extends RetrieveProductBase implements IReturn { /** @description The unique identifier of the product. */ // @ApiMember(Description="The unique identifier of the product.", Name="Id") public id: number; /** @description Should the related orders of the account be included in the retrieved product? */ // @ApiMember(Description="Should the related orders of the account be included in the retrieved product?") public includeOrders?: boolean; /** @description Specifies the number of orders to skip. Applicable only when 'IncludeOrders' is true. */ // @ApiMember(Description="Specifies the number of orders to skip. Applicable only when 'IncludeOrders' is true. ") public skipOrders?: number; /** @description Specifies the number of orders to include. Applicable only when 'IncludeOrders' is true. */ // @ApiMember(Description="Specifies the number of orders to include. Applicable only when 'IncludeOrders' is true. ") public takeOrders?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'RetrieveProduct'; } public getMethod() { return 'GET'; } public createResponse() { return new ProductResponse(); } }