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