mirror of
https://github.com/aykhans/bsky-feedgen.git
synced 2025-05-31 02:50:03 +00:00
47 lines
878 B
Go
47 lines
878 B
Go
package config
|
|
|
|
import (
|
|
"github.com/aykhans/bsky-feedgen/pkg/types"
|
|
"github.com/aykhans/bsky-feedgen/pkg/utils"
|
|
)
|
|
|
|
const MongoDBBaseDB = "main"
|
|
|
|
type MongoDBConfig struct {
|
|
Host string
|
|
Port uint16
|
|
Username string
|
|
Password string
|
|
}
|
|
|
|
func NewMongoDBConfig() (*MongoDBConfig, types.ErrMap) {
|
|
errs := make(types.ErrMap)
|
|
host, err := utils.GetEnv[string]("MONGODB_HOST")
|
|
if err != nil {
|
|
errs["host"] = err
|
|
}
|
|
port, err := utils.GetEnv[uint16]("MONGODB_PORT")
|
|
if err != nil {
|
|
errs["port"] = err
|
|
}
|
|
username, err := utils.GetEnvOr("MONGODB_USERNAME", "")
|
|
if err != nil {
|
|
errs["username"] = err
|
|
}
|
|
password, err := utils.GetEnvOr("MONGODB_PASSWORD", "")
|
|
if err != nil {
|
|
errs["password"] = err
|
|
}
|
|
|
|
if len(errs) > 0 {
|
|
return nil, errs
|
|
}
|
|
|
|
return &MongoDBConfig{
|
|
Host: host,
|
|
Port: port,
|
|
Username: username,
|
|
Password: password,
|
|
}, nil
|
|
}
|