انتقل إلى المحتوى

API — التقويمات والورديات

الغرض

الوصول للقراءة إلى تقويم العمل المُحلَّل (أيام العمل، الساعات، العطلات، المُعدِّلات) وإلى بيانات الورديات المرجعية (أنماط الورديات، القوالب، الأنواع). هذه أسطح للقراءة فقط إلى حد كبير؛ أما CRUD لقوالب الورديات القابل للتحرير فيعيش على عمليات البحث والبيانات المرجعية.

المصادقة والأدوار

  • التقويم — القاعدة /api/calendar · على مستوى الصنف [Authorize("calendar.view")].
  • الورديات — القاعدة /api · تقيّد القراءات على shift_template.view / shift_pattern.view.

نقاط النهاية

Calendar/api/calendar · calendar.view

Method Path Purpose
GET /api/calendar/configuration تهيئة التقويم المُحلَّلة
GET /api/calendar/working-days أيام العمل
GET /api/calendar/working-hours ساعات العمل (بعد المُعدِّلات)
GET /api/calendar/holidays العطلات في نطاق

Shifts/api

Method Path Purpose Gate
GET /api/shift-templates قوالب الورديات (قراءة) shift_template.view
GET /api/shift-types أنواع الورديات shift_template.view
GET /api/shift-patterns أنماط الورديات shift_pattern.view
GET /api/shift-patterns/{id}/preview معاينة أيام نمط shift_pattern.view

الأشكال والأخطاء

يؤلّف مُحلِّل التقويم عطلات نهاية الأسبوع والعطلات ومُعدِّلات رمضان/ساعات العمل. تُغيّر المُعدِّلات الساعات في اليوم فقط — لا التواريخ أبدًا (الورقة 05). ProblemDetails القياسي.

المزالق

  • أنواع الورديات والقوالب والأنماط للقراءة فقط هنا — أما CRUD قوالب الورديات القابل للكتابة فتحت /api/admin/shift-templates (انظر عمليات البحث والبيانات المرجعية).
  • تُعدّل المُعدِّلات الساعات، لا تواريخ التقويم — مُعدِّل رمضان يقصّر ساعات العمل في يوم؛ ولا يحرّك اليوم.
  • مسارا GET /api/shift-templates (هنا وقائمة admin) يعكسان سطحَي القراءة مقابل admin-CRUD للبيانات نفسها.

ذات صلة