// // File.swift // // // Created by Michiel Carman on 4/16/24. // import Vapor import Fluent import JWT struct SessionToken: Content, Authenticatable, JWTPayload{ var expirationtime: TimeInterval = 60 * 15 var expiration: ExpirationClaim var userid: Int init(userid: Int){ self.userid = userid self.expiration = ExpirationClaim(value: Date().addingTimeInterval(expirationtime)) } init(user: mdlAssociate){ self.userid = try! user.requireID() self.expiration = ExpirationClaim(value: Date().addingTimeInterval(expirationtime)) } func verify(using signer: JWTKit.JWTSigner) throws { try expiration.verifyNotExpired() } } struct ClientTokenResponse: Content{ var token: String }