Новые изменения в компонентах

This commit is contained in:
Web-serfer 2026-04-22 19:01:09 +05:00
parent 5bb4525f63
commit d4394a7597
5 changed files with 145 additions and 34 deletions

76
scripts/create-review.ts Normal file
View file

@ -0,0 +1,76 @@
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();