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.

80 lines
1.5 KiB

  1. package Seeder
  2. import (
  3. "encoding/base64"
  4. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Api/Auth"
  5. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Database"
  6. "git.tovijaeschke.xyz/tovi/Envelope/Backend/Models"
  7. )
  8. var userNames = []string{
  9. "assuredcoot",
  10. "quotesteeve",
  11. "blueberriessiemens",
  12. "eliteexaggerate",
  13. "twotrice",
  14. "moderagged",
  15. "duleelderly",
  16. "stringdetailed",
  17. "nodesanymore",
  18. "sacredpolitical",
  19. "pajamasenergy",
  20. }
  21. func createUser(username string) (Models.User, error) {
  22. var (
  23. userData Models.User
  24. userKey aesKey
  25. password string
  26. err error
  27. )
  28. userKey, err = generateAesKey()
  29. if err != nil {
  30. panic(err)
  31. }
  32. password, err = Auth.HashPassword("password")
  33. if err != nil {
  34. return Models.User{}, err
  35. }
  36. userData = Models.User{
  37. Username: username,
  38. Password: password,
  39. AsymmetricPrivateKey: encryptedPrivateKey,
  40. AsymmetricPublicKey: publicKey,
  41. SymmetricKey: base64.StdEncoding.EncodeToString(
  42. encryptWithPublicKey(userKey.Key, decodedPublicKey),
  43. ),
  44. }
  45. err = Database.CreateUser(&userData)
  46. return userData, err
  47. }
  48. // SeedUsers used to create dummy users for testing & development
  49. func SeedUsers() {
  50. var (
  51. i int
  52. err error
  53. )
  54. // Seed users used for conversation seeding
  55. _, err = createUser("testUser")
  56. if err != nil {
  57. panic(err)
  58. }
  59. _, err = createUser("ATestUser2")
  60. if err != nil {
  61. panic(err)
  62. }
  63. for i = 0; i <= 10; i++ {
  64. _, err = createUser(userNames[i])
  65. if err != nil {
  66. panic(err)
  67. }
  68. }
  69. }