fix: intégration de FileResponse pour servir l'interface d'installation /setup
This commit is contained in:
1 parent
77f691cbb1
commit
9c51ad3ad9
1 file changed
+12
-3
+12
-3
@@ -1,6 +1,7 @@
|
|||||||
from fastapi import FastAPI, Depends, HTTPException, status
|
from fastapi import FastAPI, Depends, HTTPException, status
|
||||||
from fastapi.responses import RedirectResponse
|
from fastapi.responses import RedirectResponse, FileResponse
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
import os
|
||||||
|
|
||||||
# Importation de nos modules locaux
|
# Importation de nos modules locaux
|
||||||
from .database import engine, Base, get_db
|
from .database import engine, Base, get_db
|
||||||
@@ -26,15 +27,23 @@ def read_root(db: Session = Depends(get_db)):
|
|||||||
|
|
||||||
@app.get("/setup")
|
@app.get("/setup")
|
||||||
def setup_page(db: Session = Depends(get_db)):
|
def setup_page(db: Session = Depends(get_db)):
|
||||||
|
"""Affiche l'interface d'installation Vue.js."""
|
||||||
if not is_setup_required(db):
|
if not is_setup_required(db):
|
||||||
return RedirectResponse(url="/login")
|
return RedirectResponse(url="/login")
|
||||||
return {"message": "Assistant d'installation AETHAS38. Veuillez créer le compte Administrateur."}
|
|
||||||
|
# Chemin vers le fichier HTML depuis la racine de l'application Docker (/app)
|
||||||
|
frontend_path = os.path.join(os.getcwd(), "frontend", "index.html")
|
||||||
|
if not os.path.exists(frontend_path):
|
||||||
|
raise HTTPException(status_code=404, detail="Interface introuvable.")
|
||||||
|
|
||||||
|
return FileResponse(frontend_path)
|
||||||
|
|
||||||
@app.get("/login")
|
@app.get("/login")
|
||||||
def login_page(db: Session = Depends(get_db)):
|
def login_page(db: Session = Depends(get_db)):
|
||||||
|
"""Affiche la page de connexion sécurisée."""
|
||||||
if is_setup_required(db):
|
if is_setup_required(db):
|
||||||
return RedirectResponse(url="/setup")
|
return RedirectResponse(url="/setup")
|
||||||
return {"message": "Page de connexion."}
|
return {"message": "Page de connexion (Interface Vue.js à venir)."}
|
||||||
|
|
||||||
@app.post("/api/setup")
|
@app.post("/api/setup")
|
||||||
def create_admin(admin_data: AdminCreate, db: Session = Depends(get_db)):
|
def create_admin(admin_data: AdminCreate, db: Session = Depends(get_db)):
|
||||||
|
|||||||
Reference in new issue
Block a user