Poweradmin\Application\Service
Classes
Tracks the most recent PowerDNS API error so the UI can surface it.
Writes the "client_ip:.. user:.. operation:.." audit lines. Every line starts with the same actor context; one method per event keeps the field names in one place.
Builds the repositories and domain services controllers ask for, and memoizes the per-request shared instances (backend provider, permission cache). Owns the wiring so BaseController only exposes thin accessors.
The totals on the admin dashboard. Zone and record counts are null when they cannot be read, so the page still renders.
Factory for creating DNS backend provider instances.
Orchestration service for DNS data reads.
Builds a DynamicDnsRequest from the HTTP request the dyndns2 endpoint received.
Service for managing group memberships
Service for managing user groups
Resolves the interface language for the current request.
Detects and caches the connected PowerDNS server version so admins can see it in the UI and so error reports include it without a manual lookup.
The single guarded entry point for permission template writes.
Words a successful RecordAddResult for the add-record page and the zone editor.
Outcome of adding one record from a form, with the companion PTR or A record the operator asked for alongside it.
The add-record flow shared by the add-record page and the inline form on the zone editor: name and content are normalised the same way, the TTL default is resolved the same way, and the companion PTR or A record follows the same rules.
Service for managing DNS record comments.
Puts a zone-editor submission that was refused as stale back into the freshly read record listing, so the warning does not also cost the operator their edits.
Centralized factory for creating repository instances.
Validates controller request data against Symfony constraints.
In-memory sorting, filtering, and pagination for datasets.
Service for building absolute URLs
Class UserAuthenticationService
Words a refused UserManagementService write for the user forms. The service's own message is the API wording; password policy, field length and external-auth password messages are the same on both sides and pass through.
User provisioning service for external authentication providers Supports both OIDC and SAML user provisioning and linking
Service for sending zone access change notifications
Words a refused ZoneManagementService::createZone() for the add-zone forms.
Service for managing zone-group ownership
Words a refused ZoneMetadataService write for the metadata editor.
Reads the owner and group fields of the add-zone forms and applies the shared ownership rules. The forms drop what the ownership mode disallows instead of rejecting it, and word the refusals in the user's language.
Words a ZoneEditService save for the zone editor's flash message.
Words a ZoneSigningService outcome for the web pages that sign or unsign an existing zone.
Synchronizes zone metadata between the PowerDNS API and the local zones table.