docs: def get_affected_domains(self):
          """ Return a list of all affected domain and subdomains """
          results = set()
          dotted_domain = ("." + self.domain) if self.domain else None
          for website in self.websites:
              for subdomain in website['subdomains']:
                  if self.domain is None or subdomain == self.domain or \
                          (self.include_subdomains and subdomain.endswith(dotted_domain)):
                      results.add(subdomain)
  
          # sort them by lenght so the shortest domain is the first
          results = sorted(list(results), key=lambda item: len(item))
          return results