From 931bdc6aace5e7aa71ffdfb470e208ead78a2a53 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 2 Nov 2018 03:32:24 +0900 Subject: Refactoring, Clean up and bug fixes --- src/server/api/endpoints/mute/create.ts | 24 +++++++++++++++--------- src/server/api/endpoints/mute/delete.ts | 24 +++++++++++++++--------- src/server/api/endpoints/mute/list.ts | 19 ++++++++++++------- 3 files changed, 42 insertions(+), 25 deletions(-) (limited to 'src/server/api/endpoints/mute') diff --git a/src/server/api/endpoints/mute/create.ts b/src/server/api/endpoints/mute/create.ts index 5b2e7a8d71..442d3f51d8 100644 --- a/src/server/api/endpoints/mute/create.ts +++ b/src/server/api/endpoints/mute/create.ts @@ -1,6 +1,7 @@ -import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; +import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id'; import User, { ILocalUser } from '../../../../models/user'; import Mute from '../../../../models/mute'; +import getParams from '../../get-params'; export const meta = { desc: { @@ -10,24 +11,30 @@ export const meta = { requireCredential: true, - kind: 'account/write' + kind: 'account/write', + + params: { + userId: { + validator: $.type(ID), + transform: transform, + }, + } }; export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { - const muter = user; + const [ps, psErr] = getParams(meta, params); + if (psErr) return rej(psErr); - // Get 'userId' parameter - const [userId, userIdErr] = $.type(ID).get(params.userId); - if (userIdErr) return rej('invalid userId param'); + const muter = user; // 自分自身 - if (user._id.equals(userId)) { + if (user._id.equals(ps.userId)) { return rej('mutee is yourself'); } // Get mutee const mutee = await User.findOne({ - _id: userId + _id: ps.userId }, { fields: { data: false, @@ -56,6 +63,5 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) = muteeId: mutee._id, }); - // Send response res(); }); diff --git a/src/server/api/endpoints/mute/delete.ts b/src/server/api/endpoints/mute/delete.ts index e8ed75a847..c1d4f35425 100644 --- a/src/server/api/endpoints/mute/delete.ts +++ b/src/server/api/endpoints/mute/delete.ts @@ -1,6 +1,7 @@ -import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; +import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id'; import User, { ILocalUser } from '../../../../models/user'; import Mute from '../../../../models/mute'; +import getParams from '../../get-params'; export const meta = { desc: { @@ -10,24 +11,30 @@ export const meta = { requireCredential: true, - kind: 'account/write' + kind: 'account/write', + + params: { + userId: { + validator: $.type(ID), + transform: transform, + }, + } }; export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => { - const muter = user; + const [ps, psErr] = getParams(meta, params); + if (psErr) return rej(psErr); - // Get 'userId' parameter - const [userId, userIdErr] = $.type(ID).get(params.userId); - if (userIdErr) return rej('invalid userId param'); + const muter = user; // Check if the mutee is yourself - if (user._id.equals(userId)) { + if (user._id.equals(ps.userId)) { return rej('mutee is yourself'); } // Get mutee const mutee = await User.findOne({ - _id: userId + _id: ps.userId }, { fields: { data: false, @@ -54,6 +61,5 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) = _id: exist._id }); - // Send response res(); }); diff --git a/src/server/api/endpoints/mute/list.ts b/src/server/api/endpoints/mute/list.ts index 4653877621..e33e709773 100644 --- a/src/server/api/endpoints/mute/list.ts +++ b/src/server/api/endpoints/mute/list.ts @@ -1,4 +1,4 @@ -import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; +import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id'; import Mute, { packMany } from '../../../../models/mute'; import { ILocalUser } from '../../../../models/user'; import getParams from '../../get-params'; @@ -14,15 +14,20 @@ export const meta = { kind: 'account/read', params: { - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30 - }), + }, - sinceId: $.type(ID).optional.note({ - }), + sinceId: { + validator: $.type(ID).optional, + transform: transform, + }, - untilId: $.type(ID).optional.note({ - }), + untilId: { + validator: $.type(ID).optional, + transform: transform, + }, } }; -- cgit v1.2.3-freya