import Foundation
import ServiceStack
// @DataContract
public class CustomUserSession : AuthUserSession
{
// @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) }
}
}
// @DataContract
public class AuthUserSession : IMeta, 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(){}
}
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 }
}
public enum MotorBD : String, Codable
{
case POSTGRESQL
case ORACLE
case SQLSERVER
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/CustomUserSession HTTP/1.1
Host: ws.jimsnwa.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CustomUserSession xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Administrador.ServiceLogs.Auth">
<ReferrerUrl xmlns="http://schemas.servicestack.net/types">String</ReferrerUrl>
<Id xmlns="http://schemas.servicestack.net/types">String</Id>
<UserAuthId xmlns="http://schemas.servicestack.net/types">String</UserAuthId>
<UserAuthName xmlns="http://schemas.servicestack.net/types">String</UserAuthName>
<UserName xmlns="http://schemas.servicestack.net/types">String</UserName>
<TwitterUserId xmlns="http://schemas.servicestack.net/types">String</TwitterUserId>
<TwitterScreenName xmlns="http://schemas.servicestack.net/types">String</TwitterScreenName>
<FacebookUserId xmlns="http://schemas.servicestack.net/types">String</FacebookUserId>
<FacebookUserName xmlns="http://schemas.servicestack.net/types">String</FacebookUserName>
<FirstName xmlns="http://schemas.servicestack.net/types">String</FirstName>
<LastName xmlns="http://schemas.servicestack.net/types">String</LastName>
<DisplayName xmlns="http://schemas.servicestack.net/types">String</DisplayName>
<Company xmlns="http://schemas.servicestack.net/types">String</Company>
<Email xmlns="http://schemas.servicestack.net/types">String</Email>
<PrimaryEmail xmlns="http://schemas.servicestack.net/types">String</PrimaryEmail>
<PhoneNumber xmlns="http://schemas.servicestack.net/types">String</PhoneNumber>
<BirthDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</BirthDate>
<BirthDateRaw xmlns="http://schemas.servicestack.net/types">String</BirthDateRaw>
<Address xmlns="http://schemas.servicestack.net/types">String</Address>
<Address2 xmlns="http://schemas.servicestack.net/types">String</Address2>
<City xmlns="http://schemas.servicestack.net/types">String</City>
<State xmlns="http://schemas.servicestack.net/types">String</State>
<Country xmlns="http://schemas.servicestack.net/types">String</Country>
<Culture xmlns="http://schemas.servicestack.net/types">String</Culture>
<FullName xmlns="http://schemas.servicestack.net/types">String</FullName>
<Gender xmlns="http://schemas.servicestack.net/types">String</Gender>
<Language xmlns="http://schemas.servicestack.net/types">String</Language>
<MailAddress xmlns="http://schemas.servicestack.net/types">String</MailAddress>
<Nickname xmlns="http://schemas.servicestack.net/types">String</Nickname>
<PostalCode xmlns="http://schemas.servicestack.net/types">String</PostalCode>
<TimeZone xmlns="http://schemas.servicestack.net/types">String</TimeZone>
<RequestTokenSecret xmlns="http://schemas.servicestack.net/types">String</RequestTokenSecret>
<CreatedAt xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</CreatedAt>
<LastModified xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</LastModified>
<Roles xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
<d2p1:string>String</d2p1:string>
</Roles>
<Permissions xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
<d2p1:string>String</d2p1:string>
</Permissions>
<IsAuthenticated xmlns="http://schemas.servicestack.net/types">false</IsAuthenticated>
<FromToken xmlns="http://schemas.servicestack.net/types">false</FromToken>
<ProfileUrl xmlns="http://schemas.servicestack.net/types">String</ProfileUrl>
<Sequence xmlns="http://schemas.servicestack.net/types">String</Sequence>
<Tag xmlns="http://schemas.servicestack.net/types">0</Tag>
<AuthProvider xmlns="http://schemas.servicestack.net/types">String</AuthProvider>
<ProviderOAuthAccess xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
<d2p1:anyType i:nil="true" />
</ProviderOAuthAccess>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
<Audiences xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
<d2p1:string>String</d2p1:string>
</Audiences>
<Scopes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
<d2p1:string>String</d2p1:string>
</Scopes>
<Dns xmlns="http://schemas.servicestack.net/types">String</Dns>
<Rsa xmlns="http://schemas.servicestack.net/types">String</Rsa>
<Sid xmlns="http://schemas.servicestack.net/types">String</Sid>
<Hash xmlns="http://schemas.servicestack.net/types">String</Hash>
<HomePhone xmlns="http://schemas.servicestack.net/types">String</HomePhone>
<MobilePhone xmlns="http://schemas.servicestack.net/types">String</MobilePhone>
<Webpage xmlns="http://schemas.servicestack.net/types">String</Webpage>
<EmailConfirmed xmlns="http://schemas.servicestack.net/types">false</EmailConfirmed>
<PhoneNumberConfirmed xmlns="http://schemas.servicestack.net/types">false</PhoneNumberConfirmed>
<TwoFactorEnabled xmlns="http://schemas.servicestack.net/types">false</TwoFactorEnabled>
<SecurityStamp xmlns="http://schemas.servicestack.net/types">String</SecurityStamp>
<Type xmlns="http://schemas.servicestack.net/types">String</Type>
<AppAdmConnectionString>String</AppAdmConnectionString>
<BaseURL>String</BaseURL>
<CacheKeyAdm>String</CacheKeyAdm>
<DocumentoUsuario>String</DocumentoUsuario>
<IDEmpresa>0</IDEmpresa>
<IDEmpresaProd>String</IDEmpresaProd>
<IDModulo>String</IDModulo>
<IDSistema>0</IDSistema>
<IDUsuario>String</IDUsuario>
<MensajeError>String</MensajeError>
<MotorAppAdm>POSTGRESQL</MotorAppAdm>
<MotorProd>POSTGRESQL</MotorProd>
<Password>String</Password>
<ProdConnectionString>String</ProdConnectionString>
<SessionDB>false</SessionDB>
<Subsistema>String</Subsistema>
<TipoValidaAuth>String</TipoValidaAuth>
<TokenExt>String</TokenExt>
<UsaServAux>String</UsaServAux>
<app_adm>String</app_adm>
<imei>String</imei>
</CustomUserSession>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <CustomUserSession xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Administrador.ServiceLogs.Auth"> <ReferrerUrl xmlns="http://schemas.servicestack.net/types">String</ReferrerUrl> <Id xmlns="http://schemas.servicestack.net/types">String</Id> <UserAuthId xmlns="http://schemas.servicestack.net/types">String</UserAuthId> <UserAuthName xmlns="http://schemas.servicestack.net/types">String</UserAuthName> <UserName xmlns="http://schemas.servicestack.net/types">String</UserName> <TwitterUserId xmlns="http://schemas.servicestack.net/types">String</TwitterUserId> <TwitterScreenName xmlns="http://schemas.servicestack.net/types">String</TwitterScreenName> <FacebookUserId xmlns="http://schemas.servicestack.net/types">String</FacebookUserId> <FacebookUserName xmlns="http://schemas.servicestack.net/types">String</FacebookUserName> <FirstName xmlns="http://schemas.servicestack.net/types">String</FirstName> <LastName xmlns="http://schemas.servicestack.net/types">String</LastName> <DisplayName xmlns="http://schemas.servicestack.net/types">String</DisplayName> <Company xmlns="http://schemas.servicestack.net/types">String</Company> <Email xmlns="http://schemas.servicestack.net/types">String</Email> <PrimaryEmail xmlns="http://schemas.servicestack.net/types">String</PrimaryEmail> <PhoneNumber xmlns="http://schemas.servicestack.net/types">String</PhoneNumber> <BirthDate xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</BirthDate> <BirthDateRaw xmlns="http://schemas.servicestack.net/types">String</BirthDateRaw> <Address xmlns="http://schemas.servicestack.net/types">String</Address> <Address2 xmlns="http://schemas.servicestack.net/types">String</Address2> <City xmlns="http://schemas.servicestack.net/types">String</City> <State xmlns="http://schemas.servicestack.net/types">String</State> <Country xmlns="http://schemas.servicestack.net/types">String</Country> <Culture xmlns="http://schemas.servicestack.net/types">String</Culture> <FullName xmlns="http://schemas.servicestack.net/types">String</FullName> <Gender xmlns="http://schemas.servicestack.net/types">String</Gender> <Language xmlns="http://schemas.servicestack.net/types">String</Language> <MailAddress xmlns="http://schemas.servicestack.net/types">String</MailAddress> <Nickname xmlns="http://schemas.servicestack.net/types">String</Nickname> <PostalCode xmlns="http://schemas.servicestack.net/types">String</PostalCode> <TimeZone xmlns="http://schemas.servicestack.net/types">String</TimeZone> <RequestTokenSecret xmlns="http://schemas.servicestack.net/types">String</RequestTokenSecret> <CreatedAt xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</CreatedAt> <LastModified xmlns="http://schemas.servicestack.net/types">0001-01-01T00:00:00</LastModified> <Roles xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d2p1:string>String</d2p1:string> </Roles> <Permissions xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d2p1:string>String</d2p1:string> </Permissions> <IsAuthenticated xmlns="http://schemas.servicestack.net/types">false</IsAuthenticated> <FromToken xmlns="http://schemas.servicestack.net/types">false</FromToken> <ProfileUrl xmlns="http://schemas.servicestack.net/types">String</ProfileUrl> <Sequence xmlns="http://schemas.servicestack.net/types">String</Sequence> <Tag xmlns="http://schemas.servicestack.net/types">0</Tag> <AuthProvider xmlns="http://schemas.servicestack.net/types">String</AuthProvider> <ProviderOAuthAccess xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d2p1:anyType i:nil="true" /> </ProviderOAuthAccess> <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d2p1:KeyValueOfstringstring> <d2p1:Key>String</d2p1:Key> <d2p1:Value>String</d2p1:Value> </d2p1:KeyValueOfstringstring> </Meta> <Audiences xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d2p1:string>String</d2p1:string> </Audiences> <Scopes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types"> <d2p1:string>String</d2p1:string> </Scopes> <Dns xmlns="http://schemas.servicestack.net/types">String</Dns> <Rsa xmlns="http://schemas.servicestack.net/types">String</Rsa> <Sid xmlns="http://schemas.servicestack.net/types">String</Sid> <Hash xmlns="http://schemas.servicestack.net/types">String</Hash> <HomePhone xmlns="http://schemas.servicestack.net/types">String</HomePhone> <MobilePhone xmlns="http://schemas.servicestack.net/types">String</MobilePhone> <Webpage xmlns="http://schemas.servicestack.net/types">String</Webpage> <EmailConfirmed xmlns="http://schemas.servicestack.net/types">false</EmailConfirmed> <PhoneNumberConfirmed xmlns="http://schemas.servicestack.net/types">false</PhoneNumberConfirmed> <TwoFactorEnabled xmlns="http://schemas.servicestack.net/types">false</TwoFactorEnabled> <SecurityStamp xmlns="http://schemas.servicestack.net/types">String</SecurityStamp> <Type xmlns="http://schemas.servicestack.net/types">String</Type> <AppAdmConnectionString>String</AppAdmConnectionString> <BaseURL>String</BaseURL> <CacheKeyAdm>String</CacheKeyAdm> <DocumentoUsuario>String</DocumentoUsuario> <IDEmpresa>0</IDEmpresa> <IDEmpresaProd>String</IDEmpresaProd> <IDModulo>String</IDModulo> <IDSistema>0</IDSistema> <IDUsuario>String</IDUsuario> <MensajeError>String</MensajeError> <MotorAppAdm>POSTGRESQL</MotorAppAdm> <MotorProd>POSTGRESQL</MotorProd> <Password>String</Password> <ProdConnectionString>String</ProdConnectionString> <SessionDB>false</SessionDB> <Subsistema>String</Subsistema> <TipoValidaAuth>String</TipoValidaAuth> <TokenExt>String</TokenExt> <UsaServAux>String</UsaServAux> <app_adm>String</app_adm> <imei>String</imei> </CustomUserSession>