ZoneChangeRequestService
class ZoneChangeRequestService (View source)
Files zone change requests and applies the reviewer's decision.
Filing validates the rows the way a direct save would and stores the diff without writing to the zone. Approval replays the stored actions through RecordManager as the reviewing user, so RecordManager's own permission checks still apply. Who may file or review is decided by the caller.
Constants
| MAX_PAYLOAD_BYTES |
Same ceiling as the change log's snapshot column |
Methods
No description
Files the rows of an editor submission that differ from the zone, plus the zone comment when it changed. Nothing is written to the zone.
No description
No description
No description
Applies a pending request as the reviewing user. A refused or failed write leaves the request in the failed state with the reason in its error field.
No description
Withdraws the caller's own pending request.
Indexes of the actions the zone has moved away from: an edited or deleted record whose stored row no longer matches the filed "before" state (or is gone), and an addition the zone already holds.
Whether the zone's SOA serial moved since the request's form was rendered.
Details
__construct(ZoneChangeRequestRepositoryInterface $requests, ZoneEditService $zoneEdit, DnsRecordValidationServiceInterface $validator, RecordLookupInterface $records, DomainRepositoryInterface $domains, ZoneRepositoryInterface $zones, RecordManagerInterface $recordManager, SOARecordManagerInterface $soaRecords, ZoneManagementService $zoneManagement, BackendCapabilitiesInterface $backend, TransactionInterface $transaction, ConfigurationInterface $config, bool $recordCommentsEnabled, bool $zoneCommentsEnabled, RecordCommentRepositoryInterface|null $recordComments = null, Closure|null $changeset = null, PermissionService|null $permissions = null, ChangeRequestNotifierInterface|null $notifier = null, Closure|null $zoneSnapshot = null, RecordLinkedCommentRepositoryInterface|null $linkedComments = null)
No description
ZoneChangeRequestResult
fileRecordEdits(ZoneEditSubmission $submission, string|null $comment = null)
Files the rows of an editor submission that differ from the zone, plus the zone comment when it changed. Nothing is written to the zone.
ZoneChangeRequestResult
fileRecordAdd(int $zoneId, string $zoneName, array $record, int $userId, string $username, string|null $comment = null)
No description
ZoneChangeRequestResult
fileRecordDelete(int $zoneId, int|string $recordId, int $userId, string $username, string|null $comment = null)
No description
ZoneChangeRequestResult
fileZoneDelete(int $zoneId, int $userId, string $username, string|null $comment = null)
No description
ZoneChangeRequestResult
approve(int $requestId, int $reviewerId, string $reviewerName, string|null $comment = null)
Applies a pending request as the reviewing user. A refused or failed write leaves the request in the failed state with the reason in its error field.
ZoneChangeRequestResult
reject(int $requestId, int $reviewerId, string $reviewerName, string|null $comment = null)
No description
ZoneChangeRequestResult
cancel(int $requestId, int $userId)
Withdraws the caller's own pending request.
array
staleActions(ZoneChangeRequest $request)
Indexes of the actions the zone has moved away from: an edited or deleted record whose stored row no longer matches the filed "before" state (or is gone), and an addition the zone already holds.
bool
baseSerialMismatch(ZoneChangeRequest $request)
Whether the zone's SOA serial moved since the request's form was rendered.