dodil/erp-brick-inventory

DODIL ERP brick: inventory

src/brick_inventory/application/use_cases.py

"""The use cases - what a person (or their agent) can do here - declared once each, served as an API route and an MCP tool.

They live in one module per part of the work, all registered on the same Brick (application/brick.py). Two things are decided
here and nowhere else: WHO MAY (the `permission` on the declaration, or an explicit check for what is a 404 to the caller) and
WHICH ROWS (cost and value only to inv:valuation:read; sales sees availability only). The MCP server is another adapter beside
the routes over the SAME use cases, so it holds no rules and cannot drift from the API.
"""
from brick_inventory.application.brick import INV  # noqa: F401
from brick_inventory.application.unit import _default_repository

repository = _default_repository   # erp-platform's composition swaps this one; unit.repository reads it per call

from brick_inventory.application import warehouses  # noqa: F401  isort: skip
from brick_inventory.application import receipts  # noqa: F401  isort: skip
from brick_inventory.application import stock  # noqa: F401  isort: skip
from brick_inventory.application import reservations  # noqa: F401  isort: skip
from brick_inventory.application import deliveries  # noqa: F401  isort: skip
from brick_inventory.application import transfers  # noqa: F401  isort: skip
from brick_inventory.application import counts  # noqa: F401  isort: skip
from brick_inventory.application import valuation_ops  # noqa: F401  isort: skip
from brick_inventory.application import planning  # noqa: F401  isort: skip
from brick_inventory.application import issues  # noqa: F401  isort: skip
from brick_inventory.application import trace  # noqa: F401  isort: skip
from brick_inventory.application import consignment  # noqa: F401  isort: skip
from brick_inventory.application import odoo_migration  # noqa: F401  isort: skip
from brick_inventory.application import returns  # noqa: F401  isort: skip
from brick_inventory.application import replenishment  # noqa: F401  isort: skip
from brick_inventory.application import warehouse_ops  # noqa: F401  isort: skip
from brick_inventory.application import source_ops  # noqa: F401  isort: skip