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(engine): add mappings update conflict ask call #340

Merged
merged 20 commits into from
May 21, 2024

Conversation

inkedsquid
Copy link
Contributor

@inkedsquid inkedsquid commented May 2, 2024

What does this PR do ?

This PR add an ask call to check for any conflict with new mappings to be detected and returned, allowing the current update operation to be aborted without performing any changes. This check is for now applied on the API and database level of models updates.

How should this be manually tested?

  • Step 1 : Add a field to the mappings associated to any type of models via the API or directly from the console.
  • Step 2 : Change this field type and receive an error from the back end.
  • Step 3 : Check the model type collection mappings to see if the changes were persisted.

Boyscout

Added more documentation to the DeviceManagerEngine file

Added documentation web pages about potential API errors
image

@inkedsquid inkedsquid marked this pull request as ready for review May 13, 2024 09:21
@etrousset etrousset merged commit 5cd6aca into 2-dev May 21, 2024
3 checks passed
@sebtiz13 sebtiz13 deleted the feat/data-model-mapping-refactor branch June 6, 2024 20:43
github-actions bot pushed a commit that referenced this pull request Jul 8, 2024
# [2.4.0-beta.17](v2.4.0-beta.16...v2.4.0-beta.17) (2024-07-08)

### Bug Fixes

* correct release script ([f02c285](f02c285))
* **engine:** update conflicts ask return values ([0f817c3](0f817c3))
* **models:**  list asset returns commons assets ([#345](#345)) ([2844437](2844437))

### Features

* add log in decoders ([#339](#339)) ([fe08b7c](fe08b7c))
* **engine:** add mappings update conflict ask call ([#340](#340)) ([5cd6aca](5cd6aca))
* **measuremodels:** add optional local names and unit to measure definitions ([#343](#343)) ([50038b2](50038b2))
* **metadata:** add support nested metadata properties ([#348](#348)) ([17eda8b](17eda8b))
* **metadata:** improve asset metadata ([#346](#346)) ([2eb5887](2eb5887))
github-actions bot pushed a commit that referenced this pull request Aug 6, 2024
# [2.4.0-elasticsearch-8.1](v2.3.2...v2.4.0-elasticsearch-8.1) (2024-08-06)

### Bug Fixes

* **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:** 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))
* update semantic-release ([380c8b3](380c8b3))

### Features

* add group descriptions to models ([#335](#335)) ([de00fb7](de00fb7))
* add log in decoders ([#339](#339)) ([fe08b7c](fe08b7c))
* 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))
* **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))
* **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 support nested metadata properties ([#348](#348)) ([17eda8b](17eda8b))
* **metadata:** improve asset metadata ([#346](#346)) ([2eb5887](2eb5887))
* patch-in support for ES 8 ([6afbe79](6afbe79))
* upsert devices ([#355](#355)) ([c75abef](c75abef))
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants