Files
MemoryBear/api/app/controllers/setup_controller.py

24 lines
749 B
Python

from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from app.core.response_utils import success
from app.db import get_db
from app.schemas.response_schema import ApiResponse
from app.services import user_service
router = APIRouter(
prefix="/setup",
tags=["Setup"],
)
@router.post("", summary="Create the first superuser", response_model=ApiResponse)
def setup_initial_user(db: Session = Depends(get_db)):
"""
Create the initial superuser. This can only be run once.
Reads credentials from environment variables.
"""
user = user_service.create_initial_superuser(db)
if not user:
return success(msg="Superuser already exists.")
return success(msg="Superuser created successfully.")