mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-24 18:56:32 -05:00
Remove PUT /notes/{note}/metadata
and corresponding service code
Signed-off-by: David Mehren <git@herrmehren.de> Co-authored-by: Yannick Bungers <git@innay.de>
This commit is contained in:
parent
80e4d029f7
commit
c0527c0942
4 changed files with 1 additions and 94 deletions
|
@ -73,14 +73,6 @@ export class NotesController {
|
||||||
return this.noteService.getNoteMetadata(noteIdOrAlias);
|
return this.noteService.getNoteMetadata(noteIdOrAlias);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Put(':noteIdOrAlias/metadata')
|
|
||||||
updateNoteMetadata(
|
|
||||||
@Param('noteIdOrAlias') noteIdOrAlias: string,
|
|
||||||
@Body() updateDto: NoteMetadataUpdateDto,
|
|
||||||
) {
|
|
||||||
return this.noteService.updateNoteMetadata(noteIdOrAlias, updateDto);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Put(':noteIdOrAlias/permissions')
|
@Put(':noteIdOrAlias/permissions')
|
||||||
updateNotePermissions(
|
updateNotePermissions(
|
||||||
@Param('noteIdOrAlias') noteIdOrAlias: string,
|
@Param('noteIdOrAlias') noteIdOrAlias: string,
|
||||||
|
|
|
@ -220,23 +220,4 @@ export class NotesService {
|
||||||
editedByAtPosition: [],
|
editedByAtPosition: [],
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
async updateNoteMetadata(
|
|
||||||
noteIdOrAlias: string,
|
|
||||||
updateDto: NoteMetadataUpdateDto,
|
|
||||||
) {
|
|
||||||
const note = await this.getNoteByIdOrAlias(noteIdOrAlias);
|
|
||||||
note.title = updateDto.title;
|
|
||||||
note.description = updateDto.description;
|
|
||||||
note.tags = await Promise.all(
|
|
||||||
updateDto.tags.map(async tag => {
|
|
||||||
let dbTag = await this.tagRepository.findOne({ where: { name: tag } });
|
|
||||||
if (!dbTag) {
|
|
||||||
dbTag = await this.tagRepository.create({ name: tag });
|
|
||||||
}
|
|
||||||
return dbTag;
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
await this.noteRepository.save(note);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,6 +76,7 @@ export class RevisionsService {
|
||||||
createRevision(content: string) {
|
createRevision(content: string) {
|
||||||
// TODO: Add previous revision
|
// TODO: Add previous revision
|
||||||
// TODO: Calculate patch
|
// TODO: Calculate patch
|
||||||
|
// TODO: Save metadata
|
||||||
return this.revisionRepository.create({
|
return this.revisionRepository.create({
|
||||||
content: content,
|
content: content,
|
||||||
length: content.length,
|
length: content.length,
|
||||||
|
|
|
@ -98,26 +98,6 @@ describe('Notes', () => {
|
||||||
).toEqual('New note text');
|
).toEqual('New note text');
|
||||||
});
|
});
|
||||||
|
|
||||||
it(`PUT /notes/{note}/metadata`, async () => {
|
|
||||||
await notesService.createNote('This is a test note.', 'test5');
|
|
||||||
await request(app.getHttpServer())
|
|
||||||
.put('/notes/test5/metadata')
|
|
||||||
.send({
|
|
||||||
title: 'test title',
|
|
||||||
description: 'test description',
|
|
||||||
tags: ['test1', 'test2', 'test3'],
|
|
||||||
})
|
|
||||||
.expect(200);
|
|
||||||
const note5 = await notesService.getNoteByIdOrAlias('test5');
|
|
||||||
expect(note5.title).toEqual('test title');
|
|
||||||
expect(note5.description).toEqual('test description');
|
|
||||||
expect(note5.tags.map(tag => tag.name)).toEqual([
|
|
||||||
'test1',
|
|
||||||
'test2',
|
|
||||||
'test3',
|
|
||||||
]);
|
|
||||||
});
|
|
||||||
|
|
||||||
it(`GET /notes/{note}/metadata`, async () => {
|
it(`GET /notes/{note}/metadata`, async () => {
|
||||||
await notesService.createNote('This is a test note.', 'test6');
|
await notesService.createNote('This is a test note.', 'test6');
|
||||||
const metadata = await request(app.getHttpServer())
|
const metadata = await request(app.getHttpServer())
|
||||||
|
@ -169,53 +149,6 @@ describe('Notes', () => {
|
||||||
expect(response.text).toEqual('This is a test note.');
|
expect(response.text).toEqual('This is a test note.');
|
||||||
});
|
});
|
||||||
|
|
||||||
it(`2 notes with tags`, async () => {
|
|
||||||
//Create first nore
|
|
||||||
const content10 = 'This is the first test note.';
|
|
||||||
const note10 = await request(app.getHttpServer())
|
|
||||||
.post('/notes/test10')
|
|
||||||
.set('Content-Type', 'text/markdown')
|
|
||||||
.send(content10)
|
|
||||||
.expect('Content-Type', /json/)
|
|
||||||
.expect(201);
|
|
||||||
expect(note10.body.metadata?.id).toBeDefined();
|
|
||||||
//Create second note
|
|
||||||
const content11 = 'This is the second test note.';
|
|
||||||
const note11 = await request(app.getHttpServer())
|
|
||||||
.post('/notes/test11')
|
|
||||||
.set('Content-Type', 'text/markdown')
|
|
||||||
.send(content11)
|
|
||||||
.expect('Content-Type', /json/)
|
|
||||||
.expect(201);
|
|
||||||
expect(note11.body.metadata?.id).toBeDefined();
|
|
||||||
//Add tags to both notes
|
|
||||||
await request(app.getHttpServer())
|
|
||||||
.put('/notes/test10/metadata')
|
|
||||||
.send({
|
|
||||||
title: 'Test Note 10',
|
|
||||||
description: 'test description',
|
|
||||||
tags: ['test1', 'test2', 'test3'],
|
|
||||||
})
|
|
||||||
.expect(200);
|
|
||||||
await request(app.getHttpServer())
|
|
||||||
.put('/notes/test11/metadata')
|
|
||||||
.send({
|
|
||||||
title: 'Test Note 11',
|
|
||||||
description: 'test description',
|
|
||||||
tags: ['test1', 'test2', 'test4'],
|
|
||||||
})
|
|
||||||
.expect(200);
|
|
||||||
//Delete first note
|
|
||||||
await request(app.getHttpServer())
|
|
||||||
.delete('/notes/test10')
|
|
||||||
.expect(200);
|
|
||||||
//Check if all tags are still present
|
|
||||||
const metadata11 = await request(app.getHttpServer())
|
|
||||||
.get('/notes/test11/metadata')
|
|
||||||
.expect(200);
|
|
||||||
expect(metadata11.body.tags).toEqual(['test1', 'test2', 'test4']);
|
|
||||||
});
|
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await app.close();
|
await app.close();
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue