Avgustin Marinov
dc8211c64b
Fix case sensitiveness of limited DS complete search support ( #2774 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-24 10:58:47 +03:00
Avgustin Marinov
a3cf835ae2
Fix sonar findings ( #2769 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-22 15:12:37 +03:00
Stanislav Trailov
1b62bee92f
Add update repositopry permission to handleMaxAssignmentsExceeded in deployment management ( #2768 )
...
* Action history cleanup/purge initial
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* apply changes after review
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix hibernate build by annotating delete methods with transactional annotation
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* changes after review and new test cases for new requirements
* accept 0 for keep last
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* Fix ManagementSecurityTest
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* apply object utils check
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix for oldestAction deletion
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* remove unused comment
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* rename action ids variable
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* Fix access control handling
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
* Add update repositopry permission to handleMaxAssignmentsExceeded in deployment management
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
---------
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
Co-authored-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-22 14:54:40 +03:00
Avgustin Marinov
8a36ba6203
Fix action delete access control - to require only target update (not delete also) ( #2767 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-22 13:33:56 +03:00
Avgustin Marinov
3caa9d9eda
Switch completely to locked for checking if DS could be functionally modified ( #2766 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-22 11:46:36 +03:00
Avgustin Marinov
e154e1b18a
[ #2429 ] Add completeness property for software modules ( #2765 )
...
* add `min artifacts` requirement on the Software Module Type level for Software Module completeness
* removed `complete` Distribution Set property from DB - calculated runtime
* Distribution Set and Software Module completeness is calcualted on demand in memory (TODO: implement cache)
* locking of Software Module now requires the software module to be `completed`
* removed 'complete' search field for DistributionSet type. Still keep (DEPRECATED) limited support for search with 'complete' -
only on the first level of expression and with AND. I.e. complete==true, complete==false and id=in=(1, 3) is suppoted,
while complete==false or id=in=(1, 3) and id=in(1, 3) and (type==os and complete==true) are not
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-22 09:57:45 +03:00
Stanislav Trailov
f1c3d0175e
Action history cleanup/purge initial ( #2728 )
...
* Action history cleanup/purge initial
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* apply changes after review
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix hibernate build by annotating delete methods with transactional annotation
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* changes after review and new test cases for new requirements
* accept 0 for keep last
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* Fix ManagementSecurityTest
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* apply object utils check
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix for oldestAction deletion
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* remove unused comment
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* rename action ids variable
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* Fix access control handling
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
---------
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
Co-authored-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-21 10:34:58 +03:00
Avgustin Marinov
66da13a038
Add option to provide flyway callbacks to db init ( #2764 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-20 14:00:48 +03:00
Avgustin Marinov
b10955f3eb
Remove System Management REST ( #2761 )
...
* the only non repository module using @PreAuthorize
* the only service for "sys admins" - it's a little bit out of scopes
* caches management is not supposed to be via REST
* delete tenant shall not be provided when we don't have create
* metrics shall be reported via metrics colectins services, or db
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-17 10:45:11 +03:00
Avgustin Marinov
4b3c3cc870
Remove org.eclipse.hawkbit.repository.jpa.specifications.SpecificationsBuilder and fix deprecated Specification.where ( #2760 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-16 16:01:29 +03:00
Avgustin Marinov
8da851a75a
[ #2758 ] Add test for JpaTargetManagment - findByTargetFilterQueryAndNonDSAndCompatibleAndUpdatable ( #2759 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-16 15:29:18 +03:00
Avgustin Marinov
811b163d22
Optimize get targets via REST API ( #2757 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-15 14:08:58 +03:00
Avgustin Marinov
6ad20252ba
Refactor UserAuthoritiesResolver - to run in tenant context ( #2756 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-14 17:28:57 +03:00
Avgustin Marinov
04cd9fb30d
Refactor TenantAware - remove TenantRunner and replace with standard Runnable / Callable ( #2755 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-14 16:36:42 +03:00
Avgustin Marinov
b390a0f8ef
Fix sonar findings ( #2742 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-10 14:32:09 +03:00
Avgustin Marinov
ebc3755469
Fix ACM tests ( #2739 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-10 12:58:59 +03:00
Avgustin Marinov
3447ac3b1b
Fix system context resolving in ACM ( #2737 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-10 12:02:16 +03:00
Avgustin Marinov
e7d9ee7990
Add Target(Type)Management tests ( #2735 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-10 08:36:08 +03:00
Avgustin Marinov
39ab8275bc
Add SM and SM type ACM tests ( #2734 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-09 13:50:03 +03:00
Avgustin Marinov
9a70fffeb5
Simplify/Refactor RolloutExecutor ACM test ( #2733 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-09 12:48:05 +03:00
Avgustin Marinov
bc96c24983
Add RolloutManagement ACM test ( #2732 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-09 12:29:28 +03:00
Avgustin Marinov
95e37268bd
Add Rollout Execution ACM Test ( #2731 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-09 12:29:20 +03:00
Avgustin Marinov
82bbb2a553
Fix rollout handler all metric ( #2730 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-09 11:02:55 +03:00
Avgustin Marinov
4ba09f127e
Add DistributionSetManagementTest and TargetTypeQueryManagementTest ( #2727 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-08 16:53:37 +03:00
Avgustin Marinov
e23d2aa920
Add DeploymentManagement ACM test ( #2726 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-08 11:07:15 +03:00
Avgustin Marinov
cc36ca8801
Fix EntityMatcher when for Identifiable.getId ( #2724 )
...
* Fix EntityMatcher to process properly filters of type targetType.id - to resolve correctly the getter return type Long not T
* Add AutoAsssignTest access control test
* Simplify rest of the ACM tests
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-07 15:26:04 +03:00
Stanislav Trailov
0134a67241
Try to fix flaky Rollout mgmt test ( #2716 )
...
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
2025-10-02 18:03:42 +03:00
Avgustin Marinov
cf89861f1e
Fix Sonar Findings - add @Override ( #2712 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-10-01 09:15:14 +03:00
Avgustin Marinov
ccecf9b8d6
Rename READ_SOFTWARE_MODULE_DOWNLOAD to READ_SOFTWARE_MODULE_ARTIFACT ( #2710 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-30 16:13:41 +03:00
Avgustin Marinov
4b98d89ab0
Remove deprecated DOWNLOAD_REPOSITORY_ARTIFACT permission ( #2709 )
...
use READ_SOFTWARE_MODULE_DOWNLOAD
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-30 15:40:15 +03:00
Avgustin Marinov
4715278ee5
Sonar Findings ( #2708 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-30 09:30:23 +03:00
Avgustin Marinov
3714d408d0
Cleanup QL parse and tranform API ( #2707 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-29 16:36:41 +03:00
Avgustin Marinov
e747d55a38
Fix EntityMatcher case sentsitivity config ( #2706 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-29 15:08:21 +03:00
Avgustin Marinov
ebfaa1d51e
Fix sonar findings ( #2705 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-29 13:19:08 +03:00
Avgustin Marinov
a2929757d8
Encapsulate time overdue into VirtualPropertyResolver ( #2704 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-29 13:14:40 +03:00
Avgustin Marinov
1919af4a9d
Remove VirtualPropertyReplacer ( #2701 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-26 17:17:38 +03:00
Avgustin Marinov
1954fbe829
Add simple value support for default query parser mapping ( #2700 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-26 17:09:42 +03:00
Avgustin Marinov
a6867219b1
Remove FieldValueConverter ( #2699 )
...
* (because) used only for ActionFields.STATUS
* could be part of new Node mapping mechanism
* simplify
* Deprecate ActionFields.STATUS, add / replace it with ActionFields.ACTIVE. In future STATUS will become the real action status (and DETAILSTATUS will be removed)
* Deprecate MgmtAction.getStatus add / replace it with MgmtAction.isActive. In future status will become the real action status (and detailStatus will be removed)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-26 16:57:10 +03:00
Avgustin Marinov
1abfa0a2f4
Add support for plugable QL for EntityManager ( #2698 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-26 15:39:21 +03:00
Avgustin Marinov
4434484d35
Deprecate VirtualPropertyReplacer ( #2697 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-26 14:56:32 +03:00
Avgustin Marinov
b181b66ee5
Extend Query Langage Support ( #2696 )
...
* add option for parser replacement - so, one could replace the query language and don't use RSQL
* add easy way to modify query root Node
* add easy Node modification utilities
* code refactored and naming more 'QL' than 'RSQL' oriented
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-26 14:19:25 +03:00
Avgustin Marinov
c906c2f2eb
Type Access Controllers enabled by default if AC is enabled ( #2694 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-25 16:53:19 +03:00
Avgustin Marinov
c20ee8bdf3
Fix fine-grained permissions config ( #2688 )
...
* disabled by default
* evaluaton context considers fine-grained only when acm is enabled
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-24 09:40:27 +03:00
Avgustin Marinov
e7765bf4d2
Add suppor for deeper RSQL search ( #2682 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-23 17:15:48 +03:00
Avgustin Marinov
b702ea41d1
Implement Action Access Control ( #2687 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-23 13:31:17 +03:00
Avgustin Marinov
9ab0a8628e
First level suppor for RsqlQueryFields shortcut support ( #2686 )
...
* now it is possible to have a showrtcut for a sub attributes (i.e. calling it directly with enum name, e.g. type -> type.key) with directly specifying the defaultSubEntityAttribute
* no need to have single sub attribute in order to have a default sub attribute
* added TYPE search field for TargetFields (sinonim of targettype)
* targettype is deprecated - to be decided if and when to be removed
* returned back "type" direct search (with meaning type.key) for DistributionSet and SoftwareModule as non-depricated
* add serche with "type" as type.key for Target
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-23 10:56:26 +03:00
Avgustin Marinov
117f2bf683
Fix Sonar Findings ( #2683 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-19 16:01:57 +03:00
Avgustin Marinov
8bdcc51985
Add actions contxt management ( #2680 )
...
* based on TARGET permissions - action is accessible iff it its target is accessible
* add some more (id) serch fields
* (backward incompatible) software module search supports now search by name (type.name) and the old search by type (indead by type key) is now with type.key
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-19 15:47:20 +03:00
Avgustin Marinov
dce133dfae
Add some id based searches and software module search by type ( #2681 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-19 15:45:43 +03:00
Avgustin Marinov
e19b11290d
Fix Sonar Findings ( #2679 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-09-19 10:25:18 +03:00