From ec34dba9fca2cfb0a0e1c7c2e1d657ac173379df Mon Sep 17 00:00:00 2001 From: Jason Rasmussen Date: Wed, 22 May 2024 13:30:05 -0400 Subject: [PATCH] refactor(server): user info endpoint --- e2e/src/api/specs/user.e2e-spec.ts | 6 +- open-api/immich-openapi-specs.json | 82 +++++++++++------------ server/src/controllers/user.controller.ts | 16 ++--- 3 files changed, 51 insertions(+), 53 deletions(-) diff --git a/e2e/src/api/specs/user.e2e-spec.ts b/e2e/src/api/specs/user.e2e-spec.ts index 7518e732ec669..08b2d34ef6e2b 100644 --- a/e2e/src/api/specs/user.e2e-spec.ts +++ b/e2e/src/api/specs/user.e2e-spec.ts @@ -93,15 +93,15 @@ describe('/users', () => { }); }); - describe('GET /users/info/:id', () => { + describe('GET /users/:id', () => { it('should require authentication', async () => { - const { status } = await request(app).get(`/users/info/${admin.userId}`); + const { status } = await request(app).get(`/users/${admin.userId}`); expect(status).toEqual(401); }); it('should get the user info', async () => { const { status, body } = await request(app) - .get(`/users/info/${admin.userId}`) + .get(`/users/${admin.userId}`) .set('Authorization', `Bearer ${admin.accessToken}`); expect(status).toBe(200); expect(body).toMatchObject({ diff --git a/open-api/immich-openapi-specs.json b/open-api/immich-openapi-specs.json index 929338b7347a1..cb334534bd4b1 100644 --- a/open-api/immich-openapi-specs.json +++ b/open-api/immich-openapi-specs.json @@ -6229,48 +6229,6 @@ ] } }, - "/users/info/{id}": { - "get": { - "operationId": "getUserById", - "parameters": [ - { - "name": "id", - "required": true, - "in": "path", - "schema": { - "format": "uuid", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserResponseDto" - } - } - }, - "description": "" - } - }, - "security": [ - { - "bearer": [] - }, - { - "cookie": [] - }, - { - "api_key": [] - } - ], - "tags": [ - "User" - ] - } - }, "/users/me": { "get": { "operationId": "getMyUserInfo", @@ -6462,6 +6420,46 @@ "tags": [ "User" ] + }, + "get": { + "operationId": "getUserById", + "parameters": [ + { + "name": "id", + "required": true, + "in": "path", + "schema": { + "format": "uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserResponseDto" + } + } + }, + "description": "" + } + }, + "security": [ + { + "bearer": [] + }, + { + "cookie": [] + }, + { + "api_key": [] + } + ], + "tags": [ + "User" + ] } }, "/users/{id}/restore": { diff --git a/server/src/controllers/user.controller.ts b/server/src/controllers/user.controller.ts index a1720dd404671..4c058e7aaece6 100644 --- a/server/src/controllers/user.controller.ts +++ b/server/src/controllers/user.controller.ts @@ -41,10 +41,10 @@ export class UserController { return this.service.getAll(auth, isAll); } - @Get('info/:id') - @Authenticated() - getUserById(@Param() { id }: UUIDParamDto): Promise { - return this.service.get(id); + @Post() + @Authenticated({ admin: true }) + createUser(@Body() createUserDto: CreateUserDto): Promise { + return this.service.create(createUserDto); } @Get('me') @@ -53,10 +53,10 @@ export class UserController { return this.service.getMe(auth); } - @Post() - @Authenticated({ admin: true }) - createUser(@Body() createUserDto: CreateUserDto): Promise { - return this.service.create(createUserDto); + @Get(':id') + @Authenticated() + getUserById(@Param() { id }: UUIDParamDto): Promise { + return this.service.get(id); } @Delete('profile-image')