class ApiDynamicDnsRepository implements DynamicDnsRepositoryInterface (View source)

API-backend dynamic DNS repository.

Uses PowerDNS REST API for DNS operations, Poweradmin DB for user/zone queries.

Methods

__construct(PDO $db, SOARecordManagerInterface $soaRecordManager, DnsBackendProvider $backendProvider)

No description

User|null
findUserByUsernameWithDynamicDnsPermissions(string $username)

No description

array
getUserZones(User $user)

No description

string|null
getZoneType(int $zoneId)

No description

array
getDnsRecords(int $zoneId, HostnameValue $hostname, string $recordType)

No description

void
insertDnsRecord(int $zoneId, HostnameValue $hostname, string $recordType, string $content)

No description

void
deleteDnsRecord(int|string $recordId)

No description

void
updateSOASerial(int $zoneId)

No description

Details

__construct(PDO $db, SOARecordManagerInterface $soaRecordManager, DnsBackendProvider $backendProvider)

No description

Parameters

PDO $db
SOARecordManagerInterface $soaRecordManager
DnsBackendProvider $backendProvider

User|null findUserByUsernameWithDynamicDnsPermissions(string $username)

No description

Parameters

string $username

Return Value

User|null

array getUserZones(User $user)

No description

Parameters

User $user

Return Value

array

Map of PowerDNS domain_id to zone name for every zone the user owns (directly via zones.owner or via group membership through zones_groups + user_group_members).

string|null getZoneType(int $zoneId)

No description

Parameters

int $zoneId

Return Value

string|null

PowerDNS zone kind (MASTER, SLAVE, NATIVE, CONSUMER, ...) or null if unknown.

array getDnsRecords(int $zoneId, HostnameValue $hostname, string $recordType)

No description

Parameters

int $zoneId
HostnameValue $hostname
string $recordType

Return Value

array

void insertDnsRecord(int $zoneId, HostnameValue $hostname, string $recordType, string $content)

No description

Parameters

int $zoneId
HostnameValue $hostname
string $recordType
string $content

Return Value

void

void deleteDnsRecord(int|string $recordId)

No description

Parameters

int|string $recordId

Return Value

void

void updateSOASerial(int $zoneId)

No description

Parameters

int $zoneId

Return Value

void