mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 07:37:31 +00:00
chore(linting): changes to make clean-transactional-propsal_lint pass… (#10072)
This commit is contained in:
@@ -1,90 +1,90 @@
|
||||
package domain
|
||||
|
||||
import (
|
||||
"context"
|
||||
// import (
|
||||
// "context"
|
||||
|
||||
"github.com/zitadel/zitadel/backend/v3/storage/eventstore"
|
||||
)
|
||||
// "github.com/zitadel/zitadel/backend/v3/storage/eventstore"
|
||||
// )
|
||||
|
||||
// CreateUserCommand adds a new user including the email verification for humans.
|
||||
// In the future it might make sense to separate the command into two commands:
|
||||
// - CreateHumanCommand: creates a new human user
|
||||
// - CreateMachineCommand: creates a new machine user
|
||||
type CreateUserCommand struct {
|
||||
user *User
|
||||
email *SetEmailCommand
|
||||
}
|
||||
// // CreateUserCommand adds a new user including the email verification for humans.
|
||||
// // In the future it might make sense to separate the command into two commands:
|
||||
// // - CreateHumanCommand: creates a new human user
|
||||
// // - CreateMachineCommand: creates a new machine user
|
||||
// type CreateUserCommand struct {
|
||||
// user *User
|
||||
// email *SetEmailCommand
|
||||
// }
|
||||
|
||||
var (
|
||||
_ Commander = (*CreateUserCommand)(nil)
|
||||
_ eventer = (*CreateUserCommand)(nil)
|
||||
)
|
||||
// var (
|
||||
// _ Commander = (*CreateUserCommand)(nil)
|
||||
// _ eventer = (*CreateUserCommand)(nil)
|
||||
// )
|
||||
|
||||
// opts heavily reduces the complexity for email verification because each type of verification is a simple option which implements the [Commander] interface.
|
||||
func NewCreateHumanCommand(username string, opts ...CreateHumanOpt) *CreateUserCommand {
|
||||
cmd := &CreateUserCommand{
|
||||
user: &User{
|
||||
Username: username,
|
||||
Traits: &Human{},
|
||||
},
|
||||
}
|
||||
// // opts heavily reduces the complexity for email verification because each type of verification is a simple option which implements the [Commander] interface.
|
||||
// func NewCreateHumanCommand(username string, opts ...CreateHumanOpt) *CreateUserCommand {
|
||||
// cmd := &CreateUserCommand{
|
||||
// user: &User{
|
||||
// Username: username,
|
||||
// Traits: &Human{},
|
||||
// },
|
||||
// }
|
||||
|
||||
for _, opt := range opts {
|
||||
opt.applyOnCreateHuman(cmd)
|
||||
}
|
||||
return cmd
|
||||
}
|
||||
// for _, opt := range opts {
|
||||
// opt.applyOnCreateHuman(cmd)
|
||||
// }
|
||||
// return cmd
|
||||
// }
|
||||
|
||||
// String implements [Commander].
|
||||
func (cmd *CreateUserCommand) String() string {
|
||||
return "CreateUserCommand"
|
||||
}
|
||||
// // String implements [Commander].
|
||||
// func (cmd *CreateUserCommand) String() string {
|
||||
// return "CreateUserCommand"
|
||||
// }
|
||||
|
||||
// Events implements [eventer].
|
||||
func (c *CreateUserCommand) Events() []*eventstore.Event {
|
||||
return []*eventstore.Event{
|
||||
{
|
||||
AggregateType: "user",
|
||||
AggregateID: c.user.ID,
|
||||
Type: "user.added",
|
||||
Payload: c.user,
|
||||
},
|
||||
}
|
||||
}
|
||||
// // Events implements [eventer].
|
||||
// func (c *CreateUserCommand) Events() []*eventstore.Event {
|
||||
// return []*eventstore.Event{
|
||||
// {
|
||||
// AggregateType: "user",
|
||||
// AggregateID: c.user.ID,
|
||||
// Type: "user.added",
|
||||
// Payload: c.user,
|
||||
// },
|
||||
// }
|
||||
// }
|
||||
|
||||
// Execute implements [Commander].
|
||||
func (c *CreateUserCommand) Execute(ctx context.Context, opts *CommandOpts) error {
|
||||
if err := c.ensureUserID(); err != nil {
|
||||
return err
|
||||
}
|
||||
c.email.UserID = c.user.ID
|
||||
if err := opts.Invoke(ctx, c.email); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
// // Execute implements [Commander].
|
||||
// func (c *CreateUserCommand) Execute(ctx context.Context, opts *CommandOpts) error {
|
||||
// if err := c.ensureUserID(); err != nil {
|
||||
// return err
|
||||
// }
|
||||
// c.email.UserID = c.user.ID
|
||||
// if err := opts.Invoke(ctx, c.email); err != nil {
|
||||
// return err
|
||||
// }
|
||||
// return nil
|
||||
// }
|
||||
|
||||
type CreateHumanOpt interface {
|
||||
applyOnCreateHuman(*CreateUserCommand)
|
||||
}
|
||||
// type CreateHumanOpt interface {
|
||||
// applyOnCreateHuman(*CreateUserCommand)
|
||||
// }
|
||||
|
||||
type createHumanIDOpt string
|
||||
// type createHumanIDOpt string
|
||||
|
||||
// applyOnCreateHuman implements [CreateHumanOpt].
|
||||
func (c createHumanIDOpt) applyOnCreateHuman(cmd *CreateUserCommand) {
|
||||
cmd.user.ID = string(c)
|
||||
}
|
||||
// // applyOnCreateHuman implements [CreateHumanOpt].
|
||||
// func (c createHumanIDOpt) applyOnCreateHuman(cmd *CreateUserCommand) {
|
||||
// cmd.user.ID = string(c)
|
||||
// }
|
||||
|
||||
var _ CreateHumanOpt = (*createHumanIDOpt)(nil)
|
||||
// var _ CreateHumanOpt = (*createHumanIDOpt)(nil)
|
||||
|
||||
func CreateHumanWithID(id string) CreateHumanOpt {
|
||||
return createHumanIDOpt(id)
|
||||
}
|
||||
// func CreateHumanWithID(id string) CreateHumanOpt {
|
||||
// return createHumanIDOpt(id)
|
||||
// }
|
||||
|
||||
func (c *CreateUserCommand) ensureUserID() (err error) {
|
||||
if c.user.ID != "" {
|
||||
return nil
|
||||
}
|
||||
c.user.ID, err = generateID()
|
||||
return err
|
||||
}
|
||||
// func (c *CreateUserCommand) ensureUserID() (err error) {
|
||||
// if c.user.ID != "" {
|
||||
// return nil
|
||||
// }
|
||||
// c.user.ID, err = generateID()
|
||||
// return err
|
||||
// }
|
||||
|
Reference in New Issue
Block a user