Files
myeasycms-v2/packages/database-webhooks/src/server/services/verifier/postgres-database-webhook-verifier.service.ts
Giancarlo Buomprisco 4bc8448a1d Unify workspace dropdowns; Update layouts (#458)
Unified Account and Workspace drop-downs; Layout updates, now header lives within the PageBody component; Sidebars now use floating variant
2026-03-11 14:45:42 +08:00

25 lines
717 B
TypeScript

import * as z from 'zod';
import { DatabaseWebhookVerifierService } from './database-webhook-verifier.service';
const webhooksSecret = z
.string({
error: `Provide the variable SUPABASE_DB_WEBHOOK_SECRET. This is used to authenticate the webhook event from Supabase.`,
})
.min(1)
.parse(process.env.SUPABASE_DB_WEBHOOK_SECRET);
export function createDatabaseWebhookVerifierService() {
return new PostgresDatabaseWebhookVerifierService();
}
class PostgresDatabaseWebhookVerifierService implements DatabaseWebhookVerifierService {
verifySignatureOrThrow(header: string) {
if (header !== webhooksSecret) {
throw new Error('Invalid signature');
}
return Promise.resolve(true);
}
}