from datetime import datetime, timedelta
from jose import jwt
from app.config import settings


def create_token(data: dict) -> str:
    expire = datetime.utcnow() + timedelta(hours=settings.JWT_EXPIRE_HOURS)
    payload = {**data, "exp": expire}
    return jwt.encode(payload, settings.JWT_SECRET, algorithm="HS256")


def decode_token(token: str) -> dict:
    """JWTError 발생 시 호출측에서 처리"""
    return jwt.decode(token, settings.JWT_SECRET, algorithms=["HS256"])
