From 62dcacf4b7a2632dd7ec86dda5722e1cfe43cb80 Mon Sep 17 00:00:00 2001 From: Iraq Jaber Date: Thu, 20 Mar 2025 13:32:14 +0400 Subject: [PATCH] fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! feat(permissions): Addeding system user support for permission check v2 --- cmd/setup/52.go | 37 +++++++++++++++++++ .../01-get-permissions-from-JSON.sql | 0 .../{51 => 52}/02-permitted_orgs_function.sql | 0 cmd/setup/config.go | 2 +- cmd/setup/setup.go | 2 +- 5 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 cmd/setup/52.go rename cmd/setup/{51 => 52}/01-get-permissions-from-JSON.sql (100%) rename cmd/setup/{51 => 52}/02-permitted_orgs_function.sql (100%) diff --git a/cmd/setup/52.go b/cmd/setup/52.go new file mode 100644 index 0000000000..d23f71afd7 --- /dev/null +++ b/cmd/setup/52.go @@ -0,0 +1,37 @@ +package setup + +import ( + "context" + "embed" + "fmt" + + "github.com/zitadel/logging" + + "github.com/zitadel/zitadel/internal/database" + "github.com/zitadel/zitadel/internal/eventstore" +) + +type InitPermittedOrgsFunction52 struct { + eventstoreClient *database.DB +} + +//go:embed 52/*.sql +var permittedOrgsFunction52 embed.FS + +func (mig *InitPermittedOrgsFunction52) Execute(ctx context.Context, _ eventstore.Event) error { + statements, err := readStatements(permittedOrgsFunction52, "51", "") + if err != nil { + return err + } + for _, stmt := range statements { + logging.WithFields("file", stmt.file, "migration", mig.String()).Info("execute statement") + if _, err := mig.eventstoreClient.ExecContext(ctx, stmt.query); err != nil { + return fmt.Errorf("%s %s: %w", mig.String(), stmt.file, err) + } + } + return nil +} + +func (*InitPermittedOrgsFunction52) String() string { + return "51_init_permitted_orgs_function" +} diff --git a/cmd/setup/51/01-get-permissions-from-JSON.sql b/cmd/setup/52/01-get-permissions-from-JSON.sql similarity index 100% rename from cmd/setup/51/01-get-permissions-from-JSON.sql rename to cmd/setup/52/01-get-permissions-from-JSON.sql diff --git a/cmd/setup/51/02-permitted_orgs_function.sql b/cmd/setup/52/02-permitted_orgs_function.sql similarity index 100% rename from cmd/setup/51/02-permitted_orgs_function.sql rename to cmd/setup/52/02-permitted_orgs_function.sql diff --git a/cmd/setup/config.go b/cmd/setup/config.go index 9eba03dcef..0739abba50 100644 --- a/cmd/setup/config.go +++ b/cmd/setup/config.go @@ -139,7 +139,7 @@ type Steps struct { s48Apps7SAMLConfigsLoginVersion *Apps7SAMLConfigsLoginVersion s49InitPermittedOrgsFunction *InitPermittedOrgsFunction s50IDPTemplate6UsePKCE *IDPTemplate6UsePKCE - s51InitPermittedOrgsFunction *InitPermittedOrgsFunction51 + s51InitPermittedOrgsFunction *InitPermittedOrgsFunction52 } func MustNewSteps(v *viper.Viper) *Steps { diff --git a/cmd/setup/setup.go b/cmd/setup/setup.go index 86c46b77d3..6cb16ce9e0 100644 --- a/cmd/setup/setup.go +++ b/cmd/setup/setup.go @@ -177,7 +177,7 @@ func Setup(ctx context.Context, config *Config, steps *Steps, masterKey string) steps.s48Apps7SAMLConfigsLoginVersion = &Apps7SAMLConfigsLoginVersion{dbClient: dbClient} steps.s49InitPermittedOrgsFunction = &InitPermittedOrgsFunction{eventstoreClient: dbClient} steps.s50IDPTemplate6UsePKCE = &IDPTemplate6UsePKCE{dbClient: dbClient} - steps.s51InitPermittedOrgsFunction = &InitPermittedOrgsFunction51{eventstoreClient: dbClient} + steps.s51InitPermittedOrgsFunction = &InitPermittedOrgsFunction52{eventstoreClient: dbClient} err = projection.Create(ctx, dbClient, eventstoreClient, config.Projections, nil, nil, nil) logging.OnError(err).Fatal("unable to start projections")