From a7df4103bb4f04be4c710a6b373dde204cb9da0d Mon Sep 17 00:00:00 2001 From: Xeltica Date: Wed, 16 Sep 2020 01:23:57 +0900 Subject: [PATCH] =?UTF-8?q?=E3=81=B2=E3=81=A8=E3=82=8A=E3=81=99=E3=81=8D?= =?UTF-8?q?=E3=83=BC=E3=81=AF=E9=80=A3=E6=90=BA=E4=B8=8D=E5=8F=AF=E8=83=BD?= =?UTF-8?q?=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/router.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/server/router.ts b/src/server/router.ts index cc50b20..33a029c 100644 --- a/src/server/router.ts +++ b/src/server/router.ts @@ -40,9 +40,9 @@ const login = async (ctx: Context, user: Record, host: string, if (isNewcomer) { await updateUser(u.username, u.host, { - prevNotesCount: user.notesCount as number, - prevFollowingCount: user.followingCount as number, - prevFollowersCount: user.followersCount as number, + prevNotesCount: user.notesCount as number ?? 0, + prevFollowingCount: user.followingCount as number ?? 0, + prevFollowersCount: user.followersCount as number ?? 0, }); } @@ -80,10 +80,15 @@ router.get('/login', async ctx => { let host = ctx.query.host as string | undefined; if (!host) { - await die(ctx, 'ホストを空欄にしてはいけない'); + await die(ctx, 'host is empty'); + return; + } + const meta = await api<{ name: string, uri: string, version: string, features: Record }>(host, 'meta', {}); + + if (meta.version.includes('hitori')) { + await die(ctx, 'ひとりすきーは連携できません。'); return; } - const meta = await api<{ name: string, uri: string, features: Record }>(host, 'meta', {}); // ホスト名の正規化 host = meta.uri.replace(/^https?:\/\//, '');