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"` }