Encrypted messaging app
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
778 B

  1. package Database
  2. import (
  3. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Models"
  4. "gorm.io/gorm/clause"
  5. )
  6. // GetSessionByID Gets session
  7. func GetSessionByID(id string) (Models.Session, error) {
  8. var (
  9. session Models.Session
  10. err error
  11. )
  12. err = DB.Preload(clause.Associations).
  13. First(&session, "id = ?", id).
  14. Error
  15. return session, err
  16. }
  17. // CreateSession creates session
  18. func CreateSession(session *Models.Session) error {
  19. var (
  20. err error
  21. )
  22. err = DB.Create(session).Error
  23. return err
  24. }
  25. // DeleteSession deletes session
  26. func DeleteSession(session *Models.Session) error {
  27. return DB.Delete(session).Error
  28. }
  29. // DeleteSessionByID deletes session
  30. func DeleteSessionByID(id string) error {
  31. return DB.Delete(
  32. &Models.Session{},
  33. "id = ?",
  34. id,
  35. ).Error
  36. }