[feat][refactor] add Gigachat and edit data users #80
@ -9,13 +9,13 @@
 | 
				
			|||||||
    "id": 2,
 | 
					    "id": 2,
 | 
				
			||||||
    "name": "Командная встреча",
 | 
					    "name": "Командная встреча",
 | 
				
			||||||
    "description": "Ежеквартальная встреча для согласования целей",
 | 
					    "description": "Ежеквартальная встреча для согласования целей",
 | 
				
			||||||
    "date": "2025-02-02T00:00:00Z"
 | 
					    "date": 1672444800000
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "id": 3,
 | 
					    "id": 3,
 | 
				
			||||||
    "name": "День рождения",
 | 
					    "name": "День рождения",
 | 
				
			||||||
    "description": "Празднование 30-летия Ивана",
 | 
					    "description": "Празднование 30-летия Ивана",
 | 
				
			||||||
    "date": "2025-02-02T00:00:00Z"
 | 
					    "date": "2025-01-25"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "id": 4,
 | 
					    "id": 4,
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,83 @@
 | 
				
			|||||||
 | 
					const { v4: uuidv4 } = require('uuid');
 | 
				
			||||||
 | 
					const axios = require('axios');
 | 
				
			||||||
 | 
					const https = require('https');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					process.env.GIGACHAT_AUTH =
 | 
				
			||||||
 | 
					  'YzA2ODg0NTYtYzE3Yi00OGJkLTkyY2MtMzdkM2U0YjE4ZmQ5Ojc0ZWVhN2YxLTI5MWYtNDNiZS05MTY2LWIyZjg5MGY2YWQ3Ng==';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const agent = new https.Agent({
 | 
				
			||||||
 | 
					  rejectUnauthorized: false
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class controller {
 | 
				
			||||||
 | 
					  async getText(req, res) {
 | 
				
			||||||
 | 
					    try {
 | 
				
			||||||
 | 
					      const { text } = req.body;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      const headers = {
 | 
				
			||||||
 | 
					        Authorization: `Basic ${process.env.GIGACHAT_AUTH}`,
 | 
				
			||||||
 | 
					        RqUID: uuidv4(),
 | 
				
			||||||
 | 
					        'Content-Type': 'application/x-www-form-urlencoded',
 | 
				
			||||||
 | 
					        Accept: 'application/json'
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      const access_token = await axios
 | 
				
			||||||
 | 
					        .post('https://ngw.devices.sberbank.ru:9443/api/v2/oauth', encodeURI(`scope=GIGACHAT_API_PERS`), {
 | 
				
			||||||
 | 
					          headers: headers,
 | 
				
			||||||
 | 
					          httpsAgent: agent
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .then((response) => {
 | 
				
			||||||
 | 
					          return response.data.access_token;
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch((error) => {
 | 
				
			||||||
 | 
					          return error;
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      const systemMessage = ` Создай анализ совместимости между двумя людьми и отобрази результат исключительно в формате JSON, который будет результатом работы 'JSON.stringify()'. Он должен состоять из следующих частей:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. **Совместимость** в процентах.
 | 
				
			||||||
 | 
					2. **Список точек соприкосновения**. Перечисли их через запятую.
 | 
				
			||||||
 | 
					3. **Список потенциальных различий**. Перечисли через запятую.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Результат должен быть строкой JSON, полученной через 'JSON.stringify()', и не содержать дополнительных пояснений или текста.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Пример:
 | 
				
			||||||
 | 
					    {"compatibility": 70, "pointsOfContact": ["общие интересы", "совместные увлечения", "взаимное уважение"], "potentialDifferences": ["различные жизненные цели", "противоположные характеры", "несовпадающие ценности"]}
 | 
				
			||||||
 | 
					`;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      const textAI = await axios
 | 
				
			||||||
 | 
					        .post(
 | 
				
			||||||
 | 
					          'https://gigachat.devices.sberbank.ru/api/v1/chat/completions',
 | 
				
			||||||
 | 
					          JSON.stringify({
 | 
				
			||||||
 | 
					            model: 'GigaChat:latest',
 | 
				
			||||||
 | 
					            messages: [
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                role: 'user',
 | 
				
			||||||
 | 
					                content: systemMessage + text
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            ],
 | 
				
			||||||
 | 
					            profanity_check: true
 | 
				
			||||||
 | 
					          }),
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            headers: {
 | 
				
			||||||
 | 
					              'Content-Type': 'application/json',
 | 
				
			||||||
 | 
					              Authorization: `Bearer ${access_token}`
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            httpsAgent: agent
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        .then((response) => {
 | 
				
			||||||
 | 
					          return response.data.choices[0].message.content;
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch((error) => {
 | 
				
			||||||
 | 
					          return error;
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      res.status(200).json({ text: textAI });
 | 
				
			||||||
 | 
					    } catch (e) {
 | 
				
			||||||
 | 
					      res.status(400).json({ message: e });
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = new controller();
 | 
				
			||||||
@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					const router = require('express').Router();
 | 
				
			||||||
 | 
					const controller = require('./controller');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					router.post('/', controller.getText);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module.exports = router;
 | 
				
			||||||
@ -2,8 +2,17 @@ const router = require('express').Router();
 | 
				
			|||||||
const interestsRouter = require('./interests');
 | 
					const interestsRouter = require('./interests');
 | 
				
			||||||
const usersRouter = require('./users');
 | 
					const usersRouter = require('./users');
 | 
				
			||||||
const eventsRouter = require('./events');
 | 
					const eventsRouter = require('./events');
 | 
				
			||||||
 | 
					const gigachatRouter = require('./gigachat');
 | 
				
			||||||
module.exports = router;
 | 
					module.exports = router;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const delay =
 | 
				
			||||||
 | 
					  (ms = 1000) =>
 | 
				
			||||||
 | 
					  (req, res, next) => {
 | 
				
			||||||
 | 
					    setTimeout(next, ms);
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					router.use(delay());
 | 
				
			||||||
router.use('/interests', interestsRouter);
 | 
					router.use('/interests', interestsRouter);
 | 
				
			||||||
router.use('/users', usersRouter);
 | 
					router.use('/users', usersRouter);
 | 
				
			||||||
router.use('/events', eventsRouter);
 | 
					router.use('/events', eventsRouter);
 | 
				
			||||||
 | 
					router.use('/gigachat', gigachatRouter);
 | 
				
			||||||
 | 
				
			|||||||
@ -6,8 +6,8 @@
 | 
				
			|||||||
    "about": "Разработчик с 10-летним стажем, увлекаюсь новыми технологиями.",
 | 
					    "about": "Разработчик с 10-летним стажем, увлекаюсь новыми технологиями.",
 | 
				
			||||||
    "email": "ivan.ivanov@example.com",
 | 
					    "email": "ivan.ivanov@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Новые технологии, ИИ, техника", "label": "Новые технологии, ИИ, техника" },
 | 
					      "Новые технологии, ИИ, техника",
 | 
				
			||||||
      { "value": "Музыка", "label": "Музыка" }
 | 
					      "Музыка"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -17,8 +17,8 @@
 | 
				
			|||||||
    "about": "Люблю путешествия и фотографию, обожаю изучать новые культуры.",
 | 
					    "about": "Люблю путешествия и фотографию, обожаю изучать новые культуры.",
 | 
				
			||||||
    "email": "maria.smirnova@example.com",
 | 
					    "email": "maria.smirnova@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Путешествия и туризм", "label": "Путешествия и туризм" },
 | 
					      "Путешествия и туризм",
 | 
				
			||||||
      { "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" }
 | 
					      "Искусство, фотография и дизайн"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -28,8 +28,8 @@
 | 
				
			|||||||
    "about": "Финансовый аналитик, интересуюсь инвестициями и рынками.",
 | 
					    "about": "Финансовый аналитик, интересуюсь инвестициями и рынками.",
 | 
				
			||||||
    "email": "aleksey.kuznetsov@example.com",
 | 
					    "email": "aleksey.kuznetsov@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Политика, социология, активизм и дебаты", "label": "Политика, социология, активизм и дебаты" },
 | 
					      "Политика, социология, активизм и дебаты",
 | 
				
			||||||
      { "value": "Математика, физика и информатика", "label": "Математика, физика и информатика" }
 | 
					      "Математика, физика и информатика"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -39,8 +39,8 @@
 | 
				
			|||||||
    "about": "Дизайнер интерьеров, люблю создавать уютные и стильные пространства.",
 | 
					    "about": "Дизайнер интерьеров, люблю создавать уютные и стильные пространства.",
 | 
				
			||||||
    "email": "olga.petrovna@example.com",
 | 
					    "email": "olga.petrovna@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" },
 | 
					      "Искусство, фотография и дизайн",
 | 
				
			||||||
      { "value": "Кино и другое многомодальное искусство", "label": "Кино и другое многомодальное искусство" }
 | 
					      "Кино и другое многомодальное искусство"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -50,8 +50,8 @@
 | 
				
			|||||||
    "about": "Тренер по фитнесу, придерживаюсь здорового образа жизни.",
 | 
					    "about": "Тренер по фитнесу, придерживаюсь здорового образа жизни.",
 | 
				
			||||||
    "email": "dmitriy.sidorov@example.com",
 | 
					    "email": "dmitriy.sidorov@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Спорт, фитнес и ЗОЖ", "label": "Спорт, фитнес и ЗОЖ" },
 | 
					      "Спорт, фитнес и ЗОЖ",
 | 
				
			||||||
      { "value": "Волонтерство и благотворительность", "label": "Волонтерство и благотворительность" }
 | 
					      "Волонтерство и благотворительность"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -61,8 +61,8 @@
 | 
				
			|||||||
    "about": "Психолог, занимаюсь личностным ростом и развитием.",
 | 
					    "about": "Психолог, занимаюсь личностным ростом и развитием.",
 | 
				
			||||||
    "email": "elena.volkova@example.com",
 | 
					    "email": "elena.volkova@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Психология и психическое здоровье", "label": "Психология и психическое здоровье" },
 | 
					      "Психология и психическое здоровье",
 | 
				
			||||||
      { "value": "Литература и история", "label": "Литература и история" }
 | 
					      "Литература и история"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -72,8 +72,8 @@
 | 
				
			|||||||
    "about": "Ведущий мероприятий и организатор, люблю работать с людьми.",
 | 
					    "about": "Ведущий мероприятий и организатор, люблю работать с людьми.",
 | 
				
			||||||
    "email": "artem.morozov@example.com",
 | 
					    "email": "artem.morozov@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Настольные игры", "label": "Настольные игры" },
 | 
					      "Настольные игры",
 | 
				
			||||||
      { "value": "Кино и другое многомодальное искусство", "label": "Кино и другое многомодальное искусство" }
 | 
					      "Кино и другое многомодальное искусство"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -83,8 +83,8 @@
 | 
				
			|||||||
    "about": "Веду блог о моде и стиле, увлекаюсь новыми трендами.",
 | 
					    "about": "Веду блог о моде и стиле, увлекаюсь новыми трендами.",
 | 
				
			||||||
    "email": "irina.fedorova@example.com",
 | 
					    "email": "irina.fedorova@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Мода", "label": "Мода" },
 | 
					      "Мода",
 | 
				
			||||||
      { "value": "Путешествия и туризм", "label": "Путешествия и туризм" }
 | 
					      "Путешествия и туризм"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -94,8 +94,8 @@
 | 
				
			|||||||
    "about": "Разработчик мобильных приложений, увлекаюсь игровыми технологиями.",
 | 
					    "about": "Разработчик мобильных приложений, увлекаюсь игровыми технологиями.",
 | 
				
			||||||
    "email": "sergey.chernov@example.com",
 | 
					    "email": "sergey.chernov@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Соревновательные видеоигры", "label": "Соревновательные видеоигры" },
 | 
					      "Соревновательные видеоигры",
 | 
				
			||||||
      { "value": "Новые технологии, ИИ, техника", "label": "Новые технологии, ИИ, техника" }
 | 
					      "Новые технологии, ИИ, техника"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -105,8 +105,8 @@
 | 
				
			|||||||
    "about": "Работаю в области маркетинга, увлекаюсь продвижением брендов.",
 | 
					    "about": "Работаю в области маркетинга, увлекаюсь продвижением брендов.",
 | 
				
			||||||
    "email": "tatyana.lebedeva@example.com",
 | 
					    "email": "tatyana.lebedeva@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Маркетинг", "label": "Маркетинг" },
 | 
					      "Маркетинг",
 | 
				
			||||||
      { "value": "Литература и история", "label": "Литература и история" }
 | 
					      "Литература и история"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -116,8 +116,8 @@
 | 
				
			|||||||
    "about": "Инженер-программист, увлекаюсь разработкой игр и виртуальной реальностью.",
 | 
					    "about": "Инженер-программист, увлекаюсь разработкой игр и виртуальной реальностью.",
 | 
				
			||||||
    "email": "andrey.vasilyev@example.com",
 | 
					    "email": "andrey.vasilyev@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Разработка игр", "label": "Разработка игр" },
 | 
					      "Разработка игр",
 | 
				
			||||||
      { "value": "Виртуальная реальность", "label": "Виртуальная реальность" }
 | 
					      "Виртуальная реальность"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -127,8 +127,8 @@
 | 
				
			|||||||
    "about": "Преподаватель литературы, люблю поэзию и классическую литературу.",
 | 
					    "about": "Преподаватель литературы, люблю поэзию и классическую литературу.",
 | 
				
			||||||
    "email": "natalya.kozlova@example.com",
 | 
					    "email": "natalya.kozlova@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Литература и история", "label": "Литература и история" },
 | 
					      "Литература и история",
 | 
				
			||||||
      { "value": "Образование и наука", "label": "Образование и наука" }
 | 
					      "Образование и наука"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -138,8 +138,8 @@
 | 
				
			|||||||
    "about": "Спортсмен, занимаюсь бегом и триатлоном.",
 | 
					    "about": "Спортсмен, занимаюсь бегом и триатлоном.",
 | 
				
			||||||
    "email": "pavel.novikov@example.com",
 | 
					    "email": "pavel.novikov@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Спорт, фитнес и ЗОЖ", "label": "Спорт, фитнес и ЗОЖ" },
 | 
					      "Спорт, фитнес и ЗОЖ",
 | 
				
			||||||
      { "value": "Путешествия и туризм", "label": "Путешествия и туризм" }
 | 
					      "Путешествия и туризм"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -149,8 +149,8 @@
 | 
				
			|||||||
    "about": "Архитектор, увлекаюсь современным дизайном и урбанистикой.",
 | 
					    "about": "Архитектор, увлекаюсь современным дизайном и урбанистикой.",
 | 
				
			||||||
    "email": "ekaterina.mikhailova@example.com",
 | 
					    "email": "ekaterina.mikhailova@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" },
 | 
					      "Искусство, фотография и дизайн",
 | 
				
			||||||
      { "value": "Урбанистика", "label": "Урбанистика" }
 | 
					      "Урбанистика"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -160,8 +160,8 @@
 | 
				
			|||||||
    "about": "Бизнес-консультант, помогаю компаниям развиваться.",
 | 
					    "about": "Бизнес-консультант, помогаю компаниям развиваться.",
 | 
				
			||||||
    "email": "viktor.sokolov@example.com",
 | 
					    "email": "viktor.sokolov@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Бизнес и предпринимательство", "label": "Бизнес и предпринимательство" },
 | 
					      "Бизнес и предпринимательство",
 | 
				
			||||||
      { "value": "Политика, социология, активизм и дебаты", "label": "Политика, социология, активизм и дебаты" }
 | 
					      "Политика, социология, активизм и дебаты"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -171,8 +171,8 @@
 | 
				
			|||||||
    "about": "Художник, работаю в стиле абстракционизма.",
 | 
					    "about": "Художник, работаю в стиле абстракционизма.",
 | 
				
			||||||
    "email": "anna.pavlova@example.com",
 | 
					    "email": "anna.pavlova@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" },
 | 
					      "Искусство, фотография и дизайн",
 | 
				
			||||||
      { "value": "Кино и другое многомодальное искусство", "label": "Кино и другое многомодальное искусство" }
 | 
					      "Кино и другое многомодальное искусство"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -182,8 +182,8 @@
 | 
				
			|||||||
    "about": "Ученый, занимаюсь исследованиями в области биотехнологий.",
 | 
					    "about": "Ученый, занимаюсь исследованиями в области биотехнологий.",
 | 
				
			||||||
    "email": "denis.ivanov@example.com",
 | 
					    "email": "denis.ivanov@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Биология и биотехнологии", "label": "Биология и биотехнологии" },
 | 
					      "Биология и биотехнологии",
 | 
				
			||||||
      { "value": "Образование и наука", "label": "Образование и наука" }
 | 
					      "Образование и наука"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -193,8 +193,8 @@
 | 
				
			|||||||
    "about": "Повар, специализируюсь на авторской кухне.",
 | 
					    "about": "Повар, специализируюсь на авторской кухне.",
 | 
				
			||||||
    "email": "lyudmila.kuznetsova@example.com",
 | 
					    "email": "lyudmila.kuznetsova@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Кулинария", "label": "Кулинария" },
 | 
					      "Кулинария",
 | 
				
			||||||
      { "value": "Путешествия и туризм", "label": "Путешествия и туризм" }
 | 
					      "Путешествия и туризм"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -204,8 +204,8 @@
 | 
				
			|||||||
    "about": "Музыкант, играю на гитаре и пишу песни.",
 | 
					    "about": "Музыкант, играю на гитаре и пишу песни.",
 | 
				
			||||||
    "email": "grigoriy.petrov@example.com",
 | 
					    "email": "grigoriy.petrov@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Музыка", "label": "Музыка" },
 | 
					      "Музыка",
 | 
				
			||||||
      { "value": "Кино и другое многомодальное искусство", "label": "Кино и другое многомодальное искусство" }
 | 
					      "Кино и другое многомодальное искусство"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -215,8 +215,8 @@
 | 
				
			|||||||
    "about": "Врач, специализируюсь на профилактической медицине.",
 | 
					    "about": "Врач, специализируюсь на профилактической медицине.",
 | 
				
			||||||
    "email": "valentina.semenova@example.com",
 | 
					    "email": "valentina.semenova@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Медицина и здоровье", "label": "Медицина и здоровье" },
 | 
					      "Медицина и здоровье",
 | 
				
			||||||
      { "value": "Спорт, фитнес и ЗОЖ", "label": "Спорт, фитнес и ЗОЖ" }
 | 
					      "Спорт, фитнес и ЗОЖ"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@ -226,8 +226,8 @@
 | 
				
			|||||||
    "about": "Люблю путешествия и фотографию, обожаю изучать новые культуры.",
 | 
					    "about": "Люблю путешествия и фотографию, обожаю изучать новые культуры.",
 | 
				
			||||||
    "email": "maria.smirnova@example.com",
 | 
					    "email": "maria.smirnova@example.com",
 | 
				
			||||||
    "interests": [
 | 
					    "interests": [
 | 
				
			||||||
      { "value": "Путешествия и туризм", "label": "Путешествия и туризм" },
 | 
					      "Путешествия и туризм",
 | 
				
			||||||
      { "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" }
 | 
					      "Искусство, фотография и дизайн"
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user