feat: add staff role functionality with dashboard access and service management

- Implemented SidebarStaff component tests to ensure staff users see only their dashboard and services.
- Created StaffMyServicesPage to display assigned services for staff users.
- Added migration to link clinic staff rows to user accounts for ROLE_STAFF access.
- Defined StaffPermissions class for static permissions related to staff role.
- Introduced StaffRouteGuardSubscriber to restrict API access for staff users.
- Developed StaffAccountService for managing staff user accounts and linking them to clinic staff.
- Added comprehensive tests for StaffAccountService to validate user creation, mobile number handling, and account attachment.
- Implemented tests for staff dashboard access to ensure proper permissions and access control.
- Created tests for staff login context to verify correct environment visibility based on user roles.
This commit is contained in:
hamed
2026-07-30 10:18:41 +03:30
parent 6ec011e3ad
commit 57aeb40934
28 changed files with 1960 additions and 29 deletions
+12
View File
@@ -607,9 +607,21 @@ export interface ClinicStaff {
address: string | null;
national_code: string | null;
active: boolean;
/** حساب ورود به پنل با نقش ROLE_STAFF */
has_account: boolean;
user_uuid: string | null;
created_at: number;
}
/** یک قلم از سرویس‌های تخصیص‌یافته به پرسنل — خروجی GET /api/v1/dashboard/staff */
export interface StaffAssignedService {
uuid: string;
name: string;
section_name: string;
price_rials: number;
duration_minutes: number | null;
}
export interface SubscriptionPlan {
uuid: string;
name: string;