/* Options: Date: 2025-03-15 00:56:31 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: AddSearch.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/sanctions/add", "POST") // @DataContract public class AddSearch : BaseRequest, IReturn { public typealias Return = AddSearchResponse // @DataMember public var request:AddSearchRequest 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(AddSearchRequest.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 AddSearchResponse : Codable { // @DataMember public var data:AddSearchData 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 AddSearchRequest : IAddSearchRequest, Codable { /** * If the search should be saved against a single Sub User account, specify their username here */ // @ApiMember(Description="If the search should be saved against a single Sub User account, specify their username here") public var subUserName:String public var type:String public var name:String public var country:String public var address:String public var dateOfBirth:String public var nationality:String public var reference:String public var excludeResults:Bool public var selectedLists:ArrayOfLists public var performPepSearch:Bool public var dayOneSearch:Bool /** * If the search should be linked to other searches, specify the them here */ // @ApiMember(Description="If the search should be linked to other searches, specify the them here") public var linkedTo:ArrayOfLinkedTo required public init(){} } public class AddSearchData : BaseResponse, IBaseSearchResponse { public var linkedTo:ArrayOfLinkedTo public var searchRecord:SearchRecord public var includesPepSearchRecord:Bool public var pepSearchRecord:PepSearchRecord required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case linkedTo case searchRecord case includesPepSearchRecord case pepSearchRecord } 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) searchRecord = try container.decodeIfPresent(SearchRecord.self, forKey: .searchRecord) includesPepSearchRecord = try container.decodeIfPresent(Bool.self, forKey: .includesPepSearchRecord) pepSearchRecord = try container.decodeIfPresent(PepSearchRecord.self, forKey: .pepSearchRecord) } 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 searchRecord != nil { try container.encode(searchRecord, forKey: .searchRecord) } if includesPepSearchRecord != nil { try container.encode(includesPepSearchRecord, forKey: .includesPepSearchRecord) } if pepSearchRecord != nil { try container.encode(pepSearchRecord, forKey: .pepSearchRecord) } } } 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 ArrayOfLists : 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 protocol IAddSearchRequest { var address:String { get set } var country:String { get set } var dateOfBirth:String { get set } var name:String { get set } var nationality:String { get set } var reference:String { get set } var selectedLists:ArrayOfLists { get set } var subUserName:String { get set } var type:String { get set } var linkedTo:ArrayOfLinkedTo { get set } } 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 PepSearchRecord : Codable { public var id:Int public var searchType:String public var dateSearched:Date public var dateUpdated:Date public var dateRenewal:Date? public var dateArchived:Date? public var isArchived:Bool public var numOfResults:Int public var clientInResults:Bool public var clientNotInResults:Bool public var affectedByUpdate:Bool public var isDayOneSearch:Bool public var searchCriteria:SearchCriteria public var searchResults:PepSearchResults required public init(){} } public class SearchRecord : Codable { public var id:Int public var searchType:String public var dateSearched:Date public var dateUpdated:Date public var dateArchived:Date? public var isArchived:Bool public var numOfResults:Int public var clientInResults:Bool public var clientNotInResults:Bool public var affectedByUpdate:Bool public var searchCriteria:SearchCriteria public var searchResults:SearchResults public var searchSources:[SearchSource] = [] public var listSearchResults:ArrayOfSearchResultEntries 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 SearchCriteria : Codable { public var name:String public var address:String public var country:String public var dateOfBirth:String public var nationality:String public var reference:String required public init(){} } public class PepSearchResults : Codable { public var results:[PepSearchResult] = [] required public init(){} } public class SearchResults : Codable { public var euResults:[SearchResultEu] = [] public var hmtResults:[SearchResultHmTreasury] = [] public var hmtUkraineResults:[SearchResultHmTreasury] = [] public var ofacResults:[SearchResultOfac] = [] public var ofacConsolidatedResults:[SearchResultOfac] = [] public var dfatResults:[SearchResultDfat] = [] public var osfiResults:[SearchResultOsfi] = [] public var canadianJusticeResults:[SearchResultCanadianJustice] = [] public var canadianSemaResults:[SearchResultCanadianSema] = [] public var swissSecoResults:[SearchResultEntry] = [] required public init(){} } public class SearchSource : Codable { public var listId:String public var listName:String public var listShortName:String public var isAffectedByListUpdate:Bool? required public init(){} } public class ArrayOfSearchResultEntries : 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 PepSearchResult : Codable { public var resultSimilarity:Double public var resultResolved:Bool public var dateLastUpdated:Date public var resultIsClient:Bool public var id:Int public var type:String public var title:String public var forename:String public var middlename:String public var surname:String public var softDelete:Bool? public var dateOfSoftDelete:Date? public var dateOfCapture:Date? public var dateOfBirth:Date? public var dateOfDeath:Date? public var yearOfBirth:Int? public var yearOfDeath:Int? public var gender:String public var homeTelephone:String public var businessTelephone:String public var mobileTelephone:String public var fax:String public var email:String public var nationality:String public var source:String public var category:String public var picture:String public var alternateTitle:String public var businessName:String public var Description:String public var telephone:String public var website:String public var pepTier:Int? public var addresses:[PepSearchResultAddress] = [] public var aliases:[PepSearchResultAlias] = [] public var articles:[PepSearchResultArticle] = [] public var associations:[PepSearchResultIndividualAssociation] = [] public var businessAssociations:[PepSearchResultBusinessAssociation] = [] public var notes:[PepSearchResultNote] = [] public var politicalPositions:[PepSearchResultPoliticalPosition] = [] required public init(){} } public class SearchResultEu : Codable { public var resultStrength:Int public var resultSimilarity:Double public var resultResolved:Bool public var resultType:String public var dateUpdated:Date public var addresses:[SearchResultEuAddress] = [] public var births:[SearchResultEuBirth] = [] public var citizenships:[SearchResultOfacEuCitizenship] = [] public var names:[SearchResultEuName] = [] public var passports:[SearchResultEuPassport] = [] required public init(){} } public class SearchResultHmTreasury : Codable { public var resultStrength:Int public var resultSimilarity:Double public var resultResolved:Bool public var resultType:String public var dateListed:Date public var dateUpdated:Date public var name1:String public var name2:String public var name3:String public var name4:String public var name5:String public var name6:String public var dateOfBirth:String public var countryOfBirth:String public var nationality:String public var address1:String public var address2:String public var address3:String public var address4:String public var address5:String public var address6:String public var postCode:String public var country:String required public init(){} } public class SearchResultOfac : Codable { public var resultStrength:Int public var resultSimilarity:Double public var resultResolved:Bool public var resultType:String public var dateUpdated:Date public var firstName:String public var lastName:String public var addresses:[SearchResultOfacAddress] = [] public var akas:[SearchResultOfacAka] = [] public var dateOfBirths:[SearchResultOfacDateOfBirth] = [] public var nationalities:[SearchResultOfacNationality] = [] public var placeOfBirths:[SearchResultOfacPlaceOfBirth] = [] required public init(){} } public class SearchResultDfat : Codable { public var resultStrength:Int public var resultSimilarity:Double public var resultResolved:Bool public var resultType:String public var dateUpdated:Date public var fullName:String public var address:String public var dateOfBirth:String public var placeOfBirth:String public var nationality:String required public init(){} } public class SearchResultOsfi : Codable { public var resultStrength:Int public var resultSimilarity:Double public var resultResolved:Bool public var resultType:String public var dateUpdated:Date public var fullName:String public var address:String public var dateOfBirth:String public var placeOfBirth:String public var nationality:String required public init(){} } public class SearchResultCanadianJustice : Codable { public var resultStrength:Int public var resultSimilarity:Double public var resultResolved:Bool public var resultType:String public var dateUpdated:Date public var name:String public var dateOfBirth:String public var country:String public var refId:Int required public init(){} } public class SearchResultCanadianSema : Codable { public var resultStrength:Int public var resultSimilarity:Double public var resultResolved:Bool public var resultType:String public var dateUpdated:Date public var name:String public var dateOfBirth:String public var country:String public var schedule:String public var item:String required public init(){} } public class SearchResultEntry : Codable { public var searchResultId:Int public var resultStrength:Int public var resultSimilarity:Double public var resultResolved:Bool public var resultType:String public var dateUpdated:Date? public var sanctionsListId:String public var sanctionsListName:String public var addresses:[SearchResultAddress] = [] public var datesOfBirth:[SearchResultDateOfBirth] = [] public var names:[SearchResultName] = [] public var nationalities:[SearchResultNationality] = [] public var placesOfBirth:[SearchResultPlaceOfBirth] = [] public var remarks:[SearchResultRemark] = [] required public init(){} } public class PepSearchResultAddress : Codable { public var addressLine1:String public var addressLine2:String public var addressLine3:String public var addressLine4:String public var town:String public var county:String public var postCode:String public var country:String public var isoCountry:String public var softDelete:Bool? public var dateLastUpdated:Date required public init(){} } public class PepSearchResultAlias : Codable { public var forename:String public var middleName:String public var surname:String public var softDelete:Bool? public var dateOfSoftDelete:Date? public var dateLastUpdated:Date public var title:String public var alternateTitle:String public var businessName:String required public init(){} } public class PepSearchResultArticle : Codable { public var url:String public var originalUrl:String public var source:String public var dateOfCapture:Date? public var dateLastUpdated:Date public var snippets:[PepSearchResultArticleSnippet] = [] required public init(){} } public class PepSearchResultIndividualAssociation : Codable { public var linkDescription:String public var softDelete:Bool? public var dateLastUpdated:Date public var fullName:String required public init(){} } public class PepSearchResultBusinessAssociation : Codable { public var linkDescription:String public var softDelete:Bool? public var dateLastUpdated:Date public var businessName:String required public init(){} } public class PepSearchResultNote : Codable { public var source:String public var notes:String public var softDelete:Bool? public var dateLastUpdated:Date required public init(){} } public class PepSearchResultPoliticalPosition : Codable { public var Description:String public var from:String public var to:String public var country:String public var softDelete:Bool? public var dateLastUpdated:Date required public init(){} } public class SearchResultEuAddress : Codable { public var street:String public var city:String public var country:String public var postCode:String public var other:String required public init(){} } public class SearchResultEuBirth : Codable { public var date:String public var place:String public var country:String required public init(){} } public class SearchResultOfacEuCitizenship : Codable { public var country:String required public init(){} } public class SearchResultEuName : Codable { public var fullName:String public var gender:String required public init(){} } public class SearchResultEuPassport : Codable { public var number:String public var country:String required public init(){} } public class SearchResultOfacAddress : Codable { public var address1:String public var address2:String public var address3:String public var city:String public var state:String public var postCode:String public var country:String required public init(){} } public class SearchResultOfacAka : Codable { public var firstName:String public var lastName:String public var type:String public var strength:String required public init(){} } public class SearchResultOfacDateOfBirth : Codable { public var dateOfBirth:String required public init(){} } public class SearchResultOfacNationality : Codable { public var country:String required public init(){} } public class SearchResultOfacPlaceOfBirth : Codable { public var placeOfBirth:String required public init(){} } public class SearchResultAddress : Codable { public var searchResultAddressId:Int public var type:String public var address1:String public var address2:String public var address3:String public var city:String public var county:String public var postCode:String public var country:String required public init(){} } public class SearchResultDateOfBirth : Codable { public var searchResultDateOfBirthId:Int public var dateOfBirth:String public var year:Int16? public var month:UInt8? public var day:UInt8? public var type:String required public init(){} } public class SearchResultName : Codable { public var searchResultNameId:Int public var type:String public var title:String public var fullName:String public var resultSimilarity:Double required public init(){} } public class SearchResultNationality : Codable { public var searchResultNationalityId:Int public var nationality:String required public init(){} } public class SearchResultPlaceOfBirth : Codable { public var searchResultPlaceOfBirthId:Int public var placeOfBirth:String public var countryOfBirth:String required public init(){} } public class SearchResultRemark : Codable { public var searchResultRemarkId:Int public var name:String public var Description:String required public init(){} } public class PepSearchResultArticleSnippet : Codable { public var title:String public var text:String public var adverseTerms:String required public init(){} }