34 lines
1.1 KiB
Go
34 lines
1.1 KiB
Go
package db
|
|
|
|
import (
|
|
"time"
|
|
|
|
cortypes "gitlink.org.cn/cloudream/jcs-pub/coordinator/types"
|
|
)
|
|
|
|
type UserAccessTokenDB struct {
|
|
*DB
|
|
}
|
|
|
|
func (db *DB) UserAccessToken() *UserAccessTokenDB {
|
|
return &UserAccessTokenDB{DB: db}
|
|
}
|
|
|
|
func (db *UserAccessTokenDB) GetByID(ctx SQLContext, userID cortypes.UserID, tokenID cortypes.AccessTokenID) (cortypes.UserAccessToken, error) {
|
|
var ret cortypes.UserAccessToken
|
|
err := ctx.Table("UserAccessToken").Where("UserID = ? AND TokenID = ?", userID, tokenID).First(&ret).Error
|
|
return ret, err
|
|
}
|
|
|
|
func (*UserAccessTokenDB) Create(ctx SQLContext, token *cortypes.UserAccessToken) error {
|
|
return ctx.Table("UserAccessToken").Create(token).Error
|
|
}
|
|
|
|
func (db *UserAccessTokenDB) DeleteByID(ctx SQLContext, userID cortypes.UserID, tokenID cortypes.AccessTokenID) error {
|
|
return ctx.Table("UserAccessToken").Where("UserID = ? AND TokenID = ?", userID, tokenID).Delete(&cortypes.UserAccessToken{}).Error
|
|
}
|
|
|
|
func (*UserAccessTokenDB) DeleteExpired(ctx SQLContext, expireTime time.Time) error {
|
|
return ctx.Table("UserAccessToken").Where("ExpiresAt < ?", expireTime).Delete(&cortypes.UserAccessToken{}).Error
|
|
}
|