00ef64d0e87b902fe4522f3c461c94e5dcd17a80
[bloat] / repository / appRepository.go
1 package repository
2
3 import (
4         "web/kv"
5         "web/model"
6 )
7
8 type appRepository struct {
9         db *kv.Database
10 }
11
12 func NewAppRepository(db *kv.Database) *appRepository {
13         return &appRepository{
14                 db: db,
15         }
16 }
17
18 func (repo *appRepository) Add(a model.App) (err error) {
19         err = repo.db.Set(a.InstanceDomain, a.Marshal())
20         return
21 }
22
23 func (repo *appRepository) Get(instanceDomain string) (a model.App, err error) {
24         data, err := repo.db.Get(instanceDomain)
25         if err != nil {
26                 err = model.ErrAppNotFound
27                 return
28         }
29
30         err = a.Unmarshal(instanceDomain, data)
31
32         return
33 }