Files
deivid 01f04c44d9 persiste datos en ./data/ montado como volumen del host
Reemplaza los bind mounts individuales de cantina.db y .spotify_cache
por un único directorio ./data/ montado en /app/data. El entrypoint
crea el directorio y los archivos vacíos si no existen, evitando que
Docker los cree como directorios al hacer un despliegue limpio.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 17:54:38 -04:00

33 lines
721 B
Python

import os
from fastapi import APIRouter, Request
from fastapi.responses import RedirectResponse
from app import spotify
from app.config import settings
router = APIRouter(prefix="/auth", tags=["auth"])
@router.get("/login")
def spotify_login():
return RedirectResponse(url=spotify.get_auth_url())
@router.get("/callback")
def spotify_callback(code: str):
spotify.exchange_code(code)
return RedirectResponse(url="/")
@router.get("/logout")
def spotify_logout():
try:
os.remove("data/.spotify_cache")
except FileNotFoundError:
pass
return RedirectResponse(url="/auth/login")
@router.get("/status")
def auth_status():
return {"authenticated": spotify.is_authenticated()}