Align the four api READMEs with the actual protos: Select*->Get*/List* per the CRUD verb convention, fix api/common->api/center import paths for auth/data, drop the fabricated manager SelectByServiceName RPC, and document the previously omitted auth/data/manager services.
DC3 API Manager
Overview
dc3-api-manager provides gRPC service definitions for the Manager Center in the IoT DC3 platform. It defines the
interfaces used by the Data service and other consumers to query
driver, device, point, profile, command, and event metadata from the Manager Center.
Module Information
- Group ID: io.github.pnoker
- Artifact ID: dc3-api-manager
- Version: 2026.5.22
- Package:
io.github.pnoker.api.center.manager
Proto Definitions
manager_driver.proto
Defines driver-related RPC calls from the manager perspective.
Service: DriverApi
ListByPage- Query drivers with pagination supportGetByDriverId- Query driver information by driver IDListByDriverIds- Query drivers by a list of driver IDsGetByDeviceId- Query driver information by device ID
Key Messages:
GrpcPageDriverQuery- Paginated driver query requestGrpcDriverQuery- Driver query by driver ID / device IDGrpcDriverIdsQuery- Driver query by a list of driver IDsGrpcRDriverDTO- Response wrapper containing driver informationGrpcRPageDriverDTO/GrpcRDriverListDTO- Paginated / list responsesGrpcDriverDTO- Driver data structure (service name, driver type, host, etc.)
manager_device.proto
Defines device-related RPC calls from the manager perspective.
Service: DeviceApi
ListByPage- Query devices with pagination supportListByProfileId- Query devices by profile IDListByDriverId- Query devices by driver IDGetByDeviceId- Query device information by device IDListByDeviceIds- Query devices by a list of device IDs
Key Messages:
GrpcPageDeviceQuery- Paginated device query requestGrpcDeviceQuery- Single device queryGrpcDeviceIdsQuery- Device query by a list of device IDsGrpcRDeviceDTO/GrpcRPageDeviceDTO/GrpcRDeviceListDTO- Single / paginated / list responses
manager_point.proto
Defines point-related RPC calls from the manager perspective.
Service: PointApi
ListByPage- Query points with pagination supportGetById- Query point information by point IDListByIds- Query points by a list of point IDs
Key Messages:
GrpcPagePointQuery- Paginated point query requestGrpcPointQuery- Single point queryGrpcPointIdsQuery- Point query by a list of point IDsGrpcRPointDTO/GrpcRPagePointDTO/GrpcRPointListDTO- Single / paginated / list responses
manager_command.proto
Defines command-related RPC calls from the manager perspective.
Service: CommandApi
ListByPage- Query commands with pagination supportGetById- Query command information by command IDListByIds- Query commands by a list of command IDs
manager_event.proto
Defines event-related RPC calls from the manager perspective.
Service: EventApi
ListByPage- Query events with pagination supportGetById- Query event information by event IDListByIds- Query events by a list of event IDs
manager_profile.proto
Defines profile-related RPC calls from the manager perspective.
Service: ProfileApi
ListByPage- Query profiles with pagination supportGetByProfileId- Query profile information by profile IDListByProfileIds- Query profiles by a list of profile IDsListByDeviceId- Query profiles bound to a device
manager_query.proto / manager_query_page.proto
Shared query and paginated query structures for manager RPC calls.
Dependencies
This module depends on common proto definitions:
api/common/entity.proto- Common entity definitionsapi/common/page.proto- Pagination supportapi/common/r.proto- Common response wrapper
Usage
1. Add Dependency
<dependency>
<groupId>io.github.pnoker</groupId>
<artifactId>dc3-api-manager</artifactId>
<version>2026.5.22</version>
</dependency>
2. Inject gRPC Client
@GrpcClient(ManagerConstant.SERVICE_NAME)
private DriverApiGrpc.DriverApiBlockingStub driverApiBlockingStub;
@GrpcClient(ManagerConstant.SERVICE_NAME)
private PointApiGrpc.PointApiBlockingStub pointApiBlockingStub;
3. Query Driver by Device
GrpcDeviceQuery query = GrpcDeviceQuery.newBuilder()
.setDeviceId(deviceId)
.build();
GrpcRDriverDTO response = driverApiBlockingStub.getByDeviceId(query);
if(response.
getResult().
getOk()){
String serviceName = response.getData().getServiceName();
}
Integration Points
- Used by
dc3-common-datato resolve the target driver service name before publishing RabbitMQ commands - Used by
dc3-common-datato look up point metadata for data queries
Build Instructions
# Build the module (run from repo root)
mvn -s .mvn/settings.xml clean package
# Install to local repository
mvn -s .mvn/settings.xml clean install
# Build this module only
mvn -s ../../.mvn/settings.xml clean package
Related Modules
dc3-api-driver- Driver-side gRPC API for driver registration and config syncdc3-common-data- Consumes this API to resolve driver/point metadatadc3-common-manager- Implements this API as@GrpcServiceserver
License
Copyright 2016-present the IoT DC3 original author or authors.
Licensed under the GNU Affero General Public License v3.0 (AGPL 3.0)