mirror of
https://github.com/zitadel/zitadel.git
synced 2025-01-12 13:53:41 +00:00
fix(user): move check if user is existing from user idp link (#4363)
* fix(user): move check if user is existing from user idp link * fix(user): correct unit tests for user link bulk * fix(user): correct placement of existing user check for user link Co-authored-by: Silvan <silvan.reusser@gmail.com>
This commit is contained in:
parent
7a5f7f82cf
commit
69230def56
@ -15,6 +15,9 @@ func (c *Commands) AddUserIDPLink(ctx context.Context, userID, resourceOwner str
|
|||||||
if userID == "" {
|
if userID == "" {
|
||||||
return caos_errs.ThrowInvalidArgument(nil, "COMMAND-03j8f", "Errors.IDMissing")
|
return caos_errs.ThrowInvalidArgument(nil, "COMMAND-03j8f", "Errors.IDMissing")
|
||||||
}
|
}
|
||||||
|
if err := c.checkUserExists(ctx, userID, resourceOwner); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
linkWriteModel := NewUserIDPLinkWriteModel(userID, link.IDPConfigID, link.ExternalUserID, resourceOwner)
|
linkWriteModel := NewUserIDPLinkWriteModel(userID, link.IDPConfigID, link.ExternalUserID, resourceOwner)
|
||||||
userAgg := UserAggregateFromWriteModel(&linkWriteModel.WriteModel)
|
userAgg := UserAggregateFromWriteModel(&linkWriteModel.WriteModel)
|
||||||
@ -36,6 +39,10 @@ func (c *Commands) BulkAddedUserIDPLinks(ctx context.Context, userID, resourceOw
|
|||||||
return caos_errs.ThrowInvalidArgument(nil, "COMMAND-Ek9s", "Errors.User.ExternalIDP.MinimumExternalIDPNeeded")
|
return caos_errs.ThrowInvalidArgument(nil, "COMMAND-Ek9s", "Errors.User.ExternalIDP.MinimumExternalIDPNeeded")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := c.checkUserExists(ctx, userID, resourceOwner); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
events := make([]eventstore.Command, len(links))
|
events := make([]eventstore.Command, len(links))
|
||||||
for i, link := range links {
|
for i, link := range links {
|
||||||
linkWriteModel := NewUserIDPLinkWriteModel(userID, link.IDPConfigID, link.ExternalUserID, resourceOwner)
|
linkWriteModel := NewUserIDPLinkWriteModel(userID, link.IDPConfigID, link.ExternalUserID, resourceOwner)
|
||||||
@ -58,9 +65,6 @@ func (c *Commands) addUserIDPLink(ctx context.Context, human *eventstore.Aggrega
|
|||||||
if !link.IsValid() {
|
if !link.IsValid() {
|
||||||
return nil, caos_errs.ThrowInvalidArgument(nil, "COMMAND-6m9Kd", "Errors.User.ExternalIDP.Invalid")
|
return nil, caos_errs.ThrowInvalidArgument(nil, "COMMAND-6m9Kd", "Errors.User.ExternalIDP.Invalid")
|
||||||
}
|
}
|
||||||
if err := c.checkUserExists(ctx, human.ID, human.ResourceOwner); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
_, err := c.getOrgIDPConfigByID(ctx, link.IDPConfigID, human.ResourceOwner)
|
_, err := c.getOrgIDPConfigByID(ctx, link.IDPConfigID, human.ResourceOwner)
|
||||||
if caos_errs.IsNotFound(err) {
|
if caos_errs.IsNotFound(err) {
|
||||||
|
@ -79,6 +79,23 @@ func TestCommandSide_BulkAddUserIDPLinks(t *testing.T) {
|
|||||||
fields: fields{
|
fields: fields{
|
||||||
eventstore: eventstoreExpect(
|
eventstore: eventstoreExpect(
|
||||||
t,
|
t,
|
||||||
|
expectFilter(
|
||||||
|
eventFromEventPusher(
|
||||||
|
user.NewHumanAddedEvent(
|
||||||
|
context.Background(),
|
||||||
|
&user.NewAggregate("user1", "org1").Aggregate,
|
||||||
|
"userName",
|
||||||
|
"firstName",
|
||||||
|
"lastName",
|
||||||
|
"nickName",
|
||||||
|
"displayName",
|
||||||
|
language.German,
|
||||||
|
domain.GenderFemale,
|
||||||
|
"email@Address.ch",
|
||||||
|
false,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
args: args{
|
args: args{
|
||||||
@ -104,6 +121,23 @@ func TestCommandSide_BulkAddUserIDPLinks(t *testing.T) {
|
|||||||
fields: fields{
|
fields: fields{
|
||||||
eventstore: eventstoreExpect(
|
eventstore: eventstoreExpect(
|
||||||
t,
|
t,
|
||||||
|
expectFilter(
|
||||||
|
eventFromEventPusher(
|
||||||
|
user.NewHumanAddedEvent(
|
||||||
|
context.Background(),
|
||||||
|
&user.NewAggregate("user1", "org1").Aggregate,
|
||||||
|
"userName",
|
||||||
|
"firstName",
|
||||||
|
"lastName",
|
||||||
|
"nickName",
|
||||||
|
"displayName",
|
||||||
|
language.German,
|
||||||
|
domain.GenderFemale,
|
||||||
|
"email@Address.ch",
|
||||||
|
false,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
args: args{
|
args: args{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user