diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-11-02 03:32:24 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-11-02 03:32:24 +0900 |
| commit | 931bdc6aace5e7aa71ffdfb470e208ead78a2a53 (patch) | |
| tree | eee6d7bf5f5480b883bb601517b4d9db03f31e9f /src/server/api/endpoints/users/lists | |
| parent | Refactoring (diff) | |
| download | sharkey-931bdc6aace5e7aa71ffdfb470e208ead78a2a53.tar.gz sharkey-931bdc6aace5e7aa71ffdfb470e208ead78a2a53.tar.bz2 sharkey-931bdc6aace5e7aa71ffdfb470e208ead78a2a53.zip | |
Refactoring, Clean up and bug fixes
Diffstat (limited to 'src/server/api/endpoints/users/lists')
| -rw-r--r-- | src/server/api/endpoints/users/lists/delete.ts | 8 | ||||
| -rw-r--r-- | src/server/api/endpoints/users/lists/push.ts | 33 | ||||
| -rw-r--r-- | src/server/api/endpoints/users/lists/show.ts | 19 | ||||
| -rw-r--r-- | src/server/api/endpoints/users/lists/update.ts | 14 |
4 files changed, 46 insertions, 28 deletions
diff --git a/src/server/api/endpoints/users/lists/delete.ts b/src/server/api/endpoints/users/lists/delete.ts index c56963aab6..1d4513a822 100644 --- a/src/server/api/endpoints/users/lists/delete.ts +++ b/src/server/api/endpoints/users/lists/delete.ts @@ -1,5 +1,5 @@ import $ from 'cafy'; -import ID from '../../../../../misc/cafy-id'; +import ID, { transform } from '../../../../../misc/cafy-id'; import UserList from '../../../../../models/user-list'; import { ILocalUser } from '../../../../../models/user'; import getParams from '../../../get-params'; @@ -15,12 +15,14 @@ export const meta = { kind: 'account-write', params: { - listId: $.type(ID).note({ + listId: { + validator: $.type(ID), + transform: transform, desc: { 'ja-JP': '対象となるユーザーリストのID', 'en-US': 'ID of target user list' } - }) + } } }; diff --git a/src/server/api/endpoints/users/lists/push.ts b/src/server/api/endpoints/users/lists/push.ts index 2d68ec7458..8208e627ed 100644 --- a/src/server/api/endpoints/users/lists/push.ts +++ b/src/server/api/endpoints/users/lists/push.ts @@ -1,10 +1,11 @@ -import $ from 'cafy'; import ID from '../../../../../misc/cafy-id'; +import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id'; import UserList from '../../../../../models/user-list'; import User, { pack as packUser, isRemoteUser, getGhost, ILocalUser } from '../../../../../models/user'; import { publishUserListStream } from '../../../../../stream'; import ap from '../../../../../remote/activitypub/renderer'; import renderFollow from '../../../../../remote/activitypub/renderer/follow'; import { deliver } from '../../../../../queue'; +import getParams from '../../../get-params'; export const meta = { desc: { @@ -14,20 +15,28 @@ export const meta = { requireCredential: true, - kind: 'account-write' + kind: 'account-write', + + params: { + listId: { + validator: $.type(ID), + transform: transform, + }, + + userId: { + validator: $.type(ID), + transform: transform, + }, + } }; -/** - * Add a user to a user list - */ export default async (params: any, me: ILocalUser) => new Promise(async (res, rej) => { - // Get 'listId' parameter - const [listId, listIdErr] = $.type(ID).get(params.listId); - if (listIdErr) return rej('invalid listId param'); + const [ps, psErr] = getParams(meta, params); + if (psErr) return rej(psErr); // Fetch the list const userList = await UserList.findOne({ - _id: listId, + _id: ps.listId, userId: me._id, }); @@ -35,13 +44,9 @@ export default async (params: any, me: ILocalUser) => new Promise(async (res, re return rej('list not found'); } - // Get 'userId' parameter - const [userId, userIdErr] = $.type(ID).get(params.userId); - if (userIdErr) return rej('invalid userId param'); - // Fetch the user const user = await User.findOne({ - _id: userId + _id: ps.userId }); if (user == null) { diff --git a/src/server/api/endpoints/users/lists/show.ts b/src/server/api/endpoints/users/lists/show.ts index a2dd00c6e1..585833a2fe 100644 --- a/src/server/api/endpoints/users/lists/show.ts +++ b/src/server/api/endpoints/users/lists/show.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 UserList, { pack } from '../../../../../models/user-list'; import { ILocalUser } from '../../../../../models/user'; +import getParams from '../../../get-params'; export const meta = { desc: { @@ -10,17 +11,23 @@ export const meta = { requireCredential: true, - kind: 'account-read' + kind: 'account-read', + + params: { + listId: { + validator: $.type(ID), + transform: transform, + }, + } }; export default async (params: any, me: ILocalUser) => new Promise(async (res, rej) => { - // Get 'listId' parameter - const [listId, listIdErr] = $.type(ID).get(params.listId); - if (listIdErr) return rej('invalid listId param'); + const [ps, psErr] = getParams(meta, params); + if (psErr) return rej(psErr); // Fetch the list const userList = await UserList.findOne({ - _id: listId, + _id: ps.listId, userId: me._id, }); diff --git a/src/server/api/endpoints/users/lists/update.ts b/src/server/api/endpoints/users/lists/update.ts index e39f66fb5b..fb1a37b2f1 100644 --- a/src/server/api/endpoints/users/lists/update.ts +++ b/src/server/api/endpoints/users/lists/update.ts @@ -1,5 +1,5 @@ import $ from 'cafy'; -import ID from '../../../../../misc/cafy-id'; +import ID, { transform } from '../../../../../misc/cafy-id'; import UserList, { pack } from '../../../../../models/user-list'; import { ILocalUser } from '../../../../../models/user'; import getParams from '../../../get-params'; @@ -15,18 +15,22 @@ export const meta = { kind: 'account-write', params: { - listId: $.type(ID).note({ + listId: { + validator: $.type(ID), + transform: transform, desc: { 'ja-JP': '対象となるユーザーリストのID', 'en-US': 'ID of target user list' } - }), - title: $.str.range(1, 100).note({ + }, + + title: { + validator: $.str.range(1, 100), desc: { 'ja-JP': 'このユーザーリストの名前', 'en-US': 'name of this user list' } - }) + } } }; |