1466 Commits

Author SHA1 Message Date
imbeacon
355a92588a Added topic to metadata for attributes and telemetry messages 2023-08-11 11:48:24 +03:00
Vladyslav_Prykhodko
6e7869ffbe Merge remote-tracking branch 'upstream/develop/3.5.2' into feature/timeseries-api-improvements 2023-08-09 18:03:48 +03:00
YevhenBondarenko
2427539f22 merge with develop/3.5.2 2023-08-08 01:46:52 +02:00
Andrii Landiak
8faa1410b6
Edge crud notification: implement event publisher strategy to process pubsub model for detecting changes in entities
* Improve edge notification for entities' CRUD operations. Use service layer to notify instead of TbService

* Improve queue service, delete unused class for edge event updates

* Improve alarm delete and add handle fox delete dao event notification

* Refactoring: provide notification for relations and alarms. Improve logic and bad edge event type using

* Add entity type to SaveEvent to process correct message type to edge

* Improve relation service publish event

* Introduce EdgeEventSourcing service instead of saving edge events on controller/service layers. Part #2

* Improved stability of device edge test

* Push credential updated event only in case update

* Add tenantId to saveUser signature to send correct notification for listener

* Fix tests to send correct notification msg to edge

* Fix tests with correct action type

* Add delete msg to edge for customer

* Refactor ActionEntityEvent to use lombok builder

* Remove unnecessary comments

* Added edgeSynchronizationManager into BaseAlarmProcessor and BaseRelationProcessor

* Fixed license header

* Remove notification to edge from Version Control Service

* Fixed alarm del processing - find related edges inside edge processor

* Fix controller test for publish event to listener if entity was deleted

* Added check for edge imitator messages during login as tenant admin

* Refactoring: Added filtering of relation on EdgeEventSourcingListener

* Refactored to be in sync with PE

* Refactored edge test to be in sync with PE edge test changes

* EdgeControllerTest - moved await block into separate method to reuse it

* Fixed EdgeControllerTest

* Fixed testAssignEdgeToCustomerFromDifferentTenant test

* testSyncEdge - make stable

* Refacroting - update utils method name to pop* in EdgeControllerTest

* testSyncEdge - fixed order and nubmer of edge events

* testGetEdgeEvents - check by pop items, and not by index to improve stability on slow machines

* testGetEdgeEvents - added check that list is empty

* Removed test debug output

* EntityServiceTest - Fixed compilation error after merge

* Improve service layer event publisher to process each notification and validate in listener

* Improve BaseAlarmService to send notification to listener

* Fix asset-device notification action to send delete to all edges

* Delete unnecessary usage of sendMsgToEdge

* Improve processEntityNotification to be in sync with changed needed for PE

* Pull request review - minor refactoring

* Fix tests after review-refactoring

* Refactor tests to be in sync with PE

* Fixed repeated update - added check for old_edge_event table existance before migration

* DeviceEdgeProcessor - do edgeSynchronizationManager as soon as possible to avoid unnecessary downlinks

* BaseEdgeProcessor - refactoring and remove duplicate methods. Introduce EdgeEventType.isAllEdgesRelated

* Organize imports

* Improve Edge test: add sync completed message to await

* Minor refactoring for EdgeProcessor notification: asset and device

* EdgeEventSourcingListener - updated logging to avoid null pointer exception

* BaseAlarmService - added check for alarm to avoid NPE. EdgeEventSourcingListener - added try/catch blocks

* EdgeEventSourcingListener - fixed error message log level

---------

Co-authored-by: Volodymyr Babak <volodymyr.babak@gmail.com>
2023-08-07 13:21:02 +03:00
Andrew Shvayka
173e229da1
Merge pull request #8786 from ShvaykaD/feature/filter-nodes-improvements
Filter nodes improvements && fixes for enrichment rule nodes && added TbMsgType enum and enforced use of it in corresponding places.
2023-08-04 13:57:10 +03:00
ShvaykaD
2d4fbd6833 added checkMsgType util method to TbMsg & resolved other review comments 2023-07-27 14:48:53 +03:00
ShvaykaD
9d20fa7d9e added additional validation to ActionTypeTest and TbMsgTypeTest 2023-07-21 16:12:34 +03:00
ShvaykaD
2cac9aab9d fix typo 2023-07-19 12:36:36 +03:00
ShvaykaD
883eb472f2 fixes after merge to PE 2023-07-19 12:28:42 +03:00
YevhenBondarenko
4b7cc4571d added deleteLatest api 2023-07-12 19:48:25 +02:00
dashevchenko
03b2399c44 fixed list of required fields for entities 2023-07-11 15:01:37 +03:00
ShvaykaD
d9ede8bf50 merge with develop/3.5.2 2023-07-06 15:44:01 +03:00
ShvaykaD
4528348143 replaced new TbMsgMetaData() with TbMsgMetaData.EMPTY and added additional refactoring after review of changes 2023-07-06 13:18:02 +03:00
ShvaykaD
47929ef784 replaced newMsg and trasformMsg with new methods that uses TbMsgType && mark old methods as deprecated && refactoring 2023-07-06 12:20:23 +03:00
YevhenBondarenko
3be53a3605 fixed saveDeviceWithCredentials api 2023-07-05 14:40:44 +02:00
ShvaykaD
6c74aa3dff updated EntityFieldsData getFieldValue method to filter out empty strings if ignoreNullStrings is set to true 2023-07-03 13:26:20 +03:00
Andrew Shvayka
ab56f651c7
Merge pull request #8839 from dashevchenko/resourceInfoCache
Added cache for resource info
2023-06-30 16:00:08 +03:00
ShvaykaD
8beb81cf8d added tests for check relation presence node & test for TbMsgType and ActionType & refactoring 2023-06-30 13:35:03 +03:00
Andrew Shvayka
707244a7ea
Merge pull request #8830 from volodymyr-babak/edge-event-seq-id
Edge event table - added sequential ID column to handle properly heavy load and cluster cases
2023-06-29 18:24:23 +03:00
ShvaykaD
0c4c8353de refactoring & added tests for alarm status filter node & entity and msg type switch nodes & check field presence 2023-06-28 12:43:49 +03:00
dashevchenko
eab633632a added cache for TBResourceInfo 2023-06-28 11:35:54 +03:00
ViacheslavKlimov
d0cbf4efd1 Add acknowledged and cleared properties to AlarmNotificationInfo 2023-06-27 17:14:33 +03:00
Volodymyr Babak
4a0ff8b968
Edge event seq (#82)
* edge event - added seq id auto generated column to fix issue with concurrent write of multiple edge events with the same created time

* kotlin Pair replaced by springframework class

* Handle cases when seq_id column started new cycle

* Added check for null in case entity was deleted

* GeneralEdgeEventFetched - sort order by seqId and not created time

* Edge event table - added migration script to add seq_id column

* Code review updates to be in sync with PE

* Improved handling cases when edge_event.seqId started new cycle

* Edge event table - seq_id column make to be cycled

* Improved handling of cases when seq_id column of edge_event table started new cycle

* Improved stability by properly handling exceptions
2023-06-27 15:42:23 +03:00
ShvaykaD
a3c0850277 added tests for TbCheckAlarmStatusNode && TbMsgTypeFilterNodeTest && TbOriginatorTypeFilterNodeTest && replaced SessionMsgType && refactoring 2023-06-23 19:00:25 +03:00
ShvaykaD
22874e8a65 filter nodes && added TbMsgType enum 2023-06-19 17:55:39 +03:00
ViacheslavKlimov
0bd7f74c47 Fix issues 2023-06-13 14:12:54 +03:00
ViacheslavKlimov
f98eee5407 Merge branch 'develop/3.5.2' into feature/exceeded-rate-limits-notifications
# Conflicts:
#	application/src/main/java/org/thingsboard/server/install/ThingsboardInstallService.java
#	application/src/main/resources/thingsboard.yml
#	application/src/test/java/org/thingsboard/server/service/notification/NotificationRuleApiTest.java
#	dao/src/main/java/org/thingsboard/server/dao/notification/DefaultNotifications.java
#	ui-ngx/src/app/modules/common/modules-map.ts
2023-06-13 13:49:51 +03:00
Andrew Shvayka
7d31d25aa0
Merge pull request #8729 from thingsboard/fixes/notification-system
Notifications deduplication improvements
2023-06-13 12:25:07 +03:00
Andrii Shvaika
997b915905 Merge with develop/3.5.2 2023-06-13 11:30:29 +03:00
ViacheslavKlimov
39d7498c59 Merge branch 'develop/3.5.2' into fixes/notification-system 2023-06-12 21:37:21 +03:00
Andrew Shvayka
e30cf55988
Merge pull request #8723 from dashevchenko/mailConfigTemplates
Mail config templates, oauth2 protocol for mail server
2023-06-09 16:05:43 +03:00
ViacheslavKlimov
b77078c24e Notifications deduplication improvements 2023-06-08 18:15:56 +03:00
Andrii Shvaika
d34a65eada Resources access for Customer Users 2023-06-08 17:44:20 +03:00
Andrii Shvaika
1b15e78985 Merge branch 'resourcesByType' of github.com:dashevchenko/thingsboard into develop/3.5.2 2023-06-08 16:37:10 +03:00
dashevchenko
a85f5b4330 added initial implementation 2023-06-08 12:30:35 +03:00
Andrii Shvaika
aa6a136ef8 Merge remote-tracking branch 'origin/fixes/notification-system' into develop/3.5.2 2023-06-07 16:02:30 +03:00
Vladyslav_Prykhodko
2be9a1e1c3 Merge remote-tracking branch 'upstream/develop/3.5.2' into dashevchenko-resourcesByType 2023-06-07 15:40:44 +03:00
dashevchenko
87786ef72d refactoring 2023-06-07 15:27:44 +03:00
dashevchenko
29384170d7 added tests 2023-06-07 13:16:55 +03:00
dashevchenko
f356a94b81 added new hash_code column to resource table 2023-06-07 00:06:55 +03:00
Andrew Shvayka
835f8b48f9
Merge pull request #8706 from imbeacon/fix/swagger-models
Fixes for models in Swagger
2023-06-06 16:44:25 +03:00
dashevchenko
31cf975495 Merge remote-tracking branch 'upstream/develop/3.5.2' into resourcesByType 2023-06-06 12:42:47 +03:00
ViacheslavKlimov
2f560315d1 Exceeded rate limits notifications; their deduplication; refactoring 2023-06-02 15:09:09 +03:00
ViacheslavKlimov
f5cd8a9a52 Notification system - less async operations 2023-06-02 14:57:00 +03:00
ViacheslavKlimov
67656a2757 Notifications deduplication 2023-06-02 14:50:23 +03:00
Andrii Shvaika
aecea7d6a5 Removed SearchTextEntity 2023-06-01 16:01:45 +03:00
Andrii Shvaika
56338924a1 Remove Additional info from entities that do not have such field 2023-06-01 15:31:58 +03:00
Andrii Shvaika
be41ec8bef Fix minor issues. Merged with develop/3.5.2 2023-06-01 15:10:08 +03:00
imbeacon
24b82939c3 Fixes for models in Swagger 2023-06-01 10:12:08 +03:00
nickAS21
4edf1ade2f search_text: equals byteAdditionalInfo == null 3 2023-05-27 17:15:18 +03:00