Classes

An API key row: name, secret, creator, expiry, disabled flag and its read-only, operation and zone scopes.

Immutable description of what an API key is allowed to do.

Application-wide constants.

A DNSSEC key of a zone: id, type (ksk/zsk/csk), size, algorithm, active flag, DNSKEY and DS records.

Numeric DNSSEC algorithm identifiers from the IANA registry and their display names.

PowerDNS DNSSEC algorithm names, the subset offered for new keys, and version-gating against the server.

Built-in PowerDNS domain metadata kind definitions.

Page arithmetic for a list: current page, page count, page-link window, and the SQL offset and limit.

Bounds and default for a usable page size; shared by the pagination and user preference services.

Maps a PowerDNS Authoritative Server version string to feature capability flags used by the UI to show, hide, or default behaviour appropriately.

Permission names and the record-type restrictions for client-level editors.

The seed data every fresh installation starts from: the perm_items table, the default permission templates, and the default user groups. The installer and the sql/poweradmin-*-db-structure.sql files (via composer sql:seed) both read it, so a new permission or template is added here only.

A comment on a record set (zone, name, type) with its author account, text and modification timestamp.

One record of a zone listing, as the export, template-save and console paths read it.

DNS record type names and the groups the UI and validators select from.

A parsed network for batch PTR creation: the address range to walk and the reverse name used to probe for its zone.

A pending change that can take super admin away from users, described so the repository can count who would still hold it once the change is written.

A user as seen by authentication: id, stored password hash and whether the account is LDAP-backed.

A user group as stored in user_groups.

One user's membership in a group, with the user columns the member list shows.

A user's MFA settings row: type (app or email), secret, recovery codes, verification data and timestamps.

One user_preferences row plus the list of allowed keys and the timezone validity rules.

A zone as seen by DNSSEC: its name and whether it is secured.

A filed change request: the actions a requester wants applied to a zone, who filed it, and how a reviewer decided it.

The row shapes stored inside a change request's actions. They are a data contract: requests filed by earlier versions are decoded by this class, so the keys and their types stay as they are.

One zone with its ownership, as read by ZoneReadRepositoryInterface::getZone().

A zone-to-group ownership row from zones_groups.

The first-letter filter on the forward zone list: '1' for a leading digit, a-z or '_', 'idn' for zones whose name starts with a punycode label, or 'all'.

One row of a zone list: the forward and reverse pages, the internal API list and the console listing.

ZoneType class represents the different types of zones in a DNS system.