- 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
- decodedID []byte
- id []byte
- decodedSymKey []byte
- symKey []byte
- err error
- )
-
- decodedID, err = base64.StdEncoding.DecodeString(userRequestFrom.FriendID)
- if err != nil {
- return err
- }
- id, err = decryptWithPrivateKey(decodedID, decodedPrivateKey)
- if err != nil {
- return err
- }
-
- decodedSymKey, err = base64.StdEncoding.DecodeString(userRequestFrom.FriendSymmetricKey)
- if err != nil {
- return err
- }
- symKey, err = decryptWithPrivateKey(decodedSymKey, decodedPrivateKey)
-
- friendRequest = Models.FriendRequest{
- UserID: userRequestTo.ID,
- AcceptedAt: time.Now(),
- FriendID: base64.StdEncoding.EncodeToString(
- encryptWithPublicKey(id, decodedPublicKey),
- ),
- SymmetricKey: base64.StdEncoding.EncodeToString(
- encryptWithPublicKey(symKey, 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("testUser2")
- 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)
- }
- }
- }
|