Poweradmin\Domain\Service
Namespaces
Classes
Service for managing API keys
Permission gate for the public API. A facade over PermissionService so the API and the web UI share one oracle; only the group and visible-zone lookups query here.
Layered reader for admin-managed settings.
Catalog zone membership.
Database credential mapping service
Service for IDN (Internationalized Domain Name) handling
DNS Record Validation Service
Service for parsing domain names into components
Helper functions for dynamic DNS updates
Turns a submitted list of group references into distinct group entities
Maps a PowerDNS Authoritative Server version string to feature capability flags used by the UI to show, hide, or default behaviour appropriately.
Service for managing user permissions
Gates perm_templ assignment on user create/update API paths.
Gates what a permission template may contain.
Service responsible for transforming DNS records for display purposes Implements the Single Responsibility Principle by focusing only on display transformations
Resolves the default TTL for new records.
Gates auth-critical fields on user self-edit API paths (#1327).
Central catalogue of $_SESSION keys.
Domain service for user management operations
Shapes raw user rows into the read format the API exposes
Pure rules for what a user may change on the zone edit screens.
Service for mirroring zone ownership into the PowerDNS account field
Zone counting service
Resolves the user-owner and group-owner assignment for a new zone, applying the active zone_ownership_mode and permission rules. The API hands in its JSON body; the web forms hand in the owner and groups they already parsed.
Saves the zone editor's record table: the edit gate, the stale-form check, the per-row diff and write, the record and zone comments, and the SOA serial bump that closes a save.
One submission of the zone editor's record table, as posted.
Builds the ownership index the zone lists and the search page use to decide per-row edit/delete controls and owner-column visibility.
Service for managing DNS zones. Failures come back as
message is the API wording, the code lets the web forms word it themselves.
The zone metadata rules the editor and the API share: what a kind accepts, who may change it, what the active backend can store, and how a change is persisted and logged. Callers parse their input and word the refusals.
Blocks creating a zone that overlaps an existing zone owned by another user.
Who owns which of a page of zones, resolved once so per-row controls do not query per zone. Ownership is direct (zones.owner) or through any group the user belongs to.
Resolves the dns.zone_ownership_mode setting into ownership-side flags.
Outcome of {ZoneCreateOwnershipResolver}: either a resolved owner/group assignment for the new zone, or an error with HTTP status. The error carries a code so the web forms can word it themselves; the message is the API text.
How a zone editor save ended, with what the page needs to report it and, for a refused stale form, the rows to put back in front of the operator.
Signs and unsigns zones the one way every entry point agrees on: refuse presigned zones and invalid zones, bump the SOA serial so secondaries notice, verify what PowerDNS reports afterwards, rectify, and audit.
Validates zone template records before they are stored.
Service for managing zone template synchronization tracking
Zone Validation Service
Interfaces
Interface for DNS data backend operations.
Interface for DNS Record Validation Service
DNSSEC operations for one zone, implemented over the PowerDNS API and as a no-op provider for installations without DNSSEC.