1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-09 00:18:00 +01:00

fix: add enpoint for fetching a single user (#1074)

* fix: add enpoint for fetching a single user

* fix add api docs
This commit is contained in:
Ivar Conradi Østhus 2021-10-28 14:24:09 +02:00 committed by GitHub
parent 8040abb1c4
commit d0b2ce3170
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 49 additions and 2 deletions

View File

@ -61,6 +61,7 @@ export default class UserAdminController extends Controller {
this.get('/search', this.search);
this.post('/', this.createUser, ADMIN);
this.post('/validate-password', this.validatePassword);
this.get('/:id', this.getUser, ADMIN);
this.put('/:id', this.updateUser, ADMIN);
this.post('/:id/change-password', this.changePassword, ADMIN);
this.delete('/:id', this.deleteUser, ADMIN);
@ -115,6 +116,12 @@ export default class UserAdminController extends Controller {
}
}
async getUser(req: Request, res: Response): Promise<void> {
const { id } = req.params;
const user = await this.userService.getUser(Number(id));
res.json(user);
}
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
async createUser(
req: IAuthRequest<any, any, ICreateUserBody, any>,

View File

@ -143,8 +143,6 @@ test('requires known root role', async () => {
});
test('update user name', async () => {
expect.assertions(3);
const { body } = await app.request
.post('/api/admin/user-admin')
.send({
@ -168,6 +166,25 @@ test('update user name', async () => {
});
});
test('get a single user', async () => {
const { body } = await app.request
.post('/api/admin/user-admin')
.send({
email: 'some2@getunelash.ai',
name: 'Some Name 2',
rootRole: editorRole.id,
})
.set('Content-Type', 'application/json');
const { body: user } = await app.request
.get(`/api/admin/user-admin/${body.id}`)
.expect(200);
expect(user.email).toBe('some2@getunelash.ai');
expect(user.name).toBe('Some Name 2');
expect(user.id).toBe(body.id);
});
test('should delete user', async () => {
expect.assertions(0);

View File

@ -65,6 +65,29 @@ Will return all users and all available root roles for the Unleash instance.
}
```
### Get a single users {#get-user}
`GET https://unleash.host.com/api/admin/user-admin/:id`
Will return a single user by id.
**Body**
```json
{
"createdAt": "2021-05-14T08:58:07.891Z",
"email": "random-user2@getunleash.ai",
"id": 4,
"imageUrl": "https://gravatar.com/avatar/90047524992cd6ae8f66e249a7630d80?size=42&default=retro",
"inviteLink": "",
"isAPI": false,
"loginAttempts": 0,
"rootRole": 1,
"seenAt": null
}
```
### Search for users {#search-for-users}
You can also search for users via the search API. It will preform a simple search based on name and email matching the given query. Requires minimum 2 characters.