@@ -0,0 +1,29 @@
|
||||
import { publicProcedure } from '@/helpers/server/trpc'
|
||||
import { TRPCError } from '@trpc/server'
|
||||
import { env } from '@typebot.io/env'
|
||||
import { z } from 'zod'
|
||||
|
||||
export const subscribePreviewWebhook = publicProcedure
|
||||
.meta({
|
||||
openapi: {
|
||||
method: 'GET',
|
||||
path: '/whatsapp/preview/webhook',
|
||||
summary: 'WhatsApp',
|
||||
},
|
||||
})
|
||||
.input(
|
||||
z.object({
|
||||
'hub.challenge': z.string(),
|
||||
'hub.verify_token': z.string(),
|
||||
})
|
||||
)
|
||||
.output(z.number())
|
||||
.query(
|
||||
async ({
|
||||
input: { 'hub.challenge': challenge, 'hub.verify_token': token },
|
||||
}) => {
|
||||
if (token !== env.ENCRYPTION_SECRET)
|
||||
throw new TRPCError({ code: 'UNAUTHORIZED', message: 'Unauthorized' })
|
||||
return Number(challenge)
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user