"""Use real owner-controlled grants when creating this node, not demo callers."""
from easyremote import ComputeNode, Context
from orders import OrderService


def create_node(service: OrderService) -> ComputeNode:
    node = ComputeNode(namespace="orders")

    @node.register
    def get_order(ctx: Context, order_id: str) -> dict:
        """Read an authorized order; returned fields depend on caller scope."""
        return service.get_order(ctx.caller, order_id)

    return node
