This repository has been archived on 2024-02-08. You can view files and clone it, but cannot push or open issues or pull requests.
frontend/src/services/taskCollection.ts

35 lines
896 B
TypeScript
Raw Normal View History

2020-03-02 20:55:22 +00:00
import {formatISO} from 'date-fns'
2019-12-03 18:09:12 +00:00
import AbstractService from '@/services/abstractService'
import TaskModel from '@/models/task'
import type {ITask} from '@/modelTypes/ITask'
// FIXME: unite with other filter params types
export interface GetAllTasksParams {
sort_by: ('start_date' | 'done' | 'id')[],
order_by: ('asc' | 'asc' | 'desc')[],
filter_by: 'start_date'[],
filter_comparator: ('greater_equals' | 'less_equals')[],
filter_value: [string, string] // [dateFrom, dateTo],
filter_concat: 'and',
filter_include_nulls: boolean,
}
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({
getAll: '/lists/{listId}/tasks',
2019-12-03 18:09:12 +00:00
})
}
processModel(model) {
model.created = formatISO(new Date(model.created))
model.updated = formatISO(new Date(model.updated))
return model
}
2019-12-03 18:09:12 +00:00
modelFactory(data) {
return new TaskModel(data)
}
}