/* * quiz.h — Класс модели данных * * Представляет одну запись о тесте/викторине, полученную с сервера. * Поля напрямую соответствуют JSON-ключам из ответа REST API: * * { * "id": 1, * "title": "Математика 5 класс", * "description": "Тест по базовой математике", * "author": "Иванов И.И.", * "created_at": "2026-04-02T11:20:40.123456Z", * "time_limit": 40, * "is_published": false * } * * Этот класс — «правая сторона» адаптера: адаптер принимает * на вход QJsonObject (сырой формат Qt) и заполняет объект Quiz * (понятный формат нашего приложения). */ #pragma once #include // Qt-строка с поддержкой Unicode #include // дата и время с поддержкой ISO 8601 class Quiz { public: /* * Конструктор по умолчанию, сгенерированный компилятором. * Числовые поля инициализированы прямо в объявлении (= 0 / = false), * строки и даты инициализируются в пустое значение по умолчанию. */ Quiz() = default; // Первичный ключ записи в базе данных сервера int id = 0; // Название теста, например "Математика 5 класс" QString title; // Подробное описание теста QString description; // Автор теста, например "Иванов И.И." QString author; // Временная метка создания записи (заполняется сервером автоматически) QDateTime createdAt; // Ограничение по времени прохождения в минутах int timeLimit = 0; // Признак публикации: true — тест виден пользователям bool isPublished = false; };