meditime/config/env.go

52 lines
987 B
Go

package config
import (
"errors"
"fmt"
"os"
)
const (
// BadgerPathEnv name
BadgerPathEnv = "BADGER_PATH"
// PushoverAPITokenEnv name
PushoverAPITokenEnv = "PUSHOVER_API_TOKEN"
)
var (
// ErrEnvVariableNotSet occurs when an environment variable is not set
ErrEnvVariableNotSet = errors.New("environment variable is not set")
)
// Env variable Config implementation
type Env struct {
}
// BadgerPath for the database directory
func (e *Env) BadgerPath() (string, error) {
val, ok := os.LookupEnv(BadgerPathEnv)
if !ok {
return "", fmt.Errorf(
"unable to get badger path from env variable %s: %w",
BadgerPathEnv,
ErrEnvVariableNotSet,
)
}
return val, nil
}
// PushoverAPIToken getter
func (e *Env) PushoverAPIToken() (string, error) {
val, ok := os.LookupEnv(PushoverAPITokenEnv)
if !ok {
return "", fmt.Errorf(
"unable to get pushover API token from env variable %s: %w",
PushoverAPITokenEnv,
ErrEnvVariableNotSet,
)
}
return val, nil
}