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: 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) } } }