From 6944094b9b5e5f0e1c0afca16764038bfbf716b4 Mon Sep 17 00:00:00 2001 From: David Mehren Date: Sat, 5 Feb 2022 16:21:13 +0100 Subject: [PATCH] fix(api/private/me): require and document displayName This renames the argument in the POST /profile route to `displayName` to be more consistent with the UserDTO. It also adds OpenAPI docs. Signed-off-by: David Mehren --- src/api/private/me/me.controller.ts | 15 ++++++++++++--- test/private-api/me.e2e-spec.ts | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/api/private/me/me.controller.ts b/src/api/private/me/me.controller.ts index f8df2d8d4..aa2120519 100644 --- a/src/api/private/me/me.controller.ts +++ b/src/api/private/me/me.controller.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ import { Body, Controller, Delete, Get, Post, UseGuards } from '@nestjs/common'; -import { ApiTags } from '@nestjs/swagger'; +import { ApiBody, ApiTags } from '@nestjs/swagger'; import { SessionGuard } from '../../../identity/session.guard'; import { ConsoleLoggerService } from '../../../logger/console-logger.service'; @@ -35,7 +35,7 @@ export class MeController { getMe( @RequestUser() user: User, @SessionAuthProvider() authProvider: string, - ): UserInfoDto { + ): UserLoginInfoDto { return this.userService.toUserLoginInfoDto(user, authProvider); } @@ -61,10 +61,19 @@ export class MeController { } @Post('profile') + @ApiBody({ + schema: { + type: 'object', + properties: { + displayName: { type: 'string', nullable: false }, + }, + required: ['displayName'], + }, + }) @OpenApi(200) async updateDisplayName( @RequestUser() user: User, - @Body('name') newDisplayName: string, + @Body('displayName') newDisplayName: string, ): Promise { await this.userService.changeDisplayName(user, newDisplayName); } diff --git a/test/private-api/me.e2e-spec.ts b/test/private-api/me.e2e-spec.ts index 1ba0b6dc5..ad673f3d2 100644 --- a/test/private-api/me.e2e-spec.ts +++ b/test/private-api/me.e2e-spec.ts @@ -103,7 +103,7 @@ describe('Me', () => { await agent .post('/api/private/me/profile') .send({ - name: newDisplayName, + displayName: newDisplayName, }) .expect(201); const dbUser = await testSetup.userService.getUserByUsername('hardcoded');