schet/pkg/input/conf/conf.go

50 строки
774 Б
Go

package conf
import (
"io"
"os"
"my/schet/pkg/input/config"
"my/schet/pkg/schet"
"github.com/yosuke-furukawa/json5/encoding/json5"
)
type Conf struct {
path string
config *config.Config
год *schet.Год
}
func NewConf(path string) *Conf {
c := &Conf{
config: config.NewConfig(),
path: path,
}
return c
}
func (c *Conf) Считать() error {
f, err := os.Open(c.path)
if err != nil {
return err
}
defer f.Close()
data, err := io.ReadAll(f)
if err != nil {
return err
}
return json5.Unmarshal(data, c.config)
}
func (c *Conf) Загрузить(год *schet.Год) error {
c.год = год
for _, d := range c.config.Доходы {
c.год.ДобавитьДоход(d.Сумма, d.Квартал)
}
return nil
}