summaryrefslogtreecommitdiff
path: root/app/config.go
blob: 093400f0595d0faec9e9bbfcb674e0ba3417839d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package app

import (
	"git.neonxp.ru/posse/internal/rss"
	"git.neonxp.ru/posse/internal/telegram"

	"github.com/caarlos0/env/v11"
)

type Config struct {
	RSS      *rss.Config
	Telegram *telegram.Config
}

func NewConfig() (*Config, error) {
	cfg := &Config{RSS: &rss.Config{}, Telegram: &telegram.Config{}}
	if err := env.Parse(cfg.RSS); err != nil {
		return nil, err
	}
	if err := env.Parse(cfg.Telegram); err != nil {
		return nil, err
	}

	return cfg, nil
}