Proje: OkulUp API · Hub: OkulUp API — Domain

OkulUp API — Doküman Talep Modülü

feature:document_requests middleware ile korunur.

Doküman Türleri

TYPE_TRANSCRIPT           = 'transcript'           // Transkript
TYPE_HEALTH_REPORT        = 'health_report'        // Sağlık raporu
TYPE_ATTENDANCE_CERTIFICATE = 'attendance_certificate' // Devam sertifikası
TYPE_PERMISSION_FORM      = 'permission_form'      // İzin formu
TYPE_PROGRESS_REPORT      = 'progress_report'      // İlerleme raporu
TYPE_LESSON_PLAN          = 'lesson_plan'          // Ders planı
TYPE_APPROVAL_DOCUMENT    = 'approval_document'    // Onay belgesi
TYPE_OTHER                = 'other'                // Diğer

Durum Makinesi

[pending] --approve--> [approved] --upload--> [uploaded] --complete--> [completed]
         --reject-->   [rejected]
(herhangi yerden) --cancel--> [cancelled]

API Endpoint’leri

MethodPathAçıklama
GET/document-requestsListe (sent/received/status filtre)
POST/document-requestsTalep oluştur
GET/document-requests/{id}Detay
PUT/document-requests/{id}Güncelle
POST/document-requests/{id}/approveOnayla
POST/document-requests/{id}/rejectReddet
POST/document-requests/{id}/uploadDosya yükle
POST/document-requests/{id}/completeTamamla
POST/document-requests/{id}/cancelİptal et
DELETE/document-requests/{id}/attachments/{att}Ek sil

Model Scopeları

scopeSent($query, int $userId)     // requester_id = userId
scopeReceived($query, int $userId) // receiver_id = userId
scopeByStatus($query, string)
scopeByType($query, string)

İlişkiler

  • requester → talep oluşturan user
  • receiver → talebi karşılayacak user (öğretmen/yönetici)
  • attachments → DocumentRequestAttachment