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.

47 lines
981 B

  1. package Database
  2. import (
  3. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Models"
  4. "gorm.io/gorm"
  5. "gorm.io/gorm/clause"
  6. )
  7. func GetFriendRequestById(id string) (Models.FriendRequest, error) {
  8. var (
  9. friendRequest Models.FriendRequest
  10. err error
  11. )
  12. err = DB.Preload(clause.Associations).
  13. First(&friendRequest, "id = ?", id).
  14. Error
  15. return friendRequest, err
  16. }
  17. func GetFriendRequestsByUserId(userID string) ([]Models.FriendRequest, error) {
  18. var (
  19. friends []Models.FriendRequest
  20. err error
  21. )
  22. err = DB.Model(Models.FriendRequest{}).
  23. Where("user_id = ?", userID).
  24. Find(&friends).
  25. Error
  26. return friends, err
  27. }
  28. func CreateFriendRequest(FriendRequest *Models.FriendRequest) error {
  29. return DB.Session(&gorm.Session{FullSaveAssociations: true}).
  30. Create(FriendRequest).
  31. Error
  32. }
  33. func DeleteFriendRequest(FriendRequest *Models.FriendRequest) error {
  34. return DB.Session(&gorm.Session{FullSaveAssociations: true}).
  35. Delete(FriendRequest).
  36. Error
  37. }