intopays
Version:
Intopays - Gateway de integração bancária
44 lines (43 loc) • 1.72 kB
TypeScript
import { Webhook } from "../models/Webhook";
import { WebhookRemote } from "../../infra/http/WebhookRemote";
/**
* Serviço responsável pela lógica de negócios relacionada aos webhooks.
*/
export declare class WebhookService {
private readonly remote;
/**
* Construtor da classe WebhookService.
* @param remote - Instância da classe WebhookRemote responsável pela comunicação com o servidor.
*/
constructor(remote: WebhookRemote);
/**
* Cria um novo webhook no sistema.
* @param data - Dados necessários para a criação do webhook, incluindo o endpoint.
* @returns O objeto Webhook criado.
*/
create(data: {
endpoint: string;
}): Promise<Webhook>;
/**
* Busca uma lista de webhooks com base no endpoint fornecido.
* @param data - Dados para filtrar os webhooks (opcional), incluindo o endpoint.
* @returns Lista de webhooks que atendem aos critérios fornecidos.
*/
find(data?: {
endpoint?: string | null;
}): Promise<Array<Webhook>>;
/**
* Deleta um webhook específico pelo seu ID.
* @param id - ID do webhook a ser deletado.
* @returns O objeto Webhook deletado.
*/
delete(id: number): Promise<Webhook>;
/**
* Verifica a assinatura de um payload recebido de um webhook.
* @param payload - O payload que foi recebido pelo webhook.
* @param xWebhookSignature - A assinatura fornecida pelo webhook.
* @param signature - A chave secreta para verificar a assinatura.
* @returns Retorna `true` se a assinatura for válida, caso contrário `false`.
*/
verifySignature(payload: any, xWebhookSignature: string, signature: string): boolean;
}