package Seeder
|
|
|
|
import (
|
|
"encoding/base64"
|
|
|
|
"git.tovijaeschke.xyz/tovi/Envelope/Backend/Api/Auth"
|
|
"git.tovijaeschke.xyz/tovi/Envelope/Backend/Database"
|
|
"git.tovijaeschke.xyz/tovi/Envelope/Backend/Models"
|
|
)
|
|
|
|
var userNames = []string{
|
|
"assuredcoot",
|
|
"quotesteeve",
|
|
"blueberriessiemens",
|
|
"eliteexaggerate",
|
|
"twotrice",
|
|
"moderagged",
|
|
"duleelderly",
|
|
"stringdetailed",
|
|
"nodesanymore",
|
|
"sacredpolitical",
|
|
"pajamasenergy",
|
|
}
|
|
|
|
func createUser(username string) (Models.User, error) {
|
|
var (
|
|
userData Models.User
|
|
key aesKey
|
|
publicUserData Models.Friend
|
|
password string
|
|
usernameCiphertext []byte
|
|
err error
|
|
)
|
|
|
|
password, err = Auth.HashPassword("password")
|
|
if err != nil {
|
|
return Models.User{}, err
|
|
}
|
|
|
|
key, err = generateAesKey()
|
|
if err != nil {
|
|
return Models.User{}, err
|
|
}
|
|
|
|
usernameCiphertext, err = key.aesEncrypt([]byte(username))
|
|
if err != nil {
|
|
return Models.User{}, err
|
|
}
|
|
|
|
publicUserData = Models.Friend{
|
|
Username: base64.StdEncoding.EncodeToString(usernameCiphertext),
|
|
AsymmetricPublicKey: base64.StdEncoding.EncodeToString([]byte(publicKey)),
|
|
}
|
|
|
|
err = Database.CreateFriend(&publicUserData)
|
|
if err != nil {
|
|
return userData, err
|
|
}
|
|
|
|
userData = Models.User{
|
|
Username: username,
|
|
Password: password,
|
|
AsymmetricPrivateKey: encryptedPrivateKey,
|
|
AsymmetricPublicKey: publicKey,
|
|
FriendID: base64.StdEncoding.EncodeToString(
|
|
encryptWithPublicKey(
|
|
[]byte(publicUserData.ID.String()),
|
|
decodedPublicKey,
|
|
),
|
|
),
|
|
FriendSymmetricKey: base64.StdEncoding.EncodeToString(
|
|
encryptWithPublicKey(key.Key, decodedPublicKey),
|
|
),
|
|
}
|
|
|
|
err = Database.CreateUser(&userData)
|
|
return userData, err
|
|
}
|
|
|
|
func SeedUsers() {
|
|
var (
|
|
i int
|
|
err error
|
|
)
|
|
|
|
// Seed users used for conversation seeding
|
|
_, err = createUser("testUser")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
_, err = createUser("testUser2")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
for i = 0; i <= 10; i++ {
|
|
_, err = createUser(userNames[i])
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
}
|