lotteryAdmin(); abort_if($admin === null, 401); $result = $service->createRootAgent($admin, $request->validated()); $site = $result['site']; $node = $result['agent_node']; $payload = AgentLinePresenter::provisioned($site, $node); AuditLogger::recordForAdmin( $admin, $request, moduleCode: 'agent', actionCode: 'agent_line.provision', targetType: 'admin_site', targetId: (string) $site->id, afterJson: [ 'site' => AdminIntegrationSitePresenter::detail($site), 'agent_node_id' => (int) $node->id, ], ); $request->attributes->set(RecordAdminApiAudit::ATTRIBUTE_AUDIT_RECORDED, true); return ApiResponse::success($payload)->setStatusCode(201); } }