Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / API referansı

API

Calendars API (calendars)

/api/v1/calendars altındaki calendars modülünün HTTP uç noktaları: yetkiler, şemalar, durum kodları ve hata kodlarıyla 23 yol.

calendars modülü çalışma takvimlerini, vardiyaları, takvim şablonlarını, takvim istisnalarını, tatil içe aktarmayı, takvim önizlemesini, grup takvimini ve sahip takvimlerini sunar. 23 uç noktanın tamamı /api/v1/calendars altındadır. İş anlamı için Calendars modülü sayfasına bakın.

Grup olguları

Öğe Değer Kaynak
Temel yol /api/v1/calendars src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/calendars/module.py:39
Yönlendiriciler 1 dosyada 1 yönlendirici nesnesi; Uç nokta özeti bölümünde listelenir src/cluster_erp/modules/calendars/module.py:33
Uç noktalar 23; register_routes ile bağlanan yönlendiricilerin yol dekoratörleri ve add_api_route çağrılarından sayıldı src/cluster_erp/modules/calendars/routes.py
Kimlik doğrulama Bearer başlığı veya oturum çerezi, get_current_user ile çözülür; bkz. Kimlik doğrulama ve başlıklar src/cluster_erp/modules/auth/guards.py:85-167
Yetki koruması 23 yolun 23 tanesi require_permission bildirir src/cluster_erp/modules/auth/guards.py:205-240
Uygulama yetkilendirme kapısı bağlanan her yönlendiricide require_app("calendars") src/cluster_erp/modules/calendars/module.py:41
Hata biçimi JSON gövdesi {"error": {...}}; bkz. Hatalar src/cluster_erp/server/error_handler.py:33-46

Uç nokta özeti

Alt modül klasörü başına bir satır. Yönlendirici öneki temel yola eklenir.

Alt modül Yönlendiriciler Uç noktalar Yönlendirici kaynağı
routes router 23 src/cluster_erp/modules/calendars/routes.py:44

Çalışma takvimleri uç noktaları

Kendi öneki olmayan tek yönlendirici: vardiyalar, şablonlar, takvimler, takvim başına istisnalar, tatil ülkeleri ve içe aktarma, önizleme, grup takvimi ve bir sahibin takvimini sağlayan for-owner.

Yöntem Yol İşleyici Yetki İstek Sorgu Yanıt Durum Kaynak
GET /api/v1/calendars/group get_group_calendar work_calendar.read yok yok CalendarRead 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:79
GET /api/v1/calendars/holiday-countries list_holiday_countries work_calendar.read yok yok dict 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:95
POST /api/v1/calendars/calendars/{calendar_id}/import-holidays import_holidays work_calendar.create ImportHolidaysRequest yok dict 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:103
GET /api/v1/calendars/shifts list_shifts work_calendar.read yok yok list[ShiftRead] 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:126
POST /api/v1/calendars/shifts create_shift work_calendar.create ShiftCreate yok ShiftRead 201 src/cluster_erp/modules/calendars/routes.py:134
PUT /api/v1/calendars/shifts/{shift_id} update_shift work_calendar.update ShiftUpdate yok ShiftRead 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:143
DELETE /api/v1/calendars/shifts/{shift_id} delete_shift work_calendar.delete yok yok yok 204 src/cluster_erp/modules/calendars/routes.py:156
GET /api/v1/calendars/templates list_templates work_calendar.read yok yok list[TemplateRead] 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:171
POST /api/v1/calendars/templates create_template work_calendar.create TemplateCreate yok TemplateRead 201 src/cluster_erp/modules/calendars/routes.py:180
GET /api/v1/calendars/templates/{template_id} get_template work_calendar.read yok yok TemplateRead 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:189
PUT /api/v1/calendars/templates/{template_id} update_template work_calendar.update TemplateUpdate yok TemplateRead 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:201
DELETE /api/v1/calendars/templates/{template_id} delete_template work_calendar.delete yok yok yok 204 src/cluster_erp/modules/calendars/routes.py:218
GET /api/v1/calendars/calendars/{calendar_id}/exceptions list_exceptions work_calendar.read yok yok list[ExceptionRead] 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:236
POST /api/v1/calendars/calendars/{calendar_id}/exceptions create_exception work_calendar.create ExceptionCreate yok ExceptionRead 201 src/cluster_erp/modules/calendars/routes.py:249
PUT /api/v1/calendars/exceptions/{exception_id} update_exception work_calendar.update ExceptionUpdate yok ExceptionRead 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:268
DELETE /api/v1/calendars/exceptions/{exception_id} delete_exception work_calendar.delete yok yok yok 204 src/cluster_erp/modules/calendars/routes.py:283
GET /api/v1/calendars/calendars/{calendar_id}/preview preview_calendar work_calendar.read yok date_from, date_to PreviewResponse 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:296
GET /api/v1/calendars/calendars list_calendars work_calendar.read yok yok list[CalendarRead] 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:336
POST /api/v1/calendars/calendars create_calendar work_calendar.create CalendarCreate yok CalendarRead 201 src/cluster_erp/modules/calendars/routes.py:345
POST /api/v1/calendars/calendars/for-owner ensure_owner_calendar work_calendar.create EnsureOwnerCalendarRequest yok CalendarRead 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:354
GET /api/v1/calendars/calendars/{calendar_id} get_calendar work_calendar.read yok yok CalendarRead 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:373
PUT /api/v1/calendars/calendars/{calendar_id} update_calendar work_calendar.update CalendarUpdate yok CalendarRead 200 (varsayılan) src/cluster_erp/modules/calendars/routes.py:385
DELETE /api/v1/calendars/calendars/{calendar_id} delete_calendar work_calendar.delete yok yok yok 204 src/cluster_erp/modules/calendars/routes.py:398

Hata kodları

Tablo, src/cluster_erp/modules/calendars/ altındaki kodun attığı hata kodlarını listeler. Kodlar, AppError(...) çağrıları, src/cluster_erp/core/errors.py içindeki fabrikalar (not_found, conflict, protected, permission_denied, privilege_escalation, check_version) ve HTTPException(...) için yapılan bir sözdizimi ağacı taramasıyla bulundu. 400 durumu AppError varsayılanıdır (src/cluster_erp/core/errors.py:23). Koruma hataları (401, 403), yetkilendirme kodları ve doğrulama hataları (422) her yol için geçerlidir ve Hatalar sayfasında listelenir.

Kod HTTP durumu Atıldığı yer İlk konum
CALENDAR_BASE_CYCLE 400 services src/cluster_erp/modules/calendars/services.py:373
CALENDAR_INVALID_EXCEPTION 400 services src/cluster_erp/modules/calendars/services.py:447
CONCURRENCY_VERSION_CONFLICT 409 services src/cluster_erp/modules/calendars/services.py:133
RESOURCE_NOT_FOUND 404 routes, services src/cluster_erp/modules/calendars/routes.py:152

Yayımlanan olaylar

Tablo, src/cluster_erp/modules/calendars/ altındaki kodun EventBus.emit çağrısına doğrudan verdiği sözleşme sınıflarını listeler; sözdizimi ağacı taramasıyla bulundu. Önce bir değişkene kurulan olaylar sayılmaz. Sözleşmeler Sözleşmeler başvurusu sayfasında anlatılır.

Sözleşme Konum sayısı İlk konum
WorkingCalendarChanged 1 src/cluster_erp/modules/calendars/routes.py:58

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13