Loading...
Loading...
Compare original and translation side by side
$OPENCLAW_API_KEYopenclaw ddd generate-context --name MyContext --description "User management" --language python./my_context/openclaw ddd generate-aggregate --context MyContext --name AccountAggregate --root EntityName --invariants "balance > 0"account_aggregate.pyopenclaw ddd generate-entity --context MyContext --name UserEntity --properties "id:UUID, name:String"openclaw ddd generate-event --context MyContext --name UserCreatedEvent --payload "user_id:UUID"{"name": "MyContext", "description": "User management", "language": "python"}Authorization: Bearer $OPENCLAW_API_KEY{"context": "MyContext", "name": "AccountAggregate", "root": "Account", "invariants": ["balance > 0"]}.openclaw/config.ymlddd:
default_language: python
contexts:
- name: MyContext
description: User managementimport openclaw.ddd as oc
oc.generate_context(name="MyContext", description="User management")
context = oc.load_context("MyContext")from openclaw.ddd import Aggregate
class AccountAggregate(Aggregate):
def __init__(self, account_id):
self.root = Entity(account_id) # Assuming Entity is generated$OPENCLAW_API_KEYopenclaw ddd generate-context --name MyContext --description "User management" --language python./my_context/openclaw ddd generate-aggregate --context MyContext --name AccountAggregate --root EntityName --invariants "balance > 0"account_aggregate.pyopenclaw ddd generate-entity --context MyContext --name UserEntity --properties "id:UUID, name:String"openclaw ddd generate-event --context MyContext --name UserCreatedEvent --payload "user_id:UUID"{"name": "MyContext", "description": "User management", "language": "python"}Authorization: Bearer $OPENCLAW_API_KEY{"context": "MyContext", "name": "AccountAggregate", "root": "Account", "invariants": ["balance > 0"]}.openclaw/config.ymlddd:
default_language: python
contexts:
- name: MyContext
description: User managementimport openclaw.ddd as oc
oc.generate_context(name="MyContext", description="User management")
context = oc.load_context("MyContext")from openclaw.ddd import Aggregate
class AccountAggregate(Aggregate):
def __init__(self, account_id):
self.root = Entity(account_id) # Assuming Entity is generated$OPENCLAW_API_KEY=your_api_keypip install openclawopenclaw ddd generate-context--language java$OPENCLAW_API_KEY=your_api_keypip install openclawopenclaw ddd generate-context--language javaif [ $? -ne 0 ]; then echo "Error: Invalid input"; fitry:
oc.generate_aggregate(context="MyContext", name="InvalidAggregate", invariants=["invalid"])
except oc.DDDValidationError as e: # Specific error for invariant checks
print(f"Error: {e.message} - Fix invariants and retry")
except oc.AuthError as e: # For $OPENCLAW_API_KEY issues
print("Error: Authentication failed - Set $OPENCLAW_API_KEY")--validateif [ $? -ne 0 ]; then echo "Error: Invalid input"; fitry:
oc.generate_aggregate(context="MyContext", name="InvalidAggregate", invariants=["invalid"])
except oc.DDDValidationError as e: # 针对不变量检查的特定错误
print(f"Error: {e.message} - Fix invariants and retry")
except oc.AuthError as e: # 针对$OPENCLAW_API_KEY问题
print("Error: Authentication failed - Set $OPENCLAW_API_KEY")--validateopenclaw ddd generate-context --name OrderContext --description "Manages orders" --modules orders,items./order_context/orders.py./order_context/items.pyopenclaw ddd generate-aggregate --context OrderContext --name OrderAggregate --root Order --invariants "total > 0"from order_context.aggregates import OrderAggregate; order = OrderAggregate(order_id=1)openclaw ddd generate-event --context UserContext --name UserRegisteredEvent --payload "user_id:UUID, email:String"./user_context/events/user_registered_event.pycurl -H "Authorization: Bearer $OPENCLAW_API_KEY" -X POST /api/v1/ddd/events -d '{"context": "UserContext", "event": "UserRegisteredEvent", "payload": {"user_id": "123"}}'oc.publish_event(context="UserContext", event="UserRegisteredEvent", payload={"user_id": "123"})openclaw ddd generate-context --name OrderContext --description "Manages orders" --modules orders,items./order_context/orders.py./order_context/items.pyopenclaw ddd generate-aggregate --context OrderContext --name OrderAggregate --root Order --invariants "total > 0"from order_context.aggregates import OrderAggregate; order = OrderAggregate(order_id=1)openclaw ddd generate-event --context UserContext --name UserRegisteredEvent --payload "user_id:UUID, email:String"./user_context/events/user_registered_event.pycurl -H "Authorization: Bearer $OPENCLAW_API_KEY" -X POST /api/v1/ddd/events -d '{"context": "UserContext", "event": "UserRegisteredEvent", "payload": {"user_id": "123"}}'oc.publish_event(context="UserContext", event="UserRegisteredEvent", payload={"user_id": "123"})