/* Options: Date: 2024-11-26 04:00:27 SwiftVersion: 5.0 Version: 8.12 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://taxfiling.staging.pwc.de //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: RetrieveOrderAsync.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Represents a service request to retrieve an order in an asynchronous operation. */ // @Route("/async/orders/{Id}", "GET") // @Api(Description="Represents a service request to retrieve an order in an asynchronous operation.") public class RetrieveOrderAsync : RetrieveOrderBase, IReturn { public typealias Return = OrderResponse /** * The unique identifier of the order. */ // @ApiMember(Description="The unique identifier of the order.") public var id:Int required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case id } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) id = try container.decodeIfPresent(Int.self, forKey: .id) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if id != nil { try container.encode(id, forKey: .id) } } } /** * Represents a service response that encapsulates an order data. */ // @Api(Description="Represents a service response that encapsulates an order data.") public class OrderResponse : ServiceResponseBase { /** * The order data of the response. */ // @ApiMember(Description="The order data of the response.") public var order:Order /** * Data structure that holds error information from a service operation. */ // @ApiMember(Description="Data structure that holds error information from a service operation.") public var responseStatus:ResponseStatus required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case order case responseStatus } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) order = try container.decodeIfPresent(Order.self, forKey: .order) responseStatus = try container.decodeIfPresent(ResponseStatus.self, forKey: .responseStatus) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if order != nil { try container.encode(order, forKey: .order) } if responseStatus != nil { try container.encode(responseStatus, forKey: .responseStatus) } } } /** * Specifies a service request to retrieve an order. */ // @Api(Description="Specifies a service request to retrieve an order.") public class RetrieveOrderBase : IGet, Codable { /** * The unique identifier of the order. */ // @ApiMember(Description="The unique identifier of the order.") public var id:Int required public init(){} } /** * Represents a commission to consume services. */ // @Api(Description="Represents a commission to consume services.") public class Order : IHasName, Codable { /** * The unique identifier of the order. */ // @ApiMember(Description="The unique identifier of the order.", IsRequired=true) public var id:Int /** * 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 var productId:Int /** * 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 var accountId:Int /** * A name to identify the order. */ // @ApiMember(Description="A name to identify the order.", IsRequired=true) // @Validate(Validator="NotEmpty") public var name:String /** * 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 var serviceName:String /** * The time stamp at which the order was initiated. */ // @ApiMember(Description="The time stamp at which the order was initiated.") public var requestTimestamp:Date? /** * The time stamp at which the order was completed. */ // @ApiMember(Description="The time stamp at which the order was completed.") public var responseTimestamp:Date? /** * The URI from which the order was initiated. */ // @ApiMember(Description="The URI from which the order was initiated.") public var requestUri:String /** * The HTTP method of the order request. */ // @ApiMember(Description="The HTTP method of the order request.") public var requestHttpMethod:String /** * The duration of the order request. */ // @ApiMember(Description="The duration of the order request.") @TimeSpan public var requestDuration:TimeInterval? /** * The HTTP status code of the order request. */ // @ApiMember(Description="The HTTP status code of the order request.") public var responseStatusCode:HttpStatusCode /** * The IP address of client, who placed the order. */ // @ApiMember(Description="The IP address of client, who placed the order.") public var clientIPAddress:String /** * The unit of measurement for the order. */ // @ApiMember(Description="The unit of measurement for the order.") public var unitOfMeasurement:String /** * The type of process, for which the order is charged. */ // @ApiMember(Description="The type of process, for which the order is charged.") public var processType:String /** * The type of data, for which the order is charged. */ // @ApiMember(Description="The type of data, for which the order is charged.") public var dataType:String /** * 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 var dataName:String /** * The date of creation of the order. */ // @ApiMember(Description="The date of creation of the order.") public var creationDate:Date /** * 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 var expiryDate:Date? /** * 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 var isTest:Bool required public init(){} } /** * 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.") public class ServiceResponseBase : Codable { /** * Data structure that holds error information from a service operation. */ // @ApiMember(Description="Data structure that holds error information from a service operation.") public var responseStatus:ResponseStatus required public init(){} } /** * Specifies that a data type should have a 'Name' property. */ public protocol IHasName { /** * The 'Name' property. */ var name:String { get set } } public enum HttpStatusCode : Int, Codable { case Continue = 100 case SwitchingProtocols = 101 case Processing = 102 case EarlyHints = 103 case OK = 200 case Created = 201 case Accepted = 202 case NonAuthoritativeInformation = 203 case NoContent = 204 case ResetContent = 205 case PartialContent = 206 case MultiStatus = 207 case AlreadyReported = 208 case IMUsed = 226 case MultipleChoices = 300 case Ambiguous = 300 case MovedPermanently = 301 case Moved = 301 case Found = 302 case Redirect = 302 case SeeOther = 303 case RedirectMethod = 303 case NotModified = 304 case UseProxy = 305 case Unused = 306 case TemporaryRedirect = 307 case RedirectKeepVerb = 307 case PermanentRedirect = 308 case BadRequest = 400 case Unauthorized = 401 case PaymentRequired = 402 case Forbidden = 403 case NotFound = 404 case MethodNotAllowed = 405 case NotAcceptable = 406 case ProxyAuthenticationRequired = 407 case RequestTimeout = 408 case Conflict = 409 case Gone = 410 case LengthRequired = 411 case PreconditionFailed = 412 case RequestEntityTooLarge = 413 case RequestUriTooLong = 414 case UnsupportedMediaType = 415 case RequestedRangeNotSatisfiable = 416 case ExpectationFailed = 417 case MisdirectedRequest = 421 case UnprocessableEntity = 422 case UnprocessableContent = 422 case Locked = 423 case FailedDependency = 424 case UpgradeRequired = 426 case PreconditionRequired = 428 case TooManyRequests = 429 case RequestHeaderFieldsTooLarge = 431 case UnavailableForLegalReasons = 451 case InternalServerError = 500 case NotImplemented = 501 case BadGateway = 502 case ServiceUnavailable = 503 case GatewayTimeout = 504 case HttpVersionNotSupported = 505 case VariantAlsoNegotiates = 506 case InsufficientStorage = 507 case LoopDetected = 508 case NotExtended = 510 case NetworkAuthenticationRequired = 511 }