/* Options: Date: 2025-06-13 06:40:03 SwiftVersion: 5.0 Version: 6.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://ws.jimsnwa.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: CustomUserSession.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @DataContract public class CustomUserSession : AuthUserSession, IReturn { public typealias Return = CustomUserSession // @DataMember public var idUsuario:String? // @DataMember public var idSistema:Double? // @DataMember public var idEmpresaProd:String? // @DataMember public var idEmpresa:Double? // @DataMember public var idModulo:String? // @DataMember public var motorProd:MotorBD? // @DataMember public var motorAppAdm:MotorBD? // @DataMember public var prodConnectionString:String? // @DataMember public var appAdmConnectionString:String? // @DataMember public var cacheKeyAdm:String? // @DataMember public var password:String? // @DataMember public var sessionDB:Bool? // @DataMember public var mensajeError:String? // @DataMember public var documentoUsuario:String? // @DataMember public var app_adm:String? // @DataMember public var imei:String? // @DataMember public var baseURL:String? // @DataMember public var usaServAux:String? // @DataMember public var tipoValidaAuth:String? // @DataMember public var tokenExt:String? // @DataMember public var subsistema:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case idUsuario case idSistema case idEmpresaProd case idEmpresa case idModulo case motorProd case motorAppAdm case prodConnectionString case appAdmConnectionString case cacheKeyAdm case password case sessionDB case mensajeError case documentoUsuario case app_adm case imei case baseURL case usaServAux case tipoValidaAuth case tokenExt case subsistema } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) idUsuario = try container.decodeIfPresent(String.self, forKey: .idUsuario) idSistema = try container.decodeIfPresent(Double.self, forKey: .idSistema) idEmpresaProd = try container.decodeIfPresent(String.self, forKey: .idEmpresaProd) idEmpresa = try container.decodeIfPresent(Double.self, forKey: .idEmpresa) idModulo = try container.decodeIfPresent(String.self, forKey: .idModulo) motorProd = try container.decodeIfPresent(MotorBD.self, forKey: .motorProd) motorAppAdm = try container.decodeIfPresent(MotorBD.self, forKey: .motorAppAdm) prodConnectionString = try container.decodeIfPresent(String.self, forKey: .prodConnectionString) appAdmConnectionString = try container.decodeIfPresent(String.self, forKey: .appAdmConnectionString) cacheKeyAdm = try container.decodeIfPresent(String.self, forKey: .cacheKeyAdm) password = try container.decodeIfPresent(String.self, forKey: .password) sessionDB = try container.decodeIfPresent(Bool.self, forKey: .sessionDB) mensajeError = try container.decodeIfPresent(String.self, forKey: .mensajeError) documentoUsuario = try container.decodeIfPresent(String.self, forKey: .documentoUsuario) app_adm = try container.decodeIfPresent(String.self, forKey: .app_adm) imei = try container.decodeIfPresent(String.self, forKey: .imei) baseURL = try container.decodeIfPresent(String.self, forKey: .baseURL) usaServAux = try container.decodeIfPresent(String.self, forKey: .usaServAux) tipoValidaAuth = try container.decodeIfPresent(String.self, forKey: .tipoValidaAuth) tokenExt = try container.decodeIfPresent(String.self, forKey: .tokenExt) subsistema = try container.decodeIfPresent(String.self, forKey: .subsistema) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if idUsuario != nil { try container.encode(idUsuario, forKey: .idUsuario) } if idSistema != nil { try container.encode(idSistema, forKey: .idSistema) } if idEmpresaProd != nil { try container.encode(idEmpresaProd, forKey: .idEmpresaProd) } if idEmpresa != nil { try container.encode(idEmpresa, forKey: .idEmpresa) } if idModulo != nil { try container.encode(idModulo, forKey: .idModulo) } if motorProd != nil { try container.encode(motorProd, forKey: .motorProd) } if motorAppAdm != nil { try container.encode(motorAppAdm, forKey: .motorAppAdm) } if prodConnectionString != nil { try container.encode(prodConnectionString, forKey: .prodConnectionString) } if appAdmConnectionString != nil { try container.encode(appAdmConnectionString, forKey: .appAdmConnectionString) } if cacheKeyAdm != nil { try container.encode(cacheKeyAdm, forKey: .cacheKeyAdm) } if password != nil { try container.encode(password, forKey: .password) } if sessionDB != nil { try container.encode(sessionDB, forKey: .sessionDB) } if mensajeError != nil { try container.encode(mensajeError, forKey: .mensajeError) } if documentoUsuario != nil { try container.encode(documentoUsuario, forKey: .documentoUsuario) } if app_adm != nil { try container.encode(app_adm, forKey: .app_adm) } if imei != nil { try container.encode(imei, forKey: .imei) } if baseURL != nil { try container.encode(baseURL, forKey: .baseURL) } if usaServAux != nil { try container.encode(usaServAux, forKey: .usaServAux) } if tipoValidaAuth != nil { try container.encode(tipoValidaAuth, forKey: .tipoValidaAuth) } if tokenExt != nil { try container.encode(tokenExt, forKey: .tokenExt) } if subsistema != nil { try container.encode(subsistema, forKey: .subsistema) } } } public enum MotorBD : String, Codable { case POSTGRESQL case ORACLE case SQLSERVER } public protocol IAuthTokens { var provider:String? { get set } var userId:String? { get set } var accessToken:String? { get set } var accessTokenSecret:String? { get set } var refreshToken:String? { get set } var refreshTokenExpiry:Date? { get set } var requestToken:String? { get set } var requestTokenSecret:String? { get set } var items:[String:String]? { get set } } // @DataContract public class AuthUserSession : Codable { // @DataMember(Order=1) public var referrerUrl:String? // @DataMember(Order=2) public var id:String? // @DataMember(Order=3) public var userAuthId:String? // @DataMember(Order=4) public var userAuthName:String? // @DataMember(Order=5) public var userName:String? // @DataMember(Order=6) public var twitterUserId:String? // @DataMember(Order=7) public var twitterScreenName:String? // @DataMember(Order=8) public var facebookUserId:String? // @DataMember(Order=9) public var facebookUserName:String? // @DataMember(Order=10) public var firstName:String? // @DataMember(Order=11) public var lastName:String? // @DataMember(Order=12) public var displayName:String? // @DataMember(Order=13) public var company:String? // @DataMember(Order=14) public var email:String? // @DataMember(Order=15) public var primaryEmail:String? // @DataMember(Order=16) public var phoneNumber:String? // @DataMember(Order=17) public var birthDate:Date? // @DataMember(Order=18) public var birthDateRaw:String? // @DataMember(Order=19) public var address:String? // @DataMember(Order=20) public var address2:String? // @DataMember(Order=21) public var city:String? // @DataMember(Order=22) public var state:String? // @DataMember(Order=23) public var country:String? // @DataMember(Order=24) public var culture:String? // @DataMember(Order=25) public var fullName:String? // @DataMember(Order=26) public var gender:String? // @DataMember(Order=27) public var language:String? // @DataMember(Order=28) public var mailAddress:String? // @DataMember(Order=29) public var nickname:String? // @DataMember(Order=30) public var postalCode:String? // @DataMember(Order=31) public var timeZone:String? // @DataMember(Order=32) public var requestTokenSecret:String? // @DataMember(Order=33) public var createdAt:Date? // @DataMember(Order=34) public var lastModified:Date? // @DataMember(Order=35) public var roles:[String] = [] // @DataMember(Order=36) public var permissions:[String] = [] // @DataMember(Order=37) public var isAuthenticated:Bool? // @DataMember(Order=38) public var fromToken:Bool? // @DataMember(Order=39) public var profileUrl:String? // @DataMember(Order=40) public var sequence:String? // @DataMember(Order=41) public var tag:Int? // @DataMember(Order=42) public var authProvider:String? //providerOAuthAccess:[IAuthTokens] ignored. Swift doesn't support interface properties // @DataMember(Order=44) public var meta:[String:String] = [:] // @DataMember(Order=45) public var audiences:[String] = [] // @DataMember(Order=46) public var scopes:[String] = [] // @DataMember(Order=47) public var dns:String? // @DataMember(Order=48) public var rsa:String? // @DataMember(Order=49) public var sid:String? // @DataMember(Order=50) public var hash:String? // @DataMember(Order=51) public var homePhone:String? // @DataMember(Order=52) public var mobilePhone:String? // @DataMember(Order=53) public var webpage:String? // @DataMember(Order=54) public var emailConfirmed:Bool? // @DataMember(Order=55) public var phoneNumberConfirmed:Bool? // @DataMember(Order=56) public var twoFactorEnabled:Bool? // @DataMember(Order=57) public var securityStamp:String? // @DataMember(Order=58) public var type:String? required public init(){} }