RecordRepositoryInterface
interface RecordRepositoryInterface (View source)
Reads over the records table by zone, name, id or RRset, plus the existence checks record validation relies on. Implemented for direct SQL and for the API backend mode.
Methods
Get records by domain ID
Get the records at one name in a zone, optionally filtered by type.
Get a record by ID
Get Zone ID from Record ID
Count Zone Records for Zone ID
Get record details from Record ID
Get a Record from a Record ID
Get all records from a domain id.
Record ID to Domain ID
Check if record exists
Check if a record with the given parameters already exists
Check if non-delegation records exist for a given name
Check if any PTR record exists for a given reverse domain name
Check if record has similar records with same name and type
Get Serial for Zone ID
Get filtered records from a domain with search capabilities
Get count of filtered records
Get all records in an RRset (matching domain, name, and type)
Get record ID by its attributes.
Get the ID of a newly created record
Get serial numbers for multiple zones in a single query
Details
array
getRecordsByDomainId(int $domainId, string|null $recordType = null)
Get records by domain ID
array
getRecordsByName(int $domainId, string $name, string|null $type = null)
Get the records at one name in a zone, optionally filtered by type.
Prefer this over getRecordsByDomainId() whenever only one name matters: in API backend mode the zone-wide call fetches every record in the zone. Names match case-insensitively, per RFC 4343.
array|null
getRecordById(int|string $recordId)
Get a record by ID
int
getZoneIdFromRecordId(int|string $rid)
Get Zone ID from Record ID
int
countZoneRecords(int $zone_id)
Count Zone Records for Zone ID
array
getRecordDetailsFromRecordId(int|string $rid)
Get record details from Record ID
array|null
getRecordFromId(int|string $id)
Get a Record from a Record ID
Retrieve all fields of the record and send it back to the function caller.
array
getRecordsFromDomainId(string $db_type, int $id, int $rowstart = 0, int $rowamount = Constants::DEFAULT_MAX_ROWS, string $sortby = 'name', string $sortDirection = 'ASC', bool $fetchComments = false)
Get all records from a domain id.
Retrieve all fields of the records and send it back to the function caller.
int
recidToDomid(int|string $id)
Record ID to Domain ID
Gets the id of the domain by a given record id
bool
recordNameExists(string $name)
Check if record exists
bool
recordExists(int $domain_id, string $name, string $type, string $content)
Check if a record with the given parameters already exists
bool
hasNonDelegationRecords(string $name)
Check if non-delegation records exist for a given name
Per RFC 1034: Delegation NS records are NOT authoritative data. Per RFC 4034: DS records are part of the delegation for DNSSEC. This method checks for records other than NS/DS which indicate authoritative data. Only delegation records (NS, DS) at a name should not prevent zone creation.
bool
hasPtrRecord(int $domain_id, string $name)
Check if any PTR record exists for a given reverse domain name
bool
hasSimilarRecords(int $domain_id, string $name, string $type, int|string $record_id)
Check if record has similar records with same name and type
string
getSerialByZid(int $zid)
Get Serial for Zone ID
array
getFilteredRecords(int $zone_id, int $row_start, int $row_amount, string $sort_by, string $sort_direction, bool $include_comments, string $search_term = '', string $type_filter = '', string $content_filter = '')
Get filtered records from a domain with search capabilities
int
getFilteredRecordCount(int $zone_id, bool $include_comments, string $search_term = '', string $type_filter = '', string $content_filter = '')
Get count of filtered records
array
getRRSetRecords(int $domainId, string $name, string $type)
Get all records in an RRset (matching domain, name, and type)
int|string|null
getRecordId(int $domain_id, string $name, string $type, string $content, int|null $prio = null, int|null $ttl = null)
Get record ID by its attributes.
int|string|null
getNewRecordId(int $domainId, string $name, string $type, string $content)
Get the ID of a newly created record
array
getSerialsByZoneIds(array $zoneIds)
Get serial numbers for multiple zones in a single query