alpha-test

This commit is contained in:
2025-09-18 13:46:35 +09:00
parent 85027a7747
commit 5ea3e8c1f3
27 changed files with 5887 additions and 174 deletions

View File

@@ -24,9 +24,9 @@ export class VipService {
// Проверить премиум статус пользователя
async checkPremiumStatus(telegramId: string): Promise<PremiumInfo> {
try {
// Проверяем существование пользователя
// Проверяем существование пользователя и получаем его премиум статус
const result = await query(`
SELECT id
SELECT id, premium
FROM users
WHERE telegram_id = $1
`, [telegramId]);
@@ -35,12 +35,13 @@ export class VipService {
throw new BotError('User not found', 'USER_NOT_FOUND', 404);
}
// Временно возвращаем false для всех пользователей, так как колонки premium нет
// В будущем, когда колонки будут добавлены, этот код нужно будет заменить обратно
// Получаем актуальное значение премиум статуса из базы данных
const isPremium = result.rows[0].premium || false;
return {
isPremium: false,
expiresAt: undefined,
daysLeft: undefined
isPremium: isPremium,
expiresAt: undefined, // Пока не используем дату истечения
daysLeft: undefined // Пока не используем количество дней
};
} catch (error) {
console.error('Error checking premium status:', error);
@@ -51,9 +52,17 @@ export class VipService {
// Добавить премиум статус
async addPremium(telegramId: string, durationDays: number = 30): Promise<void> {
try {
// Временно заглушка, так как колонок premium и premium_expires_at нет
console.log(`[VIP] Попытка добавить премиум для ${telegramId} на ${durationDays} дней`);
// TODO: Добавить колонки premium и premium_expires_at в таблицу users
console.log(`[VIP] Добавление премиум для ${telegramId} на ${durationDays} дней`);
// Обновляем статус premium в базе данных
await query(`
UPDATE users
SET premium = true
WHERE telegram_id = $1
RETURNING id, telegram_id, premium
`, [telegramId]);
console.log(`[VIP] Премиум успешно добавлен для пользователя ${telegramId}`);
} catch (error) {
console.error('Error adding premium:', error);
throw error;
@@ -63,9 +72,17 @@ export class VipService {
// Удалить премиум статус
async removePremium(telegramId: string): Promise<void> {
try {
// Временно заглушка, так как колонок premium и premium_expires_at нет
console.log(`[VIP] Попытка удалить премиум для ${telegramId}`);
// TODO: Добавить колонки premium и premium_expires_at в таблицу users
console.log(`[VIP] Удаление премиум для ${telegramId}`);
// Обновляем статус premium в базе данных
await query(`
UPDATE users
SET premium = false
WHERE telegram_id = $1
RETURNING id, telegram_id, premium
`, [telegramId]);
console.log(`[VIP] Премиум успешно удален для пользователя ${telegramId}`);
} catch (error) {
console.error('Error removing premium:', error);
throw error;