diff --git a/src/controllers/api/ditto.ts b/src/controllers/api/ditto.ts index c9c7896..841eb86 100644 --- a/src/controllers/api/ditto.ts +++ b/src/controllers/api/ditto.ts @@ -69,8 +69,17 @@ const nameRequestSchema = z.object({ }); export const nameRequestController: AppController = async (c) => { + const store = await Storages.db(); + const signer = c.get('signer')!; + const pubkey = await signer.getPublicKey(); + const { name, reason } = nameRequestSchema.parse(await c.req.json()); + const [existing] = await store.query([{ kinds: [3036], authors: [pubkey], '#r': [name], limit: 1 }]); + if (existing) { + return c.json({ error: 'Name request already exists' }, 400); + } + const event = await createEvent({ kind: 3036, content: reason,