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