Compare commits

..

No commits in common. "master" and "dev" have entirely different histories.
master ... dev

6 changed files with 24 additions and 51 deletions

View File

@ -1,4 +1,2 @@
run_usersUpdateLoginMethod:
go run cmd/main.go -c usersUpdateLoginMethod
help:
go run cmd/main.go -c help

View File

@ -25,8 +25,7 @@ func main() {
config.MustLoad(confPath)
if commandName == "" {
l.Log.Error().Msg("flag '-c' required")
return
l.Log.Fatal().Msg("flag '-c' required")
}
logger.MustInit()
@ -37,13 +36,12 @@ func main() {
l.Log.Warn().Err(e.ErrCommandNotFound).Str("command", commandName).Send()
l.Log.Info().Msg("selected command - 'help'")
if err := command.Scripts["help"].Exec(); err != nil {
l.Log.Error().Err(err).Str("command", commandName).Msg("failed to use help command")
return
l.Log.Fatal().Err(err).Str("command", commandName).Msg("failed to use help command")
}
return
}
l.Log.Info().Str("selected command", commandName).Send()
l.Log.Info().Msgf("selected command - %s", commandName)
if err := cmd.Exec(); err != nil {
l.Log.Error().Err(err).Str("command", commandName).Msg("failed to execude command")
return

View File

@ -5,7 +5,6 @@ import (
"encoding/json"
"fmt"
"net/http"
"net/url"
c "scripts/internal/config"
l "scripts/pkg/logger"
"scripts/pkg/postgres"
@ -14,10 +13,7 @@ import (
const Name = "usersUpdateLoginMethod"
func UsersUpdateLoginMethod() error {
if err := postgres.InitDB(); err != nil {
l.Log.Error().Err(err).Msg("failed to init postgres")
return err
}
postgres.InitDB()
defer postgres.DB.Close()
tokenData, err := keycloakAccessToken()
@ -52,19 +48,12 @@ func UsersUpdateLoginMethod() error {
}
func keycloakAccessToken() (*KeycloakTokenResponse, error) {
const path = "/realms/master/protocol/openid-connect/token"
endpoint, err := url.Parse(c.Conf.KeycloakSettings.Address)
if err != nil {
l.Log.Error().Err(err).Msg("failed to create url")
return nil, err
}
endpoint.Path = path
url := fmt.Sprintf("%s/realms/%s/protocol/openid-connect/token", c.Conf.KeycloakSettings.Address, "master")
var data bytes.Buffer
fmt.Fprintf(&data, "grant_type=password&client_id=admin-cli&username=%s&password=%s", c.Conf.KeycloakSettings.AdminName, c.Conf.KeycloakSettings.AdminPass)
req, err := http.NewRequest("POST", endpoint.String(), &data)
req, err := http.NewRequest("POST", url, &data)
if err != nil {
l.Log.Error().Err(err).Msg("failed to create http request")
return nil, err
@ -111,16 +100,9 @@ func allLoopUsers() (map[string]LoopUser, error) {
}
func allKeycloakUsers(accessToken string) ([]KeycloakUser, error) {
var path = fmt.Sprintf("/admin/realms/%s/users", c.Conf.KeycloakSettings.RealmName)
url := fmt.Sprintf("%s/admin/realms/%s/users", c.Conf.KeycloakSettings.Address, c.Conf.KeycloakSettings.RealmName)
endpoint, err := url.Parse(c.Conf.KeycloakSettings.Address)
if err != nil {
l.Log.Error().Err(err).Msg("failed to create url")
return nil, err
}
endpoint.Path = path
req, err := http.NewRequest("GET", endpoint.String(), nil)
req, err := http.NewRequest("GET", url, nil)
if err != nil {
l.Log.Error().Err(err).Msg("failed to create http request")
return nil, err

View File

@ -2,7 +2,6 @@ package postgres
import (
"context"
"fmt"
c "scripts/internal/config"
l "scripts/pkg/logger"
"time"
@ -34,7 +33,7 @@ func WithContext(ctx context.Context) Option {
}
}
func InitDB(opts ...Option) error {
func InitDB(opts ...Option) {
p := &Postgres{
ctx: context.Background(),
}
@ -45,8 +44,7 @@ func InitDB(opts ...Option) error {
db, err := sqlx.ConnectContext(p.ctx, c.Conf.SqlSettings.DriverName, c.Conf.SqlSettings.DataSource)
if err != nil {
l.Log.Error().Err(err).Msg("failed to connect DB")
return fmt.Errorf("failed to connect DB: %w", err)
l.Log.Fatal().Err(err).Msg("failed to connect DB")
}
db.SetMaxIdleConns(c.Conf.SqlSettings.MaxIdleConns)
@ -55,19 +53,16 @@ func InitDB(opts ...Option) error {
db.SetConnMaxIdleTime(time.Duration(c.Conf.SqlSettings.ConnMaxIdleTimeMilliseconds) * time.Millisecond)
if err := db.Ping(); err != nil {
l.Log.Error().Err(err).Msg("failed to ping DB")
return fmt.Errorf("failed to ping DB: %w", err)
l.Log.Fatal().Err(err).Msg("failed to ping DB")
}
p.conn = db
DB = p
l.Log.Info().Msg("connect to postgres successfully ")
return nil
}
func (p *Postgres) Close() {
if err := p.Conn().Close(); err != nil {
l.Log.Error().Err(err).Msg("failed to close connect DB")
return
}
}