Interface TaskRuntime


public interface TaskRuntime
User Based Integrations against the Task Runtime
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
     
    assign(AssignTaskPayload assignTaskPayload)
    Assign a task that has been claimed before to a different user - Only the current assignee can perform the action - The new assignee should be part of the candidate users for this task
    claim(ClaimTaskPayload claimTaskPayload)
    Claim a task with the currently authenticated user - If there is no authenticated user throw an IllegalStateException - If the currently authenticated user is not a candidate throw an IllegalStateException - The current approach doesn't support impersonation, it will always take the currently authenticated user - after the claim the task should be in assigned status
    complete(CompleteTaskPayload completeTaskPayload)
    Completes the selected task with the variables set in the payload - This method checks that the task is visible by the authenticated user - This method also check that the task is assigned to the currently authenticated user before complete - This method return a shallow Task object with the basic information needed to validate that the task was completed
     
    create(CreateTaskPayload createTaskPayload)
    Creates a task based on the following rules - If an assignee is provided it creates and assign the task to the provided user - If there is no assignee the task is not assigned, just created - The owner of the task is the currently authenticated user (which is automatically added as a candidate) - If a group or list of groups is provided those groups are added as candidates for claiming the task
    void
    createVariable(CreateTaskVariablePayload createTaskVariablePayload)
     
    delete(DeleteTaskPayload deleteTaskPayload)
    Deletes a task - The authenticated user should be able to see the task in order to delete it - The authenticated user needs to be the assignee of the task in order to delete it - this method returns a shallow Task with the necessary information to validate that the task was deleted
    void
     
    void
     
     
    release(ReleaseTaskPayload releaseTaskPayload)
    Release a previously claimed task - The authenticated user needs to be the assignee in order to release it
    void
    save(SaveTaskPayload saveTaskPayload)
    Saves the selected task with the variables set in the payload in the task scope - This method checks that the task is visible by the authenticated user - This method also check that the task is assigned to the currently authenticated user
    task(String taskId)
    Get task by id if the authenticated user: - is the assignee or - is in a group with is assigned to the task or - has admin role
    tasks(Pageable pageable)
    Get all tasks where - the authenticated user is the actual assignee - the user belongs to a group that is a candidate for the task
    tasks(Pageable pageable, GetTasksPayload getTasksPayload)
    Get all tasks where applying the filters in the Payload - the authenticated user is the actual assignee - the user belongs to a group that is a candidate for the task
    update(UpdateTaskPayload updateTaskPayload)
    Updates details of a task - The authenticated user should be able to see the task in order to update its details - The authenticated user needs to be the assignee of the task to update its details, if not he/she will need to claim the task first
    void
    updateVariable(UpdateTaskVariablePayload updateTaskVariablePayload)
     
     
    variables(GetTaskVariablesPayload getTaskVariablesPayload)
     
  • Method Details

    • configuration

      TaskRuntimeConfiguration configuration()
    • task

      Task task(String taskId)
      Get task by id if the authenticated user: - is the assignee or - is in a group with is assigned to the task or - has admin role
    • tasks

      Page<Task> tasks(Pageable pageable)
      Get all tasks where - the authenticated user is the actual assignee - the user belongs to a group that is a candidate for the task
    • tasks

      Page<Task> tasks(Pageable pageable, GetTasksPayload getTasksPayload)
      Get all tasks where applying the filters in the Payload - the authenticated user is the actual assignee - the user belongs to a group that is a candidate for the task
    • create

      Task create(CreateTaskPayload createTaskPayload)
      Creates a task based on the following rules - If an assignee is provided it creates and assign the task to the provided user - If there is no assignee the task is not assigned, just created - The owner of the task is the currently authenticated user (which is automatically added as a candidate) - If a group or list of groups is provided those groups are added as candidates for claiming the task
    • claim

      Task claim(ClaimTaskPayload claimTaskPayload)
      Claim a task with the currently authenticated user - If there is no authenticated user throw an IllegalStateException - If the currently authenticated user is not a candidate throw an IllegalStateException - The current approach doesn't support impersonation, it will always take the currently authenticated user - after the claim the task should be in assigned status
    • release

      Task release(ReleaseTaskPayload releaseTaskPayload)
      Release a previously claimed task - The authenticated user needs to be the assignee in order to release it
    • complete

      Task complete(CompleteTaskPayload completeTaskPayload)
      Completes the selected task with the variables set in the payload - This method checks that the task is visible by the authenticated user - This method also check that the task is assigned to the currently authenticated user before complete - This method return a shallow Task object with the basic information needed to validate that the task was completed
    • save

      void save(SaveTaskPayload saveTaskPayload)
      Saves the selected task with the variables set in the payload in the task scope - This method checks that the task is visible by the authenticated user - This method also check that the task is assigned to the currently authenticated user
    • update

      Task update(UpdateTaskPayload updateTaskPayload)
      Updates details of a task - The authenticated user should be able to see the task in order to update its details - The authenticated user needs to be the assignee of the task to update its details, if not he/she will need to claim the task first
    • delete

      Task delete(DeleteTaskPayload deleteTaskPayload)
      Deletes a task - The authenticated user should be able to see the task in order to delete it - The authenticated user needs to be the assignee of the task in order to delete it - this method returns a shallow Task with the necessary information to validate that the task was deleted
    • createVariable

      void createVariable(CreateTaskVariablePayload createTaskVariablePayload)
    • updateVariable

      void updateVariable(UpdateTaskVariablePayload updateTaskVariablePayload)
    • variables

      List<VariableInstance> variables(GetTaskVariablesPayload getTaskVariablesPayload)
    • addCandidateUsers

      void addCandidateUsers(CandidateUsersPayload candidateUsersPayload)
    • deleteCandidateUsers

      void deleteCandidateUsers(CandidateUsersPayload candidateUsersPayload)
    • addCandidateGroups

      void addCandidateGroups(CandidateGroupsPayload candidateGroupsPayload)
    • deleteCandidateGroups

      void deleteCandidateGroups(CandidateGroupsPayload candidateGroupsPayload)
    • userCandidates

      List<String> userCandidates(String taskId)
    • groupCandidates

      List<String> groupCandidates(String taskId)
    • assign

      Task assign(AssignTaskPayload assignTaskPayload)
      Assign a task that has been claimed before to a different user - Only the current assignee can perform the action - The new assignee should be part of the candidate users for this task