mirror of
https://github.com/zitadel/zitadel.git
synced 2025-10-27 18:19:38 +00:00
feat: features (#1427)
* features * features * features * fix json tags * add features handler to auth * mocks for tests * add setup step * fixes * add featurelist to auth api * grandfather state and typos * typo * merge new-eventstore * fix login policy tests * label policy in features * audit log retention
This commit is contained in:
52
internal/command/setup_step12.go
Normal file
52
internal/command/setup_step12.go
Normal file
@@ -0,0 +1,52 @@
|
||||
package command
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/caos/zitadel/internal/config/types"
|
||||
"github.com/caos/zitadel/internal/domain"
|
||||
"github.com/caos/zitadel/internal/eventstore"
|
||||
)
|
||||
|
||||
type Step12 struct {
|
||||
TierName string
|
||||
TierDescription string
|
||||
AuditLogRetention types.Duration
|
||||
LoginPolicyFactors bool
|
||||
LoginPolicyIDP bool
|
||||
LoginPolicyPasswordless bool
|
||||
LoginPolicyRegistration bool
|
||||
LoginPolicyUsernameLogin bool
|
||||
PasswordComplexityPolicy bool
|
||||
}
|
||||
|
||||
func (s *Step12) Step() domain.Step {
|
||||
return domain.Step12
|
||||
}
|
||||
|
||||
func (s *Step12) execute(ctx context.Context, commandSide *Commands) error {
|
||||
return commandSide.SetupStep12(ctx, s)
|
||||
}
|
||||
|
||||
func (c *Commands) SetupStep12(ctx context.Context, step *Step12) error {
|
||||
fn := func(iam *IAMWriteModel) ([]eventstore.EventPusher, error) {
|
||||
featuresWriteModel := NewIAMFeaturesWriteModel()
|
||||
featuresEvent, err := c.setDefaultFeatures(ctx, featuresWriteModel, &domain.Features{
|
||||
TierName: step.TierName,
|
||||
TierDescription: step.TierDescription,
|
||||
State: domain.FeaturesStateActive,
|
||||
AuditLogRetention: step.AuditLogRetention.Duration,
|
||||
LoginPolicyFactors: step.LoginPolicyFactors,
|
||||
LoginPolicyIDP: step.LoginPolicyIDP,
|
||||
LoginPolicyPasswordless: step.LoginPolicyPasswordless,
|
||||
LoginPolicyRegistration: step.LoginPolicyRegistration,
|
||||
LoginPolicyUsernameLogin: step.LoginPolicyUsernameLogin,
|
||||
PasswordComplexityPolicy: step.PasswordComplexityPolicy,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return []eventstore.EventPusher{featuresEvent}, nil
|
||||
}
|
||||
return c.setup(ctx, step, fn)
|
||||
}
|
||||
Reference in New Issue
Block a user