From 0e4a111f81cceed275d9bec2695f6e401fb654d8 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 12 Nov 2021 02:02:25 +0900 Subject: refactoring Resolve #7779 --- .../src/server/api/endpoints/pinned-users.ts | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 packages/backend/src/server/api/endpoints/pinned-users.ts (limited to 'packages/backend/src/server/api/endpoints/pinned-users.ts') diff --git a/packages/backend/src/server/api/endpoints/pinned-users.ts b/packages/backend/src/server/api/endpoints/pinned-users.ts new file mode 100644 index 0000000000..39cf7b0df1 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/pinned-users.ts @@ -0,0 +1,32 @@ +import define from '../define'; +import { Users } from '@/models/index'; +import { fetchMeta } from '@/misc/fetch-meta'; +import * as Acct from 'misskey-js/built/acct'; +import { User } from '@/models/entities/user'; + +export const meta = { + tags: ['users'], + + requireCredential: false as const, + + params: { + }, + + res: { + type: 'array' as const, + optional: false as const, nullable: false as const, + items: { + type: 'object' as const, + optional: false as const, nullable: false as const, + ref: 'User', + } + }, +}; + +export default define(meta, async (ps, me) => { + const meta = await fetchMeta(); + + const users = await Promise.all(meta.pinnedUsers.map(acct => Users.findOne(Acct.parse(acct)))); + + return await Users.packMany(users.filter(x => x !== undefined) as User[], me, { detail: true }); +}); -- cgit v1.2.3-freya