import PocketBase from 'pocketbase'; const PB_URL = process.env.POCKETBASE_URL || 'http://127.0.0.1:8090'; const ADMIN_EMAIL = process.env.PB_ADMIN_EMAIL; const ADMIN_PASSWORD = process.env.PB_ADMIN_PASSWORD; async function createReview() { if (!ADMIN_EMAIL || !ADMIN_PASSWORD) { console.error('❌ Укажите PB_ADMIN_EMAIL и PB_ADMIN_PASSWORD в .env'); process.exit(1); } const pb = new PocketBase(PB_URL); try { await pb.admins.authWithPassword(ADMIN_EMAIL, ADMIN_PASSWORD); console.log('✅ Подключено к PocketBase'); } catch (e) { console.error('❌ Ошибка авторизации admin'); process.exit(1); } const testEmail = 'vasiliy.sinicin@yandex.ru'; const testPassword = 'TestPass123!'; let userId: string; try { const existingUser = await pb.collection('users').getList(1, 1, { filter: `email = "${testEmail}"`, }); if (existingUser.items.length > 0) { userId = existingUser.items[0].id; console.log('ℹ️ Использован существующий пользователь:', userId); } else { const user = await pb.collection('users').create({ email: testEmail, password: testPassword, passwordConfirm: testPassword, name: 'Тестовый Пользователь', }); userId = user.id; console.log('✅ Создан пользователь:', userId); } } catch (e: any) { console.error('❌ Ошибка создания пользователя:', e.data || e.message); process.exit(1); } try { const review = await pb.collection('reviews').create({ user: userId, name: 'Василий', surname: 'Синицин', profession: 'Предприниматель', text: 'Помогли вернуть права после лишения. Всё сделали быстро и профессионально. Через 2 месяца права уже были у меня. Рекомендую!', rating: 5, votesCount: 0, status: 'published', }); console.log('✅ Отзыв создан'); console.log(' ID:', review.id); console.log(' rating:', review.rating); console.log(' status:', review.status); } catch (e: any) { if (e.data?.message?.includes('already exists')) { console.log('ℹ️ Отзыв уже существует'); } else { console.error('❌ Ошибка:', e.data || e.message); } } } createReview();