kuzzle-device-manager 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/fixtures/application/app.js +4 -20
- package/dist/features/fixtures/application/app.js.map +1 -1
- package/dist/features/fixtures/application/assets/Container.d.ts +17 -1
- package/dist/features/fixtures/application/assets/Container.js +15 -0
- package/dist/features/fixtures/application/assets/Container.js.map +1 -1
- package/dist/features/fixtures/application/assets/Warehouse.d.ts +2 -0
- package/dist/features/fixtures/application/assets/Warehouse.js +10 -0
- package/dist/features/fixtures/application/assets/Warehouse.js.map +1 -0
- package/dist/lib/modules/asset/AssetService.d.ts +7 -3
- package/dist/lib/modules/asset/AssetService.js +15 -7
- package/dist/lib/modules/asset/AssetService.js.map +1 -1
- package/dist/lib/modules/asset/AssetsController.js +14 -6
- package/dist/lib/modules/asset/AssetsController.js.map +1 -1
- package/dist/lib/modules/asset/types/AssetApi.d.ts +7 -0
- package/dist/lib/modules/shared/types/DigitalTwinContent.d.ts +1 -1
- package/dist/lib/modules/shared/types/Metadata.d.ts +1 -1
- package/package.json +5 -5
|
@@ -8,6 +8,8 @@ const kuzzle_1 = require("kuzzle");
|
|
|
8
8
|
const index_1 = require("../../../index");
|
|
9
9
|
const decoders_1 = require("./decoders");
|
|
10
10
|
const testPipes_1 = require("./testPipes");
|
|
11
|
+
const Container_1 = require("./assets/Container");
|
|
12
|
+
const Warehouse_1 = require("./assets/Warehouse");
|
|
11
13
|
const app = new kuzzle_1.Backend("kuzzle");
|
|
12
14
|
const deviceManager = new index_1.DeviceManagerPlugin();
|
|
13
15
|
deviceManager.models.registerDevice("DummyTempPosition", {
|
|
@@ -23,26 +25,8 @@ deviceManager.models.registerDevice("DummyTemp", {
|
|
|
23
25
|
},
|
|
24
26
|
});
|
|
25
27
|
// Register an asset for the "commons" group
|
|
26
|
-
deviceManager.models.registerAsset("commons", "Container",
|
|
27
|
-
|
|
28
|
-
{ name: "temperatureExt", type: "temperature" },
|
|
29
|
-
{ name: "temperatureInt", type: "temperature" },
|
|
30
|
-
{ name: "position", type: "position" },
|
|
31
|
-
],
|
|
32
|
-
metadataMappings: {
|
|
33
|
-
weight: { type: "integer" },
|
|
34
|
-
height: { type: "integer" },
|
|
35
|
-
},
|
|
36
|
-
defaultMetadata: {
|
|
37
|
-
height: 20,
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
deviceManager.models.registerAsset("commons", "Warehouse", {
|
|
41
|
-
measures: [{ name: "position", type: "position" }],
|
|
42
|
-
metadataMappings: {
|
|
43
|
-
surface: { type: "integer" },
|
|
44
|
-
},
|
|
45
|
-
});
|
|
28
|
+
deviceManager.models.registerAsset("commons", "Container", Container_1.containerAssetDefinition);
|
|
29
|
+
deviceManager.models.registerAsset("commons", "Warehouse", Warehouse_1.warehouseAssetDefinition);
|
|
46
30
|
deviceManager.models.registerMeasure("acceleration", {
|
|
47
31
|
valuesMappings: {
|
|
48
32
|
x: { type: "float" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../features/fixtures/application/app.ts"],"names":[],"mappings":";;;;;AAAA,0DAA6B;AAE7B,mCAAgD;AAEhD,0CAAqD;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../features/fixtures/application/app.ts"],"names":[],"mappings":";;;;;AAAA,0DAA6B;AAE7B,mCAAgD;AAEhD,0CAAqD;AAErD,yCAAwE;AACxE,2CAAgD;AAChD,kDAA8D;AAC9D,kDAA8D;AAE9D,MAAM,GAAG,GAAG,IAAI,gBAAO,CAAC,QAAQ,CAAC,CAAC;AAElC,MAAM,aAAa,GAAG,IAAI,2BAAmB,EAAE,CAAC;AAEhD,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE;IACvD,OAAO,EAAE,IAAI,mCAAwB,EAAE;IACvC,gBAAgB,EAAE;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAC5B;CACF,CAAC,CAAC;AAEH,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE;IAC/C,OAAO,EAAE,IAAI,2BAAgB,EAAE;IAC/B,gBAAgB,EAAE;QAChB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAC3B;CACF,CAAC,CAAC;AAEH,4CAA4C;AAE5C,aAAa,CAAC,MAAM,CAAC,aAAa,CAChC,SAAS,EACT,WAAW,EACX,oCAAwB,CACzB,CAAC;AAEF,aAAa,CAAC,MAAM,CAAC,aAAa,CAChC,SAAS,EACT,WAAW,EACX,oCAAwB,CACzB,CAAC;AAEF,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE;IACnD,cAAc,EAAE;QACd,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACpB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QACpB,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KACrB;CACF,CAAC,CAAC;AAEH,IAAA,6BAAiB,EAAC,GAAG,CAAC,CAAC;AAEvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAE9B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE;IACpE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,mBAAI,CAAC,OAAO,CAAC,cAAc,GAAG;IAC5B,KAAK,EAAE,EAAE;CACV,CAAC;AACF,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK;IACtE,OAAO,CAAC;AACV,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAErD,GAAG;KACA,KAAK,EAAE;KACP,IAAI,CAAC,GAAG,EAAE;IACT,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACtC,CAAC,CAAC;KACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import { Metadata, AssetContent, TemperatureMeasurement, PositionMeasurement, AssetModelDefinition } from "../../../../index";
|
|
2
|
+
export interface ContainerMetadata extends Metadata {
|
|
3
|
+
height: number;
|
|
4
|
+
width: number;
|
|
5
|
+
trailer: {
|
|
6
|
+
weight: number;
|
|
7
|
+
capacity: number;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export type ContainerMeasurements = {
|
|
11
|
+
temperatureExt: TemperatureMeasurement;
|
|
12
|
+
position: PositionMeasurement;
|
|
13
|
+
};
|
|
14
|
+
export interface ContainerAssetContent extends AssetContent<ContainerMeasurements, ContainerMetadata> {
|
|
15
|
+
model: "Container";
|
|
16
|
+
}
|
|
17
|
+
export declare const containerAssetDefinition: AssetModelDefinition;
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.containerAssetDefinition = void 0;
|
|
4
|
+
exports.containerAssetDefinition = {
|
|
5
|
+
measures: [
|
|
6
|
+
{ name: "temperatureExt", type: "temperature" },
|
|
7
|
+
{ name: "temperatureInt", type: "temperature" },
|
|
8
|
+
{ name: "position", type: "position" },
|
|
9
|
+
],
|
|
10
|
+
metadataMappings: {
|
|
11
|
+
weight: { type: "integer" },
|
|
12
|
+
height: { type: "integer" },
|
|
13
|
+
},
|
|
14
|
+
defaultMetadata: {
|
|
15
|
+
height: 20,
|
|
16
|
+
},
|
|
17
|
+
};
|
|
3
18
|
// This function is never called and only exists to make sure the types are correct
|
|
4
19
|
function neverCalled() {
|
|
5
20
|
let container;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../../../features/fixtures/application/assets/Container.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../../../features/fixtures/application/assets/Container.ts"],"names":[],"mappings":";;;AA4Ba,QAAA,wBAAwB,GAAyB;IAC5D,QAAQ,EAAE;QACR,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE;QAC/C,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE;QAC/C,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;KACvC;IACD,gBAAgB,EAAE;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAC5B;IACD,eAAe,EAAE;QACf,MAAM,EAAE,EAAE;KACX;CACF,CAAC;AAEF,mFAAmF;AACnF,SAAS,WAAW;IAClB,IAAI,SAAgC,CAAC;IAErC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;IAC1D,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;IACjD,mBAAmB;IACnB,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACrC,mBAAmB;IACnB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.warehouseAssetDefinition = void 0;
|
|
4
|
+
exports.warehouseAssetDefinition = {
|
|
5
|
+
measures: [{ name: "position", type: "position" }],
|
|
6
|
+
metadataMappings: {
|
|
7
|
+
surface: { type: "integer" },
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=Warehouse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Warehouse.js","sourceRoot":"","sources":["../../../../../features/fixtures/application/assets/Warehouse.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAyB;IAC5D,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAClD,gBAAgB,EAAE;QAChB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAC7B;CACF,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { JSONObject, KDocument, KHit, SearchResult, User } from "kuzzle";
|
|
2
|
-
import { MeasureContent } from "../measure/";
|
|
3
2
|
import { Metadata } from "../shared";
|
|
4
3
|
import { DeviceManagerPlugin } from "../../core";
|
|
5
4
|
import { AssetContent } from "./types/AssetContent";
|
|
6
5
|
import { AssetHistoryService } from "./AssetHistoryService";
|
|
6
|
+
import { ApiAssetGetMeasuresResult } from "./types/AssetApi";
|
|
7
7
|
export declare class AssetService {
|
|
8
8
|
private context;
|
|
9
9
|
private config;
|
|
@@ -21,11 +21,15 @@ export declare class AssetService {
|
|
|
21
21
|
* @param options.startAt Returns measures starting from this date (ISO8601)
|
|
22
22
|
* @param options.endAt Returns measures until this date (ISO8601)
|
|
23
23
|
*/
|
|
24
|
-
getMeasureHistory(engineId: string, assetId: string, { size,
|
|
24
|
+
getMeasureHistory(engineId: string, assetId: string, { size, from, endAt, startAt, query, sort, type, }: {
|
|
25
|
+
sort?: JSONObject;
|
|
26
|
+
query?: JSONObject;
|
|
27
|
+
from?: number;
|
|
25
28
|
size?: number;
|
|
26
29
|
startAt?: string;
|
|
27
30
|
endAt?: string;
|
|
28
|
-
|
|
31
|
+
type?: string;
|
|
32
|
+
}): Promise<ApiAssetGetMeasuresResult>;
|
|
29
33
|
get(engineId: string, assetId: string): Promise<KDocument<AssetContent>>;
|
|
30
34
|
/**
|
|
31
35
|
* Updates an asset metadata
|
|
@@ -33,9 +33,9 @@ class AssetService {
|
|
|
33
33
|
* @param options.startAt Returns measures starting from this date (ISO8601)
|
|
34
34
|
* @param options.endAt Returns measures until this date (ISO8601)
|
|
35
35
|
*/
|
|
36
|
-
async getMeasureHistory(engineId, assetId, { size = 25,
|
|
36
|
+
async getMeasureHistory(engineId, assetId, { size = 25, from = 0, endAt, startAt, query, sort = { measuredAt: "desc" }, type, }) {
|
|
37
37
|
await this.get(engineId, assetId);
|
|
38
|
-
const
|
|
38
|
+
const measuredAtRange = {
|
|
39
39
|
range: {
|
|
40
40
|
measuredAt: {
|
|
41
41
|
gte: 0,
|
|
@@ -44,14 +44,22 @@ class AssetService {
|
|
|
44
44
|
},
|
|
45
45
|
};
|
|
46
46
|
if (startAt) {
|
|
47
|
-
|
|
47
|
+
measuredAtRange.range.measuredAt.gte = new Date(startAt).getTime();
|
|
48
48
|
}
|
|
49
49
|
if (endAt) {
|
|
50
|
-
|
|
50
|
+
measuredAtRange.range.measuredAt.lte = new Date(endAt).getTime();
|
|
51
51
|
}
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
const searchQuery = {
|
|
53
|
+
and: [{ equals: { "asset._id": assetId } }, measuredAtRange],
|
|
54
|
+
};
|
|
55
|
+
if (type) {
|
|
56
|
+
searchQuery.and.push({ equals: { type } });
|
|
57
|
+
}
|
|
58
|
+
if (query) {
|
|
59
|
+
searchQuery.and.push(query);
|
|
60
|
+
}
|
|
61
|
+
const result = await this.sdk.document.search(engineId, core_1.InternalCollection.MEASURES, { query: searchQuery, sort }, { from, lang: "koncorde", size: size });
|
|
62
|
+
return { measures: result.hits, total: result.total };
|
|
55
63
|
}
|
|
56
64
|
async get(engineId, assetId) {
|
|
57
65
|
const asset = await this.sdk.document.get(engineId, core_1.InternalCollection.ASSETS, assetId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetService.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,mCASgB;AAIhB,sCAAiE;AACjE,qCAIoB;AAIpB,6DAA0D;
|
|
1
|
+
{"version":3,"file":"AssetService.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AssetsController = void 0;
|
|
4
|
-
const kuzzle_1 = require("kuzzle");
|
|
5
4
|
const AssetSerializer_1 = require("./model/AssetSerializer");
|
|
6
5
|
class AssetsController {
|
|
7
6
|
constructor(assetService) {
|
|
@@ -41,6 +40,10 @@ class AssetsController {
|
|
|
41
40
|
path: "device-manager/:engineId/assets/:_id/measures",
|
|
42
41
|
verb: "get",
|
|
43
42
|
},
|
|
43
|
+
{
|
|
44
|
+
path: "device-manager/:engineId/assets/:_id/measures",
|
|
45
|
+
verb: "post",
|
|
46
|
+
},
|
|
44
47
|
],
|
|
45
48
|
},
|
|
46
49
|
},
|
|
@@ -100,19 +103,24 @@ class AssetsController {
|
|
|
100
103
|
const id = request.getId();
|
|
101
104
|
const engineId = request.getString("engineId");
|
|
102
105
|
const size = request.input.args.size;
|
|
106
|
+
const from = request.input.args.from;
|
|
103
107
|
const startAt = request.input.args.startAt
|
|
104
108
|
? request.getDate("startAt")
|
|
105
109
|
: null;
|
|
106
110
|
const endAt = request.input.args.endAt ? request.getDate("endAt") : null;
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const measures = await this.assetService.getMeasureHistory(engineId, id, {
|
|
111
|
+
const query = request.input.body?.query;
|
|
112
|
+
const sort = request.input.body?.sort;
|
|
113
|
+
const type = request.input.args.type;
|
|
114
|
+
const { measures, total } = await this.assetService.getMeasureHistory(engineId, id, {
|
|
111
115
|
endAt,
|
|
116
|
+
from,
|
|
117
|
+
query,
|
|
112
118
|
size,
|
|
119
|
+
sort,
|
|
113
120
|
startAt,
|
|
121
|
+
type,
|
|
114
122
|
});
|
|
115
|
-
return { measures };
|
|
123
|
+
return { measures, total };
|
|
116
124
|
}
|
|
117
125
|
}
|
|
118
126
|
exports.AssetsController = AssetsController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsController.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetsController.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AssetsController.js","sourceRoot":"","sources":["../../../../lib/modules/asset/AssetsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,10 +49,17 @@ export interface ApiAssetGetMeasuresRequest extends AssetsControllerRequest {
|
|
|
49
49
|
action: "getMeasures";
|
|
50
50
|
_id: string;
|
|
51
51
|
size?: number;
|
|
52
|
+
from?: number;
|
|
52
53
|
startAt?: string;
|
|
53
54
|
endAt?: string;
|
|
55
|
+
type?: string;
|
|
56
|
+
body?: {
|
|
57
|
+
query?: JSONObject;
|
|
58
|
+
sort?: JSONObject;
|
|
59
|
+
};
|
|
54
60
|
}
|
|
55
61
|
export type ApiAssetGetMeasuresResult = {
|
|
56
62
|
measures: Array<KDocument<MeasureContent<JSONObject>>>;
|
|
63
|
+
total: number;
|
|
57
64
|
};
|
|
58
65
|
export {};
|
|
@@ -6,6 +6,6 @@ export interface DigitalTwinContent<TMeasures extends JSONObject = JSONObject, T
|
|
|
6
6
|
reference: string;
|
|
7
7
|
metadata: TMetadata;
|
|
8
8
|
measures: {
|
|
9
|
-
[Property in keyof TMeasures]: EmbeddedMeasure<TMeasures[Property]
|
|
9
|
+
[Property in keyof TMeasures]: EmbeddedMeasure<TMeasures[Property]> | null;
|
|
10
10
|
};
|
|
11
11
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kuzzle-device-manager",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Manage your IoT devices and assets. Choose a provisioning strategy, receive and decode payload, handle your IoT business logic.",
|
|
5
5
|
"author": "The Kuzzle Team (support@kuzzle.io)",
|
|
6
6
|
"repository": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"test:lint:fix": "eslint ./lib --ext .ts --config .eslintrc.json --fix",
|
|
21
21
|
"prettier": "npx prettier lib/ features/ --write",
|
|
22
22
|
"build": "tsc --build tsconfig.json",
|
|
23
|
-
"
|
|
23
|
+
"prepack": "npm run build"
|
|
24
24
|
},
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"dependencies": {
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/node": "^18.11.18",
|
|
33
|
-
"axios": "^1.2.
|
|
33
|
+
"axios": "^1.2.3",
|
|
34
34
|
"cucumber": "^6.0.5",
|
|
35
35
|
"ergol": "^1.0.2",
|
|
36
36
|
"eslint-plugin-kuzzle": "^0.0.6",
|
|
37
|
-
"kuzzle": "^2.
|
|
38
|
-
"kuzzle-sdk": "^7.10.
|
|
37
|
+
"kuzzle": "^2.20.0",
|
|
38
|
+
"kuzzle-sdk": "^7.10.4",
|
|
39
39
|
"should": "^13.2.3",
|
|
40
40
|
"ts-node": "^10.9.1",
|
|
41
41
|
"typescript": "^4.9.4"
|