Proje: Okul Platform · Hub: Okul Platform — Domain

Onaylama Akışı

PATCH /admin/school-comments/{id}/approve

1. repository.update(comment, status=true, approvedType, approvedBy, approvedAt=now)
2. ActivityLogService::dispatch(APPROVE_COMMENT, SCHOOL_COMMENTS)
3. SchoolCommentApprovedEvent::dispatch(comment)

PATCH /admin/school-comments/{id}/reject

1. repository.update(comment, status=false, rejectStage, rejectNote, approvedType=null, approvedBy=null)
2. ActivityLogService::dispatch(DECLINE_COMMENT, SCHOOL_COMMENTS)
3. SchoolCommentRejectedEvent::dispatch(comment)

Fark: approve vs reject

ApproveReject
statustruefalse
approved_typeApprovedTypenull
approved_byauth user IDnull
approved_atnow()null
reject_stagenullDTO’dan
reject_notenullDTO’dan

Events

  • SchoolCommentApprovedEvent → Dinleyen var (Listener: SchoolDetailListener, SchoolCommentUpdateListener)
  • SchoolCommentRejectedEvent → Benzer listener’lar

Activity Log

Her approve/reject işlemi otomatik loglanır:

  • APPROVE_COMMENT / DECLINE_COMMENT action
  • SCHOOL_COMMENTS content type