Automated Action 938b6d4153 Create a simple generic REST API with FastAPI and SQLite
Implemented a complete FastAPI backend with:
- Project structure with FastAPI and SQLAlchemy
- SQLite database with proper configuration
- Alembic for database migrations
- Generic Item resource with CRUD operations
- REST API endpoints with proper validation
- Health check endpoint
- Documentation and setup instructions
2025-05-17 20:57:23 +00:00

31 lines
1003 B
Python

import secrets
from pydantic import AnyHttpUrl, BaseSettings, validator
class Settings(BaseSettings):
API_V1_STR: str = "/api/v1"
SECRET_KEY: str = secrets.token_urlsafe(32)
# 60 minutes * 24 hours * 8 days = 8 days
ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 8
# BACKEND_CORS_ORIGINS is a JSON-formatted list of origins
# e.g: '["http://localhost", "http://localhost:4200", "http://localhost:3000", \
# "http://localhost:8080", "http://local.dockertoolbox.tiangolo.com"]'
BACKEND_CORS_ORIGINS: list[AnyHttpUrl] = []
@validator("BACKEND_CORS_ORIGINS", pre=True)
def assemble_cors_origins(cls, v: str | list[str]) -> list[str] | str:
if isinstance(v, str) and not v.startswith("["):
return [i.strip() for i in v.split(",")]
elif isinstance(v, (list, str)):
return v
raise ValueError(v)
PROJECT_NAME: str = "Generic REST API Service"
class Config:
case_sensitive = True
settings = Settings()