zabbix-graphql-api/schema/device_value_commons.graphql
Andreas Hilbig a01bfabfba docs: refactor documentation and upgrade to Node.js 24
This commit upgrades the project to Node.js 24 (LTS) and performs a major refactoring of the documentation to support both advanced users and AI-based automation (MCP).

Changes:
- Environment & CI/CD:
  - Set Node.js version to >=24 in package.json and .nvmrc.
  - Updated Dockerfile to use Node 24 base image.
  - Updated @types/node to ^24.10.9.
- Documentation:
  - Refactored README.md with comprehensive technical reference, configuration details, and Zabbix-to-GraphQL mapping.
  - Created docs/howtos/cookbook.md with practical recipes for common tasks and AI test generation.
  - Updated docs/howtos/mcp.md to emphasize GraphQL's advantages for AI agents and Model Context Protocol.
  - Added readme.improvement.plan.md to track documentation evolution.
  - Enhanced all how-to guides with improved cross-references and up-to-date information.
- Guidelines:
  - Updated .junie/guidelines.md with Node 24 requirements and enhanced commit message standards (Conventional Commits 1.0.0).
- Infrastructure & Code:
  - Updated docker-compose.yml with Apollo MCP server integration.
  - Refined configuration and schema handling in src/api/ and src/datasources/.
  - Synchronized generated TypeScript types with schema updates.
2026-01-30 14:35:31 +01:00

52 lines
1.6 KiB
GraphQL

"""
Represents a message containing information about a specific device and its associated data value.
The interface is designed to be extended by other types that define more structured or specialized types
of device value messages.
"""
interface DeviceValueMessage {
"""
A unique identifier used to distinguish a specific device within the system.
This field is commonly used to associate messages, configurations, or data values
with a particular device.
"""
deviceKey: String
"""
Represents the timestamp at which a specific event, message, or data point was created or recorded.
The format should align with standard expectations (e.g. ISO 8601).
"""
timestamp: String
"""
Represents the name assigned to a set of values that are submitted together with a single timestamp.
This name is associated with a well-defined data structure.
"""
attributeName: String
"""
Represents the name of the sub-topic to which the attribute is submitted.
Classification or grouping of data within a broader topic structure.
"""
topicName: String
"""
Specifies the type or category of the device. Used to define the classification
of a device in the system (capabilities, functionalities, or purpose).
"""
deviceType: String
"""
Retrieves the value associated with the current instance of the object.
"""
value: DeviceValue
}
"""
Marker-interface for device-related data values.
"""
interface DeviceValue {
"""
Dummy field to allow for empty interfaces.
"""
_empty: String
}