mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-11-01 02:31:46 +08:00
- migrate auth, manager, data, and agentic persistence to R2DBC - hard cut pagination, facade, gateway, web, and CLI contracts - remove legacy database and TSDB adapters and document validation gates BREAKING CHANGE: platform persistence now requires PostgreSQL 18 with TimescaleDB and the new reactive API contracts.
1.9 KiB
1.9 KiB
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.