learnsteam-quiz-api/internal/models/token.go

43 lines
1.6 KiB
Go
Raw Permalink Normal View History

2023-10-19 22:47:12 +09:00
package models
import "time"
2023-11-17 01:38:01 +09:00
// type Token struct {
// ID string `json:"id" db:"id" gorm:"column:id;size:255;primary_key;"`
// UserID string `json:"user_id" db:"user_id" gorm:"column:user_id;size:255;index;"`
// Token string `json:"token" gorm:"column:token;size:255;index;"`
// RefreshToken string `json:"refresh_token" gorm:"column:token;size:255;index;"`
// Status string `json:"status" gorm:"column:status;size:10;index;"`
// ExpireAt time.Time `json:"expire_at" gorm:"column:expire_at;index;"`
// UpdatedAt time.Time `json:"updated_at" gorm:"column:updated_at;index;"`
// CreatedAt time.Time `json:"created_at" gorm:"column:created_at;index;"`
// }
2023-10-19 22:47:12 +09:00
type Token struct {
2023-11-17 01:38:01 +09:00
ID string `json:"-" db:"id" gorm:"primary_key"`
UserID string `json:"-" gorm:"index;"`
Token string `json:"token" gorm:"size:255;index;"`
RefreshToken string `json:"refreshToken" gorm:"size:255"`
Expires int64 `json:"expires"`
RefreshExpires int64 `json:"refreshExpires"`
UpdatedAt time.Time `json:"-" gorm:"type:DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;index;->:false"`
CreatedAt time.Time `json:"-" gorm:"type:DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;index;->:false;<-:create"`
}
type RefreshTokenRequest struct {
RefreshToken string `json:"refresh_token" binding:"required"`
2023-10-19 22:47:12 +09:00
}
type TokenResponse struct {
Token string `json:"token"`
TokenBody TokenBody `json:"tokenBody"`
}
type TokenBody struct {
ExpireAt time.Time `json:"tokenExpiredDate"`
TokenIdx int `json:"tokenIdx"`
TokenType int `json:"tokenType"`
}