/* Options: Date: 2025-03-15 04:11:59 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: GetSubUser.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/subusers/get", "GET") // @DataContract public class GetSubUser : BaseRequest, IReturn { public typealias Return = GetSubUserResponse /** * The user name of the sub user */ // @DataMember // @ApiMember(Description="The user name of the sub user", ParameterType="query") public var subUserName:String /** * The user id of the sub user */ // @DataMember // @ApiMember(Description="The user id of the sub user", ParameterType="query") public var subUserId:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case subUserName case subUserId } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) subUserName = try container.decodeIfPresent(String.self, forKey: .subUserName) subUserId = try container.decodeIfPresent(String.self, forKey: .subUserId) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if subUserName != nil { try container.encode(subUserName, forKey: .subUserName) } if subUserId != nil { try container.encode(subUserId, forKey: .subUserId) } } } // @DataContract public class GetSubUserResponse : Codable { /** * The response data */ // @DataMember // @ApiMember(Description="The response data") public var data:GetSubUserData 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 GetSubUserData : BaseResponse { /** * The sub users */ // @ApiMember(Description="The sub users") public var subUser:SubUser required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case subUser } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) subUser = try container.decodeIfPresent(SubUser.self, forKey: .subUser) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if subUser != nil { try container.encode(subUser, forKey: .subUser) } } } public class SubUser : Codable { /** * Is this user the main user (i.e. the user who created the account) */ // @ApiMember(Description="Is this user the main user (i.e. the user who created the account)") public var isMainUser:Bool /** * The sub user's id (GUID) */ // @ApiMember(Description="The sub user's id (GUID)") public var userId:String /** * The sub user's UserName (i.e. the sign-in username) */ // @ApiMember(Description="The sub user's UserName (i.e. the sign-in username)") public var userName:String /** * The sub user's name */ // @ApiMember(Description="The sub user's name") public var name:String /** * The sub user's email address */ // @ApiMember(Description="The sub user's email address") public var email:String /** * Does this sub user have admin privileges, such as managing purchases and sub users */ // @ApiMember(Description="Does this sub user have admin privileges, such as managing purchases and sub users") public var isAdmin:Bool /** * Can this sub user resolve searches (UpdateSearch) they have access to */ // @ApiMember(Description="Can this sub user resolve searches (UpdateSearch) they have access to") public var canResolveSearches:Bool /** * Can this sub user delete searches (DeleteSearch) they have access to */ // @ApiMember(Description="Can this sub user delete searches (DeleteSearch) they have access to") public var canDeleteSearches:Bool /** * The user names for which searches will be made available to the sub user */ // @ApiMember(Description="The user names for which searches will be made available to the sub user") public var permissions:ArrayOfUserNames required public init(){} } 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 ArrayOfUserNames : 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) } }