/* Options: Date: 2024-12-22 03:59:53 SwiftVersion: 5.0 Version: 8.12 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://taxfiling.pwc.de //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: RetrieveAllOrdersAsync.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Represents a service request to retrieve all orders in an asynchronous operation. */ // @Route("/async/orders", "GET") // @Api(Description="Represents a service request to retrieve all orders in an asynchronous operation.") public class RetrieveAllOrdersAsync : RetrieveAllOrdersBase, IReturn { public typealias Return = OrderQueryResponse /** * The number of query results to skip. */ // @ApiMember(Description="The number of query results to skip.") public var skip:Int? /** * The number of query results to include. */ // @ApiMember(Description="The number of query results to include.") public var take:Int? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case skip case take } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) skip = try container.decodeIfPresent(Int.self, forKey: .skip) take = try container.decodeIfPresent(Int.self, forKey: .take) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if skip != nil { try container.encode(skip, forKey: .skip) } if take != nil { try container.encode(take, forKey: .take) } } } /** * Represents a query response that contains a structured error information and encapsulates customers. */ // @Api(Description="Represents a query response that contains a structured error information and encapsulates customers.") public class OrderQueryResponse : QueryResponse { // @DataMember(Order=1) public var offset:Int // @DataMember(Order=2) public var total:Int // @DataMember(Order=3) public var results:[Order] = [] // @DataMember(Order=4) public var meta:[String:String] = [:] // @DataMember(Order=5) public var responseStatus:ResponseStatus required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case offset case total case results case meta case responseStatus } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) offset = try container.decodeIfPresent(Int.self, forKey: .offset) total = try container.decodeIfPresent(Int.self, forKey: .total) results = try container.decodeIfPresent([Order].self, forKey: .results) ?? [] meta = try container.decodeIfPresent([String:String].self, forKey: .meta) ?? [:] 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 offset != nil { try container.encode(offset, forKey: .offset) } if total != nil { try container.encode(total, forKey: .total) } if results.count > 0 { try container.encode(results, forKey: .results) } if meta.count > 0 { try container.encode(meta, forKey: .meta) } if responseStatus != nil { try container.encode(responseStatus, forKey: .responseStatus) } } } public protocol IPaginate { var skip:Int? { get set } var take:Int? { get set } } /** * Specifies a service to retrieve all orders. */ // @Api(Description="Specifies a service to retrieve all orders.") public class RetrieveAllOrdersBase : PaginationBase, IGet { /** * The number of query results to skip. */ // @ApiMember(Description="The number of query results to skip.") public var skip:Int? /** * The number of query results to include. */ // @ApiMember(Description="The number of query results to include.") public var take:Int? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case skip case take } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) skip = try container.decodeIfPresent(Int.self, forKey: .skip) take = try container.decodeIfPresent(Int.self, forKey: .take) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if skip != nil { try container.encode(skip, forKey: .skip) } if take != nil { try container.encode(take, forKey: .take) } } } /** * 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(){} } /** * The number of query results to skip. */ // @Api(Description="The number of query results to skip.") public class PaginationBase : IPaginate, Codable { /** * The number of query results to skip. */ // @ApiMember(Description="The number of query results to skip.") public var skip:Int? /** * The number of query results to include. */ // @ApiMember(Description="The number of query results to include.") public var take:Int? 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 }