2022-10-18 14:26:35 +00:00
|
|
|
import AbstractService from '@/services/abstractService'
|
|
|
|
import TaskModel from '@/models/task'
|
|
|
|
|
|
|
|
import type {ITask} from '@/modelTypes/ITask'
|
|
|
|
|
2024-03-08 11:52:24 +00:00
|
|
|
export interface TaskFilterParams {
|
2024-03-11 15:39:27 +00:00
|
|
|
sort_by: ('start_date' | 'done' | 'id' | 'position' | 'kanban_position')[],
|
2024-03-08 11:52:24 +00:00
|
|
|
order_by: ('asc' | 'desc')[],
|
|
|
|
filter: string,
|
2022-10-18 14:26:35 +00:00
|
|
|
filter_include_nulls: boolean,
|
2024-03-11 15:39:27 +00:00
|
|
|
filter_timezone?: string,
|
2024-03-08 11:52:24 +00:00
|
|
|
s: string,
|
2024-03-11 15:39:27 +00:00
|
|
|
per_page?: number,
|
2022-10-18 14:26:35 +00:00
|
|
|
}
|
|
|
|
|
2024-03-08 12:19:56 +00:00
|
|
|
export function getDefaultTaskFilterParams(): TaskFilterParams {
|
|
|
|
return {
|
|
|
|
sort_by: ['position', 'id'],
|
|
|
|
order_by: ['asc', 'desc'],
|
|
|
|
filter: '',
|
|
|
|
filter_include_nulls: false,
|
2024-03-11 15:13:42 +00:00
|
|
|
filter_timezone: '',
|
2024-03-08 12:19:56 +00:00
|
|
|
s: '',
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-10-10 19:44:59 +00:00
|
|
|
export default class TaskCollectionService extends AbstractService<ITask> {
|
2019-12-03 18:09:12 +00:00
|
|
|
constructor() {
|
|
|
|
super({
|
2022-11-13 21:04:57 +00:00
|
|
|
getAll: '/projects/{projectId}/tasks',
|
2019-12-03 18:09:12 +00:00
|
|
|
})
|
|
|
|
}
|
2020-02-08 13:16:06 +00:00
|
|
|
|
2019-12-03 18:09:12 +00:00
|
|
|
modelFactory(data) {
|
|
|
|
return new TaskModel(data)
|
|
|
|
}
|
|
|
|
}
|