import { CanActivate, ExecutionContext, Injectable } from "@nestjs/common";
import { DataSource } from "typeorm";

@Injectable()
export class AuthApiKeyGuard implements CanActivate {
  constructor(private readonly connection: DataSource) {}

  async canActivate(context: ExecutionContext): Promise<boolean> {
    try {
      const request = context.switchToHttp().getRequest();
      const api_key = request.headers["api-key"];
      if (!api_key) {
        return false;
      }
      if (api_key == process.env.API_KEY) {
        return true;
      } else {
        return false;
      }
    } catch (error) {
      console.error("Error in AuthGuard:", error);
      return false;
    }
  }
}
