47 lines
1.4 KiB
Go
47 lines
1.4 KiB
Go
package entity
|
|
|
|
import (
|
|
"go.mongodb.org/mongo-driver/v2/bson"
|
|
"time"
|
|
)
|
|
|
|
// Token 令牌實體
|
|
type Token struct {
|
|
ID bson.ObjectID `bson:"_id,omitempty" json:"id"`
|
|
UID string `bson:"uid" json:"uid"`
|
|
ClientID string `bson:"client_id" json:"client_id"`
|
|
AccessToken string `bson:"access_token" json:"access_token"`
|
|
RefreshToken string `bson:"refresh_token" json:"refresh_token"`
|
|
DeviceID string `bson:"device_id" json:"device_id"`
|
|
ExpiresAt time.Time `bson:"expires_at" json:"expires_at"`
|
|
CreateTime time.Time `bson:"create_time" json:"create_time"`
|
|
UpdateTime time.Time `bson:"update_time" json:"update_time"`
|
|
}
|
|
|
|
// CollectionName 返回集合名稱
|
|
func (t *Token) CollectionName() string {
|
|
return "tokens"
|
|
}
|
|
|
|
//// IsExpired 檢查令牌是否過期
|
|
//func (t *Token) IsExpired() bool {
|
|
// return time.Now().After(t.ExpiresAt)
|
|
//}
|
|
//
|
|
//// Validate 驗證令牌數據
|
|
//func (t *Token) Validate() error {
|
|
// if t.UID == "" {
|
|
// return mongo.WriteError{Code: 400, Message: "uid is required"}
|
|
// }
|
|
// if t.ClientID == "" {
|
|
// return mongo.WriteError{Code: 400, Message: "client_id is required"}
|
|
// }
|
|
// if t.AccessToken == "" {
|
|
// return mongo.WriteError{Code: 400, Message: "access_token is required"}
|
|
// }
|
|
// if t.RefreshToken == "" {
|
|
// return mongo.WriteError{Code: 400, Message: "refresh_token is required"}
|
|
// }
|
|
// return nil
|
|
//}
|