rss-tools/app/config.go (view raw)
| 1 | package app |
| 2 | |
| 3 | import ( |
| 4 | "encoding/json" |
| 5 | "os" |
| 6 | ) |
| 7 | |
| 8 | type Config struct { |
| 9 | Port int `json:"port"` |
| 10 | AuthToken string `json:"auth_token"` |
| 11 | TGUserID int64 `json:"tg_userid"` |
| 12 | TGToken string `json:"tg_token"` |
| 13 | MoviefeedAPIKey string `json:"moviefeed_api_key"` |
| 14 | MoviefeedShows []string `json:"moviefeed_shows"` |
| 15 | MusicArtists []string `json:"music_artists"` |
| 16 | MusicMaxAgeDays int `json:"music_max_age_days"` |
| 17 | } |
| 18 | |
| 19 | func NewConfig(fpath string) (*Config, error) { |
| 20 | // TODO per source config |
| 21 | |
| 22 | configFile, err := os.ReadFile(fpath) |
| 23 | if err != nil { |
| 24 | return nil, err |
| 25 | } |
| 26 | |
| 27 | var config Config |
| 28 | err = json.Unmarshal(configFile, &config) |
| 29 | return &config, err |
| 30 | } |