From 085eb1378379081438a7190e5bdf89ff2eef5d8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?marcin=20miko=C5=82ajczak?= Date: Wed, 9 Oct 2024 12:56:46 +0200 Subject: [PATCH] pl-api: Handle moved accounts correctly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: marcin mikołajczak --- packages/pl-api/lib/entities/account.ts | 7 +++++-- packages/pl-api/package.json | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/pl-api/lib/entities/account.ts b/packages/pl-api/lib/entities/account.ts index 210b470c1..86a80c75c 100644 --- a/packages/pl-api/lib/entities/account.ts +++ b/packages/pl-api/lib/entities/account.ts @@ -85,6 +85,7 @@ const baseAccountSchema = z.object({ group: z.boolean().catch(false), discoverable: z.boolean().catch(false), noindex: z.boolean().nullable().catch(null), + moved: z.null().catch(null), suspended: z.boolean().optional().catch(undefined), limited: z.boolean().optional().catch(undefined), created_at: z.string().datetime().catch(new Date().toUTCString()), @@ -127,13 +128,15 @@ const baseAccountSchema = z.object({ }); const accountWithMovedAccountSchema = baseAccountSchema.extend({ - moved: baseAccountSchema.optional().catch(undefined), + moved: z.lazy((): typeof baseAccountSchema => accountWithMovedAccountSchema as any).nullable().catch(null), }); /** @see {@link https://docs.joinmastodon.org/entities/Account/} */ const accountSchema = z.preprocess(preprocessAccount, accountWithMovedAccountSchema); -type Account = z.infer; +type Account = z.infer & { + moved: Account | null; +}; const credentialAccountSchema = z.preprocess(preprocessAccount, accountWithMovedAccountSchema.extend({ source: z.object({ diff --git a/packages/pl-api/package.json b/packages/pl-api/package.json index 1e4e1397d..ed592220a 100644 --- a/packages/pl-api/package.json +++ b/packages/pl-api/package.json @@ -1,6 +1,6 @@ { "name": "pl-api", - "version": "0.0.37", + "version": "0.0.38", "type": "module", "homepage": "https://github.com/mkljczk/pl-fe/tree/fork/packages/pl-api", "repository": {