appRepo.go 610 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package repo
  2. import (
  3. "encoding/json"
  4. "bloat/util"
  5. "bloat/model"
  6. )
  7. type appRepo struct {
  8. db *util.Database
  9. }
  10. func NewAppRepo(db *util.Database) *appRepo {
  11. return &appRepo{
  12. db: db,
  13. }
  14. }
  15. func (repo *appRepo) Add(a model.App) (err error) {
  16. data, err := json.Marshal(a)
  17. if err != nil {
  18. return
  19. }
  20. err = repo.db.Set(a.InstanceDomain, data)
  21. return
  22. }
  23. func (repo *appRepo) 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. err = json.Unmarshal(data, &a)
  30. if err != nil {
  31. return
  32. }
  33. return
  34. }