API — عمليات البحث والبيانات المرجعية
الغرض
أسطح الـ admin-CRUD لعمليات بحث البيانات المرجعية، إضافةً إلى كتالوج البحث للقراءة فقط الذي تستخدمه الواجهة لتعبئة القوائم المنسدلة. تتبع مجموعات الـ CRUD الثماني جميعها قالب CRUD للبحث؛ وLookupsController هو للقراءة فقط.
المصادقة والأدوار
كل مجموعة CRUD تقيّد القراءات على <entity>.view والكتابات على <entity>.config. وبحسب مصفوفة RBAC، فإن .config نمطيًا SYS_ADMIN + HR_ADMIN (± PLANNER للبعض)؛ و.view تمتد إلى الأدوار التشغيلية.
نقاط النهاية — admin CRUD (كلها تحت /api/admin/*)
كل مجموعة تعرض الأفعال الخمسة نفسها: GET (سرد)، POST (إنشاء)، GET /{id}، PUT /{id}، DELETE /{id}.
| Group | Base route | Gate (view / config) |
|---|---|---|
| Grades | /api/admin/grades |
grade.view / grade.config |
| Skills (admin) | /api/admin/skills |
skill.view / skill.config |
| Terminals | /api/admin/terminals |
terminal.view / terminal.config |
| Node types | /api/admin/node-types |
node_type.view / node_type.config |
| Holidays | /api/admin/holidays |
holiday.view / holiday.config |
| Demand reasons | /api/admin/demand-reasons |
demand_reason.view / demand_reason.config |
| Shift templates | /api/admin/shift-templates |
shift_template.view / shift_template.config |
| Attendance statuses | /api/admin/attendance-statuses |
attendance_status.view / attendance_status.config |
نقاط النهاية — عمليات البحث للقراءة فقط
Lookups — القاعدة /api/lookups · [Authorize] (أي مستخدم مُصادَق عليه) · كلها GET
| Path | Returns |
|---|---|
/api/lookups/departments · /nodes · /terminals |
خيارات الهيكل التنظيمي |
/api/lookups/employee-statuses · /holiday-types |
خيارات الحالة / النوع |
/api/lookups/skill-categories · /skill-levels |
خيارات تصنيف المهارات |
/api/lookups/demand-reasons |
خيارات سبب الطلب |
الأشكال والأخطاء
تحمل أجسام CRUD code + Name_1_English/Name_2_Arabic ثنائي اللغة (+ وصف D9 اختياري — انظر حقول الوصف). الحذف محمي: 409 <ENTITY>_REFERENCED إن كان مُشارًا إليه بـ FK، و409 <ENTITY>_PROTECTED إن كان صفًا نظاميًا (انظر الاستثناءات). code غير قابل للتغيير عند التحديث.
المزالق
LookupsControllerللقراءة فقط — يخدم بيانات القوائم المنسدلة؛ ولا يُجري تغييرًا. الأسطح القابلة للكتابة هي مجموعات/api/admin/*أعلاه.Skills(admin) يتعايش مع مجموعة الإنتاجSkills(/api/skills، على صفحة الموظفين/المهارات/الشهادات) — نمط التعايش. admin CRUD مقابل قراءة وقت التشغيل.- الصفوف النظامية لا يمكن تحريرها أو حذفها — لا يقبل التغيير إلا الذيل الطويل غير النظامي.
- اشتراط الاسم العربي حسب الكيان (DemandReason يتركه اختياريًا؛ والبقية تشترطه).
ذات صلة
- قالب CRUD للبحث · الاستثناءات · حقول الوصف
- مصفوفة RBAC · Swagger:
/swagger - ورقة الحقائق 21 (البيانات المرجعية الإدارية).