mirror of
https://github.com/blackboxprogramming/BlackRoad-Operating-System.git
synced 2026-03-18 01:34:00 -05:00
Fix backend dependencies and document new API tags
This commit is contained in:
@@ -13,18 +13,20 @@ class Settings(BaseSettings):
|
|||||||
ENVIRONMENT: str = "development"
|
ENVIRONMENT: str = "development"
|
||||||
|
|
||||||
# Database
|
# Database
|
||||||
DATABASE_URL: str
|
# Provide sensible defaults so local development and tests can run
|
||||||
DATABASE_ASYNC_URL: str
|
# without requiring environment configuration.
|
||||||
|
DATABASE_URL: str = "sqlite:///./test.db"
|
||||||
|
DATABASE_ASYNC_URL: str = "sqlite+aiosqlite:///./test.db"
|
||||||
|
|
||||||
# Redis
|
# Redis
|
||||||
REDIS_URL: str = "redis://localhost:6379/0"
|
REDIS_URL: str = "redis://localhost:6379/0"
|
||||||
|
|
||||||
# Security
|
# Security
|
||||||
SECRET_KEY: str
|
SECRET_KEY: str = "local-dev-secret-key"
|
||||||
ALGORITHM: str = "HS256"
|
ALGORITHM: str = "HS256"
|
||||||
ACCESS_TOKEN_EXPIRE_MINUTES: int = 30
|
ACCESS_TOKEN_EXPIRE_MINUTES: int = 30
|
||||||
REFRESH_TOKEN_EXPIRE_DAYS: int = 7
|
REFRESH_TOKEN_EXPIRE_DAYS: int = 7
|
||||||
WALLET_MASTER_KEY: str
|
WALLET_MASTER_KEY: str = "local-wallet-master-key-32chars-0000"
|
||||||
|
|
||||||
# CORS
|
# CORS
|
||||||
ALLOWED_ORIGINS: str = "http://localhost:3000,http://localhost:8000"
|
ALLOWED_ORIGINS: str = "http://localhost:3000,http://localhost:8000"
|
||||||
|
|||||||
@@ -18,6 +18,18 @@ from app.routers import (
|
|||||||
from app.services.crypto import rotate_plaintext_wallet_keys
|
from app.services.crypto import rotate_plaintext_wallet_keys
|
||||||
|
|
||||||
|
|
||||||
|
openapi_tags = [
|
||||||
|
{"name": "railway", "description": "Railway deployment management"},
|
||||||
|
{"name": "vercel", "description": "Vercel project automation"},
|
||||||
|
{"name": "stripe", "description": "Stripe billing integrations"},
|
||||||
|
{"name": "twilio", "description": "Twilio messaging"},
|
||||||
|
{"name": "slack", "description": "Slack workspace automation"},
|
||||||
|
{"name": "discord", "description": "Discord community integrations"},
|
||||||
|
{"name": "sentry", "description": "Sentry monitoring hooks"},
|
||||||
|
{"name": "health", "description": "BlackRoad OS service health"},
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
@asynccontextmanager
|
@asynccontextmanager
|
||||||
async def lifespan(app: FastAPI):
|
async def lifespan(app: FastAPI):
|
||||||
"""Application lifespan events"""
|
"""Application lifespan events"""
|
||||||
@@ -55,7 +67,8 @@ app = FastAPI(
|
|||||||
lifespan=lifespan,
|
lifespan=lifespan,
|
||||||
docs_url="/api/docs",
|
docs_url="/api/docs",
|
||||||
redoc_url="/api/redoc",
|
redoc_url="/api/redoc",
|
||||||
openapi_url="/api/openapi.json"
|
openapi_url="/api/openapi.json",
|
||||||
|
openapi_tags=openapi_tags,
|
||||||
)
|
)
|
||||||
|
|
||||||
# CORS middleware
|
# CORS middleware
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ sqlalchemy==2.0.23
|
|||||||
alembic==1.12.1
|
alembic==1.12.1
|
||||||
psycopg2-binary==2.9.9
|
psycopg2-binary==2.9.9
|
||||||
asyncpg==0.29.0
|
asyncpg==0.29.0
|
||||||
|
aiosqlite==0.19.0
|
||||||
|
|
||||||
# Authentication & Security
|
# Authentication & Security
|
||||||
python-jose[cryptography]==3.3.0
|
python-jose[cryptography]==3.3.0
|
||||||
@@ -24,7 +25,7 @@ boto3==1.29.7
|
|||||||
botocore==1.32.7
|
botocore==1.32.7
|
||||||
|
|
||||||
# Email
|
# Email
|
||||||
python-email-validator==2.1.0
|
email-validator==2.1.0.post1
|
||||||
emails==0.6.0
|
emails==0.6.0
|
||||||
jinja2==3.1.2
|
jinja2==3.1.2
|
||||||
|
|
||||||
@@ -54,8 +55,8 @@ httpx==0.25.2
|
|||||||
# Monitoring
|
# Monitoring
|
||||||
prometheus-client==0.19.0
|
prometheus-client==0.19.0
|
||||||
|
|
||||||
# CORS
|
# CORS (handled by Starlette/FastAPI)
|
||||||
python-cors==1.0.0
|
# Dependency removed because package does not exist on PyPI.
|
||||||
|
|
||||||
# New API Integrations (Railway, Vercel, Stripe, Twilio, Slack, Discord, Sentry)
|
# New API Integrations (Railway, Vercel, Stripe, Twilio, Slack, Discord, Sentry)
|
||||||
# Note: Most integrations use httpx (already included above)
|
# Note: Most integrations use httpx (already included above)
|
||||||
|
|||||||
Reference in New Issue
Block a user