Update api definitions

This commit is contained in:
syuilo
2018-07-17 04:36:44 +09:00
parent aacfb5e221
commit 16726789da
66 changed files with 586 additions and 156 deletions

View File

@ -3,9 +3,17 @@ import Note from '../../../../models/note';
import deleteNote from '../../../../services/note/delete';
import { ILocalUser } from '../../../../models/user';
/**
* Delete a note
*/
export const meta = {
desc: {
ja: '指定した投稿を削除します。',
en: 'Delete a note.'
},
requireCredential: true,
kind: 'note-write'
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'noteId' parameter
const [noteId, noteIdErr] = $.type(ID).get(params.noteId);

View File

@ -3,9 +3,17 @@ import Favorite from '../../../../../models/favorite';
import Note from '../../../../../models/note';
import { ILocalUser } from '../../../../../models/user';
/**
* Favorite a note
*/
export const meta = {
desc: {
ja: '指定した投稿をお気に入りに登録します。',
en: 'Favorite a note.'
},
requireCredential: true,
kind: 'favorite-write'
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'noteId' parameter
const [noteId, noteIdErr] = $.type(ID).get(params.noteId);

View File

@ -3,9 +3,17 @@ import Favorite from '../../../../../models/favorite';
import Note from '../../../../../models/note';
import { ILocalUser } from '../../../../../models/user';
/**
* Unfavorite a note
*/
export const meta = {
desc: {
ja: '指定した投稿のお気に入りを解除します。',
en: 'Unfavorite a note.'
},
requireCredential: true,
kind: 'favorite-write'
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'noteId' parameter
const [noteId, noteIdErr] = $.type(ID).get(params.noteId);

View File

@ -4,9 +4,15 @@ import { getFriendIds } from '../../common/get-friends';
import { pack } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
/**
* Get mentions of myself
*/
export const meta = {
desc: {
ja: '自分に言及している投稿の一覧を取得します。',
en: 'Get mentions of myself.'
},
requireCredential: true
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'following' parameter
const [following = false, followingError] =

View File

@ -3,9 +3,15 @@ import Vote from '../../../../../models/poll-vote';
import Note, { pack } from '../../../../../models/note';
import { ILocalUser } from '../../../../../models/user';
/**
* Get recommended polls
*/
export const meta = {
desc: {
ja: 'おすすめのアンケート一覧を取得します。',
en: 'Get recommended polls.'
},
requireCredential: true,
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'limit' parameter
const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit);

View File

@ -7,9 +7,17 @@ import { publishNoteStream } from '../../../../../stream';
import notify from '../../../../../notify';
import { ILocalUser } from '../../../../../models/user';
/**
* Vote poll of a note
*/
export const meta = {
desc: {
ja: '指定した投稿のアンケートに投票します。',
en: 'Vote poll of a note.'
},
requireCredential: true,
kind: 'vote-write'
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'noteId' parameter
const [noteId, noteIdErr] = $.type(ID).get(params.noteId);

View File

@ -3,9 +3,15 @@ import Note from '../../../../models/note';
import Reaction, { pack } from '../../../../models/note-reaction';
import { ILocalUser } from '../../../../models/user';
/**
* Show reactions of a note
*/
export const meta = {
desc: {
ja: '指定した投稿のリアクション一覧を取得します。',
en: 'Show reactions of a note.'
},
requireCredential: true
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'noteId' parameter
const [noteId, noteIdErr] = $.type(ID).get(params.noteId);
@ -46,6 +52,5 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
});
// Serialize
res(await Promise.all(reactions.map(async reaction =>
await pack(reaction, user))));
res(await Promise.all(reactions.map(reaction => pack(reaction, user))));
});

View File

@ -6,12 +6,15 @@ import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
export const meta = {
name: 'notes/reactions/create',
desc: {
ja: '投稿にリアクションします。'
ja: '指定した投稿にリアクションします。',
en: 'React to a note.'
},
requireCredential: true,
kind: 'reaction-write',
params: {
noteId: $.type(ID).note({
desc: {
@ -27,9 +30,6 @@ export const meta = {
}
};
/**
* React to a note
*/
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);

View File

@ -3,9 +3,17 @@ import Reaction from '../../../../../models/note-reaction';
import Note from '../../../../../models/note';
import { ILocalUser } from '../../../../../models/user';
/**
* Unreact to a note
*/
export const meta = {
desc: {
ja: '指定した投稿へのリアクションを取り消します。',
en: 'Unreact to a note.'
},
requireCredential: true,
kind: 'reaction-write'
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'noteId' parameter
const [noteId, noteIdErr] = $.type(ID).get(params.noteId);

View File

@ -3,9 +3,15 @@ import $ from 'cafy';
import Note, { pack } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
/**
* Get trend notes
*/
export const meta = {
desc: {
ja: '人気の投稿の一覧を取得します。',
en: 'Get trend notes.'
},
requireCredential: true
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
// Get 'limit' parameter
const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit);

View File

@ -5,9 +5,15 @@ import { pack } from '../../../../models/note';
import UserList from '../../../../models/user-list';
import { ILocalUser } from '../../../../models/user';
/**
* Get timeline of a user list
*/
export const meta = {
desc: {
ja: '指定したユーザーリストのタイムラインを取得します。',
en: 'Get timeline of a user list.'
},
requireCredential: true
};
export default async (params: any, user: ILocalUser) => {
// Get 'limit' parameter
const [limit = 10, limitErr] = $.num.optional.range(1, 100).get(params.limit);