"""驗 magic_link TTL 是 30 min。"""
import os, sys
ENV = "/volume1/homes/robertsu/coba/app/.env"
if os.path.exists(ENV):
    for l in open(ENV):
        if "=" in l and not l.startswith("#"):
            k, v = l.strip().split("=", 1); os.environ.setdefault(k, v)
sys.path.insert(0, "/volume1/homes/robertsu/coba/app")

from uuid import uuid4
from app.services.magic_link import generate_magic_link, MAGIC_TOKEN_TTL_SEC, consume_magic_token

print(f"MAGIC_TOKEN_TTL_SEC = {MAGIC_TOKEN_TTL_SEC} ({MAGIC_TOKEN_TTL_SEC // 60} 分鐘)")

uid = uuid4()
link = generate_magic_link(uid)
print(f"sample link:\n{link}")
print(f"len token: {len(link.split('?t=')[1])}")

# 拆解 JWT 看 exp
import jwt
from app.config import settings
token = link.split("?t=")[1]
payload = jwt.decode(token, settings.JWT_SECRET_KEY, algorithms=[settings.JWT_ALGORITHM])
print(f"payload exp - iat = {payload['exp'] - payload['iat']} 秒")
