cslms-api/internal/models/token.go
2023-12-27 17:31:49 +09:00

47 lines
1.4 KiB
Go

package models
import "time"
// CREATE TABLE `UserTokens` (
// `id` bigint(20) NOT NULL AUTO_INCREMENT,
// `user_id` bigint(20) DEFAULT 0,
// `token` varchar(256) DEFAULT '',
// `refresh_token` varchar(256) DEFAULT '',
// `status` varchar(3) DEFAULT 'on' COMMENT 'on/off',
// `register_at` timestamp NULL DEFAULT current_timestamp(),
// `ending_at` timestamp NULL DEFAULT NULL COMMENT '종료날짜',
// PRIMARY KEY (`id`) USING BTREE
// ) ENGINE=InnoDB AUTO_INCREMENT=1000017 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
type Token struct {
ID int64 `json:"-" db:"id" gorm:"primary_key"`
UserID int64 `json:"user_id" db:"user_id" gorm:"index;"`
Token string `json:"token" db:"token" gorm:"size:255;index;"`
RefreshToken string `json:"refresh_token" db:"refresh_token" gorm:"size:255;index;"`
Status string `json:"status" gorm:"size:3;index"`
RegisterAt time.Time `json:"register_at" db:"register_at"`
EndingAt time.Time `json:"ending_at" db:"ending_at"`
}
// 테이블이름 정의
func (Token) TableName() string {
return "UserTokens"
}
type RefreshTokenRequest struct {
RefreshToken string `json:"refresh_token" binding:"required"`
}
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"`
}