Организация совместного доступа

Проблема – редактирование старых данных.

  • Редактирование одним пользователем.
  • Редактирование документа по элементам.

Уровни организации совместного доступа

  • База данных.
  • Бизнес-логика.
  • API сервера.

Решения на уровне API

  • Push-уведомления (websocket).
  • Refetch (React Query).
  • Контроль версий (etag).

Метаданные

@Serializable
class Item<E>(
    val elem: E,
    val id: ItemId,
    val version: Long
)

Команда


@Serializable
class AddStudentToLesson(
    val lessonId: LessonId,
    val studentId: StudentId,
    val version: Long
){
    companion object {
        const val path="addStudent"
    }
}