You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

user_access_token.go 1.1 kB

123456789101112131415161718192021222324252627282930313233
  1. package db
  2. import (
  3. "time"
  4. cortypes "gitlink.org.cn/cloudream/jcs-pub/coordinator/types"
  5. )
  6. type UserAccessTokenDB struct {
  7. *DB
  8. }
  9. func (db *DB) UserAccessToken() *UserAccessTokenDB {
  10. return &UserAccessTokenDB{DB: db}
  11. }
  12. func (db *UserAccessTokenDB) GetByID(ctx SQLContext, userID cortypes.UserID, tokenID cortypes.AccessTokenID) (cortypes.UserAccessToken, error) {
  13. var ret cortypes.UserAccessToken
  14. err := ctx.Table("UserAccessToken").Where("UserID = ? AND TokenID = ?", userID, tokenID).First(&ret).Error
  15. return ret, err
  16. }
  17. func (*UserAccessTokenDB) Create(ctx SQLContext, token *cortypes.UserAccessToken) error {
  18. return ctx.Table("UserAccessToken").Create(token).Error
  19. }
  20. func (db *UserAccessTokenDB) DeleteByID(ctx SQLContext, userID cortypes.UserID, tokenID cortypes.AccessTokenID) error {
  21. return ctx.Table("UserAccessToken").Where("UserID = ? AND TokenID = ?", userID, tokenID).Delete(&cortypes.UserAccessToken{}).Error
  22. }
  23. func (*UserAccessTokenDB) DeleteExpired(ctx SQLContext, expireTime time.Time) error {
  24. return ctx.Table("UserAccessToken").Where("ExpiresAt < ?", expireTime).Delete(&cortypes.UserAccessToken{}).Error
  25. }

本项目旨在将云际存储公共基础设施化,使个人及企业可低门槛使用高效的云际存储服务(安装开箱即用云际存储客户端即可,无需关注其他组件的部署),同时支持用户灵活便捷定制云际存储的功能细节。