Source code for statsbiblioteket.harvest.task_assignments

import typing

from statsbiblioteket.harvest.harvest_types import Task
from statsbiblioteket.harvest.rest import Rest


[docs]class TaskAssignments(Rest): # Task Assignment: Assigning tasks to projects
[docs] def get_all_tasks_from_project(self, project_id) -> typing.List[Task]: """ GET ALL TASKS ASSIGNED TO A GIVEN PROJECT /projects/#{project_id}/task_assignments """ url = '/projects/{0}/task_assignments'.format(project_id) return self._get(url)
[docs] def get_one_task_assigment(self, project_id, task_id): """ GET ONE TASK ASSIGNMENT GET /projects/#{project_id}/task_assignments/#{task_assignment_id} """ url = '/projects/{0}/task_assignments/{1}'.format(project_id, task_id) return self._get(url)
[docs] def assign_task_to_project(self, project_id, **kwargs): #TODO types """ ASSIGN A TASK TO A PROJECT POST /projects/#{project_id}/task_assignments """ url = '/projects/{0}/task_assignments/'.format(project_id) return self._post(url, kwargs)
[docs] def create_task_to_project(self, project_id, **kwargs): # TODO types """ CREATE A NEW TASK AND ASSIGN IT TO A PROJECT POST /projects/#{project_id}/task_assignments/add_with_create_new_task """ url = '/projects/{0}/task_assignments/add_with_create_new_task'.format( project_id) return self._post(url, kwargs)
[docs] def remove_task_from_project(self, project_id, task_id): """ REMOVING A TASK FROM A PROJECT DELETE /projects/#{project_id}/task_assignments/#{task_assignment_id} """ url = '/projects/{0}/task_assignments/{1}'.format(project_id, task_id) return self._delete(url)
[docs] def change_task_from_project(self, project_id, task_id, data, **kwargs): # TODO types """ CHANGING A TASK FOR A PROJECT PUT /projects/#{project_id}/task_assignments/#{task_assignment_id} """ url = '/projects/{0}/task_assignments/{1}'.format(project_id, task_id) kwargs.update({'task-assignment': data}) return self._put(url, kwargs)