diff --git a/initialize/init.go b/initialize/init.go new file mode 100644 index 0000000..f532ba5 --- /dev/null +++ b/initialize/init.go @@ -0,0 +1,62 @@ +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 +} \ No newline at end of file