import MessageValidator from "sns-validator";

const validator = new MessageValidator();

/** Verifica a assinatura RSA de uma mensagem SNS (encadeada até o certificado da AWS)
 * antes de qualquer processamento — nunca confie em payload de webhook não validado. */
export function verifySnsMessage(message: Record<string, unknown>): Promise<void> {
  return new Promise((resolve, reject) => {
    validator.validate(message, (err) => {
      if (err) reject(err);
      else resolve();
    });
  });
}
