/* Options: Date: 2025-03-15 04:31:30 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: GetDbsSearch.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/dbs/{Id}", "GET") // @DataContract public class GetDbsSearch : BaseRequest, IReturn { public typealias Return = GetDbsSearchResponse /** * The ID of the DBS Search */ // @DataMember // @ApiMember(Description="The ID of the DBS Search", IsRequired=true, ParameterType="path") public var id:Int /** * Provide a value to only return a search that the specified sub user has permission to access. If this is null or empty, then sub user permissions will not be enforced and the search will be returned */ // @DataMember // @ApiMember(Description="Provide a value to only return a search that the specified sub user has permission to access. If this is null or empty, then sub user permissions will not be enforced and the search will be returned", ParameterType="query") public var subUserName:String required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case id case subUserName } 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) subUserName = try container.decodeIfPresent(String.self, forKey: .subUserName) } 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) } if subUserName != nil { try container.encode(subUserName, forKey: .subUserName) } } } // @DataContract public class GetDbsSearchResponse : Codable { // @DataMember public var data:GetDbsSearchData 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 GetDbsSearchData : BaseResponse, IBaseSearchResponse { public var linkedTo:ArrayOfLinkedTo public var summary:DbsSearchSummary required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case linkedTo case summary } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) linkedTo = try container.decodeIfPresent(ArrayOfLinkedTo.self, forKey: .linkedTo) summary = try container.decodeIfPresent(DbsSearchSummary.self, forKey: .summary) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if linkedTo != nil { try container.encode(linkedTo, forKey: .linkedTo) } if summary != nil { try container.encode(summary, forKey: .summary) } } } public class ArrayOfLinkedTo : 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 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 protocol IBaseSearchResponse : IBaseDataResponse { var linkedTo:ArrayOfLinkedTo { get set } } public class DbsSearchSummary : Codable { public var id:Int public var dateSearched:Date public var dateUpdated:Date public var status:String public var disclosureStatus:String public var isApplicantInfoCompleted:Bool public var isIdCheckCompleted:Bool public var isApplicationCompleted:Bool public var isApplicationSubmitted:Bool public var isApplicationDisclosed:Bool public var disclosureLevel:String public var applicantInformation:ApplicantInformation required public init(){} } public class LinkedTo : Codable { public var clientId:Int? public var id:Int? public var type:String public var subtype:String public var status:String public var Description:String public var isArchived:Bool? public var name:String public var date:Date? required public init(){} } 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 ApplicantInformation : Codable { public var name:String public var dateOfBirth:String public var email:String public var mobileInternational:String public var jobLocation:String public var reference:String required public init(){} }