Skip to content

Commit

Permalink
feat: create user admin
Browse files Browse the repository at this point in the history
  • Loading branch information
isaqueveras committed Oct 1, 2023
1 parent 064df6d commit 9e3e02c
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 0 deletions.
1 change: 1 addition & 0 deletions domain/auth/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ type CreateAccount struct {
Email *string `sql:"email" json:"email"`
Password *string `sql:"password" json:"password"`
Key *string `sql:"key" json:"-"`
Level *Level `sql:"level" json:"-"`
}

// Prepare prepare data for registration
Expand Down
44 changes: 44 additions & 0 deletions scripts/create_user_admin.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package scripts

import (
"context"
"log"
"time"

"github.com/isaqueveras/powersso/application/auth"
"github.com/isaqueveras/powersso/database/postgres"
domain "github.com/isaqueveras/powersso/domain/auth"
"github.com/isaqueveras/powersso/utils"
)

// CreateUserAdmin register the first admin user
func CreateUserAdmin(logg *utils.Logger) {
logg.Info("Initializing script create user admin")
defer logg.Info("Finalizing script create user admin")

ctx, cancel := context.WithTimeout(context.Background(), time.Second)
defer cancel()

tx, err := postgres.NewTransaction(ctx, false)
if err != nil {
log.Fatal(err)
}
defer tx.Rollback()

if err = auth.CreateAccount(ctx, &domain.CreateAccount{
FirstName: utils.Pointer("User Power"),
LastName: utils.Pointer("Admin"),
Email: utils.Pointer("[email protected]"),
Password: utils.Pointer("admin123456"),
Level: utils.Pointer(domain.AdminLevel),
}); err != nil {
if err.Error() == domain.ErrUserExists().Error() {
return
}
log.Fatal(err)
}

if err = tx.Commit(); err != nil {
log.Fatal(err)
}
}
7 changes: 7 additions & 0 deletions scripts/init.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package scripts

import "github.com/isaqueveras/powersso/utils"

func Init(logg *utils.Logger) {
go CreateUserAdmin(logg)
}

0 comments on commit 9e3e02c

Please sign in to comment.