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.

68 lines
1.3 KiB

  1. package Seeder
  2. import (
  3. "encoding/base64"
  4. "time"
  5. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Database"
  6. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Models"
  7. )
  8. func seedFriend(user, friendUser Models.User) error {
  9. var (
  10. friend Models.Friend
  11. err error
  12. )
  13. friend = Models.Friend{
  14. UserID: user.ID,
  15. FriendID: base64.StdEncoding.EncodeToString(encryptWithPublicKey([]byte(friendUser.ID.String()), decodedPublicKey)),
  16. AcceptedAt: time.Now(),
  17. }
  18. err = Database.CreateFriendRequest(&friend)
  19. if err != nil {
  20. return err
  21. }
  22. friend = Models.Friend{
  23. UserID: friendUser.ID,
  24. FriendID: base64.StdEncoding.EncodeToString(encryptWithPublicKey([]byte(user.ID.String()), decodedPublicKey)),
  25. AcceptedAt: time.Now(),
  26. }
  27. return Database.CreateFriendRequest(&friend)
  28. }
  29. func SeedFriends() {
  30. var (
  31. primaryUser Models.User
  32. secondaryUser Models.User
  33. i int
  34. err error
  35. )
  36. primaryUser, err = Database.GetUserByUsername("testUser")
  37. if err != nil {
  38. panic(err)
  39. }
  40. secondaryUser, err = Database.GetUserByUsername("testUser2")
  41. if err != nil {
  42. panic(err)
  43. }
  44. err = seedFriend(primaryUser, secondaryUser)
  45. for i = 0; i <= 3; i++ {
  46. secondaryUser, err = Database.GetUserByUsername(userNames[i])
  47. if err != nil {
  48. panic(err)
  49. }
  50. err = seedFriend(primaryUser, secondaryUser)
  51. if err != nil {
  52. panic(err)
  53. }
  54. }
  55. }