|
|
@@ -4,6 +4,7 @@ PouchDB = require 'pouchdb'
|
|
|
debug = require('../../../utils/coffee/debug.coffee').default
|
|
|
|
|
|
|
|
|
+
|
|
|
class DatabaseSeeder
|
|
|
constructor: (dbName, baseUrl = 'http://oleg:631074@localhost:5984') ->
|
|
|
@dbName = dbName
|
|
|
@@ -13,6 +14,26 @@ class DatabaseSeeder
|
|
|
@orderCounter = 0
|
|
|
@currentYear = new Date().getFullYear()
|
|
|
|
|
|
+ # Генератор ID для категорий
|
|
|
+ generateCategoryId: (name, parentId = null, domain = null) ->
|
|
|
+ slug = name
|
|
|
+ .toLowerCase()
|
|
|
+ .replace(/[^a-z0-9а-яё]/g, '_')
|
|
|
+ .replace(/_+/g, '_')
|
|
|
+ .replace(/^_|_$/g, '')
|
|
|
+
|
|
|
+ id = "category_"+slug
|
|
|
+
|
|
|
+ if parentId
|
|
|
+ parentSlug = parentId.replace(/^category_/, '')
|
|
|
+ id += "_"+parentSlug
|
|
|
+
|
|
|
+ if domain
|
|
|
+ domainPart = domain.replace(/\./g, '_')
|
|
|
+ id += "_"+domainPart
|
|
|
+
|
|
|
+ return id
|
|
|
+
|
|
|
# Генератор ID для заказов
|
|
|
generateOrderId: ->
|
|
|
@orderCounter++
|
|
|
@@ -161,14 +182,364 @@ class DatabaseSeeder
|
|
|
catch error
|
|
|
debug.log "Ошибка при настройке design документов: "+error
|
|
|
|
|
|
+ # Создание иерархической структуры категорий
|
|
|
+ createCategoryHierarchy: ->
|
|
|
+ categories = [
|
|
|
+ # Корневые категории
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Мероприятия", null, "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ domain_priority: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Мероприятия"
|
|
|
+ slug: "events"
|
|
|
+ description: "Все мероприятия концертного зала"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/events.jpg"
|
|
|
+ icon: "calendar"
|
|
|
+ parent_id: null
|
|
|
+ parent_path: [] # Путь от корня
|
|
|
+ level: 0 # Уровень в иерархии (0 - корень)
|
|
|
+ order: 1
|
|
|
+ children_count: 4
|
|
|
+ meta_title: "Мероприятия - Кохи Борбад"
|
|
|
+ meta_description: "Концерты, выставки и другие мероприятия в концертном зале Борбад"
|
|
|
+ active: true
|
|
|
+ featured: true
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 1
|
|
|
+ color: "#3B82F6"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Новости", null, "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru"]
|
|
|
+ domain_priority: ["borbad.s5l.ru"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Новости"
|
|
|
+ slug: "news"
|
|
|
+ description: "Новости и анонсы концертного зала"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/news.jpg"
|
|
|
+ icon: "news"
|
|
|
+ parent_id: null
|
|
|
+ parent_path: []
|
|
|
+ level: 0
|
|
|
+ order: 2
|
|
|
+ children_count: 0
|
|
|
+ meta_title: "Новости - Кохи Борбад"
|
|
|
+ meta_description: "Последние новости и анонсы концертного зала Борбад"
|
|
|
+ active: true
|
|
|
+ featured: false
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 2
|
|
|
+ color: "#10B981"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Образование", null, "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru"]
|
|
|
+ domain_priority: ["borbad.s5l.ru"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Образование"
|
|
|
+ slug: "education"
|
|
|
+ description: "Образовательные программы и мастер-классы"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/education.jpg"
|
|
|
+ icon: "graduation"
|
|
|
+ parent_id: null
|
|
|
+ parent_path: []
|
|
|
+ level: 0
|
|
|
+ order: 3
|
|
|
+ children_count: 3
|
|
|
+ meta_title: "Образовательные программы - Кохи Борбад"
|
|
|
+ meta_description: "Мастер-классы, лекции и образовательные программы"
|
|
|
+ active: true
|
|
|
+ featured: false
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 3
|
|
|
+ color: "#F59E0B"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+
|
|
|
+ # Подкатегории для "Мероприятия"
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Концерты", "category_events_borbad", "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ domain_priority: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Концерты"
|
|
|
+ slug: "concerts"
|
|
|
+ description: "Музыкальные концерты различных жанров"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/concerts.jpg"
|
|
|
+ icon: "music"
|
|
|
+ parent_id: "category_events_borbad"
|
|
|
+ parent_path: ["category_events_borbad"]
|
|
|
+ level: 1
|
|
|
+ order: 1
|
|
|
+ children_count: 3
|
|
|
+ meta_title: "Концерты - Кохи Борбад"
|
|
|
+ meta_description: "Музыкальные концерты в концертном зале Борбад"
|
|
|
+ active: true
|
|
|
+ featured: true
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 1
|
|
|
+ color: "#6366F1"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Выставки", "category_events_borbad", "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ domain_priority: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Выставки"
|
|
|
+ slug: "exhibitions"
|
|
|
+ description: "Художественные выставки и вернисажи"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/exhibitions.jpg"
|
|
|
+ icon: "palette"
|
|
|
+ parent_id: "category_events_borbad"
|
|
|
+ parent_path: ["category_events_borbad"]
|
|
|
+ level: 1
|
|
|
+ order: 2
|
|
|
+ children_count: 0
|
|
|
+ meta_title: "Выставки - Кохи Борбад"
|
|
|
+ meta_description: "Художественные выставки в галерее Борбад"
|
|
|
+ active: true
|
|
|
+ featured: false
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 2
|
|
|
+ color: "#EC4899"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Театр", "category_events_borbad", "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru"]
|
|
|
+ domain_priority: ["borbad.s5l.ru"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Театр"
|
|
|
+ slug: "theater"
|
|
|
+ description: "Театральные постановки и спектакли"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/theater.jpg"
|
|
|
+ icon: "drama"
|
|
|
+ parent_id: "category_events_borbad"
|
|
|
+ parent_path: ["category_events_borbad"]
|
|
|
+ level: 1
|
|
|
+ order: 3
|
|
|
+ children_count: 0
|
|
|
+ meta_title: "Театральные постановки - Кохи Борбад"
|
|
|
+ meta_description: "Спектакли и театральные представления"
|
|
|
+ active: true
|
|
|
+ featured: false
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 3
|
|
|
+ color: "#8B5CF6"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Фестивали", "category_events_borbad", "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru"]
|
|
|
+ domain_priority: ["borbad.s5l.ru"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Фестивали"
|
|
|
+ slug: "festivals"
|
|
|
+ description: "Музыкальные и культурные фестивали"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/festivals.jpg"
|
|
|
+ icon: "festival"
|
|
|
+ parent_id: "category_events_borbad"
|
|
|
+ parent_path: ["category_events_borbad"]
|
|
|
+ level: 1
|
|
|
+ order: 4
|
|
|
+ children_count: 0
|
|
|
+ meta_title: "Фестивали - Кохи Борбад"
|
|
|
+ meta_description: "Культурные и музыкальные фестивали"
|
|
|
+ active: true
|
|
|
+ featured: false
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 4
|
|
|
+ color: "#F59E0B"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+
|
|
|
+ # Подкатегории для "Концерты"
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Классическая музыка", "category_concerts_events_borbad", "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ domain_priority: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Классическая музыка"
|
|
|
+ slug: "classical-music"
|
|
|
+ description: "Симфонические концерты и классические произведения"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/classical-music.jpg"
|
|
|
+ icon: "classical"
|
|
|
+ parent_id: "category_concerts_events_borbad"
|
|
|
+ parent_path: ["category_events_borbad", "category_concerts_events_borbad"]
|
|
|
+ level: 2
|
|
|
+ order: 1
|
|
|
+ children_count: 0
|
|
|
+ meta_title: "Классическая музыка - Кохи Борбад"
|
|
|
+ meta_description: "Симфонические концерты и классические произведения"
|
|
|
+ active: true
|
|
|
+ featured: true
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 1
|
|
|
+ color: "#3B82F6"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Джаз и блюз", "category_concerts_events_borbad", "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru"]
|
|
|
+ domain_priority: ["borbad.s5l.ru"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Джаз и блюз"
|
|
|
+ slug: "jazz-blues"
|
|
|
+ description: "Джазовые концерты и блюзовые вечера"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/jazz-blues.jpg"
|
|
|
+ icon: "jazz"
|
|
|
+ parent_id: "category_concerts_events_borbad"
|
|
|
+ parent_path: ["category_events_borbad", "category_concerts_events_borbad"]
|
|
|
+ level: 2
|
|
|
+ order: 2
|
|
|
+ children_count: 0
|
|
|
+ meta_title: "Джаз и блюз - Кохи Борбад"
|
|
|
+ meta_description: "Джазовые концерты и блюзовые вечера"
|
|
|
+ active: true
|
|
|
+ featured: false
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 2
|
|
|
+ color: "#8B5CF6"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Народная музыка", "category_concerts_events_borbad", "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ domain_priority: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Народная музыка"
|
|
|
+ slug: "folk-music"
|
|
|
+ description: "Концерты народной и традиционной музыки"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/folk-music.jpg"
|
|
|
+ icon: "folk"
|
|
|
+ parent_id: "category_concerts_events_borbad"
|
|
|
+ parent_path: ["category_events_borbad", "category_concerts_events_borbad"]
|
|
|
+ level: 2
|
|
|
+ order: 3
|
|
|
+ children_count: 0
|
|
|
+ meta_title: "Народная музыка - Кохи Борбад"
|
|
|
+ meta_description: "Концерты народной и традиционной музыки"
|
|
|
+ active: true
|
|
|
+ featured: false
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 3
|
|
|
+ color: "#10B981"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+
|
|
|
+ # Подкатегории для "Образование"
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Мастер-классы", "category_education_borbad", "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru"]
|
|
|
+ domain_priority: ["borbad.s5l.ru"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Мастер-классы"
|
|
|
+ slug: "workshops"
|
|
|
+ description: "Практические занятия и мастер-классы"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/workshops.jpg"
|
|
|
+ icon: "workshop"
|
|
|
+ parent_id: "category_education_borbad"
|
|
|
+ parent_path: ["category_education_borbad"]
|
|
|
+ level: 1
|
|
|
+ order: 1
|
|
|
+ children_count: 0
|
|
|
+ meta_title: "Мастер-классы - Кохи Борбад"
|
|
|
+ meta_description: "Практические занятия и мастер-классы"
|
|
|
+ active: true
|
|
|
+ featured: false
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 1
|
|
|
+ color: "#F59E0B"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Лекции", "category_education_borbad", "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru"]
|
|
|
+ domain_priority: ["borbad.s5l.ru"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Лекции"
|
|
|
+ slug: "lectures"
|
|
|
+ description: "Образовательные лекции и семинары"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/lectures.jpg"
|
|
|
+ icon: "lecture"
|
|
|
+ parent_id: "category_education_borbad"
|
|
|
+ parent_path: ["category_education_borbad"]
|
|
|
+ level: 1
|
|
|
+ order: 2
|
|
|
+ children_count: 0
|
|
|
+ meta_title: "Лекции - Кохи Борбад"
|
|
|
+ meta_description: "Образовательные лекции и семинары"
|
|
|
+ active: true
|
|
|
+ featured: false
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 2
|
|
|
+ color: "#EF4444"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+ {
|
|
|
+ _id: @generateCategoryId("Детские программы", "category_education_borbad", "borbad")
|
|
|
+ type: "category"
|
|
|
+ domain: ["borbad.s5l.ru"]
|
|
|
+ domain_priority: ["borbad.s5l.ru"]
|
|
|
+ language: "ru"
|
|
|
+ name: "Детские программы"
|
|
|
+ slug: "children-programs"
|
|
|
+ description: "Образовательные программы для детей"
|
|
|
+ image: "/assets/borbad.s5l.ru/categories/children-programs.jpg"
|
|
|
+ icon: "children"
|
|
|
+ parent_id: "category_education_borbad"
|
|
|
+ parent_path: ["category_education_borbad"]
|
|
|
+ level: 1
|
|
|
+ order: 3
|
|
|
+ children_count: 0
|
|
|
+ meta_title: "Детские программы - Кохи Борбад"
|
|
|
+ meta_description: "Образовательные программы для детей"
|
|
|
+ active: true
|
|
|
+ featured: true
|
|
|
+ show_in_menu: true
|
|
|
+ menu_order: 3
|
|
|
+ color: "#EC4899"
|
|
|
+ created_at: new Date().toISOString()
|
|
|
+ updated_at: new Date().toISOString()
|
|
|
+ }
|
|
|
+ ]
|
|
|
+
|
|
|
+ return categories
|
|
|
+
|
|
|
# Создание тестовых данных для сайта
|
|
|
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: "domain_settings_borbad_s5l_ru"
|
|
|
type: "domain_settings"
|
|
|
@@ -208,92 +579,10 @@ class DatabaseSeeder
|
|
|
updated_at: currentDate
|
|
|
}
|
|
|
|
|
|
- # Доменные настройки для второго домена
|
|
|
- {
|
|
|
- _id: "domain_settings_concert_hall_tj"
|
|
|
- type: "domain_settings"
|
|
|
- domain: "concert-hall.tj"
|
|
|
- name: "Концертный зал Борбад - Таджикистан"
|
|
|
- description: "Культурная площадка для мероприятий и концертов"
|
|
|
- active: true
|
|
|
- priority: 2
|
|
|
- theme: "borbad_light"
|
|
|
- languages: ["tj", "ru"]
|
|
|
- default_language: "tj"
|
|
|
- timezone: "Asia/Dushanbe"
|
|
|
- currency: "TJS"
|
|
|
- settings: {
|
|
|
- seo: {
|
|
|
- title_template: "{page} - Борбад"
|
|
|
- description: "Концерты и мероприятия в Душанбе"
|
|
|
- keywords: ["концерты", "Борбад", "Душанбе", "мероприятия"]
|
|
|
- }
|
|
|
- social: {
|
|
|
- facebook: "https://facebook.com/borbad.tj"
|
|
|
- instagram: "https://instagram.com/borbad.tj"
|
|
|
- }
|
|
|
- contact: {
|
|
|
- address: "г. Душанбе, пр. Рудаки 22"
|
|
|
- phone: "+992 37 123-45-68"
|
|
|
- email: "info@concert-hall.tj"
|
|
|
- }
|
|
|
- features: {
|
|
|
- online_booking: true
|
|
|
- multi_language: true
|
|
|
- ecommerce: false
|
|
|
- }
|
|
|
- }
|
|
|
- created_at: currentDate
|
|
|
- updated_at: currentDate
|
|
|
- }
|
|
|
+ # Добавляем иерархические категории
|
|
|
+ ...@createCategoryHierarchy()
|
|
|
|
|
|
- # Слайдеры (6 слайдов) - мультидоменные
|
|
|
- {
|
|
|
- _id: "slide_01_borbad"
|
|
|
- type: "slide"
|
|
|
- domain: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
- domain_priority: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
- language: "ru"
|
|
|
- title: "Добро пожаловать в Кохи Борбад"
|
|
|
- content: "## Современный концертный зал в сердце Душанбе\n\nМесто, где встречаются искусство и культура"
|
|
|
- image: "/assets/borbad.s5l.ru/sliders/main-hall.jpg"
|
|
|
- mobile_image: "/assets/borbad.s5l.ru/sliders/main-hall-mobile.jpg"
|
|
|
- order: 1
|
|
|
- active: true
|
|
|
- button_text: "Узнать больше"
|
|
|
- button_link: "/about"
|
|
|
- button_style: "primary"
|
|
|
- text_color: "#ffffff"
|
|
|
- text_position: "center"
|
|
|
- overlay: true
|
|
|
- overlay_opacity: 0.4
|
|
|
- start_date: "2024-01-01T00:00:00.000Z"
|
|
|
- end_date: "2024-12-31T23:59:59.000Z"
|
|
|
- target_audience: ["all"]
|
|
|
- created_at: currentDate
|
|
|
- updated_at: currentDate
|
|
|
- }
|
|
|
- {
|
|
|
- _id: "slide_02_borbad"
|
|
|
- type: "slide"
|
|
|
- domain: ["borbad.s5l.ru"]
|
|
|
- domain_priority: ["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
|
|
|
- }
|
|
|
- # ... остальные 4 слайда с аналогичной структурой
|
|
|
-
|
|
|
- # Блог посты (6 постов) - мультидоменные
|
|
|
+ # Блог посты с привязкой к иерархическим категориям
|
|
|
{
|
|
|
_id: @generateBlogPostId("Открытие нового сезона 2024", "borbad")
|
|
|
type: "blog_post"
|
|
|
@@ -307,46 +596,21 @@ class DatabaseSeeder
|
|
|
excerpt: "Новый творческий сезон 2024 года в концертном зале Борбад"
|
|
|
image: "/assets/borbad.s5l.ru/posts/season-opening.jpg"
|
|
|
tags: ["новости", "сезон", "анонс"]
|
|
|
- category_id: "category_news_borbad"
|
|
|
+ category_id: "category_news_borbad" # Привязка к категории новостей
|
|
|
+ category_path: ["category_news_borbad"] # Полный путь категории
|
|
|
author: "Администрация Борбад"
|
|
|
status: "published"
|
|
|
meta_title: "Открытие нового сезона 2024 - Кохи Борбад"
|
|
|
meta_description: "Новый творческий сезон 2024 года в концертном зале Борбад в Душанбе"
|
|
|
featured: true
|
|
|
- featured_image: "/assets/borbad.s5l.ru/posts/season-opening-featured.jpg"
|
|
|
reading_time: 5
|
|
|
created_at: currentDate
|
|
|
updated_at: currentDate
|
|
|
published_at: currentDate
|
|
|
views: 156
|
|
|
- likes: 23
|
|
|
- shares: 45
|
|
|
- }
|
|
|
- {
|
|
|
- _id: @generateBlogPostId("История создания концертного зала", "borbad")
|
|
|
- type: "blog_post"
|
|
|
- domain: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
- domain_priority: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
- language: "ru"
|
|
|
- translation_of: null
|
|
|
- translation_status: "original"
|
|
|
- title: "История создания концертного зала"
|
|
|
- content: "# Кохи Борбад: История и архитектура\n\n## Начало пути\n\nКонцертный зал Борбад был основан в 2010 году..."
|
|
|
- excerpt: "История создания и архитектурные особенности концертного зала Борбад"
|
|
|
- image: "/assets/borbad.s5l.ru/posts/history-building.jpg"
|
|
|
- tags: ["история", "архитектура", "культура"]
|
|
|
- category_id: "category_about_borbad"
|
|
|
- author: "Директор зала"
|
|
|
- status: "published"
|
|
|
- featured: true
|
|
|
- created_at: pastDate
|
|
|
- updated_at: currentDate
|
|
|
- published_at: pastDate
|
|
|
- views: 289
|
|
|
}
|
|
|
- # ... остальные 4 поста с аналогичной структурой
|
|
|
|
|
|
- # Мероприятия (6 мероприятий) - мультидоменные
|
|
|
+ # Мероприятия с привязкой к иерархическим категориям
|
|
|
{
|
|
|
_id: @generateEventId("Симфонический концерт: Бетховен и Чайковский", "2024-03-20T19:00:00.000Z", "borbad")
|
|
|
type: "event"
|
|
|
@@ -360,162 +624,94 @@ class DatabaseSeeder
|
|
|
event_date: "2024-03-20T19:00:00.000Z"
|
|
|
end_date: "2024-03-20T21:00:00.000Z"
|
|
|
location: "Большой зал"
|
|
|
- venue_id: "venue_main_hall_borbad"
|
|
|
- address: {
|
|
|
- street: "пр. Рудаки 22"
|
|
|
- city: "Душанбе"
|
|
|
- country: "Таджикистан"
|
|
|
- }
|
|
|
- coordinates: {
|
|
|
- lat: 38.5732
|
|
|
- lng: 68.7734
|
|
|
- }
|
|
|
price: 500
|
|
|
currency: "TJS"
|
|
|
available_tickets: 45
|
|
|
total_tickets: 300
|
|
|
image: "/assets/borbad.s5l.ru/events/beethoven-concert.jpg"
|
|
|
- gallery: [
|
|
|
- "/assets/borbad.s5l.ru/gallery/concert1.jpg"
|
|
|
- "/assets/borbad.s5l.ru/gallery/concert2.jpg"
|
|
|
- ]
|
|
|
tags: ["концерт", "симфоническая музыка", "классика", "Бетховен", "Чайковский"]
|
|
|
- category_id: "category_concerts_borbad"
|
|
|
+ category_id: "category_classical_music_concerts_events_borbad" # Глубокая привязка
|
|
|
+ category_path: ["category_events_borbad", "category_concerts_events_borbad", "category_classical_music_concerts_events_borbad"]
|
|
|
status: "upcoming"
|
|
|
registration_required: true
|
|
|
- max_attendees: 300
|
|
|
- age_restriction: "6+"
|
|
|
- organizer: "Симфонический оркестр Борбад"
|
|
|
- performers: ["Фаррух Саидов (дирижер)", "Солисты оркестра"]
|
|
|
- duration: 120
|
|
|
- created_at: currentDate
|
|
|
- updated_at: currentDate
|
|
|
- }
|
|
|
- # ... остальные 5 мероприятий с аналогичной структурой
|
|
|
-
|
|
|
- # Категории - мультидоменные
|
|
|
- {
|
|
|
- _id: "category_concerts_borbad"
|
|
|
- type: "category"
|
|
|
- domain: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
- domain_priority: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
- language: "ru"
|
|
|
- translation_of: null
|
|
|
- translation_status: "original"
|
|
|
- name: "Концерты"
|
|
|
- slug: "concerts"
|
|
|
- description: "Музыкальные мероприятия и концерты различных жанров"
|
|
|
- image: "/assets/borbad.s5l.ru/categories/concerts.jpg"
|
|
|
- icon: "music"
|
|
|
- parent_id: null
|
|
|
- order: 2
|
|
|
- meta_title: "Концерты - Кохи Борбад"
|
|
|
- meta_description: "Музыкальные мероприятия и концерты в концертном зале Борбад"
|
|
|
- active: true
|
|
|
- featured: true
|
|
|
- show_in_menu: true
|
|
|
- menu_order: 2
|
|
|
- color: "#3B82F6"
|
|
|
created_at: currentDate
|
|
|
updated_at: currentDate
|
|
|
}
|
|
|
{
|
|
|
- _id: "category_news_borbad"
|
|
|
- type: "category"
|
|
|
+ _id: @generateEventId("Джазовый вечер с Тимуром Якубовым", "2024-04-15T20:00:00.000Z", "borbad")
|
|
|
+ type: "event"
|
|
|
domain: ["borbad.s5l.ru"]
|
|
|
domain_priority: ["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
|
|
|
+ title: "Джазовый вечер с Тимуром Якубовым"
|
|
|
+ content: "# Современный джаз в Борбаде\n\n## О исполнителе\n\nТимур Якубов - известный джазовый пианист..."
|
|
|
+ event_date: "2024-04-15T20:00:00.000Z"
|
|
|
+ end_date: "2024-04-15T22:00:00.000Z"
|
|
|
+ location: "Малый зал"
|
|
|
+ price: 350
|
|
|
+ currency: "TJS"
|
|
|
+ available_tickets: 80
|
|
|
+ total_tickets: 150
|
|
|
+ image: "/assets/borbad.s5l.ru/events/jazz-evening.jpg"
|
|
|
+ tags: ["джаз", "современная музыка", "импровизация"]
|
|
|
+ category_id: "category_jazz_blues_concerts_events_borbad"
|
|
|
+ category_path: ["category_events_borbad", "category_concerts_events_borbad", "category_jazz_blues_concerts_events_borbad"]
|
|
|
+ status: "upcoming"
|
|
|
+ registration_required: true
|
|
|
created_at: currentDate
|
|
|
updated_at: currentDate
|
|
|
}
|
|
|
|
|
|
- # Пользователи - глобальные
|
|
|
+ # Мастер-класс с привязкой к образовательной категории
|
|
|
{
|
|
|
- _id: "user_admin_main"
|
|
|
- type: "user"
|
|
|
- domain: "global"
|
|
|
- email: "admin@borbad.s5l.ru"
|
|
|
- name: "Администратор Борбад"
|
|
|
- role: "admin"
|
|
|
- active: true
|
|
|
- permissions: ["read", "write", "delete", "admin"]
|
|
|
- profile: {
|
|
|
- avatar: "/assets/borbad.s5l.ru/avatars/admin.jpg"
|
|
|
- phone: "+992 37 123-45-67"
|
|
|
- position: "Системный администратор"
|
|
|
- bio: "Ответственный за техническую часть сайта"
|
|
|
- }
|
|
|
- preferences: {
|
|
|
- language: "ru"
|
|
|
- notifications: true
|
|
|
- theme: "dark"
|
|
|
- timezone: "Asia/Dushanbe"
|
|
|
- }
|
|
|
- security: {
|
|
|
- last_password_change: "2024-01-01T00:00:00.000Z"
|
|
|
- two_factor_enabled: true
|
|
|
- login_attempts: 0
|
|
|
- }
|
|
|
- domains_access: ["borbad.s5l.ru", "concert-hall.tj"]
|
|
|
+ _id: @generateEventId("Мастер-класс: Основы вокала", "2024-03-25T15:00:00.000Z", "borbad")
|
|
|
+ type: "event"
|
|
|
+ domain: ["borbad.s5l.ru"]
|
|
|
+ domain_priority: ["borbad.s5l.ru"]
|
|
|
+ language: "ru"
|
|
|
+ title: "Мастер-класс: Основы вокала"
|
|
|
+ content: "# Искусство пения для начинающих\n\n## О ведущем\n\nОперный певец Шариф Мухтаров..."
|
|
|
+ event_date: "2024-03-25T15:00:00.000Z"
|
|
|
+ end_date: "2024-03-25T18:00:00.000Z"
|
|
|
+ location: "Репетиционный зал"
|
|
|
+ price: 200
|
|
|
+ currency: "TJS"
|
|
|
+ available_tickets: 15
|
|
|
+ total_tickets: 20
|
|
|
+ image: "/assets/borbad.s5l.ru/events/vocal-workshop.jpg"
|
|
|
+ tags: ["мастер-класс", "вокал", "образование", "музыка"]
|
|
|
+ category_id: "category_workshops_education_borbad"
|
|
|
+ category_path: ["category_education_borbad", "category_workshops_education_borbad"]
|
|
|
+ status: "upcoming"
|
|
|
+ registration_required: true
|
|
|
created_at: currentDate
|
|
|
updated_at: currentDate
|
|
|
- last_login: "2024-01-15T09:30:00.000Z"
|
|
|
}
|
|
|
|
|
|
- # Заказы - специфичные для домена
|
|
|
+ # Детская программа
|
|
|
{
|
|
|
- _id: @generateOrderId()+"_borbad"
|
|
|
- type: "order"
|
|
|
- domain: "borbad.s5l.ru"
|
|
|
+ _id: @generateEventId("Детская программа: Музыкальная сказка", "2024-04-10T11:00:00.000Z", "borbad")
|
|
|
+ type: "event"
|
|
|
+ domain: ["borbad.s5l.ru"]
|
|
|
+ domain_priority: ["borbad.s5l.ru"]
|
|
|
language: "ru"
|
|
|
- user_id: "user_customer_ivanov"
|
|
|
- status: "completed"
|
|
|
- total: 1500
|
|
|
+ title: "Детская программа: Музыкальная сказка"
|
|
|
+ content: "# Волшебный мир музыки для детей\n\n## Новая постановка\n\nТеатральная студия Борбад представляет..."
|
|
|
+ event_date: "2024-04-10T11:00:00.000Z"
|
|
|
+ end_date: "2024-04-10T12:00:00.000Z"
|
|
|
+ location: "Детский зал"
|
|
|
+ price: 100
|
|
|
currency: "TJS"
|
|
|
- items: [
|
|
|
- {
|
|
|
- product_id: "event_ticket_1"
|
|
|
- name: "Билет на симфонический концерт"
|
|
|
- quantity: 2
|
|
|
- price: 500
|
|
|
- total: 1000
|
|
|
- type: "ticket"
|
|
|
- }
|
|
|
- ]
|
|
|
- customer_info: {
|
|
|
- name: "Иван Иванов"
|
|
|
- email: "ivan@example.com"
|
|
|
- phone: "+992 123-45-67"
|
|
|
- }
|
|
|
- payment_info: {
|
|
|
- method: "card"
|
|
|
- transaction_id: "txn_123456"
|
|
|
- status: "paid"
|
|
|
- amount: 1500
|
|
|
- currency: "TJS"
|
|
|
- payment_date: "2024-01-15T14:00:00.000Z"
|
|
|
- }
|
|
|
- shipping_info: {
|
|
|
- method: "pickup"
|
|
|
- address: null
|
|
|
- tracking_number: null
|
|
|
- }
|
|
|
- metadata: {
|
|
|
- ip_address: "192.168.1.100"
|
|
|
- user_agent: "Mozilla/5.0..."
|
|
|
- source: "website"
|
|
|
- }
|
|
|
- created_at: "2024-01-15T13:45:00.000Z"
|
|
|
- updated_at: "2024-01-15T14:00:00.000Z"
|
|
|
+ available_tickets: 95
|
|
|
+ total_tickets: 100
|
|
|
+ image: "/assets/borbad.s5l.ru/events/children-play.jpg"
|
|
|
+ tags: ["дети", "театр", "образование", "семейный"]
|
|
|
+ category_id: "category_children_programs_education_borbad"
|
|
|
+ category_path: ["category_education_borbad", "category_children_programs_education_borbad"]
|
|
|
+ status: "upcoming"
|
|
|
+ registration_required: true
|
|
|
+ created_at: currentDate
|
|
|
+ updated_at: currentDate
|
|
|
}
|
|
|
]
|
|
|
|
|
|
@@ -561,3 +757,4 @@ if require.main is module
|
|
|
seeder = new DatabaseSeeder('borbad_events')
|
|
|
seeder.initialize().catch (error) ->
|
|
|
debug.log "Критическая ошибка инициализации: "+error
|
|
|
+
|