import { JSONObject } from "kuzzle-sdk"; import { DigitalTwinContent, Metadata } from "../../shared"; /** * Asset document content */ export interface AssetContent extends DigitalTwinContent { /** * Link with attached device */ linkedDevices: Array<{ /** * Device ID */ _id: string; /** * Names of the linked measures * * Array<{ asset: string, device: string, type: string }> * * @example * * [ * { asset: "externalTemperature", device: "temperature", type: "temperature" } * ] */ measureNames: Array<{ asset: string; device: string; type: string; }>; }>; /** * Id's of asset groups */ groups: Array<{ id: string; date: number; }>; /** * Id's of soft tenants * ! Not used directly in this plugin */ softTenant?: Array; } /** * Asset description used to contextualize each measure data point */ export type AssetMeasureContext = { /** * ID of the asset */ _id: string; /** * Name of the measure for the Asset */ measureName: string; } & Pick, "model" | "reference" | "metadata" | "groups" | "softTenant">;