notifier/internal/initialize/mongo.go
2024-11-25 11:33:23 +03:00

38 lines
783 B
Go

package initialize
import (
"context"
mg "gitea.pena/PenaSide/common/mongo"
"go.mongodb.org/mongo-driver/mongo"
"time"
)
func MongoInit(ctx context.Context, config Config) (*mongo.Database, error) {
newCtx, cancel := context.WithTimeout(ctx, 10*time.Second)
defer cancel()
cfg := mg.Configuration{
Host: config.MongoHost,
Port: config.MongoPort,
User: config.MongoUser,
Password: config.MongoPassword,
Auth: config.MongoAuth,
DatabaseName: config.MongoDatabase,
}
deps := mg.ConnectDeps{
Configuration: &cfg,
Timeout: 10 * time.Second,
}
mdb, err := mg.Connect(newCtx, &deps)
if err != nil {
return nil, err
}
err = mdb.Client().Ping(newCtx, nil)
if err != nil {
return nil, err
}
return mdb, nil
}