<aside>

</aside>

Table deadlines {
  id                uuid                       [pk, note: 'ID chung của mọi sự kiện deadline']
  resource_type     deadline_resource_type     [not null, note: 'Loại đối tượng: quiz/practice/enrollment_expiry/...']
  resource_id       uuid                       [not null, note: 'PK của đối tượng liên quan (quiz_lessons.lesson_id, practice_lessons.lesson_id, enrollments.id, ...)']
  due_at            timestamp                  [not null, note: 'Thời điểm deadline xảy ra']
  created_at        timestamp  [default: `now()`, note: 'Thời điểm tạo bản ghi']
  updated_at        timestamp  [default: `now()`, note: 'Thời điểm cập nhật lần cuối']
}

Create Deadline Command

Update Deadline Command

Remove Deadline Command

Batch Create Deadlines Command

Get Deadline Detail Query

List Deadlines By Resource Query

List Upcoming Deadlines Query

List Expired Deadlines Query