Вижу проблему! Скрипт пытается вставить книги с UUIDs авторов, которые не существуют в таблице profiles. Внешний ключ books_author_id_fkey требует, чтобы автор существовал. Нужно сначала создать авторов в таблице profiles, а затем добавить книги.
Исправил скрипт, добавив создание авторов в таблицу profiles перед вставкой книг. Теперь скрипт сначала создает трех авторов с фиксированными UUIDs, а затем добавляет книги, которые ссылаются на этих авторов. Это решает проблему с нарушением внешнего ключа books_author_id_fkey.
Я исправлю все эти проблемы. Давайте начнем с проверки текущих файлов и исправлением функциональности.
Теперь проверю базу данных и создам необходимые SQL скрипты для поддержки статуса публикации:
Отлично! Теперь я исправлю все проблемы. Начну с проблемы HTTPS, затем исправлю тему в читалке, добавлю функцию модерации книг и разрешу пользователям публиковать книги.
Теперь мне нужно обновить форму создания книги, чтобы позволить пользователям публиковать книги с правильным статусом модерации, и создать страницы для принятия/отклонения книг в админ-панели.
Я обновил систему публикации книг: форма создания теперь включает все необходимые поля (страна, тип книги, возрастной рейтинг, год выпуска) на казахском языке, новые книги автоматически получают статус "pending" для модерации, и я создал страницы мақұлдау (одобрение) и қабылдамау (отклонение) для админов с возможностью оставлять комментарии при отклонении книги.
Исправил next.config.mjs, добавив правильные заголовки безопасности для HTTPS и защиты от распространённых уязвимостей. Теперь браузер будет автоматически перенаправлять HTTP на HTTPS и защищать сайт от XSS и clickjacking атак.