mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-27 12:08:02 -05:00
NotesService: Let createNote
create an actual Note
and introduce createNoteDto
to create & convert in one step.
It might be handy to have access to the original `Note` after creating one, so the creation and conversion to a `NoteDto` is now split. Signed-off-by: David Mehren <git@herrmehren.de>
This commit is contained in:
parent
881263f2a4
commit
8b9a45b738
2 changed files with 13 additions and 9 deletions
|
@ -39,7 +39,7 @@ export class NotesController {
|
|||
let bodyText: string = await getRawBody(req, 'utf-8');
|
||||
bodyText = bodyText.trim();
|
||||
this.logger.debug('Got raw markdown:\n' + bodyText);
|
||||
return this.noteService.createNote(bodyText);
|
||||
return this.noteService.createNoteDto(bodyText);
|
||||
} else {
|
||||
// TODO: Better error message
|
||||
throw new BadRequestException('Invalid body');
|
||||
|
@ -62,7 +62,7 @@ export class NotesController {
|
|||
let bodyText: string = await getRawBody(req, 'utf-8');
|
||||
bodyText = bodyText.trim();
|
||||
this.logger.debug('Got raw markdown:\n' + bodyText);
|
||||
return this.noteService.createNote(bodyText, noteAlias);
|
||||
return this.noteService.createNoteDto(bodyText, noteAlias);
|
||||
} else {
|
||||
// TODO: Better error message
|
||||
throw new BadRequestException('Invalid body');
|
||||
|
|
|
@ -58,11 +58,20 @@ export class NotesService {
|
|||
];
|
||||
}
|
||||
|
||||
async createNote(
|
||||
async createNoteDto(
|
||||
noteContent: string,
|
||||
alias?: NoteMetadataDto['alias'],
|
||||
owner?: User,
|
||||
): Promise<NoteDto> {
|
||||
const note = await this.createNote(noteContent, alias, owner);
|
||||
return this.toNoteDto(note);
|
||||
}
|
||||
|
||||
async createNote(
|
||||
noteContent: string,
|
||||
alias?: NoteMetadataDto['alias'],
|
||||
owner?: User,
|
||||
): Promise<Note> {
|
||||
const newNote = Note.create();
|
||||
newNote.revisions = Promise.resolve([
|
||||
Revision.create(noteContent, noteContent),
|
||||
|
@ -73,12 +82,7 @@ export class NotesService {
|
|||
if (owner) {
|
||||
newNote.owner = owner;
|
||||
}
|
||||
const savedNote = await this.noteRepository.save(newNote);
|
||||
return {
|
||||
content: await this.getCurrentContent(savedNote),
|
||||
metadata: await this.getMetadata(savedNote),
|
||||
editedByAtPosition: [],
|
||||
};
|
||||
return this.noteRepository.save(newNote);
|
||||
}
|
||||
|
||||
async getCurrentContent(note: Note) {
|
||||
|
|
Loading…
Reference in a new issue