πŸ” Overview

The DomainBlockAppeal model represents appeals for domain unblocking requests. It stores appeal submissions, their status, and associated metadata including screenshots and account information for Google Search Console appeals. Appeals are automatically sent by the system via Playwright scripts, with error tracking for failed submissions.


πŸ“‘ Fields

FieldTypeDescription
ownerForeign Key User ModelReference to the user who owns the domain for which the appeal was submitted.
domainstrThe domain name being appealed (max 255 characters).
created_atdatetimeTimestamp when the appeal was created.
appeal_texttextOptional text content of the appeal.
is_sentboolWhether the appeal has been sent.
is_safeboolWhether the domain is marked as safe by Google Search Console.
accountstrGoogle account email.
screenshotFileFieldScreenshot file associated with the appeal.
error_messagetextOptional error message if automatic appeal submission failed.

🧩 Methods

MethodDescription
can_send_appeal(domain, owner_id)Checks if it’s possible to send an appeal according to business rules (classmethod).

πŸ’‘ Business Rules

  • Appeal Cooldown: The system cannot send multiple appeals for the same domain within 12 hours if a previous appeal was already sent (is_sent=True) or the domain is marked as safe (is_safe=True).
  • File Storage: Screenshots are stored using random filenames in Hetzner storage.
  • Error Tracking: Failed automatic appeal submissions are logged in the error_message field.

βž• Additional Context

For more details on the appeal submission process see the Send Appeals Tasks and Appeal Sender Controller documentation.