// auth.guard.ts
import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common';
import { TelegrafExecutionContext } from 'nestjs-telegraf';

@Injectable()
export class AuthGuard implements CanActivate {
    // Danh sách ID được phép (có thể để trong file .env)
    private readonly allowedIds =(process.env.TELEGRAM_ALLOW_CHAT_IDS || '').split(',');

    canActivate(context: ExecutionContext): boolean {
        console.log('AuthGuard');
        const ctx = TelegrafExecutionContext.create(context);
        const { chat } = ctx.getContext();

        // Kiểm tra nếu chat_id nằm trong danh sách cho phép
        const isAllowed = this.allowedIds.includes(chat.id);

        if (!isAllowed) {
            console.warn(`Truy cập trái phép từ ID: ${chat.id}`);
        }

        return isAllowed;
    }
}
