feat: add RichTextEditor component for rich text editing in articles

feat: create SanitizeBlogBodiesCommand to clean existing blog bodies according to current HTML sanitization policies

test: add AppointmentTreatmentSessionLinkTest to ensure appointment booking functionality works correctly with treatment session links
This commit is contained in:
hamed
2026-08-08 11:40:17 +03:30
parent 934405c42d
commit 47323daa27
36 changed files with 3461 additions and 12686 deletions
+8 -3
View File
@@ -225,15 +225,20 @@ class BillingController extends BaseController
/**
* فیلترهای مشترک لیست پرداخت‌ها و خلاصه‌ی آن؛ یک منبع تا دو نما واگرا نشوند.
*
* @return array{national_code:?string,status:?string,from:?string,to:?string}
* @return array{national_code:?string,status:?string,from:?int,to:?int}
*/
private function paymentFilters(Request $request): array
{
// `from`/`to` مهرِ زمانی‌اند و قرارداد سرویس `int` می‌خواهد. تبدیل همین‌جا
// انجام می‌شود، در مرزِ ورودی، نه در repository — وگرنه هر مصرف‌کنندهٔ تازه
// باید همان cast را تکرار کند.
$timestamp = static fn (?string $raw): ?int => ($raw ?: null) === null ? null : (int) $raw;
return [
'national_code' => $request->query->get('national_code') ?: null,
'status' => $request->query->get('status') ?: null,
'from' => $request->query->get('from') ?: null,
'to' => $request->query->get('to') ?: null,
'from' => $timestamp($request->query->get('from')),
'to' => $timestamp($request->query->get('to')),
];
}