mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-10-31 02:01:51 +08:00
DC3 API
dc3-api owns the protobuf contracts shared between IoT DC3 processes. It contains generated-contract modules only;
business logic belongs in dc3-common-* implementations.
Modules
| Module | Contract surface | Primary consumers |
|---|---|---|
dc3-api-auth |
tenant, user, token, permission, resource registry, MCP runtime | gateway and center services |
dc3-api-data |
point values, command history, event history | manager, drivers, and data clients |
dc3-api-driver |
driver registration and driver-scoped device/point metadata | protocol drivers |
dc3-api-manager |
manager-scoped driver, device, profile, point, command, and event metadata | data and other centers |
Proto sources live under each module's src/main/protobuf/ directory. Generated Java sources are build artifacts and
must not be edited directly.
Contract changes
- Update the affected
.protofiles. - Treat contract changes as a coordinated hard cutover; compatibility shims are not supported.
- Compile the affected module to regenerate Java sources.
- Update server implementations, builders, and clients together.
- Verify tenant propagation, standard gRPC status handling, and single/list cardinality naming.
mvn -s .mvn/settings.xml -q -f dc3-api/pom.xml compile
Use GetXxx for single results and ListXxx for collections, pages, or maps. Do not reintroduce legacy SelectXxx
RPC names.
Documentation ownership
Each child README documents its current services and messages. The .proto files remain the authoritative source for
method names, request/response types, and field definitions.