1 Star 0 Fork 0

谈子文/keyauth-tz

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
impl.go 1.37 KB
一键复制 编辑 原始数据 按行查看 历史
谈子文 提交于 2023-10-25 15:11 . 优化
package impl
import (
"context"
"github.com/infraboard/mcube/app"
"github.com/infraboard/mcube/logger"
"github.com/infraboard/mcube/logger/zap"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"go.mongodb.org/mongo-driver/x/bsonx"
"google.golang.org/grpc"
"gitee.com/talk-about-articles/keyauth-tz/apps/user"
"gitee.com/talk-about-articles/keyauth-tz/conf"
)
var (
// Service 服务实例
svr = &service{}
)
type service struct {
col *mongo.Collection
log logger.Logger
user.UnimplementedServiceServer
}
func (s *service) Config() error {
// 依赖Mongodb的DB对象
db, err := conf.C().Mongo.GetDB()
if err != nil {
return err
}
// 获取一个Collection对象,通过collection对象完成数据库操作
s.col = db.Collection(s.Name())
s.log = zap.L().Named(s.Name())
// 创建索引
indexs := []mongo.IndexModel{
{
Keys: bsonx.Doc{
{
Key: "data.name", Value: bsonx.Int32(-1),
},
{
Key: "data.domain", Value: bsonx.Int32(-1),
},
},
Options: options.Index().SetUnique(true),
},
}
_, err = s.col.Indexes().CreateMany(context.Background(), indexs)
if err != nil {
return err
}
return nil
}
func (s *service) Name() string {
return user.AppName
}
func (s *service) Registry(server *grpc.Server) {
user.RegisterServiceServer(server, svr)
}
func init() {
app.RegistryGrpcApp(svr)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/talk-about-articles/keyauth-tz.git
git@gitee.com:talk-about-articles/keyauth-tz.git
talk-about-articles
keyauth-tz
keyauth-tz
v1.0.27

搜索帮助