lotteryAdmin(); abort_if($admin === null, 401); $data = $request->validated(); abort_if( ! AdminAgentSettlementScope::siteAccessible($admin, (int) $data['admin_site_id']), 404, ); AdminAgentSettlementScope::assertCanManageSitePeriods($admin); $row = $openService->open($data); $id = (int) $row->id; AuditLogger::recordForAdmin( $admin, $request, moduleCode: 'settlement', actionCode: 'settlement_period.store', targetType: 'settlement_period', targetId: (string) $id, beforeJson: null, afterJson: (array) $row, ); $request->attributes->set(RecordAdminApiAudit::ATTRIBUTE_AUDIT_RECORDED, true); return ApiResponse::success((array) $row)->setStatusCode(201); } }