NotesController: Get text from request body when updating and deleting a note.

Signed-off-by: David Mehren <git@herrmehren.de>
This commit is contained in:
David Mehren 2020-09-22 20:06:56 +02:00
parent d462a571d8
commit 05f25b92aa
No known key found for this signature in database
GPG key ID: 185982BA4C42B7C3

View file

@ -70,16 +70,29 @@ export class NotesController {
}
@Delete(':noteIdOrAlias')
deleteNote(@Param('noteIdOrAlias') noteIdOrAlias: string) {
return this.noteService.deleteNoteByIdOrAlias(noteIdOrAlias);
async deleteNote(@Param('noteIdOrAlias') noteIdOrAlias: string) {
this.logger.debug('Deleting note: ' + noteIdOrAlias);
await this.noteService.deleteNoteByIdOrAlias(noteIdOrAlias);
this.logger.debug('Successfully deleted ' + noteIdOrAlias);
return;
}
@Put(':noteIdOrAlias')
updateNote(
async updateNote(
@Param('noteIdOrAlias') noteIdOrAlias: string,
@Body() noteContent: string,
@Req() req: Request,
) {
return this.noteService.updateNoteByIdOrAlias(noteIdOrAlias, noteContent);
// we have to check req.readable because of raw-body issue #57
// https://github.com/stream-utils/raw-body/issues/57
if (req.readable) {
let bodyText: string = await getRawBody(req, 'utf-8');
bodyText = bodyText.trim();
this.logger.debug('Got raw markdown:\n' + bodyText);
return this.noteService.updateNoteByIdOrAlias(noteIdOrAlias, bodyText);
} else {
// TODO: Better error message
throw new BadRequestException('Invalid body');
}
}
@Get(':noteIdOrAlias/content')