Gogs пре 3 недеља
родитељ
комит
ce80cfc099
2 измењених фајлова са 553 додато и 78 уклоњено
  1. 3 2
      README.md
  2. 550 76
      scripts/seed-events.coffee

+ 3 - 2
README.md

@@ -1,6 +1,7 @@
 # Текущая ззадача
-доработай seed-events.coffee, для удаления старых версий документов, и создай новые тестовые документы для сайта.
-минимум 6 постов и мероприятий, также 6 сладеров 
+доработай domain, в документах с учетом что один и тотже жокумент может быть в разных доменах
+приведи нную # Структура хранимых данных с описанием ## всех хранимых объектов 
+и их примеры.
 
 # файл с правилами
 https://gogs.osvoj.ru/s5l.ru/borbad.s5l.ru/raw/master/README.md

+ 550 - 76
scripts/seed-events.coffee

@@ -1,5 +1,6 @@
 # Подключение PouchDB
 PouchDB = require 'pouchdb'
+# Важно сохранять для seed-events.coffee
 debug   = require('../../../utils/coffee/debug.coffee').default
 
 
@@ -35,6 +36,66 @@ class DatabaseSeeder
                 debug.log "Ошибка при создании базы: "+error
         return exists
 
+    # Удаление старых версий документов
+    cleanupOldDocuments: ->
+        try
+            debug.log "Начало очистки старых документов"
+            
+            # Получаем все документы
+            allDocs = await @db.allDocs(include_docs: true)
+            
+            documentsToDelete = []
+            documentsToKeep = new Set()
+            
+            # Группируем документы по типам и идентификаторам
+            documentsByType = {}
+            
+            for row in allDocs.rows
+                doc = row.doc
+                if doc._id.startsWith('_design/')
+                    continue  # Пропускаем design документы
+                
+                docType = doc.type or 'unknown'
+                if not documentsByType[docType]
+                    documentsByType[docType] = []
+                
+                documentsByType[docType].push(doc)
+            
+            # Для каждого типа документов определяем какие удалять
+            for docType, docs of documentsByType
+                if docs.length <= 6
+                    # Если документов меньше или равно 6, сохраняем все
+                    for doc in docs
+                        documentsToKeep.add(doc._id)
+                    continue
+                
+                # Сортируем по дате создания (новые первыми)
+                sortedDocs = docs.sort (a, b) ->
+                    new Date(b.created_at) - new Date(a.created_at)
+                
+                # Оставляем только 6 самых новых документов каждого типа
+                for doc, index in sortedDocs
+                    if index < 6
+                        documentsToKeep.add(doc._id)
+                    else
+                        documentsToDelete.push({
+                            _id: doc._id
+                            _rev: doc._rev
+                            _deleted: true
+                        })
+            
+            # Удаляем старые документы
+            if documentsToDelete.length > 0
+                result = await @db.bulkDocs(documentsToDelete)
+                debug.log "Удалено старых документов: "+documentsToDelete.length
+            else
+                debug.log "Старые документы для удаления не найдены"
+            
+            debug.log "Очистка старых документов завершена"
+            
+        catch error
+            debug.log "Ошибка при очистке старых документов: "+error
+
     # Проверка и создание design документов
     setupDesignDocuments: ->
         try
@@ -67,131 +128,543 @@ class DatabaseSeeder
         catch error
             debug.log "Ошибка при настройке design документов: "+error
 
-    # Создание тестовых данных
+    # Создание тестовых данных для сайта
     createSampleData: ->
+        currentDate = new Date().toISOString()
+        futureDate = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString()
+        pastDate = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString()
+        
         sampleData = [
-            # Блог посты
+            # Доменные настройки
             {
-                _id: "blog_post_" + Math.floor(Math.random() * 9000) + 1000
-                type: "blog_post"
-                title: "Добро пожаловать в Кохи Борбад"
-                content: "# Добро пожаловать!\n\nМы рады приветствовать вас в нашем новом концертном зале."
-                excerpt: "Приветственное сообщение нового концертного зала"
-                image: "/assets/borbad.s5l.ru/welcome.jpg"
-                tags: ["новости", "приветствие"]
-                author: "Администрация"
-                status: "published"
-                created_at: new Date().toISOString()
-                updated_at: new Date().toISOString()
-                views: 0
+                _id: "domain_settings_borbad_s5l_ru"
+                type: "domain_settings"
+                domain: "borbad.s5l.ru"
+                name: "Кохи Борбад - Концертный зал Душанбе"
+                description: "Официальный сайт концертного зала Борбад"
+                active: true
+                priority: 1
+                theme: "borbad"
+                languages: ["ru", "en", "tj"]
+                default_language: "ru"
+                timezone: "Asia/Dushanbe"
+                currency: "TJS"
+                settings:
+                    seo:
+                        title_template: "{page} - Кохи Борбад"
+                        description: "Концертный зал Борбад - культурный центр Душанбе"
+                        keywords: ["концерты", "мероприятия", "Душанбе", "культура"]
+                    social:
+                        facebook: "https://facebook.com/borbad"
+                        instagram: "https://instagram.com/borbad"
+                        twitter: "https://twitter.com/borbad"
+                    contact:
+                        address: "г. Душанбе, пр. Рудаки 22"
+                        phone: "+992 37 123-45-67"
+                        email: "info@borbad.s5l.ru"
+                created_at: currentDate
+                updated_at: currentDate
             }
-            
-            # Слайды
+
+            # Слайдеры (6 слайдов)
             {
-                _id: "slide_"+Math.floor(Math.random() * 9000) + 1000
+                _id: "slide_1"
                 type: "slide"
-                title: "Концертный зал Борбад"
-                content: "## Современное пространство для искусства\n\nЛучшие мероприятия города"
-                image: "/assets/borbad.s5l.ru/slide1.jpg"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Добро пожаловать в Кохи Борбад"
+                content: "## Современный концертный зал в сердце Душанбе\n\nМесто, где встречаются искусство и культура"
+                image: "/assets/borbad.s5l.ru/sliders/main-hall.jpg"
                 order: 1
                 active: true
                 button_text: "Узнать больше"
                 button_link: "/about"
-                created_at: new Date().toISOString()
-                updated_at: new Date().toISOString()
+                text_color: "#ffffff"
+                overlay: true
+                created_at: currentDate
+                updated_at: currentDate
+            }
+            {
+                _id: "slide_2"
+                type: "slide"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Симфонические вечера"
+                content: "## Погрузитесь в мир классической музыки\n\nЕженедельные концерты симфонического оркестра"
+                image: "/assets/borbad.s5l.ru/sliders/orchestra.jpg"
+                order: 2
+                active: true
+                button_text: "Расписание"
+                button_link: "/events"
+                text_color: "#ffffff"
+                overlay: true
+                created_at: currentDate
+                updated_at: currentDate
+            }
+            {
+                _id: "slide_3"
+                type: "slide"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Танцевальные представления"
+                content: "## Искусство танца во всем его разнообразии\n\nОт народных до современных постановок"
+                image: "/assets/borbad.s5l.ru/sliders/dance-performance.jpg"
+                order: 3
+                active: true
+                button_text: "Билеты"
+                button_link: "/events"
+                text_color: "#ffffff"
+                overlay: true
+                created_at: currentDate
+                updated_at: currentDate
+            }
+            {
+                _id: "slide_4"
+                type: "slide"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Выставки и вернисажи"
+                content: "## Пространство для современного искусства\n\nРегулярные выставки местных и зарубежных художников"
+                image: "/assets/borbad.s5l.ru/sliders/art-exhibition.jpg"
+                order: 4
+                active: true
+                button_text: "Галерея"
+                button_link: "/gallery"
+                text_color: "#ffffff"
+                overlay: true
+                created_at: currentDate
+                updated_at: currentDate
+            }
+            {
+                _id: "slide_5"
+                type: "slide"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Образовательные программы"
+                content: "## Мастер-классы и лекции\n\nДля детей и взрослых, любителей и профессионалов"
+                image: "/assets/borbad.s5l.ru/sliders/workshop.jpg"
+                order: 5
+                active: true
+                button_text: "Программы"
+                button_link: "/education"
+                text_color: "#ffffff"
+                overlay: true
+                created_at: currentDate
+                updated_at: currentDate
+            }
+            {
+                _id: "slide_6"
+                type: "slide"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Специальные мероприятия"
+                content: "## Корпоративы и частные события\n\nАренда зала для ваших особых мероприятий"
+                image: "/assets/borbad.s5l.ru/sliders/private-event.jpg"
+                order: 6
+                active: true
+                button_text: "Забронировать"
+                button_link: "/contacts"
+                text_color: "#ffffff"
+                overlay: true
+                created_at: currentDate
+                updated_at: currentDate
+            }
+
+            # Блог посты (6 постов)
+            {
+                _id: "blog_post_1"
+                type: "blog_post"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Открытие нового сезона 2024"
+                content: "# Добро пожаловать в новый творческий сезон!\n\nМы рады объявить о начале нового сезона в концертном зале Борбад. В этом году нас ждут удивительные события:\n\n- **Симфонические концерты** каждую пятницу\n- **Танцевальные вечера** с участием лучших коллективов\n- **Выставки современного искусства**\n- **Образовательные программы** для всех возрастов\n\nНе пропустите наши специальные мероприятия для детей и семей!\n\n## Расписание\n\nПолное расписание мероприятий доступно в разделе [Мероприятия](/events)."
+                excerpt: "Новый творческий сезон 2024 года в концертном зале Борбад"
+                image: "/assets/borbad.s5l.ru/posts/season-opening.jpg"
+                tags: ["новости", "сезон", "анонс"]
+                category_id: "category_news"
+                author: "Администрация Борбад"
+                status: "published"
+                meta_title: "Открытие нового сезона 2024 - Кохи Борбад"
+                meta_description: "Новый творческий сезон 2024 года в концертном зале Борбад в Душанбе"
+                featured: true
+                created_at: currentDate
+                updated_at: currentDate
+                published_at: currentDate
+                views: 156
+            }
+            {
+                _id: "blog_post_2"
+                type: "blog_post"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "История создания концертного зала"
+                content: "# Кохи Борбад: История и архитектура\n\n## Начало пути\n\nКонцертный зал Борбад был основан в 2010 году с целью создания современного культурного пространства в Душанбе. Название зала отдает дань уважения великому таджикскому поэту и музыканту Борбаду.\n\n## Архитектурные особенности\n\nЗдание сочетает в себе современные архитектурные решения с традиционными таджикскими мотивами. Особое внимание уделено акустике зала, что делает его идеальным местом для классической музыки.\n\n## Миссия\n\nНаша миссия - способствовать развитию культуры и искусства в Таджикистане, предоставляя площадку для местных и международных артистов."
+                excerpt: "История создания и архитектурные особенности концертного зала Борбад"
+                image: "/assets/borbad.s5l.ru/posts/history-building.jpg"
+                tags: ["история", "архитектура", "культура"]
+                category_id: "category_about"
+                author: "Директор зала"
+                status: "published"
+                meta_title: "История концертного зала Борбад - Кохи Борбад"
+                meta_description: "История создания и архитектура концертного зала Борбад в Душанбе"
+                featured: true
+                created_at: pastDate
+                updated_at: currentDate
+                published_at: pastDate
+                views: 289
+            }
+            {
+                _id: "blog_post_3"
+                type: "blog_post"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Мастер-класс по игре на рубабе"
+                content: "# Искусство игры на традиционных инструментах\n\n## Приглашаем на мастер-класс\n\nИзвестный музыкант Алишер Назаров проведет серию мастер-классов по игре на рубабе - традиционном таджикском музыкальном инструменте.\n\n## Программа\n\n- Основы техники игры\n- Традиционные мелодии\n- Современные аранжировки\n- Индивидуальные занятия\n\n## Даты проведения\n\nМастер-классы будут проходить каждую субботу в 15:00. Количество участников ограничено.\n\n## Регистрация\n\nДля участия необходимо зарегистрироваться по телефону +992 37 123-45-67."
+                excerpt: "Мастер-классы по игре на традиционном таджикском инструменте рубаб"
+                image: "/assets/borbad.s5l.ru/posts/rubab-workshop.jpg"
+                tags: ["мастер-класс", "музыка", "образование"]
+                category_id: "category_education"
+                author: "Алишер Назаров"
+                status: "published"
+                meta_title: "Мастер-класс по игре на рубабе - Кохи Борбад"
+                meta_description: "Мастер-классы по игре на традиционном таджикском инструменте рубаб в Душанбе"
+                featured: false
+                created_at: new Date(Date.now() - 2 * 24 * 60 * 60 * 1000).toISOString()
+                updated_at: currentDate
+                published_at: new Date(Date.now() - 2 * 24 * 60 * 60 * 1000).toISOString()
+                views: 98
+            }
+            {
+                _id: "blog_post_4"
+                type: "blog_post"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Выставка современного таджикского искусства"
+                content: "# Новые горизонты: Современное искусство Таджикистана\n\n## О выставке\n\nВ галерее Борбад открывается масштабная выставка современных таджикских художников. В экспозиции представлены работы в различных техниках и стилях.\n\n## Участники\n\n- Фаррух Негматзаде (живопись)\n- Садбарг Касымова (скульптура)\n- Джахонгир Азизов (цифровое искусство)\n- и другие\n\n## Темы\n\nХудожники исследуют темы идентичности, традиций и современности в условиях глобализации.\n\n## Время работы\n\nВыставка открыта ежедневно с 10:00 до 20:00. Вход свободный."
+                excerpt: "Выставка современных таджикских художников в галерее Борбад"
+                image: "/assets/borbad.s5l.ru/posts/art-exhibition.jpg"
+                tags: ["выставка", "искусство", "современное"]
+                category_id: "category_exhibitions"
+                author: "Куратор галереи"
+                status: "published"
+                meta_title: "Выставка современного таджикского искусства - Кохи Борбад"
+                meta_description: "Выставка современных таджикских художников в галерее концертного зала Борбад"
+                featured: true
+                created_at: new Date(Date.now() - 5 * 24 * 60 * 60 * 1000).toISOString()
+                updated_at: currentDate
+                published_at: new Date(Date.now() - 5 * 24 * 60 * 60 * 1000).toISOString()
+                views: 167
+            }
+            {
+                _id: "blog_post_5"
+                type: "blog_post"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Вечер поэзии и музыки"
+                content: "# Шедевры персидской поэзии\n\n## Особый вечер\n\nПриглашаем на уникальный вечер, посвященный персидской поэзии в сопровождении традиционной музыки.\n\n## Программа\n\n- Чтение стихов Рудаки, Хафиза и Саади\n- Музыкальное сопровождение на сеторе и дойре\n- Современные интерпретации классических произведений\n\n## Исполнители\n\nВ вечере принимают участие известные чтецы и музыканты Таджикистана.\n\n## Билеты\n\nБилеты можно приобрести в кассе зала или онлайн на нашем сайте."
+                excerpt: "Вечер персидской поэзии в сопровождении традиционной музыки"
+                image: "/assets/borbad.s5l.ru/posts/poetry-evening.jpg"
+                tags: ["поэзия", "музыка", "традиции"]
+                category_id: "category_events"
+                author: "Организатор мероприятий"
+                status: "published"
+                meta_title: "Вечер персидской поэзии - Кохи Борбад"
+                meta_description: "Вечер персидской поэзии в сопровождении традиционной музыки в концертном зале Борбад"
+                featured: false
+                created_at: new Date(Date.now() - 8 * 24 * 60 * 60 * 1000).toISOString()
+                updated_at: currentDate
+                published_at: new Date(Date.now() - 8 * 24 * 60 * 60 * 1000).toISOString()
+                views: 134
             }
-            
-            # Мероприятия
             {
-                _id: "event_"+Math.floor(Math.random() * 9000) + 1000
+                _id: "blog_post_6"
+                type: "blog_post"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Детская программа: Музыкальная сказка"
+                content: "# Волшебный мир музыки для детей\n\n## Новая постановка\n\nТеатральная студия Борбад представляет музыкальную сказку \"Волшебная флейта\" для детей от 3 до 10 лет.\n\n## Сюжет\n\nМаленькие зрители отправятся в увлекательное путешествие вместе с главными героями, где музыка помогает преодолевать препятствия и творить чудеса.\n\n## Образовательный аспект\n\nСпектакль знакомит детей с различными музыкальными инструментами и основными понятиями музыки.\n\n## Расписание\n\nПредставления проходят по воскресеньям в 11:00. Продолжительность - 45 минут."
+                excerpt: "Музыкальная сказка для детей в театральной студии Борбад"
+                image: "/assets/borbad.s5l.ru/posts/children-play.jpg"
+                tags: ["дети", "театр", "образование"]
+                category_id: "category_children"
+                author: "Художественный руководитель"
+                status: "published"
+                meta_title: "Детская музыкальная сказка - Кохи Борбад"
+                meta_description: "Музыкальная сказка для детей в театральной студии концертного зала Борбад"
+                featured: true
+                created_at: new Date(Date.now() - 12 * 24 * 60 * 60 * 1000).toISOString()
+                updated_at: currentDate
+                published_at: new Date(Date.now() - 12 * 24 * 60 * 60 * 1000).toISOString()
+                views: 201
+            }
+
+            # Мероприятия (6 мероприятий)
+            {
+                _id: "event_1"
                 type: "event"
-                title: "Симфонический концерт"
-                content: "## Программа вечера\n\n- Бетховен Симфония №5\n- Чайковский Лебединое озеро"
-                event_date: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString()
-                end_date: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000 + 2 * 60 * 60 * 1000).toISOString()
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Симфонический концерт: Бетховен и Чайковский"
+                content: "# Великие композиторы\n\n## Программа концерта\n\n- **Л. ван Бетховен** - Симфония №5\n- **П.И. Чайковский** - Лебединое озеро (сюита)\n- **П.И. Чайковский** - Щелкунчик (сюита)\n\n## Исполнители\n\nСимфонический оркестр Борбад под управлением дирижера Фарруха Саидова.\n\n## Продолжительность\n\nКонцерт длится 2 часа с одним антрактом.\n\n## Рекомендации\n\nРекомендуем приходить за 30 минут до начала концерта."
+                event_date: new Date(Date.now() + 3 * 24 * 60 * 60 * 1000).toISOString()
+                end_date: new Date(Date.now() + 3 * 24 * 60 * 60 * 1000 + 2 * 60 * 60 * 1000).toISOString()
                 location: "Большой зал"
+                venue_id: "venue_main_hall"
                 price: 500
                 currency: "TJS"
-                available_tickets: 100
-                total_tickets: 100
-                image: "/assets/borbad.s5l.ru/concert1.jpg"
+                available_tickets: 45
+                total_tickets: 300
+                image: "/assets/borbad.s5l.ru/events/beethoven-concert.jpg"
                 gallery: [
-                    "/assets/borbad.s5l.ru/gallery1.jpg"
-                    "/assets/borbad.s5l.ru/gallery2.jpg"
+                    "/assets/borbad.s5l.ru/gallery/concert1.jpg"
+                    "/assets/borbad.s5l.ru/gallery/concert2.jpg"
                 ]
-                tags: ["концерт", "симфоническая музыка", "классика"]
+                tags: ["концерт", "симфоническая музыка", "классика", "Бетховен", "Чайковский"]
+                category_id: "category_concerts"
                 status: "upcoming"
                 registration_required: true
-                created_at: new Date().toISOString()
-                updated_at: new Date().toISOString()
+                max_attendees: 300
+                age_restriction: "6+"
+                created_at: currentDate
+                updated_at: currentDate
             }
-            
-            # Товары
-            {
-                _id: "product_"+Math.floor(Math.random() * 9000) + 1000
-                type: "product"
-                title: "Футболка с логотипом"
-                content: "## Качественная хлопковая футболка\n\nРазмеры: S, M, L, XL"
-                excerpt: "Фирменная футболка концертного зала"
-                image: "/assets/borbad.s5l.ru/tshirt.jpg"
-                price: 250
+            {
+                _id: "event_2"
+                type: "event"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Танцевальный вечер: Народные традиции"
+                content: "# Танцы народов мира\n\n## Программа\n\n- Таджикские народные танцы\n- Узбекские классические танцы\n- Афганские традиционные танцы\n- Современные хореографические постановки\n\n## Коллективы\n\n- Ансамбль \"Лола\"\n- Танцевальная группа \"Шарора\"\n- Гость из Кабула - ансамбль \"Ариана\"\n\n## Особенности\n\nЯркие костюмы, живая музыка и энергия традиционных танцев."
+                event_date: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString()
+                end_date: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000 + 2.5 * 60 * 60 * 1000).toISOString()
+                location: "Большой зал"
+                venue_id: "venue_main_hall"
+                price: 400
                 currency: "TJS"
-                category: "сувениры"
-                tags: ["одежда", "сувениры", "мерч"]
-                attributes:
-                    sizes: ["S", "M", "L", "XL"]
-                    colors: ["белый", "черный"]
-                    material: "100% хлопок"
-                inventory: 50
-                status: "available"
-                created_at: new Date().toISOString()
-                updated_at: new Date().toISOString()
+                available_tickets: 120
+                total_tickets: 300
+                image: "/assets/borbad.s5l.ru/events/folk-dance.jpg"
+                gallery: [
+                    "/assets/borbad.s5l.ru/gallery/dance1.jpg"
+                    "/assets/borbad.s5l.ru/gallery/dance2.jpg"
+                ]
+                tags: ["танец", "народный", "традиции", "фольклор"]
+                category_id: "category_dance"
+                status: "upcoming"
+                registration_required: true
+                max_attendees: 300
+                age_restriction: "Все возраста"
+                created_at: currentDate
+                updated_at: currentDate
             }
-            
+            {
+                _id: "event_3"
+                type: "event"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Джазовый вечер с Тимуром Якубовым"
+                content: "# Современный джаз в Борбаде\n\n## О исполнителе\n\nТимур Якубов - известный джазовый пианист и композитор, лауреат международных конкурсов.\n\n## Программа\n\n- Авторские композиции\n- Джазовые стандарты\n- Импровизации\n- Совместные выступления с местными музыкантами\n\n## Стиль\n\nСовременный джаз с влиянием таджикских музыкальных традиций."
+                event_date: new Date(Date.now() + 10 * 24 * 60 * 60 * 1000).toISOString()
+                end_date: new Date(Date.now() + 10 * 24 * 60 * 60 * 1000 + 2 * 60 * 60 * 1000).toISOString()
+                location: "Малый зал"
+                venue_id: "venue_small_hall"
+                price: 350
+                currency: "TJS"
+                available_tickets: 80
+                total_tickets: 150
+                image: "/assets/borbad.s5l.ru/events/jazz-evening.jpg"
+                gallery: [
+                    "/assets/borbad.s5l.ru/gallery/jazz1.jpg"
+                ]
+                tags: ["джаз", "современная музыка", "импровизация"]
+                category_id: "category_concerts"
+                status: "upcoming"
+                registration_required: true
+                max_attendees: 150
+                age_restriction: "12+"
+                created_at: currentDate
+                updated_at: currentDate
+            }
+            {
+                _id: "event_4"
+                type: "event"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Выставка: Современное искусство Центральной Азии"
+                content: "# Диалог культур\n\n## О выставке\n\nКрупная выставка, представляющая работы современных художников из Таджикистана, Узбекистана, Казахстана и Кыргызстана.\n\n## Куратор\n\nДоктор искусствоведения Зарина Каримова.\n\n## Темы\n\n- Идентичность в современном мире\n- Традиции и инновации\n- Экологические проблемы региона\n\n## Особенности\n\nИнтерактивные инсталляции и мультимедийные проекты."
+                event_date: new Date(Date.now() + 2 * 24 * 60 * 60 * 1000).toISOString()
+                end_date: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString()
+                location: "Галерея Борбад"
+                venue_id: "venue_gallery"
+                price: 0
+                currency: "TJS"
+                available_tickets: 999
+                total_tickets: 1000
+                image: "/assets/borbad.s5l.ru/events/art-exhibition.jpg"
+                gallery: [
+                    "/assets/borbad.s5l.ru/gallery/exhibition1.jpg"
+                    "/assets/borbad.s5l.ru/gallery/exhibition2.jpg"
+                    "/assets/borbad.s5l.ru/gallery/exhibition3.jpg"
+                ]
+                tags: ["выставка", "искусство", "современное", "Центральная Азия"]
+                category_id: "category_exhibitions"
+                status: "upcoming"
+                registration_required: false
+                max_attendees: 50
+                age_restriction: "Все возраста"
+                created_at: currentDate
+                updated_at: currentDate
+            }
+            {
+                _id: "event_5"
+                type: "event"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Мастер-класс: Основы вокала"
+                content: "# Искусство пения для начинающих\n\n## О ведущем\n\nОперный певец Шариф Мухтаров, солист Национального театра оперы и балета.\n\n## Программа\n\n- Постановка дыхания\n- Основы вокальной техники\n- Работа с резонаторами\n- Подбор репертуара\n- Преодоление страха сцены\n\n## Для кого\n\nДля всех, кто хочет научиться правильно петь или улучшить свои вокальные навыки."
+                event_date: new Date(Date.now() + 5 * 24 * 60 * 60 * 1000).toISOString()
+                end_date: new Date(Date.now() + 5 * 24 * 60 * 60 * 1000 + 3 * 60 * 60 * 1000).toISOString()
+                location: "Репетиционный зал"
+                venue_id: "venue_rehearsal"
+                price: 200
+                currency: "TJS"
+                available_tickets: 15
+                total_tickets: 20
+                image: "/assets/borbad.s5l.ru/events/vocal-workshop.jpg"
+                gallery: [
+                    "/assets/borbad.s5l.ru/gallery/workshop1.jpg"
+                ]
+                tags: ["мастер-класс", "вокал", "образование", "музыка"]
+                category_id: "category_education"
+                status: "upcoming"
+                registration_required: true
+                max_attendees: 20
+                age_restriction: "16+"
+                created_at: currentDate
+                updated_at: currentDate
+            }
+            {
+                _id: "event_6"
+                type: "event"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                title: "Кинопоказ: Классика советского кино"
+                content: "# Вечер памяти великого режиссера\n\n## Фильм\n\n\"Человек идет за солнцем\" (1961) режиссера Михаила Калика.\n\n## О фильме\n\nПоэтическая киноповесть о мальчике, который отправляется на поиски солнца. Символический фильм о детстве, мечтах и надеждах.\n\n## После показа\n\nОбсуждение с киноведом Дилшодом Рахматовым.\n\n## Особенности\n\nПоказ на оригинальной пленке с цифровым восстановлением."
+                event_date: new Date(Date.now() + 14 * 24 * 60 * 60 * 1000).toISOString()
+                end_date: new Date(Date.now() + 14 * 24 * 60 * 60 * 1000 + 2.5 * 60 * 60 * 1000).toISOString()
+                location: "Малый зал"
+                venue_id: "venue_small_hall"
+                price: 150
+                currency: "TJS"
+                available_tickets: 95
+                total_tickets: 150
+                image: "/assets/borbad.s5l.ru/events/film-screening.jpg"
+                gallery: [
+                    "/assets/borbad.s5l.ru/gallery/film1.jpg"
+                ]
+                tags: ["кино", "ретро", "советское кино", "культура"]
+                category_id: "category_film"
+                status: "upcoming"
+                registration_required: true
+                max_attendees: 150
+                age_restriction: "12+"
+                created_at: currentDate
+                updated_at: currentDate
+            }
+
             # Категории
             {
-                _id: "category_"+Math.floor(Math.random() * 9000) + 1000
+                _id: "category_news"
                 type: "category"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                name: "Новости"
+                slug: "news"
+                description: "Последние новости и анонсы концертного зала"
+                image: "/assets/borbad.s5l.ru/categories/news.jpg"
+                parent_id: null
+                order: 1
+                meta_title: "Новости - Кохи Борбад"
+                meta_description: "Последние новости и анонсы концертного зала Борбад"
+                active: true
+                created_at: currentDate
+                updated_at: currentDate
+            }
+            {
+                _id: "category_concerts"
+                type: "category"
+                domain: "borbad.s5l.ru"
+                language: "ru"
                 name: "Концерты"
                 slug: "concerts"
-                description: "Музыкальные мероприятия"
-                image: "/assets/borbad.s5l.ru/category-concerts.jpg"
-                parent: null
-                order: 1
-                created_at: new Date().toISOString()
-                updated_at: new Date().toISOString()
+                description: "Музыкальные мероприятия и концерты"
+                image: "/assets/borbad.s5l.ru/categories/concerts.jpg"
+                parent_id: null
+                order: 2
+                meta_title: "Концерты - Кохи Борбад"
+                meta_description: "Музыкальные мероприятия и концерты в концертном зале Борбад"
+                active: true
+                created_at: currentDate
+                updated_at: currentDate
             }
-            
-            # Темы
             {
-                _id: "theme_"+Math.floor(Math.random() * 9000) + 1000
-                type: "theme"
-                name: "Классическая музыка"
-                slug: "classical-music"
-                description: "Мероприятия классической музыки"
-                color: "#3B82F6"
-                created_at: new Date().toISOString()
-                updated_at: new Date().toISOString()
+                _id: "category_exhibitions"
+                type: "category"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                name: "Выставки"
+                slug: "exhibitions"
+                description: "Художественные выставки и вернисажи"
+                image: "/assets/borbad.s5l.ru/categories/exhibitions.jpg"
+                parent_id: null
+                order: 3
+                meta_title: "Выставки - Кохи Борбад"
+                meta_description: "Художественные выставки и вернисажи в галерее Борбад"
+                active: true
+                created_at: currentDate
+                updated_at: currentDate
+            }
+            {
+                _id: "category_education"
+                type: "category"
+                domain: "borbad.s5l.ru"
+                language: "ru"
+                name: "Образование"
+                slug: "education"
+                description: "Мастер-классы, лекции и образовательные программы"
+                image: "/assets/borbad.s5l.ru/categories/education.jpg"
+                parent_id: null
+                order: 4
+                meta_title: "Образовательные программы - Кохи Борбад"
+                meta_description: "Мастер-классы, лекции и образовательные программы в концертном зале Борбад"
+                active: true
+                created_at: currentDate
+                updated_at: currentDate
             }
         ]
         
         try
+            createdCount = 0
+            updatedCount = 0
+            
             for doc in sampleData
                 try
                     # Проверяем существует ли документ
                     existing = await @db.get(doc._id)
                     doc._rev = existing._rev
                     await @db.put(doc)
+                    updatedCount++
                     debug.log "Обновлен документ: "+doc._id
                 catch error
                     if error.status is 404
                         # Документ не существует, создаем новый
                         await @db.put(doc)
+                        createdCount++
                         debug.log "Создан документ: "+doc._id
                     else
                         throw error
                         
-            debug.log "Тестовые данные успешно созданы"
+            debug.log "Тестовые данные успешно созданы: создано "+createdCount+", обновлено "+updatedCount
         catch error
             debug.log "Ошибка при создании тестовых данных: "+error
 
@@ -200,6 +673,7 @@ class DatabaseSeeder
         debug.log "Начало инициализации базы данных"
         
         await @createDatabaseIfNotExists()
+        await @cleanupOldDocuments()
         await @setupDesignDocuments()
         await @createSampleData()