summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/notes/delete.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/notes/delete.ts')
-rw-r--r--src/server/api/endpoints/notes/delete.ts12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/server/api/endpoints/notes/delete.ts b/src/server/api/endpoints/notes/delete.ts
index 399f9288d6..dbaf91bca3 100644
--- a/src/server/api/endpoints/notes/delete.ts
+++ b/src/server/api/endpoints/notes/delete.ts
@@ -1,11 +1,11 @@
import $ from 'cafy';
-import ID, { transform } from '../../../../misc/cafy-id';
+import { ID } from '../../../../misc/cafy-id';
import deleteNote from '../../../../services/note/delete';
-import User from '../../../../models/user';
import define from '../../define';
import * as ms from 'ms';
import { getNote } from '../../common/getters';
import { ApiError } from '../../error';
+import { Users } from '../../../../models';
export const meta = {
stability: 'stable',
@@ -19,7 +19,7 @@ export const meta = {
requireCredential: true,
- kind: 'note-write',
+ kind: 'write:notes',
limit: {
duration: ms('1hour'),
@@ -30,7 +30,6 @@ export const meta = {
params: {
noteId: {
validator: $.type(ID),
- transform: transform,
desc: {
'ja-JP': '対象の投稿のID',
'en-US': 'Target note ID.'
@@ -59,9 +58,10 @@ export default define(meta, async (ps, user) => {
throw e;
});
- if (!user.isAdmin && !user.isModerator && !note.userId.equals(user._id)) {
+ if (!user.isAdmin && !user.isModerator && (note.userId !== user.id)) {
throw new ApiError(meta.errors.accessDenied);
}
- await deleteNote(await User.findOne({ _id: note.userId }), note);
+ // この操作を行うのが投稿者とは限らない(例えばモデレーター)ため
+ await deleteNote(await Users.findOne(note.userId), note);
});