/* Options: Date: 2025-05-12 18:34:03 SwiftVersion: 6.0 Version: 8.53 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://test.servicestack.net //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: CreateJwt.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/jwt") public class CreateJwt : AuthUserSession, IReturn { public typealias Return = CreateJwtResponse public var jwtExpiry:Date? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case jwtExpiry } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) jwtExpiry = try container.decodeIfPresent(Date.self, forKey: .jwtExpiry) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if jwtExpiry != nil { try container.encode(jwtExpiry, forKey: .jwtExpiry) } } } public class CreateJwtResponse : Codable { public var token:String? public var responseStatus:ResponseStatus? 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 } } // @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? // @DataMember(Order=59) public var recoveryToken:String? // @DataMember(Order=60) public var refId:Int? // @DataMember(Order=61) public var refIdStr:String? required public init(){} }