Files
konstruct/packages/shared/pyproject.toml
Adolfo Delorenzo 7b348b97e9 feat(01-04): FastAPI portal API endpoints with tenant/agent CRUD and auth
- Add packages/shared/shared/api/portal.py with APIRouter at /api/portal
- POST /auth/verify validates bcrypt credentials against portal_users table
- POST /auth/register creates new portal users with hashed passwords
- Tenant CRUD: GET/POST /tenants, GET/PUT/DELETE /tenants/{id}
- Agent CRUD: full CRUD under /tenants/{tenant_id}/agents/{id}
- Agent endpoints set RLS current_tenant_id context for policy compliance
- Pydantic v2 schemas with slug validation (lowercase, hyphens, 2-50 chars)
- Add bcrypt>=4.0.0 dependency to konstruct-shared
- Integration tests: 38 tests covering all CRUD, validation, and isolation
2026-03-23 10:05:07 -06:00

26 lines
605 B
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "konstruct-shared"
version = "0.1.0"
description = "Shared Pydantic models, SQLAlchemy ORM, and utilities for Konstruct"
requires-python = ">=3.12"
dependencies = [
"fastapi[standard]>=0.115.0",
"pydantic[email]>=2.12.0",
"pydantic-settings>=2.8.0",
"sqlalchemy[asyncio]>=2.0.36",
"asyncpg>=0.31.0",
"alembic>=1.14.0",
"redis>=5.2.0",
"celery[redis]>=5.4.0",
"httpx>=0.28.0",
"slowapi>=0.1.9",
"bcrypt>=4.0.0",
]
[tool.hatch.build.targets.wheel]
packages = ["shared"]