diff --git a/README.md b/README.md index 1f39495..9d9cada 100644 --- a/README.md +++ b/README.md @@ -95,10 +95,10 @@ Get customer by name ### Users -Get all users +Get all users. When `archived` is true, the archived users will be returned. ``` - users, errUsers := miteAPI.GetUsers() + users, errUsers := miteAPI.GetUsers(archived) ``` Get a user by ID diff --git a/user.go b/user.go index 64d40f6..cef7eec 100644 --- a/user.go +++ b/user.go @@ -36,9 +36,13 @@ type getUsersResponseWrapper struct { // ------------------------------------------------------------- // GetUsers returns all users in a mite workspace -func (m *Mite) GetUsers() ([]*User, error) { +func (m *Mite) GetUsers(archived bool) ([]*User, error) { var usersResponse []*getUsersResponseWrapper - err := m.getAndDecodeFromSuffix("users.json", &usersResponse, nil) + var resource = "users.json" + if archived { + resource = "/users/archived.json" + } + err := m.getAndDecodeFromSuffix(resource, &usersResponse, nil) if err != nil { return nil, err } diff --git a/user_test.go b/user_test.go index 37e7046..58fc0d9 100644 --- a/user_test.go +++ b/user_test.go @@ -18,10 +18,15 @@ func TestGetUsers(t *testing.T) { mite := mite.NewMiteAPI(username, team, key, "test@go-mite") - _, errUser := mite.GetUsers() + _, errUser := mite.GetUsers(false) if errUser != nil { t.Error(username, team, key, errUser) } + + _, errArchivedUser := mite.GetUsers(true) + if errArchivedUser != nil { + t.Error(username, team, key, errUser) + } } func TestGetUser(t *testing.T) { username, okUser := os.LookupEnv("MITE_USER") @@ -34,7 +39,7 @@ func TestGetUser(t *testing.T) { mite := mite.NewMiteAPI(username, team, key, "test@go-mite") - users, errUser := mite.GetUsers() + users, errUser := mite.GetUsers(false) if errUser != nil { t.Error(username, team, key, errUser) }