Skip to content

Commit

Permalink
Merge pull request #34 from iljaSL/added-get-local-users-endpoint-use…
Browse files Browse the repository at this point in the history
…rstore

added a new endpoint, /local-user-store/api/v1/users to the userstore
  • Loading branch information
fogfish committed Feb 19, 2021
2 parents 0ce1ff6 + d308e66 commit 8aa3382
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 0 deletions.
25 changes: 25 additions & 0 deletions api/userstore/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,36 @@ type UserStore struct {
api restapi.Connector
}

type usersResult struct {
Count int `json:"count"`
Items []LocalUser `json:"items"`
}

// New creates a new user-store client instance
func New(api restapi.Connector) *UserStore {
return &UserStore{api: api}
}

// GetLocalUsers get a local user with details
func (store *UserStore) GetLocalUsers(offset, limit, userID, username string) ([]LocalUser, error) {
result := usersResult{}
filters := FilterUser{
Params: Params{
Offset: offset,
Limit: limit,
},
UserID: userID,
Username: username,
}

_, err := store.api.
URL("/local-user-store/api/v1/users").
Query(&filters).
Get(&result)

return result.Items, err
}

// CreateTrustedClient registers new client to PrivX
func (store *UserStore) CreateTrustedClient(client TrustedClient) (string, error) {
var id struct {
Expand Down
33 changes: 33 additions & 0 deletions api/userstore/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,19 @@ const (
ClientHostProvisioning = ClientType("HOST_PROVISIONING")
)

// Params struct for pagination queries.
type Params struct {
Offset string `json:"offset,omitempty"`
Limit string `json:"limit,omitempty"`
}

// FilterUser struct for local users queries.
type FilterUser struct {
Params
UserID string `json:"id,omitempty"`
Username string `json:"username,omitempty"`
}

// TrustedClient definition
type TrustedClient struct {
ID string `json:"id,omitempty"`
Expand Down Expand Up @@ -57,3 +70,23 @@ type APIClient struct {
Created string `json:"created,omitempty"`
Author string `json:"author,omitempty"`
}

// LocalUser definition
type LocalUser struct {
ID string `json:"id,omnitempty"`
Created string `json:"created,omitempty"`
Updated string `json:"updated,omitempty"`
UpdatedBy string `json:"updated_by,omitempty"`
Author string `json:"author,omitempty"`
Comment string `json:"comment,omitempty"`
Tags []string `json:"tags,omitempty"`
Username string `json:"username,omitempty"`
GivenName string `json:"given_name,omitempty"`
FullName string `json:"full_name,omitempty"`
JobTitle string `json:"job_title,omitempty"`
Company string `json:"company,omitempty"`
Department string `json:"department,omitempty"`
Email string `json:"email,omitempty"`
Telephone string `json:"telephone,omitempty"`
Locale string `json:"locale,omitempty"`
}

0 comments on commit 8aa3382

Please sign in to comment.