From 5b65514a12f909ad7bddc9d6bb0adda520d15857 Mon Sep 17 00:00:00 2001 From: "/ /\\ / /\\/" <imaitland@gmail.com> Date: Thu, 30 Jan 2020 15:22:42 -0500 Subject: [PATCH] check for avatar version in posting_json_metadata.profile.version --- src/avatar.ts | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/avatar.ts b/src/avatar.ts index 38a55f1..15435b1 100644 --- a/src/avatar.ts +++ b/src/avatar.ts @@ -30,26 +30,19 @@ export async function avatarHandler(ctx: KoaContext) { }; } - const [account] : IExtendedAccount[] = await rpcClient.database.getAccounts([username]) + const [account]: IExtendedAccount[] = await rpcClient.database.getAccounts([username]) APIError.assert(account, APIError.Code.NoSuchAccount) - let metadata: any - - if (account && account.posting_json_metadata && account.profile && account.profile.version === 2){ - try { - metadata = JSON.parse(account.posting_json_metadata) - } catch (error) { - ctx.log.debug(error, 'unable to parse posting_json_metadata for %s, remove the beta=1 query string to fall back to json_metadata.', account.name) - metadata = {} - } - } else { - try { - metadata = JSON.parse(account.json_metadata) - } catch (error) { - ctx.log.debug(error, 'unable to parse json_metadata for %s', account.name) - metadata = {} + let metadata; + try { + metadata = account.posting_json_metadata ? JSON.parse(account.posting_json_metadata) : JSON.parse(account.json_metadata) + if (metadata && metadata.profile && metadata.profile.version !== 2) { + metadata = JSON.parse(account.json_metadata) } + } catch (error) { + ctx.log.debug(error, 'unable to parse json_metadata for %s', account.name) + metadata = {} } let avatarUrl: string = DefaultAvatar -- GitLab