/* Options: Date: 2025-06-27 15:14:35 SwiftVersion: 5.0 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.sanctionssearch.com/v1 //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: GetListSearches.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/searches/list", "POST") // @ApiResponse(Description="Your request is successful if the \"Data.ResponseStatus.Message\" field is \"Success\".", StatusCode=200) // @DataContract public class GetListSearches : IReturn, IBaseRequest, Codable { public typealias Return = GetListSearchesResponse // @DataMember public var authentication:Authentication // @DataMember public var page:Int // @DataMember public var sortOrder:String // @DataMember public var nameSearch:String required public init(){} } // @DataContract public class GetListSearchesResponse : Codable { // @DataMember public var data:GetListSearchesData required public init(){} } // @DataContract public class Authentication : IAuthentication, Codable { /** * The API User ID that will authenticate your request */ // @DataMember // @ApiMember(DataType="string", Description="The API User ID that will authenticate your request", IsRequired=true) public var apiUserId:String /** * The API User Key that will authenticate your request */ // @DataMember // @ApiMember(DataType="string", Description="The API User Key that will authenticate your request", IsRequired=true) public var apiUserKey:String required public init(){} } public protocol IBaseRequest { var authentication:Authentication { get set } } // @DataContract public class GetListSearchesData : IBaseDataResponse, IHasResponseStatus, Codable { // @DataMember public var responseStatus:ResponseStatus // @DataMember public var totalSearchRecords:Int // @DataMember public var currentPageNum:Int // @DataMember public var maxPageNum:Int // @DataMember public var searchRecords:ArrayOfSearchListItem required public init(){} } public protocol IAuthentication { var apiUserId:String { get set } var apiUserKey:String { get set } var userId:String { get set } } public protocol IBaseDataResponse { var responseStatus:ResponseStatus { get set } } public protocol IHasResponseStatus { var responseStatus:ResponseStatus { get set } } public class ArrayOfSearchListItem : 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 SearchCriteria : Codable { public var name:String public var dateOfBirth:String public var countryOfBirth:String public var nationality:String public var address:String required public init(){} } public class SearchListItem : Codable { public var id:Int public var searchType:String public var dateSearched:Date public var dateUpdated:Date public var numOfResults:Int public var clientInResults:Bool public var clientNotInResults:Bool public var affectedByUpdate:Bool public var searchCriteria:SearchCriteria required public init(){} }