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

API — الاعتمادات والنشر

الغرض

نشر جدول مقفل إلى لقطة منشورة غير قابلة للتغيير، وسطح القراءة للجداول المنشورة، وطابور اعتماد الجداول.

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

Area Base Gate
Roster publish /api/admin/roster roster.publish (SYS_ADMIN + PLANNER + MANAGER)
Roster approvals /api/admin/roster-approvals roster.approve (SYS_ADMIN + MANAGER)
Published rosters /api/admin/published-rosters roster.view

نقاط النهاية

Publish/api/admin/roster

Method Path Purpose
POST /api/admin/roster/publish نشر جدول مقفل
POST /api/admin/roster/republish إعادة النشر

Approvals/api/admin/roster-approvals

Method Path Purpose
GET /api/admin/roster-approvals/pending · /pending/count طابور الاعتماد + عدّاد الجرس
POST /api/admin/roster-approvals/{id}/approve · /reject اعتماد / رفض

Published rosters/api/admin/published-rosters

Method Path Purpose
GET /api/admin/published-rosters · /{id} سرد / قراءة اللقطات المنشورة

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

يُجسّد النشر لقطة منشورة غير قابلة للتغيير (published_rosters + published_roster_lines)؛ ويعرض الطابور عددًا معلّقًا لجرس الإشعارات (الورقة 10). ProblemDetails القياسي.

المزالق

  • نقطة Approved ميتة — يذهب النشر مباشرة إلى Published. يعرّف تعداد حالة الجدول المنشور قيمة Approved = 3، لكن لا مسار شفرة يمر عبرها: ينتقل النشر مباشرةً إلى Published. عامل Approved كحالة معرَّفة لكن غير مستخدمة؛ لا تكتب منطقًا يتوقع أن يبقى جدول فيها.
  • نشر/اعتماد بخطوة واحدة فقط. سلسلة اعتماد متعددة الخطوات، وفصل الناشر≠المُعتمِد، كلاهما مخطط (PLANNED) (الورقة 10) — التدفق الحالي بخطوة واحدة.
  • الجرس استطلاع من الواجهة الأمامية لنقاط نهاية العدّ المعلّق (كل 30 ثانية)؛ ولا يوجد نظام دفع/إشعار في الخلفية (الورقة 18).
  • اللقطات المنشورة غير قابلة للتغيير — تمر التصحيحات عبر إعادة النشر، لا عبر تحريرات على اللقطة.

ذات صلة