github.com/infraboard/keyauth@v0.8.1/apps/wxwork/impl/impl.go (about) 1 package impl 2 3 import ( 4 "context" 5 6 "github.com/infraboard/keyauth/apps/wxwork" 7 8 "go.mongodb.org/mongo-driver/mongo" 9 "go.mongodb.org/mongo-driver/mongo/options" 10 "go.mongodb.org/mongo-driver/x/bsonx" 11 12 "github.com/infraboard/keyauth/conf" 13 "github.com/infraboard/mcube/app" 14 ) 15 16 var ( 17 // Service 服务实例 18 svr = &service{} 19 ) 20 21 type service struct { 22 col *mongo.Collection 23 } 24 25 func (s *service) Config() error { 26 db := conf.C().Mongo.GetDB() 27 ac := db.Collection("wxwork") 28 29 indexs := []mongo.IndexModel{ 30 { 31 Keys: bsonx.Doc{{Key: "corp_id", Value: bsonx.Int32(-1)}}, 32 Options: options.Index().SetUnique(true), 33 }, 34 { 35 Keys: bsonx.Doc{{Key: "create_at", Value: bsonx.Int32(-1)}}, 36 }, 37 } 38 39 _, err := ac.Indexes().CreateMany(context.Background(), indexs) 40 if err != nil { 41 return err 42 } 43 44 s.col = ac 45 return nil 46 } 47 48 func (s *service) Name() string { 49 return wxwork.AppName 50 } 51 52 func init() { 53 app.RegistryInternalApp(svr) 54 }