Skip to content
Snippets Groups Projects
Commit 9d1ec6c3 authored by Cosmin Cojocar's avatar Cosmin Cojocar
Browse files

Revert "Avoid overwriting exiting redirect URI and trusted peers when updating the client"

This reverts commit 49fa5ee6.
parent 49fa5ee6
No related branches found
No related tags found
No related merge requests found
......@@ -87,11 +87,12 @@ func (d dexAPI) UpdateClient(ctx context.Context, req *api.UpdateClientReq) (*ap
err := d.s.UpdateClient(req.Id, func(old storage.Client) (storage.Client, error) {
if req.RedirectUris != nil && len(req.RedirectUris) > 0 {
old.RedirectURIs = mergeSlice(old.RedirectURIs, req.RedirectUris)
old.RedirectURIs = req.RedirectUris
}
if req.TrustedPeers != nil && len(req.TrustedPeers) > 0 {
old.TrustedPeers = mergeSlice(old.TrustedPeers, req.TrustedPeers)
old.TrustedPeers = req.TrustedPeers
}
old.Public = req.Public
if req.Name != "" {
old.Name = req.Name
}
......@@ -111,23 +112,6 @@ func (d dexAPI) UpdateClient(ctx context.Context, req *api.UpdateClientReq) (*ap
return &api.UpdateClientResp{}, nil
}
func mergeSlice(s1 []string, s2 []string) []string {
isPresent := func(i string, s []string) bool {
for _, j := range s {
if j == i {
return true
}
}
return false
}
for _, i := range s2 {
if !isPresent(i, s1) {
s1 = append(s1, i)
}
}
return s1
}
func (d dexAPI) DeleteClient(ctx context.Context, req *api.DeleteClientReq) (*api.DeleteClientResp, error) {
err := d.s.DeleteClient(req.Id)
if err != nil {
......
......@@ -461,42 +461,3 @@ func find(item string, items []string) bool {
}
return false
}
func TestMergeSlice(t *testing.T) {
tests := map[string]struct {
s1 []string
s2 []string
want []string
}{
"merge slice": {
s1: []string{"t1", "t2"},
s2: []string{"t3"},
want: []string{"t1", "t2", "t3"},
},
"merge slice with duplicates": {
s1: []string{"t1", "t2"},
s2: []string{"t3", "t2"},
want: []string{"t1", "t2", "t3"},
},
"merge slice with empty slice": {
s1: []string{"t1", "t2"},
s2: []string{},
want: []string{"t1", "t2"},
},
}
for name, tc := range tests {
t.Run(name, func(t *testing.T) {
got := mergeSlice(tc.s1, tc.s2)
if len(got) != len(tc.want) {
t.Errorf("expected equal slice")
}
for _, want := range tc.want {
found := find(want, got)
if !found {
t.Errorf("missing element: %s", want)
}
}
})
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment