Class QueryServiceImpl
java.lang.Object
com.flowable.platform.security.service.AbstractPlatformSecurityService
com.flowable.platform.service.query.QueryServiceImpl
- All Implemented Interfaces:
PermissionServiceRegistryAware,QueryService,Aware
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DataTableDataConverterprotected tools.jackson.databind.ObjectMapperprotected PlatformRepositoryServiceprotected SearchServiceprotected StandardDataQueryTransformerServiceprotected TemplateServiceFields inherited from class com.flowable.platform.security.service.AbstractPlatformSecurityService
additionalAdminUsers, CASE_PREFIX, cmmnRepositoryService, cmmnRuntimeService, cmmnTaskService, defaultSecurityPolicyKey, defaultSecurityPolicyModel, EXTERNAL_WORKER_PREFIX, inspectEnabled, permissionServiceRegistry, platformSecurityInterceptor, policyRepositoryService, PROCESS_PREFIX, repositoryService, runtimeService, SECURITY_POLICY_MODEL, TASK_PREFIX, taskService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiontools.jackson.databind.JsonNodeexecuteQuery(String queryDefinitionKey, String tenantId, Map<String, tools.jackson.databind.JsonNode> queryPayload) tools.jackson.databind.JsonNodeexecuteQuery(String queryDefinitionKey, String tenantId, Map<String, tools.jackson.databind.JsonNode> queryPayload, boolean applyTenantAsDataFilter) Same asQueryService.executeQuery(String, String, Map), but whenapplyTenantAsDataFilteristrueand a non-blanktenantIdis provided, thetenantIdis additionally applied as a data filter on the executed query (for STANDARD queries).getQueryDefinitionModel(String queryDefinitionKey, String tenantId) protected List<TemplateParameter>getTemplateParameters(Map<String, QueryParameter> queryParameters) protected booleanhasAnyAuthority(Collection<String> requiredAuthorities) Any-match check against the deployed model's required authorities.protected TemplateParametertransformQueryParameter(String key, QueryParameter queryParameter) Methods inherited from class com.flowable.platform.security.service.AbstractPlatformSecurityService
addAdditionalPermissions, currentUserHasAdminRights, currentUserIsSuperAdmin, fetchCasePermissionMappings, fetchCasePermissionMappings, fetchCaseSecurityPolicyModel, fetchPermissions, fetchPermissionsForTask, fetchProcessPermissionMappings, fetchProcessPermissionMappings, fetchProcessSecurityPolicyModel, fetchSecurityPolicyModel, fetchSecurityPolicyModel, fetchSecurityPolicyModelForCaseInstance, fetchSecurityPolicyModelForProcessInstance, fetchSecurityPolicyModelForTask, fetchSecurityPolicyModelForTask, fetchTaskPermissionMappings, fetchTaskPermissionMappings, fetchTaskPermissionMappings, fetchTaskPermissionMappingsForCase, fetchTaskPermissionMappingsForProcess, fetchTaskSecurityPolicyModelForCase, fetchTaskSecurityPolicyModelForProcess, filterPermissionsForRole, getCmmnExtensionElementValue, getCurrentGroupKeys, getCurrentSecurityScope, getCurrentTenantId, getCurrentUserId, getDefaultSecurityPolicyModel, getExtensionElementValue, getSecurityPolicyModelByKey, groupOrUserMatches, groupOrUserMatches, hasAnyMatchingIdentityLink, hasAssigneeOrOwnerIdentityLink, hasPermissionForEntityLinks, hasPermissionForHistoricEntityLinks, setPermissionServiceRegistry, translatePermissionForScope
-
Field Details
-
platformRepositoryService
-
standardDataQueryTransformerService
-
searchService
-
templateService
-
dataTableDataConverter
-
objectMapper
-
-
Constructor Details
-
QueryServiceImpl
public QueryServiceImpl()
-
-
Method Details
-
getQueryDefinitionModel
- Specified by:
getQueryDefinitionModelin interfaceQueryService
-
executeQuery
public tools.jackson.databind.JsonNode executeQuery(String queryDefinitionKey, String tenantId, Map<String, tools.jackson.databind.JsonNode> queryPayload) - Specified by:
executeQueryin interfaceQueryService
-
executeQuery
public tools.jackson.databind.JsonNode executeQuery(String queryDefinitionKey, String tenantId, Map<String, tools.jackson.databind.JsonNode> queryPayload, boolean applyTenantAsDataFilter) Description copied from interface:QueryServiceSame asQueryService.executeQuery(String, String, Map), but whenapplyTenantAsDataFilteristrueand a non-blanktenantIdis provided, thetenantIdis additionally applied as a data filter on the executed query (for STANDARD queries). Use this for tenant-scoped views (e.g. the agent dashboards) so that a resolved tenant limits the returned data and not only the query definition that is looked up. A blank/nulltenantId(e.g. a super admin browsing across all tenants) leaves the results unfiltered.- Specified by:
executeQueryin interfaceQueryService
-
getTemplateParameters
-
transformQueryParameter
-
hasAnyAuthority
Any-match check against the deployed model's required authorities. Empty/null list means open access, admins and super-admins always pass.
-