bloat/repo/appRepo.go

43 lines
604 B
Go
Raw Normal View History

2020-01-28 17:51:00 +00:00
package repo
2019-12-13 18:08:26 +00:00
import (
"encoding/json"
2020-01-01 15:58:27 +00:00
"bloat/kv"
"bloat/model"
2019-12-13 18:08:26 +00:00
)
2020-01-28 17:51:00 +00:00
type appRepo struct {
db *kv.Database
2019-12-13 18:08:26 +00:00
}
2020-01-28 17:51:00 +00:00
func NewAppRepo(db *kv.Database) *appRepo {
return &appRepo{
2019-12-13 18:08:26 +00:00
db: db,
}
2019-12-13 18:08:26 +00:00
}
2020-01-28 17:51:00 +00:00
func (repo *appRepo) Add(a model.App) (err error) {
data, err := json.Marshal(a)
if err != nil {
return
}
err = repo.db.Set(a.InstanceDomain, data)
2019-12-13 18:08:26 +00:00
return
}
2020-01-28 17:51:00 +00:00
func (repo *appRepo) Get(instanceDomain string) (a model.App, err error) {
data, err := repo.db.Get(instanceDomain)
2019-12-13 18:08:26 +00:00
if err != nil {
err = model.ErrAppNotFound
return
}
err = json.Unmarshal(data, &a)
if err != nil {
return
}
2019-12-13 18:08:26 +00:00
return
}