Skip to content

Commit 101fa57

Browse files
authored
Merge branch 'main' into feat-ISS-1732
2 parents 30494b0 + fd513b9 commit 101fa57

3 files changed

Lines changed: 24 additions & 18 deletions

File tree

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ require (
5555
github.com/hashicorp/go-multierror v1.1.1
5656
github.com/invopop/jsonschema v0.13.0
5757
github.com/invopop/yaml v0.3.1
58-
github.com/jackc/pgx/v5 v5.9.1
58+
github.com/jackc/pgx/v5 v5.9.2
5959
github.com/knadh/koanf/parsers/yaml v1.1.0
6060
github.com/knadh/koanf/providers/env/v2 v2.0.0
6161
github.com/knadh/koanf/providers/file v1.2.1

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -386,8 +386,8 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI
386386
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
387387
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
388388
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
389-
github.com/jackc/pgx/v5 v5.9.1 h1:uwrxJXBnx76nyISkhr33kQLlUqjv7et7b9FjCen/tdc=
390-
github.com/jackc/pgx/v5 v5.9.1/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4=
389+
github.com/jackc/pgx/v5 v5.9.2 h1:3ZhOzMWnR4yJ+RW1XImIPsD1aNSz4T4fyP7zlQb56hw=
390+
github.com/jackc/pgx/v5 v5.9.2/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4=
391391
github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
392392
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
393393
github.com/jarcoal/httpmock v1.4.1 h1:0Ju+VCFuARfFlhVXFc2HxlcQkfB+Xq12/EotHko+x2A=

internal/ent/hooks/user.go

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,17 @@ func HookUser() ent.Hook {
109109
}
110110
}
111111

112+
var oldDisplayName string
113+
if m.Op().Is(ent.OpUpdateOne) && canUpdateManagedGroup(m) {
114+
var err error
115+
116+
oldDisplayName, err = m.OldDisplayName(ctx)
117+
if err != nil {
118+
logx.FromContext(ctx).Error().Err(err).Msg("error getting old display name")
119+
return nil, err
120+
}
121+
}
122+
112123
v, err := next.Mutate(ctx, m)
113124
if err != nil {
114125
return nil, err
@@ -121,7 +132,7 @@ func HookUser() ent.Hook {
121132

122133
// handle display name updates for managed groups
123134
if m.Op().Is(ent.OpUpdateOne) {
124-
if err := updateSystemManagedGroupForUser(ctx, m, userCreated); err != nil {
135+
if err := updateSystemManagedGroupForUser(ctx, m, userCreated, oldDisplayName); err != nil {
125136
logx.FromContext(ctx).Error().Err(err).Msg("error updating system managed group name for the user")
126137
return nil, err
127138
}
@@ -372,7 +383,15 @@ func defaultUserSettings(ctx context.Context, user *generated.UserMutation) (str
372383
return userSetting.ID, nil
373384
}
374385

375-
func updateSystemManagedGroupForUser(ctx context.Context, m *generated.UserMutation, user *generated.User) error {
386+
func canUpdateManagedGroup(m *generated.UserMutation) bool {
387+
_, didDisplayNameChange := m.DisplayName()
388+
_, didAvatarRemoteURLChange := m.AvatarRemoteURL()
389+
_, didLocalFileChange := m.AvatarLocalFileID()
390+
391+
return didDisplayNameChange || didAvatarRemoteURLChange || didLocalFileChange
392+
}
393+
394+
func updateSystemManagedGroupForUser(ctx context.Context, m *generated.UserMutation, user *generated.User, oldDisplayName string) error {
376395
displayName, ok := m.DisplayName()
377396

378397
avatarRemoteURL, isAvatarRemoteURLChanged := m.AvatarRemoteURL()
@@ -382,20 +401,7 @@ func updateSystemManagedGroupForUser(ctx context.Context, m *generated.UserMutat
382401
return nil
383402
}
384403

385-
oldDisplayName, err := m.OldDisplayName(ctx)
386-
if err != nil {
387-
return err
388-
}
389-
390404
if ok {
391-
var err error
392-
393-
oldDisplayName, err = m.OldDisplayName(ctx)
394-
if err != nil {
395-
logx.FromContext(ctx).Error().Err(err).Msg("error getting old display name")
396-
return err
397-
}
398-
399405
if oldDisplayName == displayName {
400406
ok = false
401407
}

0 commit comments

Comments
 (0)