Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add actions to get last measures on digital twins #363

Merged
merged 3 commits into from
Sep 2, 2024

Conversation

Kuruyia
Copy link
Contributor

@Kuruyia Kuruyia commented Aug 27, 2024

What does this PR do ?

This adds the following actions to the device-manager:assets and device-manager/devices controllers:

  • getLastMeasuredAt: returns the timestamp of the last measure of an asset/device
  • mGetLastMeasuredAt: same as the previous action, for multiple assets/devices
  • getLastMeasures: returns the measures of an asset/device, in the same format as they are currently stored in the asset/device documents
  • mGetLastMeasures: same as the previous action, for multiple assets/devices

Those new actions use the measures collection in order to extract those data.

This is in preparation for the removal of the measures and lastMeasuredAt fields in the documents of the assets and devices collections.

Other changes

A dedicated DigitalTwinMeasures type has been added to describe the contents of an object that contains the measures of an asset/device.

Boyscout

Cleaned up and fixed some potentially flaky tests.

KZLPRD-438

Copy link
Member

@etrousset etrousset left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we be able to request for the lastMeasuredAt for a particular data slot (measure name) ?

@Kuruyia
Copy link
Contributor Author

Kuruyia commented Aug 28, 2024

Shouldn't we be able to request for the lastMeasuredAt for a particular data slot (measure name) ?

This is supposed to replace the lastMeasuredAt that's in the asset/device documents, so I don't think this is the place to implement that.

Furthermore, you can get the lastMeasuredAt of a specific measure using the already existing getMeasures action.

@etrousset etrousset merged commit b8005a2 into 2-dev Sep 2, 2024
3 checks passed
@etrousset etrousset deleted the feat/get-last-measures-actions branch September 2, 2024 08:11
github-actions bot pushed a commit that referenced this pull request Sep 18, 2024
# [2.4.0-beta.21](v2.4.0-beta.20...v2.4.0-beta.21) (2024-09-18)

### Bug Fixes

* only list asset models for the requested engine group ([#367](#367)) ([8a14207](8a14207))

### Features

* add actions to get last measures on digital twins ([#363](#363)) ([b8005a2](b8005a2))
* add search actions for the models ([#362](#362)) ([9990e57](9990e57))
* improve search model request types ([#364](#364)) ([5310ad1](5310ad1))
* **metadata:** add optional editor hints for metadata ([#370](#370)) ([afc5129](afc5129))
* **roles:** add specific roles for assets and devices ([#365](#365)) ([a01982c](a01982c))
github-actions bot pushed a commit that referenced this pull request Sep 27, 2024
# [2.4.0-dev.1](v2.3.2...v2.4.0-dev.1) (2024-09-27)

### Bug Fixes

* add specific dev branch in releaserc.js ([e11a823](e11a823))
* **asset_migration:** fixes multiple assets migration and optimize ([fd546cf](fd546cf))
* **assetsGroups:** disable checkRights on impersonate ([#325](#325)) ([eaa3edc](eaa3edc))
* **assets:** migrate tenant only if user is admin ([c24f942](c24f942))
* **assetsMigrateTenant:** add type for frontend and fix admin only ([e249f13](e249f13))
* catch errors when updating the mappings on startup ([#338](#338)) ([e09c5a3](e09c5a3))
* **ci:** correct github token in ci ([a5a6b69](a5a6b69))
* **ci:** fix npm glob not working anymore ([18e79aa](18e79aa))
* copy-version script ([72b5e49](72b5e49))
* correct api types ([#333](#333)) ([05c426f](05c426f))
* correct KuzzleRequest for pipes ([ef932d1](ef932d1))
* correct release script ([f02c285](f02c285))
* **device-metadata:** fetch device's metadata from assigned tenant when available ([#374](#374)) ([acfd8a0](acfd8a0))
* **device:** correct device HTTP API ([#354](#354)) ([d9fe9e1](d9fe9e1))
* **engine:** update conflicts ask return values ([0f817c3](0f817c3))
* **export:** correct scroll in getNamedMeasures ([05fe4fd](05fe4fd))
* improve get internal devices documents ([03ccb29](03ccb29))
* improve measure export to be usable with multiple measures in one measure ([#330](#330)) ([dab8d57](dab8d57))
* **migrateTenant:** clear groups of newly created assets ([79f6a5a](79f6a5a))
* **models:**  list asset returns commons assets ([#345](#345)) ([2844437](2844437))
* **npm:** fix repository url ([514dc59](514dc59))
* only list asset models for the requested engine group ([#367](#367)) ([8a14207](8a14207))
* update semantic-release ([380c8b3](380c8b3))

### Features

* add actions to get last measures on digital twins ([#363](#363)) ([b8005a2](b8005a2))
* add dev builds when pushing on 2-dev ([#375](#375)) ([aa11885](aa11885))
* add group descriptions to models ([#335](#335)) ([de00fb7](de00fb7))
* add log in decoders ([#339](#339)) ([fe08b7c](fe08b7c))
* add search actions for the models ([#362](#362)) ([9990e57](9990e57))
* add tooltip model by asset model ([#341](#341)) ([865ae6d](865ae6d))
* add UTC export by default for devices and assets ([#342](#342)) ([878ca58](878ca58))
* **asset:** add upsert method ([#323](#323)) ([5f87787](5f87787))
* **assetrole:** add link / unlink device action to asset admin role ([#357](#357)) ([febf3a6](febf3a6))
* **assets:** assets migrate tenant ([5f05101](5f05101))
* **assets:** remove assetId in upsert ([#326](#326)) ([2f286de](2f286de))
* **configuration:** allow to specify Elasticsearch index settings ([#337](#337)) ([6d22fa9](6d22fa9))
* digitaltwin exports ([#315](#315)) ([aab65af](aab65af))
* **digitalTwin:** allow to modify mapping from application ([#322](#322)) ([89d375a](89d375a))
* **digitalTwin:** implement generic document pipes triggers ([#321](#321)) ([60a21fc](60a21fc))
* **engine:** add mappings update conflict ask call ([#340](#340)) ([5cd6aca](5cd6aca))
* implement comprehensible metadata ([#332](#332)) ([e80ef8e](e80ef8e))
* improve export ([#316](#316)) ([51db84a](51db84a))
* improve search model request types ([#364](#364)) ([5310ad1](5310ad1))
* **measure:** add device metadata to origin ([#356](#356)) ([1ed9d8b](1ed9d8b))
* **measuremodels:** add optional local names and unit to measure definitions ([#343](#343)) ([50038b2](50038b2))
* **measures:** add lastMeasuredAt on DigitalTwin ([#314](#314)) ([05b8a53](05b8a53))
* **metadata:** add option field readOnly to prevent editing ([#358](#358)) ([e0641b4](e0641b4))
* **metadata:** add optional editor hints for metadata ([#370](#370)) ([afc5129](afc5129))
* **metadata:** add support nested metadata properties ([#348](#348)) ([17eda8b](17eda8b))
* **metadata:** improve asset metadata ([#346](#346)) ([2eb5887](2eb5887))
* **roles:** add specific roles for assets and devices ([#365](#365)) ([a01982c](a01982c))
* upsert devices ([#355](#355)) ([c75abef](c75abef))
github-actions bot pushed a commit that referenced this pull request Oct 1, 2024
# [2.4.0](v2.3.2...v2.4.0) (2024-10-01)

### Bug Fixes

* add specific dev branch in releaserc.js ([e11a823](e11a823))
* **asset_migration:** fixes multiple assets migration and optimize ([fd546cf](fd546cf))
* **assetsGroups:** disable checkRights on impersonate ([#325](#325)) ([eaa3edc](eaa3edc))
* **assets:** migrate tenant only if user is admin ([c24f942](c24f942))
* **assetsMigrateTenant:** add type for frontend and fix admin only ([e249f13](e249f13))
* catch errors when updating the mappings on startup ([#338](#338)) ([e09c5a3](e09c5a3))
* **ci:** correct github token in ci ([a5a6b69](a5a6b69))
* **ci:** fix npm glob not working anymore ([18e79aa](18e79aa))
* copy-version script ([72b5e49](72b5e49))
* correct api types ([#333](#333)) ([05c426f](05c426f))
* correct KuzzleRequest for pipes ([ef932d1](ef932d1))
* correct release script ([f02c285](f02c285))
* **device-metadata:** fetch device's metadata from assigned tenant when available ([#374](#374)) ([acfd8a0](acfd8a0))
* **device:** correct device HTTP API ([#354](#354)) ([d9fe9e1](d9fe9e1))
* **engine:** update conflicts ask return values ([0f817c3](0f817c3))
* **export:** correct scroll in getNamedMeasures ([05fe4fd](05fe4fd))
* improve get internal devices documents ([03ccb29](03ccb29))
* improve measure export to be usable with multiple measures in one measure ([#330](#330)) ([dab8d57](dab8d57))
* **migrateTenant:** clear groups of newly created assets ([79f6a5a](79f6a5a))
* **models:**  list asset returns commons assets ([#345](#345)) ([2844437](2844437))
* **npm:** fix repository url ([514dc59](514dc59))
* only list asset models for the requested engine group ([#367](#367)) ([8a14207](8a14207))
* update semantic-release ([380c8b3](380c8b3))

### Features

* add actions to get last measures on digital twins ([#363](#363)) ([b8005a2](b8005a2))
* add dev builds when pushing on 2-dev ([#375](#375)) ([aa11885](aa11885))
* add group descriptions to models ([#335](#335)) ([de00fb7](de00fb7))
* add log in decoders ([#339](#339)) ([fe08b7c](fe08b7c))
* add search actions for the models ([#362](#362)) ([9990e57](9990e57))
* add tooltip model by asset model ([#341](#341)) ([865ae6d](865ae6d))
* add UTC export by default for devices and assets ([#342](#342)) ([878ca58](878ca58))
* **asset:** add upsert method ([#323](#323)) ([5f87787](5f87787))
* **assetrole:** add link / unlink device action to asset admin role ([#357](#357)) ([febf3a6](febf3a6))
* **assets:** assets migrate tenant ([5f05101](5f05101))
* **assets:** remove assetId in upsert ([#326](#326)) ([2f286de](2f286de))
* **configuration:** allow to specify Elasticsearch index settings ([#337](#337)) ([6d22fa9](6d22fa9))
* digitaltwin exports ([#315](#315)) ([aab65af](aab65af))
* **digitalTwin:** allow to modify mapping from application ([#322](#322)) ([89d375a](89d375a))
* **digitalTwin:** implement generic document pipes triggers ([#321](#321)) ([60a21fc](60a21fc))
* **engine:** add mappings update conflict ask call ([#340](#340)) ([5cd6aca](5cd6aca))
* implement comprehensible metadata ([#332](#332)) ([e80ef8e](e80ef8e))
* improve export ([#316](#316)) ([51db84a](51db84a))
* improve search model request types ([#364](#364)) ([5310ad1](5310ad1))
* **measure:** add device metadata to origin ([#356](#356)) ([1ed9d8b](1ed9d8b))
* **measuremodels:** add optional local names and unit to measure definitions ([#343](#343)) ([50038b2](50038b2))
* **measures:** add lastMeasuredAt on DigitalTwin ([#314](#314)) ([05b8a53](05b8a53))
* **metadata:** add option field readOnly to prevent editing ([#358](#358)) ([e0641b4](e0641b4))
* **metadata:** add optional editor hints for metadata ([#370](#370)) ([afc5129](afc5129))
* **metadata:** add support nested metadata properties ([#348](#348)) ([17eda8b](17eda8b))
* **metadata:** improve asset metadata ([#346](#346)) ([2eb5887](2eb5887))
* **roles:** add specific roles for assets and devices ([#365](#365)) ([a01982c](a01982c))
* upsert devices ([#355](#355)) ([c75abef](c75abef))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants