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