/* Options: Date: 2025-03-15 04:20:39 SwiftVersion: 5.0 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.sanctionssearch.com/v2 //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: GetValidIds.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/validid/list", "POST") // @DataContract public class GetValidIds : BaseRequest, IReturn { public typealias Return = GetValidIdsResponse // @DataMember public var request:GetValidIdsRequest required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case request } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) request = try container.decodeIfPresent(GetValidIdsRequest.self, forKey: .request) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if request != nil { try container.encode(request, forKey: .request) } } } // @DataContract public class GetValidIdsResponse : Codable { // @DataMember public var data:GetValidIdsData required public init(){} } // @DataContract public class Authentication : Codable { /** * The API User ID provided by us when you signed up to use our API */ // @DataMember // @ApiMember(Description="The API User ID provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body") public var apiUserId:String /** * The API User Key provided by us when you signed up to use our API */ // @DataMember // @ApiMember(Description="The API User Key provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body") public var apiUserKey:String required public init(){} } // @DataContract public class BaseRequest : IBaseRequest, Codable { /** * The authentication credentials */ // @DataMember // @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body") public var authentication:Authentication required public init(){} } public protocol IBaseRequest { var authentication:Authentication { get set } } public class GetValidIdsRequest : Codable { /** * If the searches are being accessed by a sub user, specify their username here to only return searches they have permissions to view */ // @ApiMember(Description="If the searches are being accessed by a sub user, specify their username here to only return searches they have permissions to view") public var subUserName:String public var page:Int public var sortOrder:String public var nameSearch:String public var filterReference:String public var filterType:String public var filterDateFrom:Date? public var filterDateTo:Date? /** * If set, will only return searches created by the user */ // @ApiMember(Description="If set, will only return searches created by the user") public var filterUserName:String required public init(){} } public class GetValidIdsData : BaseResponse { public var totalSearchRecords:Int public var currentPageNum:Int public var maxPageNum:Int public var searchRecords:ArrayOfValidIdListItem required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case totalSearchRecords case currentPageNum case maxPageNum case searchRecords } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) totalSearchRecords = try container.decodeIfPresent(Int.self, forKey: .totalSearchRecords) currentPageNum = try container.decodeIfPresent(Int.self, forKey: .currentPageNum) maxPageNum = try container.decodeIfPresent(Int.self, forKey: .maxPageNum) searchRecords = try container.decodeIfPresent(ArrayOfValidIdListItem.self, forKey: .searchRecords) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if totalSearchRecords != nil { try container.encode(totalSearchRecords, forKey: .totalSearchRecords) } if currentPageNum != nil { try container.encode(currentPageNum, forKey: .currentPageNum) } if maxPageNum != nil { try container.encode(maxPageNum, forKey: .maxPageNum) } if searchRecords != nil { try container.encode(searchRecords, forKey: .searchRecords) } } } public class BaseResponse : IBaseDataResponse, IHasResponseStatus, Codable { /** * The status of the response */ // @ApiMember(Description="The status of the response") public var responseStatus:ResponseStatus required public init(){} } public protocol IBaseDataResponse { var responseStatus:ResponseStatus { get set } } public protocol IHasResponseStatus { var responseStatus:ResponseStatus { get set } } public class ArrayOfValidIdListItem : List { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class ArrayOfResponseError : List { required public init(){ super.init() } required public init(from decoder: Decoder) throws { try super.init(from: decoder) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) } } public class ValidIdListItem : Codable { public var id:Int public var type:Int public var score:Int? public var status:String public var dateSearched:Date public var reference:String public var pepError:Bool public var replaced:Bool public var replacementSearchId:Int? public var hasCompletedRequest:Bool public var hasCompletedSearch:Bool public var searchCriteria:ValidIdSearchCriteria required public init(){} } public class ValidIdSearchCriteria : Codable { public var fullName:String public var dateOfBirth:Date public var gender:String public var address:String required public init(){} }