feat: add base FastAPI project structure with static frontend and API v1
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
"""
|
||||
API v1 package for MokPyo application.
|
||||
|
||||
- Central router for version 1 of the API
|
||||
"""
|
||||
|
||||
from fastapi import APIRouter
|
||||
from .endpoints import router as v1_router
|
||||
|
||||
__version__ = "1.0.0"
|
||||
@@ -0,0 +1,44 @@
|
||||
from fastapi import APIRouter, Depends, HTTPException, status
|
||||
from sqlalchemy.orm import Session
|
||||
from app.core import settings, get_current_user, hash_password, verify_password
|
||||
from app.db import get_db
|
||||
from pathlib import Path
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
# =========================
|
||||
# TEST / PING
|
||||
# =========================
|
||||
@router.get("/ping", tags=["Test"])
|
||||
def ping():
|
||||
return {"message": "pong"}
|
||||
|
||||
# =========================
|
||||
# EXEMPLE UTILISATEUR
|
||||
# =========================
|
||||
@router.get("/me", tags=["User"])
|
||||
def read_current_user(current_user: dict = Depends(get_current_user)):
|
||||
"""
|
||||
Retourne les infos de l'utilisateur connecté
|
||||
"""
|
||||
return {"user": current_user}
|
||||
|
||||
# =========================
|
||||
# EXEMPLE AUTH
|
||||
# =========================
|
||||
@router.post("/hash-password", tags=["Auth"])
|
||||
def test_hash_password(password: str):
|
||||
"""
|
||||
Exemple simple pour hasher un mot de passe
|
||||
"""
|
||||
hashed = hash_password(password)
|
||||
return {"password": password, "hashed": hashed}
|
||||
|
||||
@router.post("/verify-password", tags=["Auth"])
|
||||
def test_verify_password(password: str, hashed: str):
|
||||
"""
|
||||
Vérifie qu'un mot de passe correspond à un hash
|
||||
"""
|
||||
valid = verify_password(password, hashed)
|
||||
return {"valid": valid}
|
||||
|
||||
Reference in New Issue
Block a user