package Seeder
|
|
|
|
import (
|
|
"fmt"
|
|
"math/rand"
|
|
"time"
|
|
|
|
"git.tovijaeschke.xyz/tovi/SuddenImpactRecords/Api/Auth"
|
|
"git.tovijaeschke.xyz/tovi/SuddenImpactRecords/Database"
|
|
"git.tovijaeschke.xyz/tovi/SuddenImpactRecords/Models"
|
|
"git.tovijaeschke.xyz/tovi/SuddenImpactRecords/Util"
|
|
)
|
|
|
|
var (
|
|
firstNames = []string{
|
|
"John",
|
|
"Mark",
|
|
"Annie",
|
|
"Hannah",
|
|
"Shane",
|
|
"Joe",
|
|
"Katara",
|
|
"Zuko",
|
|
"Aang",
|
|
"Sokka",
|
|
}
|
|
lastNames = []string{
|
|
"Smith",
|
|
"Johnson",
|
|
"Williams",
|
|
"Brown",
|
|
"Jones",
|
|
"Garcia",
|
|
"Miller",
|
|
"Davis",
|
|
"Lopez",
|
|
}
|
|
)
|
|
|
|
func randName(last bool) string {
|
|
var (
|
|
choices []string
|
|
)
|
|
|
|
choices = firstNames
|
|
if last {
|
|
choices = lastNames
|
|
}
|
|
|
|
return choices[rand.Intn(len(choices))]
|
|
}
|
|
|
|
func createUser() (Models.User, error) {
|
|
var (
|
|
userData Models.User
|
|
now time.Time
|
|
firstName, lastName string
|
|
email, password string
|
|
err error
|
|
)
|
|
now = time.Now()
|
|
|
|
firstName = randName(false)
|
|
lastName = randName(true)
|
|
|
|
email = fmt.Sprintf("%s%s+%s@email.com", firstName, lastName, Util.RandomString(10))
|
|
|
|
password, err = Auth.HashPassword("password")
|
|
if err != nil {
|
|
return Models.User{}, err
|
|
}
|
|
|
|
userData = Models.User{
|
|
Email: email,
|
|
Password: password,
|
|
LastLogin: &now,
|
|
FirstName: firstName,
|
|
LastName: lastName,
|
|
}
|
|
|
|
err = Database.CreateUser(&userData)
|
|
return userData, err
|
|
}
|
|
|
|
func SeedUsers() {
|
|
var (
|
|
i int
|
|
err error
|
|
)
|
|
|
|
for i = 0; i <= 20; i++ {
|
|
_, err = createUser()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|
|
}
|