- package Seeder
-
- import (
- "encoding/base64"
- "time"
-
- "git.tovijaeschke.xyz/tovi/Envelope/Backend/Database"
- "git.tovijaeschke.xyz/tovi/Envelope/Backend/Models"
- )
-
- func seedFriend(userRequestTo, userRequestFrom Models.User) error {
- var (
- friendRequest Models.FriendRequest
- symKey aesKey
- encPublicKey []byte
- err error
- )
-
- symKey, err = generateAesKey()
- if err != nil {
- return err
- }
-
- encPublicKey, err = symKey.aesEncrypt([]byte(publicKey))
- if err != nil {
- return err
- }
-
- friendRequest = Models.FriendRequest{
- UserID: userRequestTo.ID,
- UserUsername: userRequestTo.Username,
- AcceptedAt: time.Now(),
- FriendID: base64.StdEncoding.EncodeToString(
- encryptWithPublicKey(
- []byte(userRequestFrom.ID.String()),
- decodedPublicKey,
- ),
- ),
- FriendUsername: base64.StdEncoding.EncodeToString(
- encryptWithPublicKey(
- []byte(userRequestFrom.Username),
- decodedPublicKey,
- ),
- ),
- FriendPublicAsymmetricKey: base64.StdEncoding.EncodeToString(
- encPublicKey,
- ),
- SymmetricKey: base64.StdEncoding.EncodeToString(
- encryptWithPublicKey(symKey.Key, decodedPublicKey),
- ),
- }
-
- return Database.CreateFriendRequest(&friendRequest)
- }
-
- func SeedFriends() {
- var (
- primaryUser Models.User
- secondaryUser Models.User
- i int
- err error
- )
-
- primaryUser, err = Database.GetUserByUsername("testUser")
- if err != nil {
- panic(err)
- }
-
- secondaryUser, err = Database.GetUserByUsername("ATestUser2")
- if err != nil {
- panic(err)
- }
-
- err = seedFriend(primaryUser, secondaryUser)
- if err != nil {
- panic(err)
- }
-
- err = seedFriend(secondaryUser, primaryUser)
- if err != nil {
- panic(err)
- }
-
- for i = 0; i <= 3; i++ {
- secondaryUser, err = Database.GetUserByUsername(userNames[i])
- if err != nil {
- panic(err)
- }
-
- err = seedFriend(primaryUser, secondaryUser)
- if err != nil {
- panic(err)
- }
-
- err = seedFriend(secondaryUser, primaryUser)
- if err != nil {
- panic(err)
- }
- }
- }
|