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 //}