module Webhooks
  class Signature
    def self.valid?(payload, signature)
      return false if signature.blank?

      expected = OpenSSL::HMAC.hexdigest(
        "SHA256",
        MatchLiveTv.mediamtx_webhook_secret,
        payload
      )
      ActiveSupport::SecurityUtils.secure_compare(expected, signature)
    end
  end
end
