Classes

Builds the dyndns2 request value object and the update service that handles it.

Whether a user may add records to a zone directly, as RecordAddService::open() answers it. Each add-record entry point words the refusal codes itself.

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, the inline form on the zone editor and the record wizards: open() applies the same gates in the same order, and add() normalises name, content and TTL the same way and follows the same rules for the companion PTR or A record.

Reads and writes the comment attached to a record.

Keeps the comment on an A/AAAA record and its PTR counterpart in sync when either is created or edited.

One record edit as the edit-record form or an API PUT submits it. The caller has already found and authorised the stored row; the service normalises the submitted values and writes.

Outcome of editing one record: the write itself, the row as it is stored afterwards, and how the PTR sync went when one was asked for.

The single-record edit flow shared by the edit-record page and the API PUT: name and content are stored as punycode with the zone suffix, the write goes through the record manager, an SOA edit is bumped by the same rule, the PTR follows when asked, the edit is audited and the record comment is stored or carried along with a rename.

Creates a record through RecordManager, then logs it, stores its comment and syncs the PTR comment.