sessionRepo.go 686 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package repo
  2. import (
  3. "encoding/json"
  4. "bloat/util"
  5. "bloat/model"
  6. )
  7. type sessionRepo struct {
  8. db *util.Database
  9. }
  10. func NewSessionRepo(db *util.Database) *sessionRepo {
  11. return &sessionRepo{
  12. db: db,
  13. }
  14. }
  15. func (repo *sessionRepo) Add(s model.Session) (err error) {
  16. data, err := json.Marshal(s)
  17. if err != nil {
  18. return
  19. }
  20. err = repo.db.Set(s.ID, data)
  21. return
  22. }
  23. func (repo *sessionRepo) Get(id string) (s model.Session, err error) {
  24. data, err := repo.db.Get(id)
  25. if err != nil {
  26. err = model.ErrSessionNotFound
  27. return
  28. }
  29. err = json.Unmarshal(data, &s)
  30. if err != nil {
  31. return
  32. }
  33. return
  34. }
  35. func (repo *sessionRepo) Remove(id string) {
  36. repo.db.Remove(id)
  37. return
  38. }