Skip to content

Commit

Permalink
Merge branch 'master' into alpine
Browse files Browse the repository at this point in the history
  • Loading branch information
aeneasr committed Sep 18, 2019
2 parents e576fe3 + a8f6e44 commit 96e0b82
Show file tree
Hide file tree
Showing 9 changed files with 39 additions and 24 deletions.
10 changes: 3 additions & 7 deletions client/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -193,12 +193,8 @@ func (h *Handler) List(w http.ResponseWriter, r *http.Request, ps httprouter.Par
return
}

clients := make([]Client, len(c))
k := 0
for _, cc := range c {
clients[k] = cc
clients[k].Secret = ""
k++
for k := range c {
c[k].Secret = ""
}

n, err := h.r.ClientManager().CountClients(r.Context())
Expand All @@ -209,7 +205,7 @@ func (h *Handler) List(w http.ResponseWriter, r *http.Request, ps httprouter.Par

pagination.Header(w, r.URL, n, limit, offset)

h.r.Writer().Write(w, r, clients)
h.r.Writer().Write(w, r, c)
}

// swagger:route GET /clients/{id} admin getOAuth2Client
Expand Down
2 changes: 1 addition & 1 deletion client/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ type Storage interface {

DeleteClient(ctx context.Context, id string) error

GetClients(ctx context.Context, limit, offset int) (map[string]Client, error)
GetClients(ctx context.Context, limit, offset int) ([]Client, error)

CountClients(ctx context.Context) (int, error)

Expand Down
5 changes: 2 additions & 3 deletions client/manager_memory.go
Original file line number Diff line number Diff line change
Expand Up @@ -142,14 +142,13 @@ func (m *MemoryManager) DeleteClient(ctx context.Context, id string) error {
return nil
}

func (m *MemoryManager) GetClients(ctx context.Context, limit, offset int) (clients map[string]Client, err error) {
func (m *MemoryManager) GetClients(ctx context.Context, limit, offset int) (clients []Client, err error) {
m.RLock()
defer m.RUnlock()
clients = make(map[string]Client)

start, end := pagination.Index(limit, offset, len(m.Clients))
for _, c := range m.Clients[start:end] {
clients[c.GetID()] = c
clients = append(clients, c)
}

return clients, nil
Expand Down
8 changes: 4 additions & 4 deletions client/manager_sql.go
Original file line number Diff line number Diff line change
Expand Up @@ -329,21 +329,21 @@ func (m *SQLManager) DeleteClient(ctx context.Context, id string) error {
return nil
}

func (m *SQLManager) GetClients(ctx context.Context, limit, offset int) (clients map[string]Client, err error) {
func (m *SQLManager) GetClients(ctx context.Context, limit, offset int) (clients []Client, err error) {
d := make([]sqlData, 0)
clients = make(map[string]Client)

if err := m.DB.SelectContext(ctx, &d, m.DB.Rebind("SELECT * FROM hydra_client ORDER BY id LIMIT ? OFFSET ?"), limit, offset); err != nil {
return nil, sqlcon.HandleError(err)
}

for _, k := range d {
clients = make([]Client, len(d))
for i, k := range d {
c, err := k.ToClient()
if err != nil {
return nil, errors.WithStack(err)
}

clients[k.ID] = *c
clients[i] = *c
}

return clients, nil
Expand Down
8 changes: 4 additions & 4 deletions client/manager_test_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,11 @@ func TestHelperCreateGetDeleteClient(k string, m Storage) func(t *testing.T) {
ds, err := m.GetClients(ctx, 100, 0)
assert.NoError(t, err)
assert.Len(t, ds, 2)
assert.NotEqual(t, ds["1234"].ClientID, ds["2-1234"].ClientID)
assert.NotEqual(t, ds["1234"].ClientID, ds["2-1234"].ClientID)
assert.NotEqual(t, ds[0].ClientID, ds[1].ClientID)
assert.NotEqual(t, ds[0].ClientID, ds[1].ClientID)
//test if SecretExpiresAt was set properly
assert.Equal(t, ds["1234"].SecretExpiresAt, 0)
assert.Equal(t, ds["2-1234"].SecretExpiresAt, 1)
assert.Equal(t, ds[0].SecretExpiresAt, 0)
assert.Equal(t, ds[1].SecretExpiresAt, 1)

ds, err = m.GetClients(ctx, 1, 0)
assert.NoError(t, err)
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ require (
github.com/oleiade/reflections v1.0.0
github.com/olekukonko/tablewriter v0.0.1
github.com/opentracing/opentracing-go v1.1.0
github.com/ory/fosite v0.29.7
github.com/ory/fosite v0.30.0
github.com/ory/go-acc v0.0.0-20181118080137-ddc355013f90
github.com/ory/graceful v0.1.1
github.com/ory/herodot v0.6.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -566,8 +566,8 @@ github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFSt
github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA=
github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs=
github.com/ory/fosite v0.29.0/go.mod h1:0atSZmXO7CAcs6NPMI/Qtot8tmZYj04Nddoold4S2h0=
github.com/ory/fosite v0.29.7 h1:mgERhQfDfzh7ZrOFMQPip6G4L8PhGzmA4iMYrNnsbIU=
github.com/ory/fosite v0.29.7/go.mod h1:0atSZmXO7CAcs6NPMI/Qtot8tmZYj04Nddoold4S2h0=
github.com/ory/fosite v0.30.0 h1:FnOVgpEApo8yxq0Vrp313o4XZeAXRUH1d41Q6NElwmY=
github.com/ory/fosite v0.30.0/go.mod h1:Lq9qQ9Sl6mcea2Tt8J7PU+wUeFYPZ+vg7N3zPVKGbN8=
github.com/ory/go-acc v0.0.0-20181118080137-ddc355013f90 h1:Bpk3eqc3rbJT2mE+uS9ETzmi2cEL4RuIKz2iUeteh04=
github.com/ory/go-acc v0.0.0-20181118080137-ddc355013f90/go.mod h1:sxnvPCxChFuSmTJGj8FdMupeq1BezCiEpDjTUXQ4hf4=
github.com/ory/go-convenience v0.1.0 h1:zouLKfF2GoSGnJwGq+PE/nJAE6dj2Zj5QlTgmMTsTS8=
Expand Down
12 changes: 11 additions & 1 deletion oauth2/fosite_store_memory.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,17 @@ func (s *FositeMemoryStore) DeleteClient(ctx context.Context, id string) error {
}

func (s *FositeMemoryStore) GetClients(ctx context.Context, limit, offset int) (map[string]client.Client, error) {
return s.r.ClientManager().GetClients(ctx, limit, offset)
interim, err := s.r.ClientManager().GetClients(ctx, limit, offset)
if err != nil {
return nil, err
}

clients := map[string]client.Client{}
for _, c := range interim {
clients[c.GetID()] = c
}

return clients, nil
}

func (s *FositeMemoryStore) GetConcreteClient(ctx context.Context, id string) (*client.Client, error) {
Expand Down
12 changes: 11 additions & 1 deletion oauth2/fosite_store_sql.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,17 @@ func (s *FositeSQLStore) DeleteClient(ctx context.Context, id string) error {
}

func (s *FositeSQLStore) GetClients(ctx context.Context, limit, offset int) (map[string]client.Client, error) {
return s.r.ClientManager().GetClients(ctx, limit, offset)
interim, err := s.r.ClientManager().GetClients(ctx, limit, offset)
if err != nil {
return nil, err
}

clients := map[string]client.Client{}
for _, c := range interim {
clients[c.GetID()] = c
}

return clients, nil
}

func (s *FositeSQLStore) GetConcreteClient(ctx context.Context, id string) (*client.Client, error) {
Expand Down

0 comments on commit 96e0b82

Please sign in to comment.