From 90f8fe7e538bb7e52d2558152a0390e693f39b11 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Thu, 29 Mar 2018 01:20:40 +0900 Subject: Introduce processor --- src/api/endpoints/mute/create.ts | 61 --------------------------------- src/api/endpoints/mute/delete.ts | 63 ---------------------------------- src/api/endpoints/mute/list.ts | 73 ---------------------------------------- 3 files changed, 197 deletions(-) delete mode 100644 src/api/endpoints/mute/create.ts delete mode 100644 src/api/endpoints/mute/delete.ts delete mode 100644 src/api/endpoints/mute/list.ts (limited to 'src/api/endpoints/mute') diff --git a/src/api/endpoints/mute/create.ts b/src/api/endpoints/mute/create.ts deleted file mode 100644 index f99b40d32e..0000000000 --- a/src/api/endpoints/mute/create.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Module dependencies - */ -import $ from 'cafy'; -import User from '../../models/user'; -import Mute from '../../models/mute'; - -/** - * Mute a user - * - * @param {any} params - * @param {any} user - * @return {Promise} - */ -module.exports = (params, user) => new Promise(async (res, rej) => { - const muter = user; - - // Get 'user_id' parameter - const [userId, userIdErr] = $(params.user_id).id().$; - if (userIdErr) return rej('invalid user_id param'); - - // 自分自身 - if (user._id.equals(userId)) { - return rej('mutee is yourself'); - } - - // Get mutee - const mutee = await User.findOne({ - _id: userId - }, { - fields: { - data: false, - 'account.profile': false - } - }); - - if (mutee === null) { - return rej('user not found'); - } - - // Check if already muting - const exist = await Mute.findOne({ - muter_id: muter._id, - mutee_id: mutee._id, - deleted_at: { $exists: false } - }); - - if (exist !== null) { - return rej('already muting'); - } - - // Create mute - await Mute.insert({ - created_at: new Date(), - muter_id: muter._id, - mutee_id: mutee._id, - }); - - // Send response - res(); -}); diff --git a/src/api/endpoints/mute/delete.ts b/src/api/endpoints/mute/delete.ts deleted file mode 100644 index 36e2fd101a..0000000000 --- a/src/api/endpoints/mute/delete.ts +++ /dev/null @@ -1,63 +0,0 @@ -/** - * Module dependencies - */ -import $ from 'cafy'; -import User from '../../models/user'; -import Mute from '../../models/mute'; - -/** - * Unmute a user - * - * @param {any} params - * @param {any} user - * @return {Promise} - */ -module.exports = (params, user) => new Promise(async (res, rej) => { - const muter = user; - - // Get 'user_id' parameter - const [userId, userIdErr] = $(params.user_id).id().$; - if (userIdErr) return rej('invalid user_id param'); - - // Check if the mutee is yourself - if (user._id.equals(userId)) { - return rej('mutee is yourself'); - } - - // Get mutee - const mutee = await User.findOne({ - _id: userId - }, { - fields: { - data: false, - 'account.profile': false - } - }); - - if (mutee === null) { - return rej('user not found'); - } - - // Check not muting - const exist = await Mute.findOne({ - muter_id: muter._id, - mutee_id: mutee._id, - deleted_at: { $exists: false } - }); - - if (exist === null) { - return rej('already not muting'); - } - - // Delete mute - await Mute.update({ - _id: exist._id - }, { - $set: { - deleted_at: new Date() - } - }); - - // Send response - res(); -}); diff --git a/src/api/endpoints/mute/list.ts b/src/api/endpoints/mute/list.ts deleted file mode 100644 index 19e3b157e6..0000000000 --- a/src/api/endpoints/mute/list.ts +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Module dependencies - */ -import $ from 'cafy'; -import Mute from '../../models/mute'; -import { pack } from '../../models/user'; -import getFriends from '../../common/get-friends'; - -/** - * Get muted users of a user - * - * @param {any} params - * @param {any} me - * @return {Promise} - */ -module.exports = (params, me) => new Promise(async (res, rej) => { - // Get 'iknow' parameter - const [iknow = false, iknowErr] = $(params.iknow).optional.boolean().$; - if (iknowErr) return rej('invalid iknow param'); - - // Get 'limit' parameter - const [limit = 30, limitErr] = $(params.limit).optional.number().range(1, 100).$; - if (limitErr) return rej('invalid limit param'); - - // Get 'cursor' parameter - const [cursor = null, cursorErr] = $(params.cursor).optional.id().$; - if (cursorErr) return rej('invalid cursor param'); - - // Construct query - const query = { - muter_id: me._id, - deleted_at: { $exists: false } - } as any; - - if (iknow) { - // Get my friends - const myFriends = await getFriends(me._id); - - query.mutee_id = { - $in: myFriends - }; - } - - // カーソルが指定されている場合 - if (cursor) { - query._id = { - $lt: cursor - }; - } - - // Get mutes - const mutes = await Mute - .find(query, { - limit: limit + 1, - sort: { _id: -1 } - }); - - // 「次のページ」があるかどうか - const inStock = mutes.length === limit + 1; - if (inStock) { - mutes.pop(); - } - - // Serialize - const users = await Promise.all(mutes.map(async m => - await pack(m.mutee_id, me, { detail: true }))); - - // Response - res({ - users: users, - next: inStock ? mutes[mutes.length - 1]._id : null, - }); -}); -- cgit v1.2.3-freya