/* Options: Date: 2024-06-01 13:21:49 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: AdminSearchOrders.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Represents a service request from an admin user to search for orders. */ // @Route("/sync/admin/orders/search", "GET") // @Api(Description="Represents a service request from an admin user to search for orders.") public class AdminSearchOrders : AdminSearchOrdersBase, IReturn { public typealias Return = OrderQueryResponse /** * The user name of the account. */ // @ApiMember(Description="The user name of the account.") public var userName:String /** * The unique identifier of the order. */ // @ApiMember(Description="The unique identifier of the order.") public var orderId: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.") public var productId:Int? /** * The unique identifier of the user account, who made the order. */ // @ApiMember(Description="The unique identifier of the user account, who made the order.") public var accountId:Int? /** * The name of the order. */ // @ApiMember(Description="The name of the order.") public var name:String /** * Search by using the name of the order that starts with the specified value. */ // @ApiMember(Description="Search by using the name of the order that starts with the specified value.") public var nameStartsWith:String /** * Search by using the name of the order that ends with the specified value. */ // @ApiMember(Description="Search by using the name of the order that ends with the specified value.") public var nameEndsWith:String /** * Search by using the name of the order that contains the specified value. */ // @ApiMember(Description="Search by using the name of the order that contains the specified value.") public var nameContains:String /** * Search by using the name of the order that contains the specified value. */ // @ApiMember(Description="Search by using the name of the order that contains the specified value.") public var serviceName:String /** * Search by using the service name of the order that starts with the specified value. */ // @ApiMember(Description="Search by using the service name of the order that starts with the specified value.") public var serviceNameStartsWith:String /** * Search by using the service name of the order that ends with the specified value. */ // @ApiMember(Description="Search by using the service name of the order that ends with the specified value.") public var serviceNameEndsWith:String /** * Search by using the service name of the order that contains the specified value. */ // @ApiMember(Description="Search by using the service name of the order that contains the specified value.") public var serviceNameContains:String /** * Search for orders placed before a certain date and time. The specified date is included in the search. */ // @ApiMember(Description="Search for orders placed before a certain date and time. The specified date is included in the search.") public var before:Date? /** * Search for orders placed after a certain date and time. The specified date is included in the search. */ // @ApiMember(Description="Search for orders placed after a certain date and time. The specified date is included in the search.") public var after:Date? /** * Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search. */ // @ApiMember(Description="Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search.") public var periodStartDate:Date? /** * Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search. */ // @ApiMember(Description="Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search.") public var periodEndDate:Date? /** * Search for orders placed within the last 180 days. Today is included in the search. */ // @ApiMember(Description="Search for orders placed within the last 180 days. Today is included in the search.") public var periodMode:PeriodMode? /** * 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 /** * Was the order request successful? */ // @ApiMember(Description="Was the order request successful?") public var orderRequestSucceeded:Bool? /** * The initial IP address of client, who made the order. */ // @ApiMember(Description="The initial IP address of client, who made 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 /** * Search by using the unit of measurement of the order that starts with the specified value. */ // @ApiMember(Description="Search by using the unit of measurement of the order that starts with the specified value.") public var unitOfMeasurementStartsWith:String /** * Search by using the unit of measurement of the order that ends with the specified value. */ // @ApiMember(Description="Search by using the unit of measurement of the order that ends with the specified value.") public var unitOfMeasurementEndsWith:String /** * Search by using the unit of measurement of the order that contains the specified value. */ // @ApiMember(Description="Search by using the unit of measurement of the order that contains the specified value.") public var unitOfMeasurementContains: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 /** * Search by using the process type of the order that starts with the specified value. */ // @ApiMember(Description="Search by using the process type of the order that starts with the specified value.") public var processTypeStartsWith:String /** * Search by using the process type of the order that ends with the specified value. */ // @ApiMember(Description="Search by using the process type of the order that ends with the specified value.") public var processTypeEndsWith:String /** * Search by using the process type of the order that contains the specified value. */ // @ApiMember(Description="Search by using the process type of the order that contains the specified value.") public var processTypeContains: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 /** * Search by using the type of data, for which the order is charged that starts with the specified value. */ // @ApiMember(Description="Search by using the type of data, for which the order is charged that starts with the specified value.") public var dataTypeStartsWith:String /** * Search by using the type of data, for which the order is charged that ends with the specified value. */ // @ApiMember(Description="Search by using the type of data, for which the order is charged that ends with the specified value.") public var dataTypeEndsWith:String /** * Search by using the type of data, for which the order is charged that contains the specified value. */ // @ApiMember(Description="Search by using the type of data, for which the order is charged that contains the specified value.") public var dataTypeContains: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 /** * Search by using the name of data, for which the order is charged that starts with the specified value. */ // @ApiMember(Description="Search by using the name of data, for which the order is charged that starts with the specified value.") public var dataNameStartsWith:String /** * Search by using the name of data, for which the order is charged that ends with the specified value. */ // @ApiMember(Description="Search by using the name of data, for which the order is charged that ends with the specified value.") public var dataNameEndsWith:String /** * Search by using the name of data, for which the order is charged that contains the specified value. */ // @ApiMember(Description="Search by using the name of data, for which the order is charged that contains the specified value.") public var dataNameContains:String /** * 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 userName case orderId case productId case accountId case name case nameStartsWith case nameEndsWith case nameContains case serviceName case serviceNameStartsWith case serviceNameEndsWith case serviceNameContains case before case after case periodStartDate case periodEndDate case periodMode case requestUri case requestHttpMethod case orderRequestSucceeded case clientIPAddress case unitOfMeasurement case unitOfMeasurementStartsWith case unitOfMeasurementEndsWith case unitOfMeasurementContains case processType case processTypeStartsWith case processTypeEndsWith case processTypeContains case dataType case dataTypeStartsWith case dataTypeEndsWith case dataTypeContains case dataName case dataNameStartsWith case dataNameEndsWith case dataNameContains case skip case take } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) userName = try container.decodeIfPresent(String.self, forKey: .userName) orderId = try container.decodeIfPresent(Int.self, forKey: .orderId) productId = try container.decodeIfPresent(Int.self, forKey: .productId) accountId = try container.decodeIfPresent(Int.self, forKey: .accountId) name = try container.decodeIfPresent(String.self, forKey: .name) nameStartsWith = try container.decodeIfPresent(String.self, forKey: .nameStartsWith) nameEndsWith = try container.decodeIfPresent(String.self, forKey: .nameEndsWith) nameContains = try container.decodeIfPresent(String.self, forKey: .nameContains) serviceName = try container.decodeIfPresent(String.self, forKey: .serviceName) serviceNameStartsWith = try container.decodeIfPresent(String.self, forKey: .serviceNameStartsWith) serviceNameEndsWith = try container.decodeIfPresent(String.self, forKey: .serviceNameEndsWith) serviceNameContains = try container.decodeIfPresent(String.self, forKey: .serviceNameContains) before = try container.decodeIfPresent(Date.self, forKey: .before) after = try container.decodeIfPresent(Date.self, forKey: .after) periodStartDate = try container.decodeIfPresent(Date.self, forKey: .periodStartDate) periodEndDate = try container.decodeIfPresent(Date.self, forKey: .periodEndDate) periodMode = try container.decodeIfPresent(PeriodMode.self, forKey: .periodMode) requestUri = try container.decodeIfPresent(String.self, forKey: .requestUri) requestHttpMethod = try container.decodeIfPresent(String.self, forKey: .requestHttpMethod) orderRequestSucceeded = try container.decodeIfPresent(Bool.self, forKey: .orderRequestSucceeded) clientIPAddress = try container.decodeIfPresent(String.self, forKey: .clientIPAddress) unitOfMeasurement = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurement) unitOfMeasurementStartsWith = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementStartsWith) unitOfMeasurementEndsWith = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementEndsWith) unitOfMeasurementContains = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementContains) processType = try container.decodeIfPresent(String.self, forKey: .processType) processTypeStartsWith = try container.decodeIfPresent(String.self, forKey: .processTypeStartsWith) processTypeEndsWith = try container.decodeIfPresent(String.self, forKey: .processTypeEndsWith) processTypeContains = try container.decodeIfPresent(String.self, forKey: .processTypeContains) dataType = try container.decodeIfPresent(String.self, forKey: .dataType) dataTypeStartsWith = try container.decodeIfPresent(String.self, forKey: .dataTypeStartsWith) dataTypeEndsWith = try container.decodeIfPresent(String.self, forKey: .dataTypeEndsWith) dataTypeContains = try container.decodeIfPresent(String.self, forKey: .dataTypeContains) dataName = try container.decodeIfPresent(String.self, forKey: .dataName) dataNameStartsWith = try container.decodeIfPresent(String.self, forKey: .dataNameStartsWith) dataNameEndsWith = try container.decodeIfPresent(String.self, forKey: .dataNameEndsWith) dataNameContains = try container.decodeIfPresent(String.self, forKey: .dataNameContains) 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 userName != nil { try container.encode(userName, forKey: .userName) } if orderId != nil { try container.encode(orderId, forKey: .orderId) } if productId != nil { try container.encode(productId, forKey: .productId) } if accountId != nil { try container.encode(accountId, forKey: .accountId) } if name != nil { try container.encode(name, forKey: .name) } if nameStartsWith != nil { try container.encode(nameStartsWith, forKey: .nameStartsWith) } if nameEndsWith != nil { try container.encode(nameEndsWith, forKey: .nameEndsWith) } if nameContains != nil { try container.encode(nameContains, forKey: .nameContains) } if serviceName != nil { try container.encode(serviceName, forKey: .serviceName) } if serviceNameStartsWith != nil { try container.encode(serviceNameStartsWith, forKey: .serviceNameStartsWith) } if serviceNameEndsWith != nil { try container.encode(serviceNameEndsWith, forKey: .serviceNameEndsWith) } if serviceNameContains != nil { try container.encode(serviceNameContains, forKey: .serviceNameContains) } if before != nil { try container.encode(before, forKey: .before) } if after != nil { try container.encode(after, forKey: .after) } if periodStartDate != nil { try container.encode(periodStartDate, forKey: .periodStartDate) } if periodEndDate != nil { try container.encode(periodEndDate, forKey: .periodEndDate) } if periodMode != nil { try container.encode(periodMode, forKey: .periodMode) } if requestUri != nil { try container.encode(requestUri, forKey: .requestUri) } if requestHttpMethod != nil { try container.encode(requestHttpMethod, forKey: .requestHttpMethod) } if orderRequestSucceeded != nil { try container.encode(orderRequestSucceeded, forKey: .orderRequestSucceeded) } if clientIPAddress != nil { try container.encode(clientIPAddress, forKey: .clientIPAddress) } if unitOfMeasurement != nil { try container.encode(unitOfMeasurement, forKey: .unitOfMeasurement) } if unitOfMeasurementStartsWith != nil { try container.encode(unitOfMeasurementStartsWith, forKey: .unitOfMeasurementStartsWith) } if unitOfMeasurementEndsWith != nil { try container.encode(unitOfMeasurementEndsWith, forKey: .unitOfMeasurementEndsWith) } if unitOfMeasurementContains != nil { try container.encode(unitOfMeasurementContains, forKey: .unitOfMeasurementContains) } if processType != nil { try container.encode(processType, forKey: .processType) } if processTypeStartsWith != nil { try container.encode(processTypeStartsWith, forKey: .processTypeStartsWith) } if processTypeEndsWith != nil { try container.encode(processTypeEndsWith, forKey: .processTypeEndsWith) } if processTypeContains != nil { try container.encode(processTypeContains, forKey: .processTypeContains) } if dataType != nil { try container.encode(dataType, forKey: .dataType) } if dataTypeStartsWith != nil { try container.encode(dataTypeStartsWith, forKey: .dataTypeStartsWith) } if dataTypeEndsWith != nil { try container.encode(dataTypeEndsWith, forKey: .dataTypeEndsWith) } if dataTypeContains != nil { try container.encode(dataTypeContains, forKey: .dataTypeContains) } if dataName != nil { try container.encode(dataName, forKey: .dataName) } if dataNameStartsWith != nil { try container.encode(dataNameStartsWith, forKey: .dataNameStartsWith) } if dataNameEndsWith != nil { try container.encode(dataNameEndsWith, forKey: .dataNameEndsWith) } if dataNameContains != nil { try container.encode(dataNameContains, forKey: .dataNameContains) } 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 } } /** * Represents a specific time interval, within which, an action was carried out. */ public enum PeriodMode : String, Codable { case Today case Yesterday case LastWeek case Last30Days case Last90Days case Last180Days } /** * Specifies a service request from an admin user to search for orders. */ // @Api(Description="Specifies a service request from an admin user to search for orders.") public class AdminSearchOrdersBase : PaginationBase, IGet { /** * The user name of the account. */ // @ApiMember(Description="The user name of the account.") public var userName:String /** * The unique identifier of the order. */ // @ApiMember(Description="The unique identifier of the order.") public var orderId: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.") public var productId:Int? /** * The unique identifier of the user account, who made the order. */ // @ApiMember(Description="The unique identifier of the user account, who made the order.") public var accountId:Int? /** * The name of the order. */ // @ApiMember(Description="The name of the order.") public var name:String /** * Search by using the name of the order that starts with the specified value. */ // @ApiMember(Description="Search by using the name of the order that starts with the specified value.") public var nameStartsWith:String /** * Search by using the name of the order that ends with the specified value. */ // @ApiMember(Description="Search by using the name of the order that ends with the specified value.") public var nameEndsWith:String /** * Search by using the name of the order that contains the specified value. */ // @ApiMember(Description="Search by using the name of the order that contains the specified value.") public var nameContains:String /** * Search by using the name of the order that contains the specified value. */ // @ApiMember(Description="Search by using the name of the order that contains the specified value.") public var serviceName:String /** * Search by using the service name of the order that starts with the specified value. */ // @ApiMember(Description="Search by using the service name of the order that starts with the specified value.") public var serviceNameStartsWith:String /** * Search by using the service name of the order that ends with the specified value. */ // @ApiMember(Description="Search by using the service name of the order that ends with the specified value.") public var serviceNameEndsWith:String /** * Search by using the service name of the order that contains the specified value. */ // @ApiMember(Description="Search by using the service name of the order that contains the specified value.") public var serviceNameContains:String /** * Search for orders placed before a certain date and time. The specified date is included in the search. */ // @ApiMember(Description="Search for orders placed before a certain date and time. The specified date is included in the search.") public var before:Date? /** * Search for orders placed after a certain date and time. The specified date is included in the search. */ // @ApiMember(Description="Search for orders placed after a certain date and time. The specified date is included in the search.") public var after:Date? /** * Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search. */ // @ApiMember(Description="Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search.") public var periodStartDate:Date? /** * Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search. */ // @ApiMember(Description="Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search.") public var periodEndDate:Date? /** * Search for orders placed within the last 180 days. Today is included in the search. */ // @ApiMember(Description="Search for orders placed within the last 180 days. Today is included in the search.") public var periodMode:PeriodMode? /** * 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 /** * Was the order request successful? */ // @ApiMember(Description="Was the order request successful?") public var orderRequestSucceeded:Bool? /** * The initial IP address of client, who made the order. */ // @ApiMember(Description="The initial IP address of client, who made 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 /** * Search by using the unit of measurement of the order that starts with the specified value. */ // @ApiMember(Description="Search by using the unit of measurement of the order that starts with the specified value.") public var unitOfMeasurementStartsWith:String /** * Search by using the unit of measurement of the order that ends with the specified value. */ // @ApiMember(Description="Search by using the unit of measurement of the order that ends with the specified value.") public var unitOfMeasurementEndsWith:String /** * Search by using the unit of measurement of the order that contains the specified value. */ // @ApiMember(Description="Search by using the unit of measurement of the order that contains the specified value.") public var unitOfMeasurementContains: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 /** * Search by using the process type of the order that starts with the specified value. */ // @ApiMember(Description="Search by using the process type of the order that starts with the specified value.") public var processTypeStartsWith:String /** * Search by using the process type of the order that ends with the specified value. */ // @ApiMember(Description="Search by using the process type of the order that ends with the specified value.") public var processTypeEndsWith:String /** * Search by using the process type of the order that contains the specified value. */ // @ApiMember(Description="Search by using the process type of the order that contains the specified value.") public var processTypeContains: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 /** * Search by using the type of data, for which the order is charged that starts with the specified value. */ // @ApiMember(Description="Search by using the type of data, for which the order is charged that starts with the specified value.") public var dataTypeStartsWith:String /** * Search by using the type of data, for which the order is charged that ends with the specified value. */ // @ApiMember(Description="Search by using the type of data, for which the order is charged that ends with the specified value.") public var dataTypeEndsWith:String /** * Search by using the type of data, for which the order is charged that contains the specified value. */ // @ApiMember(Description="Search by using the type of data, for which the order is charged that contains the specified value.") public var dataTypeContains: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 /** * Search by using the name of data, for which the order is charged that starts with the specified value. */ // @ApiMember(Description="Search by using the name of data, for which the order is charged that starts with the specified value.") public var dataNameStartsWith:String /** * Search by using the name of data, for which the order is charged that ends with the specified value. */ // @ApiMember(Description="Search by using the name of data, for which the order is charged that ends with the specified value.") public var dataNameEndsWith:String /** * Search by using the name of data, for which the order is charged that contains the specified value. */ // @ApiMember(Description="Search by using the name of data, for which the order is charged that contains the specified value.") public var dataNameContains:String /** * 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 userName case orderId case productId case accountId case name case nameStartsWith case nameEndsWith case nameContains case serviceName case serviceNameStartsWith case serviceNameEndsWith case serviceNameContains case before case after case periodStartDate case periodEndDate case periodMode case requestUri case requestHttpMethod case orderRequestSucceeded case clientIPAddress case unitOfMeasurement case unitOfMeasurementStartsWith case unitOfMeasurementEndsWith case unitOfMeasurementContains case processType case processTypeStartsWith case processTypeEndsWith case processTypeContains case dataType case dataTypeStartsWith case dataTypeEndsWith case dataTypeContains case dataName case dataNameStartsWith case dataNameEndsWith case dataNameContains case skip case take } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) userName = try container.decodeIfPresent(String.self, forKey: .userName) orderId = try container.decodeIfPresent(Int.self, forKey: .orderId) productId = try container.decodeIfPresent(Int.self, forKey: .productId) accountId = try container.decodeIfPresent(Int.self, forKey: .accountId) name = try container.decodeIfPresent(String.self, forKey: .name) nameStartsWith = try container.decodeIfPresent(String.self, forKey: .nameStartsWith) nameEndsWith = try container.decodeIfPresent(String.self, forKey: .nameEndsWith) nameContains = try container.decodeIfPresent(String.self, forKey: .nameContains) serviceName = try container.decodeIfPresent(String.self, forKey: .serviceName) serviceNameStartsWith = try container.decodeIfPresent(String.self, forKey: .serviceNameStartsWith) serviceNameEndsWith = try container.decodeIfPresent(String.self, forKey: .serviceNameEndsWith) serviceNameContains = try container.decodeIfPresent(String.self, forKey: .serviceNameContains) before = try container.decodeIfPresent(Date.self, forKey: .before) after = try container.decodeIfPresent(Date.self, forKey: .after) periodStartDate = try container.decodeIfPresent(Date.self, forKey: .periodStartDate) periodEndDate = try container.decodeIfPresent(Date.self, forKey: .periodEndDate) periodMode = try container.decodeIfPresent(PeriodMode.self, forKey: .periodMode) requestUri = try container.decodeIfPresent(String.self, forKey: .requestUri) requestHttpMethod = try container.decodeIfPresent(String.self, forKey: .requestHttpMethod) orderRequestSucceeded = try container.decodeIfPresent(Bool.self, forKey: .orderRequestSucceeded) clientIPAddress = try container.decodeIfPresent(String.self, forKey: .clientIPAddress) unitOfMeasurement = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurement) unitOfMeasurementStartsWith = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementStartsWith) unitOfMeasurementEndsWith = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementEndsWith) unitOfMeasurementContains = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementContains) processType = try container.decodeIfPresent(String.self, forKey: .processType) processTypeStartsWith = try container.decodeIfPresent(String.self, forKey: .processTypeStartsWith) processTypeEndsWith = try container.decodeIfPresent(String.self, forKey: .processTypeEndsWith) processTypeContains = try container.decodeIfPresent(String.self, forKey: .processTypeContains) dataType = try container.decodeIfPresent(String.self, forKey: .dataType) dataTypeStartsWith = try container.decodeIfPresent(String.self, forKey: .dataTypeStartsWith) dataTypeEndsWith = try container.decodeIfPresent(String.self, forKey: .dataTypeEndsWith) dataTypeContains = try container.decodeIfPresent(String.self, forKey: .dataTypeContains) dataName = try container.decodeIfPresent(String.self, forKey: .dataName) dataNameStartsWith = try container.decodeIfPresent(String.self, forKey: .dataNameStartsWith) dataNameEndsWith = try container.decodeIfPresent(String.self, forKey: .dataNameEndsWith) dataNameContains = try container.decodeIfPresent(String.self, forKey: .dataNameContains) 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 userName != nil { try container.encode(userName, forKey: .userName) } if orderId != nil { try container.encode(orderId, forKey: .orderId) } if productId != nil { try container.encode(productId, forKey: .productId) } if accountId != nil { try container.encode(accountId, forKey: .accountId) } if name != nil { try container.encode(name, forKey: .name) } if nameStartsWith != nil { try container.encode(nameStartsWith, forKey: .nameStartsWith) } if nameEndsWith != nil { try container.encode(nameEndsWith, forKey: .nameEndsWith) } if nameContains != nil { try container.encode(nameContains, forKey: .nameContains) } if serviceName != nil { try container.encode(serviceName, forKey: .serviceName) } if serviceNameStartsWith != nil { try container.encode(serviceNameStartsWith, forKey: .serviceNameStartsWith) } if serviceNameEndsWith != nil { try container.encode(serviceNameEndsWith, forKey: .serviceNameEndsWith) } if serviceNameContains != nil { try container.encode(serviceNameContains, forKey: .serviceNameContains) } if before != nil { try container.encode(before, forKey: .before) } if after != nil { try container.encode(after, forKey: .after) } if periodStartDate != nil { try container.encode(periodStartDate, forKey: .periodStartDate) } if periodEndDate != nil { try container.encode(periodEndDate, forKey: .periodEndDate) } if periodMode != nil { try container.encode(periodMode, forKey: .periodMode) } if requestUri != nil { try container.encode(requestUri, forKey: .requestUri) } if requestHttpMethod != nil { try container.encode(requestHttpMethod, forKey: .requestHttpMethod) } if orderRequestSucceeded != nil { try container.encode(orderRequestSucceeded, forKey: .orderRequestSucceeded) } if clientIPAddress != nil { try container.encode(clientIPAddress, forKey: .clientIPAddress) } if unitOfMeasurement != nil { try container.encode(unitOfMeasurement, forKey: .unitOfMeasurement) } if unitOfMeasurementStartsWith != nil { try container.encode(unitOfMeasurementStartsWith, forKey: .unitOfMeasurementStartsWith) } if unitOfMeasurementEndsWith != nil { try container.encode(unitOfMeasurementEndsWith, forKey: .unitOfMeasurementEndsWith) } if unitOfMeasurementContains != nil { try container.encode(unitOfMeasurementContains, forKey: .unitOfMeasurementContains) } if processType != nil { try container.encode(processType, forKey: .processType) } if processTypeStartsWith != nil { try container.encode(processTypeStartsWith, forKey: .processTypeStartsWith) } if processTypeEndsWith != nil { try container.encode(processTypeEndsWith, forKey: .processTypeEndsWith) } if processTypeContains != nil { try container.encode(processTypeContains, forKey: .processTypeContains) } if dataType != nil { try container.encode(dataType, forKey: .dataType) } if dataTypeStartsWith != nil { try container.encode(dataTypeStartsWith, forKey: .dataTypeStartsWith) } if dataTypeEndsWith != nil { try container.encode(dataTypeEndsWith, forKey: .dataTypeEndsWith) } if dataTypeContains != nil { try container.encode(dataTypeContains, forKey: .dataTypeContains) } if dataName != nil { try container.encode(dataName, forKey: .dataName) } if dataNameStartsWith != nil { try container.encode(dataNameStartsWith, forKey: .dataNameStartsWith) } if dataNameEndsWith != nil { try container.encode(dataNameEndsWith, forKey: .dataNameEndsWith) } if dataNameContains != nil { try container.encode(dataNameContains, forKey: .dataNameContains) } 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 }