Skip to content

Instantly share code, notes, and snippets.

@timbaev
Created January 28, 2019 19:20
Show Gist options
  • Select an option

  • Save timbaev/98a88c20b33cb7ebd8f3db801b1cb8a6 to your computer and use it in GitHub Desktop.

Select an option

Save timbaev/98a88c20b33cb7ebd8f3db801b1cb8a6 to your computer and use it in GitHub Desktop.
import Vapor
import FluentSQLite
final class RefreshToken: SQLiteModel {
fileprivate enum Constants {
static let refreshTokenTime: TimeInterval = 60 * 24 * 60 * 60
}
var id: Int?
var token: String
var expiredAt: Date
var userID: User.ID
init(id: Int? = nil,
token: String,
expiredAt: Date = Date().addingTimeInterval(Constants.refreshTokenTime),
userID: User.ID) {
self.id = id
self.token = token
self.expiredAt = expiredAt
self.userID = userID
}
func updateExpiredDate() {
self.expiredAt = Date().addingTimeInterval(Constants.refreshTokenTime)
}
}
extension RefreshToken {
var user: Parent<RefreshToken, User> {
return self.parent(\.userID)
}
}
extension RefreshToken: Content { }
extension RefreshToken: SQLiteMigration { }
extension RefreshToken: Parameter { }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment