TSK-1661: Added sort-by parameters for all entities. (#1624)

This commit is contained in:
Martin Sawilla 2021-07-02 14:38:26 +02:00 committed by GitHub
parent 42ce632a77
commit 039ec5a464
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 70 additions and 4 deletions

View File

@ -127,7 +127,8 @@ public class TaskHistoryEventController {
CUSTOM_1((query, sort) -> query.orderByCustomAttribute(TaskHistoryCustomField.CUSTOM_1, sort)), CUSTOM_1((query, sort) -> query.orderByCustomAttribute(TaskHistoryCustomField.CUSTOM_1, sort)),
CUSTOM_2((query, sort) -> query.orderByCustomAttribute(TaskHistoryCustomField.CUSTOM_2, sort)), CUSTOM_2((query, sort) -> query.orderByCustomAttribute(TaskHistoryCustomField.CUSTOM_2, sort)),
CUSTOM_3((query, sort) -> query.orderByCustomAttribute(TaskHistoryCustomField.CUSTOM_3, sort)), CUSTOM_3((query, sort) -> query.orderByCustomAttribute(TaskHistoryCustomField.CUSTOM_3, sort)),
CUSTOM_4((query, sort) -> query.orderByCustomAttribute(TaskHistoryCustomField.CUSTOM_4, sort)); CUSTOM_4((query, sort) -> query.orderByCustomAttribute(TaskHistoryCustomField.CUSTOM_4, sort)),
OLD_VALUE(TaskHistoryQuery::orderByOldValue);
private final BiConsumer<TaskHistoryQuery, SortDirection> consumer; private final BiConsumer<TaskHistoryQuery, SortDirection> consumer;

View File

@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import pro.taskana.classification.api.ClassificationCustomField;
import pro.taskana.classification.api.ClassificationQuery; import pro.taskana.classification.api.ClassificationQuery;
import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.ClassificationService;
import pro.taskana.classification.api.exceptions.ClassificationAlreadyExistException; import pro.taskana.classification.api.exceptions.ClassificationAlreadyExistException;
@ -189,10 +190,23 @@ public class ClassificationController {
} }
enum ClassificationQuerySortBy implements QuerySortBy<ClassificationQuery> { enum ClassificationQuerySortBy implements QuerySortBy<ClassificationQuery> {
APPLICATION_ENTRY_POINT(ClassificationQuery::orderByApplicationEntryPoint),
DOMAIN(ClassificationQuery::orderByDomain), DOMAIN(ClassificationQuery::orderByDomain),
KEY(ClassificationQuery::orderByKey), KEY(ClassificationQuery::orderByKey),
CATEGORY(ClassificationQuery::orderByCategory), CATEGORY(ClassificationQuery::orderByCategory),
NAME(ClassificationQuery::orderByName); CUSTOM_1((q, sort) -> q.orderByCustomAttribute(ClassificationCustomField.CUSTOM_1, sort)),
CUSTOM_2((q, sort) -> q.orderByCustomAttribute(ClassificationCustomField.CUSTOM_2, sort)),
CUSTOM_3((q, sort) -> q.orderByCustomAttribute(ClassificationCustomField.CUSTOM_3, sort)),
CUSTOM_4((q, sort) -> q.orderByCustomAttribute(ClassificationCustomField.CUSTOM_4, sort)),
CUSTOM_5((q, sort) -> q.orderByCustomAttribute(ClassificationCustomField.CUSTOM_5, sort)),
CUSTOM_6((q, sort) -> q.orderByCustomAttribute(ClassificationCustomField.CUSTOM_6, sort)),
CUSTOM_7((q, sort) -> q.orderByCustomAttribute(ClassificationCustomField.CUSTOM_7, sort)),
CUSTOM_8((q, sort) -> q.orderByCustomAttribute(ClassificationCustomField.CUSTOM_8, sort)),
NAME(ClassificationQuery::orderByName),
PARENT_ID(ClassificationQuery::orderByParentId),
PARENT_KEY(ClassificationQuery::orderByParentKey),
PRIORITY(ClassificationQuery::orderByPriority),
SERVICE_LEVEL(ClassificationQuery::orderByServiceLevel);
private final BiConsumer<ClassificationQuery, SortDirection> consumer; private final BiConsumer<ClassificationQuery, SortDirection> consumer;

View File

@ -31,6 +31,7 @@ import pro.taskana.common.rest.QuerySortBy;
import pro.taskana.common.rest.QuerySortParameter; import pro.taskana.common.rest.QuerySortParameter;
import pro.taskana.common.rest.RestEndpoints; import pro.taskana.common.rest.RestEndpoints;
import pro.taskana.common.rest.util.QueryParamsValidator; import pro.taskana.common.rest.util.QueryParamsValidator;
import pro.taskana.task.api.TaskCustomField;
import pro.taskana.task.api.TaskQuery; import pro.taskana.task.api.TaskQuery;
import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskService;
import pro.taskana.task.api.exceptions.AttachmentPersistenceException; import pro.taskana.task.api.exceptions.AttachmentPersistenceException;
@ -413,13 +414,53 @@ public class TaskController {
public enum TaskQuerySortBy implements QuerySortBy<TaskQuery> { public enum TaskQuerySortBy implements QuerySortBy<TaskQuery> {
CLASSIFICATION_KEY(TaskQuery::orderByClassificationKey), CLASSIFICATION_KEY(TaskQuery::orderByClassificationKey),
CLASSIFICATION_NAME(TaskQuery::orderByClassificationName),
POR_TYPE(TaskQuery::orderByPrimaryObjectReferenceType), POR_TYPE(TaskQuery::orderByPrimaryObjectReferenceType),
POR_VALUE(TaskQuery::orderByPrimaryObjectReferenceValue), POR_VALUE(TaskQuery::orderByPrimaryObjectReferenceValue),
POR_COMPANY(TaskQuery::orderByPrimaryObjectReferenceCompany),
POR_SYSTEM(TaskQuery::orderByPrimaryObjectReferenceSystem),
POR_SYSTEM_INSTANCE(TaskQuery::orderByPrimaryObjectReferenceSystemInstance),
STATE(TaskQuery::orderByState), STATE(TaskQuery::orderByState),
NAME(TaskQuery::orderByName), NAME(TaskQuery::orderByName),
DUE(TaskQuery::orderByDue), DUE(TaskQuery::orderByDue),
PLANNED(TaskQuery::orderByPlanned), PLANNED(TaskQuery::orderByPlanned),
PRIORITY(TaskQuery::orderByPriority); PRIORITY(TaskQuery::orderByPriority),
CREATED(TaskQuery::orderByCreated),
CLAIMED(TaskQuery::orderByClaimed),
DOMAIN(TaskQuery::orderByDomain),
TASK_ID(TaskQuery::orderByTaskId),
MODIFIED(TaskQuery::orderByModified),
CREATOR(TaskQuery::orderByCreator),
NOTE(TaskQuery::orderByNote),
OWNER(TaskQuery::orderByOwner),
BUSINESS_PROCESS_ID(TaskQuery::orderByBusinessProcessId),
PARENT_BUSINESS_PROCESS_ID(TaskQuery::orderByParentBusinessProcessId),
WORKBASKET_KEY(TaskQuery::orderByWorkbasketKey),
CUSTOM_1((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_1, sort)),
CUSTOM_2((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_2, sort)),
CUSTOM_3((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_3, sort)),
CUSTOM_4((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_4, sort)),
CUSTOM_5((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_5, sort)),
CUSTOM_6((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_6, sort)),
CUSTOM_7((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_7, sort)),
CUSTOM_8((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_8, sort)),
CUSTOM_9((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_9, sort)),
CUSTOM_10((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_10, sort)),
CUSTOM_11((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_11, sort)),
CUSTOM_12((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_12, sort)),
CUSTOM_13((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_13, sort)),
CUSTOM_14((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_14, sort)),
CUSTOM_15((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_15, sort)),
CUSTOM_16((query, sort) -> query.orderByCustomAttribute(TaskCustomField.CUSTOM_16, sort)),
WORKBASKET_ID(TaskQuery::orderByWorkbasketId),
WORKBASKET_NAME(TaskQuery::orderByWorkbasketName),
ATTACHMENT_CLASSIFICATION_KEY(TaskQuery::orderByAttachmentClassificationKey),
ATTACHMENT_CLASSIFICATION_NAME(TaskQuery::orderByAttachmentClassificationName),
ATTACHMENT_CLASSIFICATION_ID(TaskQuery::orderByAttachmentClassificationId),
ATTACHMENT_CHANNEL(TaskQuery::orderByAttachmentChannel),
ATTACHMENT_REFERENCE(TaskQuery::orderByAttachmentReference),
ATTACHMENT_RECEIVED(TaskQuery::orderByAttachmentReceived),
COMPLETED(TaskQuery::orderByCompleted);
private final BiConsumer<TaskQuery, SortDirection> consumer; private final BiConsumer<TaskQuery, SortDirection> consumer;

View File

@ -32,6 +32,7 @@ import pro.taskana.common.rest.QuerySortBy;
import pro.taskana.common.rest.QuerySortParameter; import pro.taskana.common.rest.QuerySortParameter;
import pro.taskana.common.rest.RestEndpoints; import pro.taskana.common.rest.RestEndpoints;
import pro.taskana.common.rest.util.QueryParamsValidator; import pro.taskana.common.rest.util.QueryParamsValidator;
import pro.taskana.workbasket.api.WorkbasketCustomField;
import pro.taskana.workbasket.api.WorkbasketQuery; import pro.taskana.workbasket.api.WorkbasketQuery;
import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException; import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
@ -386,7 +387,16 @@ public class WorkbasketController {
KEY(WorkbasketQuery::orderByKey), KEY(WorkbasketQuery::orderByKey),
OWNER(WorkbasketQuery::orderByOwner), OWNER(WorkbasketQuery::orderByOwner),
TYPE(WorkbasketQuery::orderByType), TYPE(WorkbasketQuery::orderByType),
DESCRIPTION(WorkbasketQuery::orderByDescription); DESCRIPTION(WorkbasketQuery::orderByDescription),
CUSTOM_1((query, sort) -> query.orderByCustomAttribute(WorkbasketCustomField.CUSTOM_1, sort)),
CUSTOM_2((query, sort) -> query.orderByCustomAttribute(WorkbasketCustomField.CUSTOM_2, sort)),
CUSTOM_3((query, sort) -> query.orderByCustomAttribute(WorkbasketCustomField.CUSTOM_3, sort)),
CUSTOM_4((query, sort) -> query.orderByCustomAttribute(WorkbasketCustomField.CUSTOM_4, sort)),
DOMAIN(WorkbasketQuery::orderByDomain),
ORG_LEVEL_1(WorkbasketQuery::orderByOrgLevel1),
ORG_LEVEL_2(WorkbasketQuery::orderByOrgLevel2),
ORG_LEVEL_3(WorkbasketQuery::orderByOrgLevel3),
ORG_LEVEL_4(WorkbasketQuery::orderByOrgLevel4);
private final BiConsumer<WorkbasketQuery, SortDirection> consumer; private final BiConsumer<WorkbasketQuery, SortDirection> consumer;