ApiRecordSearch
final class ApiRecordSearch extends ApiSearchBase implements RecordSearchInterface (View source)
Record search over the PowerDNS API, enriched with the zone owner from Poweradmin's zones table and filtered, sorted and paged in memory.
Constants
| private SEARCH_LIMIT |
|
| private MAX_COMMENT_ZONES |
|
Methods
No description
Punycode normalization and reverse IP expansion, matching what BaseSearch::buildSearchString() does for the SQL search.
Drop the results of a zone whose canonical id another zone shares and opens (see SharedZoneIds).
No description
No description
Whether the last searchRecords() call dropped comment matches because it hit the per-search zone cap.
Details
__construct(PDO $db, DnsBackendProviderInterface $backendProvider, ZoneRepositoryInterface $zoneRepository, bool $recordCommentsEnabled = false, LoggerInterface|null $logger = null)
No description
protected array
preprocessSearchQuery(array $parameters)
Punycode normalization and reverse IP expansion, matching what BaseSearch::buildSearchString() does for the SQL search.
protected array
ownedZoneIds(int $userId)
No description
protected array
keepOpenedZones(array $items, string $idKey, string $nameKey)
Drop the results of a zone whose canonical id another zone shares and opens (see SharedZoneIds).
protected string
canonicalZoneId(string $alias)
No description
array
searchRecords(array $parameters, string $permissionView, int|null $userId, string $sortBy, string $sortDirection, bool $groupRecords, int $rowAmount, bool $includeComments, int $page)
No description
int
getTotalRecords(array $parameters, string $permissionView, int|null $userId, bool $groupRecords)
No description
bool
commentMatchesTruncated()
Whether the last searchRecords() call dropped comment matches because it hit the per-search zone cap.