- 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
26 lines
605 B
TOML
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"]
|