62 lines
939 B
Go
62 lines
939 B
Go
package initialize
|
|
|
|
import (
|
|
"netina/database"
|
|
m "netina/models"
|
|
"os"
|
|
"time"
|
|
|
|
Role_repository "netina/repositories/role"
|
|
User_repository "netina/repositories/user"
|
|
|
|
"github.com/joho/godotenv"
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func Init()error {
|
|
err := godotenv.Load("./config/.env")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
db := database.Db()
|
|
|
|
role_command := Role_repository.RoleCommandRepository{DB: &db}
|
|
role_query := Role_repository.RoleQueryRepository{DB: &db}
|
|
user_command := User_repository.UserCommandRepository{DB: &db}
|
|
|
|
|
|
|
|
role := &m.Role{
|
|
Name: "admin",
|
|
|
|
}
|
|
|
|
|
|
if err := role_command.CreateRole(role) ; err != nil {
|
|
return err
|
|
}
|
|
|
|
|
|
tempRole , err := role_query.GetRoleByName("admin")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
user := &m.User{
|
|
Name: "admin",
|
|
PhoneNumber: os.Getenv("ADMIN_NUMBER"),
|
|
Role_id: tempRole.Role_id,
|
|
Created_at: time.Now(),
|
|
}
|
|
|
|
if err := user_command.CreateUser(user) ; err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
} |