-
Notifications
You must be signed in to change notification settings - Fork 7
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
fix: only list asset models for the requested engine group #367
Conversation
tests/application/assets/Room.ts
Outdated
measures: [ | ||
{ | ||
name: "temperature", | ||
type: "temperature", | ||
}, | ||
{ | ||
name: "humidity", | ||
type: "humidity", | ||
}, | ||
], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could define the same measures as in the Room asset model from iot-platform
measures: [ | |
{ | |
name: "temperature", | |
type: "temperature", | |
}, | |
{ | |
name: "humidity", | |
type: "humidity", | |
}, | |
], | |
measures: [ | |
{ | |
name: "temperature", | |
type: "temperature", | |
}, | |
{ | |
name: "humidity", | |
type: "humidity", | |
}, | |
{ | |
name: "co2", | |
type: "co2", | |
}, | |
{ | |
name: "illuminance", | |
type: "illuminance", | |
}, | |
], |
measures: [ | ||
{ | ||
name: "position", | ||
type: "position", | ||
}, | ||
], | ||
metadataMappings: { | ||
street: { type: "keyword" }, | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As the position is a constant it's better in the metadatas (cf iot-platform)
measures: [ | |
{ | |
name: "position", | |
type: "position", | |
}, | |
], | |
metadataMappings: { | |
street: { type: "keyword" }, | |
}, | |
measures: [ | |
{ | |
name: "brightness", | |
type: "brightness", | |
}, | |
{ | |
name: "powerConsumption", | |
type: "powerConsumption", | |
}, | |
], | |
metadataMappings: { | |
position: { type: "geo_point" }, | |
street: { type: "keyword" }, | |
}, |
# [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))
# [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))
# [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))
What does this PR do ?
This fixes a regression introduced in #362 on the
listAssets
(and by extension,searchAssets
) actions of thedevice-manager/models
controller that wasn't correctly taking into account the requested engine group and was returning the models for every group instead.The problematic Elasticsearch query has been fixed.
Other changes
Two new asset models,
Room
andStreetLamp
, were added in the test application, respectively to theair_quality
andpublic_lighting
engine groups.Tests were added to avoid this regression in the future.
Boyscout
To avoid an inconsistent list of asset models, the asset models are now reset before each test of the
asset-model.test.ts
file.