backend/pkg/permission/domain/entity/token.go

47 lines
1.4 KiB
Go
Raw Normal View History

2025-10-03 08:38:12 +00:00
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
//}