From f94ae7606c9c2c029e8f54a03e0d34bf7c652bc0 Mon Sep 17 00:00:00 2001 From: "P. Reis" Date: Thu, 25 Jul 2024 11:11:44 -0300 Subject: [PATCH] refactor: change zapSplitSchema to z.record()) --- src/controllers/api/ditto.ts | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/controllers/api/ditto.ts b/src/controllers/api/ditto.ts index 0f815350..d1ba002b 100644 --- a/src/controllers/api/ditto.ts +++ b/src/controllers/api/ditto.ts @@ -153,11 +153,13 @@ export const nameRequestsController: AppController = async (c) => { return paginated(c, orig, nameRequests); }; -const zapSplitSchema = z.array(z.object({ - pubkey: n.id(), - amount: z.number().int().min(1).max(100), - message: z.string().max(500), -})).min(1); +const zapSplitSchema = z.record( + n.id(), + z.object({ + amount: z.number().int().min(1).max(100), + message: z.string().max(500), + }), +); export const updateZapSplitsController: AppController = async (c) => { const body = await parseBody(c.req.raw); @@ -174,12 +176,17 @@ export const updateZapSplitsController: AppController = async (c) => { } const { data } = result; + const pubkeys = Object.keys(data); + + if (pubkeys.length < 1) { + return c.json(200); + } await updateListAdminEvent( { kinds: [30078], authors: [Conf.pubkey], '#d': ['pub.ditto.zapSplits'], limit: 1 }, (tags) => - data.reduce((accumulator, currentValue) => { - return addTag(accumulator, ['p', currentValue.pubkey, currentValue.amount.toString(), currentValue.message]); + pubkeys.reduce((accumulator, pubkey) => { + return addTag(accumulator, ['p', pubkey, data[pubkey].amount.toString(), data[pubkey].message]); }, tags), c, );