1 Star 0 Fork 0

MinKo-U/keyauth

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
dao.go 1.71 KB
一键复制 编辑 原始数据 按行查看 历史
MinKo-U 提交于 2022-11-20 16:16 . 修改包名
package impl
import (
"context"
"fmt"
"gitee.com/MinKo-U/keyauth/apps/token"
"github.com/infraboard/mcube/exception"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
)
func (s *service) save(ctx context.Context, ins *token.Token) error {
if _, err := s.col.InsertOne(ctx, ins); err != nil {
return exception.NewInternalServerError("inserted token(%s) document error, %s",
ins.AccessToken, err)
}
return nil
}
func (s *service) get(ctx context.Context, req *token.ValidateTokenRequest) (*token.Token, error) {
filter := bson.M{"_id": req.AccessToken, "domain": req.Domain}
ins := token.NewToken()
if err := s.col.FindOne(ctx, filter).Decode(ins); err != nil {
if err == mongo.ErrNoDocuments {
return nil, exception.NewNotFound("token id %s not found", req.AccessToken)
}
return nil, exception.NewInternalServerError("find token id %s error, %s", req.AccessToken, err)
}
return ins, nil
}
func (s *service) delete(ctx context.Context, ins *token.Token) error {
if ins == nil || ins.AccessToken == "" {
return fmt.Errorf("token is nil")
}
result, err := s.col.DeleteOne(ctx, bson.M{"_id": ins.AccessToken, "domain": ins.Domain})
if err != nil {
return exception.NewInternalServerError("delete book(%s) error, %s", ins.AccessToken, err)
}
if result.DeletedCount == 0 {
return exception.NewNotFound("book %s not found", ins.AccessToken)
}
return nil
}
func (s *service) update(ctx context.Context, ins *token.Token) error {
s.log.Debugf("ins req:%s", ins)
_, err := s.col.UpdateOne(ctx, bson.M{"_id": ins.AccessToken}, bson.M{"$set": ins})
if err != nil {
return exception.NewInternalServerError("inserted token(%s) document error, %s",
ins.AccessToken, err)
}
return nil
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/MinKo-U/keyauth.git
git@gitee.com:MinKo-U/keyauth.git
MinKo-U
keyauth
keyauth
v1.0.7

搜索帮助