From 4f32972d850275840173822f282240771ac77bd0 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sat, 25 May 2024 09:17:56 -0500 Subject: [PATCH] updateCredentialsController: delete empty fields from metadata --- src/controllers/api/accounts.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/controllers/api/accounts.ts b/src/controllers/api/accounts.ts index 8844a69..3c2a985 100644 --- a/src/controllers/api/accounts.ts +++ b/src/controllers/api/accounts.ts @@ -1,4 +1,4 @@ -import { NostrFilter, NSchema as n } from '@nostrify/nostrify'; +import { NostrFilter, NostrMetadata, NSchema as n } from '@nostrify/nostrify'; import { nip19 } from 'nostr-tools'; import { z } from 'zod'; @@ -220,8 +220,8 @@ const accountStatusesController: AppController = async (c) => { const updateCredentialsSchema = z.object({ display_name: z.string().optional(), note: z.string().optional(), - avatar: fileSchema.optional(), - header: fileSchema.optional(), + avatar: fileSchema.or(z.literal('')).optional(), + header: fileSchema.or(z.literal('')).optional(), locked: z.boolean().optional(), bot: z.boolean().optional(), discoverable: z.boolean().optional(), @@ -269,6 +269,12 @@ const updateCredentialsController: AppController = async (c) => { meta.website = website ?? meta.website; meta.bot = bot ?? meta.bot; + if (avatarFile === '') delete meta.picture; + if (headerFile === '') delete meta.banner; + if (nip05 === '') delete meta.nip05; + if (lud16 === '') delete meta.lud16; + if (website === '') delete meta.website; + const event = await createEvent({ kind: 0, content: JSON.stringify(meta),