20 lines
803 B
Go
20 lines
803 B
Go
package models
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// AccessToken maps a unique token to one account.
|
|
// Access to server resource may only happen with a valid access token.
|
|
// Access tokens are granted by [auth-new/auth.Authenticator].
|
|
// Each account may have multiple access tokens at any time
|
|
type AccessToken struct {
|
|
User User // The account the token belongs to
|
|
UserId string
|
|
// The token itself is a uuid value
|
|
Token string `gorm:"primarykey;type:uuid;default:gen_random_uuid()"`
|
|
Name string // Token name will be empty if autogenerated with sucessful login
|
|
// Every token expires, even if set to "not expire". If set to "not expire", it just expires
|
|
// at a point in the future this server should never reach
|
|
ExpiresAt time.Time `gorm:"default:TIMESTAMP WITH TIME ZONE '9999-12-30 23:59:59+00'"`
|
|
}
|