summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/notes
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-10-22 05:16:27 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-10-22 05:16:27 +0900
commit3aece449e4a2134381d69754716906353c2dd8bf (patch)
tree6effa7785bb5f34b79696f4734d236267cb5f361 /src/server/api/endpoints/notes
parent#2939 part 3 (#2976) (diff)
downloadsharkey-3aece449e4a2134381d69754716906353c2dd8bf.tar.gz
sharkey-3aece449e4a2134381d69754716906353c2dd8bf.tar.bz2
sharkey-3aece449e4a2134381d69754716906353c2dd8bf.zip
Improve API definitions
Diffstat (limited to 'src/server/api/endpoints/notes')
-rw-r--r--src/server/api/endpoints/notes/create.ts2
-rw-r--r--src/server/api/endpoints/notes/delete.ts21
-rw-r--r--src/server/api/endpoints/notes/favorites/create.ts5
-rw-r--r--src/server/api/endpoints/notes/favorites/delete.ts21
-rw-r--r--src/server/api/endpoints/notes/reactions/create.ts2
-rw-r--r--src/server/api/endpoints/notes/show.ts31
6 files changed, 64 insertions, 18 deletions
diff --git a/src/server/api/endpoints/notes/create.ts b/src/server/api/endpoints/notes/create.ts
index 96745132a3..432561da38 100644
--- a/src/server/api/endpoints/notes/create.ts
+++ b/src/server/api/endpoints/notes/create.ts
@@ -8,6 +8,8 @@ import { IApp } from '../../../../models/app';
import getParams from '../../get-params';
export const meta = {
+ stability: 'stable',
+
desc: {
'ja-JP': '投稿します。'
},
diff --git a/src/server/api/endpoints/notes/delete.ts b/src/server/api/endpoints/notes/delete.ts
index 2fe36897c0..160d5c4cf6 100644
--- a/src/server/api/endpoints/notes/delete.ts
+++ b/src/server/api/endpoints/notes/delete.ts
@@ -2,8 +2,11 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import deleteNote from '../../../../services/note/delete';
import User, { ILocalUser } from '../../../../models/user';
+import getParams from '../../get-params';
export const meta = {
+ stability: 'stable',
+
desc: {
'ja-JP': '指定した投稿を削除します。',
'en-US': 'Delete a note.'
@@ -11,17 +14,25 @@ export const meta = {
requireCredential: true,
- kind: 'note-write'
+ kind: 'note-write',
+
+ params: {
+ noteId: $.type(ID).note({
+ desc: {
+ 'ja-JP': '対象の投稿のID',
+ 'en-US': 'Target note ID.'
+ }
+ })
+ }
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- // Get 'noteId' parameter
- const [noteId, noteIdErr] = $.type(ID).get(params.noteId);
- if (noteIdErr) return rej('invalid noteId param');
+ const [ps, psErr] = getParams(meta, params);
+ if (psErr) return rej(psErr);
// Fetch note
const note = await Note.findOne({
- _id: noteId
+ _id: ps.noteId
});
if (note === null) {
diff --git a/src/server/api/endpoints/notes/favorites/create.ts b/src/server/api/endpoints/notes/favorites/create.ts
index 9aefb701ae..76673e248a 100644
--- a/src/server/api/endpoints/notes/favorites/create.ts
+++ b/src/server/api/endpoints/notes/favorites/create.ts
@@ -5,6 +5,8 @@ import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
export const meta = {
+ stability: 'stable',
+
desc: {
'ja-JP': '指定した投稿をお気に入りに登録します。',
'en-US': 'Favorite a note.'
@@ -17,7 +19,8 @@ export const meta = {
params: {
noteId: $.type(ID).note({
desc: {
- 'ja-JP': '対象の投稿のID'
+ 'ja-JP': '対象の投稿のID',
+ 'en-US': 'Target note ID.'
}
})
}
diff --git a/src/server/api/endpoints/notes/favorites/delete.ts b/src/server/api/endpoints/notes/favorites/delete.ts
index e42b24d324..70e1ca8ccf 100644
--- a/src/server/api/endpoints/notes/favorites/delete.ts
+++ b/src/server/api/endpoints/notes/favorites/delete.ts
@@ -2,8 +2,11 @@ import $ from 'cafy'; import ID from '../../../../../misc/cafy-id';
import Favorite from '../../../../../models/favorite';
import Note from '../../../../../models/note';
import { ILocalUser } from '../../../../../models/user';
+import getParams from '../../../get-params';
export const meta = {
+ stability: 'stable',
+
desc: {
'ja-JP': '指定した投稿のお気に入りを解除します。',
'en-US': 'Unfavorite a note.'
@@ -11,17 +14,25 @@ export const meta = {
requireCredential: true,
- kind: 'favorite-write'
+ kind: 'favorite-write',
+
+ params: {
+ noteId: $.type(ID).note({
+ desc: {
+ 'ja-JP': '対象の投稿のID',
+ 'en-US': 'Target note ID.'
+ }
+ })
+ }
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- // Get 'noteId' parameter
- const [noteId, noteIdErr] = $.type(ID).get(params.noteId);
- if (noteIdErr) return rej('invalid noteId param');
+ const [ps, psErr] = getParams(meta, params);
+ if (psErr) return rej(psErr);
// Get favoritee
const note = await Note.findOne({
- _id: noteId
+ _id: ps.noteId
});
if (note === null) {
diff --git a/src/server/api/endpoints/notes/reactions/create.ts b/src/server/api/endpoints/notes/reactions/create.ts
index ec68f065d8..aa9ab07384 100644
--- a/src/server/api/endpoints/notes/reactions/create.ts
+++ b/src/server/api/endpoints/notes/reactions/create.ts
@@ -6,6 +6,8 @@ import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
export const meta = {
+ stability: 'stable',
+
desc: {
'ja-JP': '指定した投稿にリアクションします。',
'en-US': 'React to a note.'
diff --git a/src/server/api/endpoints/notes/show.ts b/src/server/api/endpoints/notes/show.ts
index 3f94eeede5..e84a948c97 100644
--- a/src/server/api/endpoints/notes/show.ts
+++ b/src/server/api/endpoints/notes/show.ts
@@ -1,18 +1,35 @@
import $ from 'cafy'; import ID from '../../../../misc/cafy-id';
import Note, { pack } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
+import getParams from '../../get-params';
+
+export const meta = {
+ stability: 'stable',
+
+ desc: {
+ 'ja-JP': '指定した投稿を取得します。',
+ 'en-US': 'Get a note.'
+ },
+
+ requireCredential: false,
+
+ params: {
+ noteId: $.type(ID).note({
+ desc: {
+ 'ja-JP': '対象の投稿のID',
+ 'en-US': 'Target note ID.'
+ }
+ })
+ }
+};
-/**
- * Show a note
- */
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- // Get 'noteId' parameter
- const [noteId, noteIdErr] = $.type(ID).get(params.noteId);
- if (noteIdErr) return rej('invalid noteId param');
+ const [ps, psErr] = getParams(meta, params);
+ if (psErr) return rej(psErr);
// Get note
const note = await Note.findOne({
- _id: noteId
+ _id: ps.noteId
});
if (note === null) {