import os
from typing import Optional
from fastapi import Request
from dotenv import load_dotenv
from loguru import logger

load_dotenv()

SECRET_KEY = os.getenv("SECRET_KEY")
VERIFY_URL = "https://www.google.com/recaptcha/api/siteverify"


class VerificationForm:
    request: Request
    captcha: Optional[str] = None

    def __init__(self, request: Request):
        self.request = request

    async def load_data(self):
        data = await self.request.form()
        self.captcha = data.get("captcha")
        self.captcha_id = data.get("captcha_id")
        logger.info(f"captcha: {self.captcha}")
        logger.info(f"captcha_id: {self.captcha_id}")
        # self.g_recaptcha_response = data.get("g-recaptcha-response")

    async def is_valid(self):
        if not self.captcha or self.captcha.strip().lower() != os.getenv(
            f"captcha{self.captcha_id}"
        ):
            return False
        return True