diff --git a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java index 40b1165b9..a05b7600c 100644 --- a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java +++ b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java @@ -127,7 +127,8 @@ public class TaskHistoryEventController { CUSTOM_1((query, sort) -> query.orderByCustomAttribute(TaskHistoryCustomField.CUSTOM_1, sort)), CUSTOM_2((query, sort) -> query.orderByCustomAttribute(TaskHistoryCustomField.CUSTOM_2, 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 consumer; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java index 5bf74cceb..3557e84b4 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java @@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; +import pro.taskana.classification.api.ClassificationCustomField; import pro.taskana.classification.api.ClassificationQuery; import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.exceptions.ClassificationAlreadyExistException; @@ -189,10 +190,23 @@ public class ClassificationController { } enum ClassificationQuerySortBy implements QuerySortBy { + APPLICATION_ENTRY_POINT(ClassificationQuery::orderByApplicationEntryPoint), DOMAIN(ClassificationQuery::orderByDomain), KEY(ClassificationQuery::orderByKey), 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 consumer; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java index 55025840f..7191dc4d6 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java @@ -31,6 +31,7 @@ import pro.taskana.common.rest.QuerySortBy; import pro.taskana.common.rest.QuerySortParameter; import pro.taskana.common.rest.RestEndpoints; import pro.taskana.common.rest.util.QueryParamsValidator; +import pro.taskana.task.api.TaskCustomField; import pro.taskana.task.api.TaskQuery; import pro.taskana.task.api.TaskService; import pro.taskana.task.api.exceptions.AttachmentPersistenceException; @@ -413,13 +414,53 @@ public class TaskController { public enum TaskQuerySortBy implements QuerySortBy { CLASSIFICATION_KEY(TaskQuery::orderByClassificationKey), + CLASSIFICATION_NAME(TaskQuery::orderByClassificationName), POR_TYPE(TaskQuery::orderByPrimaryObjectReferenceType), POR_VALUE(TaskQuery::orderByPrimaryObjectReferenceValue), + POR_COMPANY(TaskQuery::orderByPrimaryObjectReferenceCompany), + POR_SYSTEM(TaskQuery::orderByPrimaryObjectReferenceSystem), + POR_SYSTEM_INSTANCE(TaskQuery::orderByPrimaryObjectReferenceSystemInstance), STATE(TaskQuery::orderByState), NAME(TaskQuery::orderByName), DUE(TaskQuery::orderByDue), 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 consumer; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java index 4e501040a..f44d5d2e4 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java @@ -32,6 +32,7 @@ import pro.taskana.common.rest.QuerySortBy; import pro.taskana.common.rest.QuerySortParameter; import pro.taskana.common.rest.RestEndpoints; import pro.taskana.common.rest.util.QueryParamsValidator; +import pro.taskana.workbasket.api.WorkbasketCustomField; import pro.taskana.workbasket.api.WorkbasketQuery; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException; @@ -386,7 +387,16 @@ public class WorkbasketController { KEY(WorkbasketQuery::orderByKey), OWNER(WorkbasketQuery::orderByOwner), 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 consumer;