import { DateTime } from "luxon" export class Task { constructor( public id: number | undefined, public title: string, public description: string, public done: boolean, public estimated_time: number, public due_date: DateTime | undefined ) { } static fromSimpleTask(simpleTask: SimpleTask) { return new Task( simpleTask.id, simpleTask.title, simpleTask.description, simpleTask.done, simpleTask.estimated_time, simpleTask.due_date ) } static fromSerializable(serializableTask: SerializableTask) { console.log('dings', serializableTask.due_date) return new Task( serializableTask.id, serializableTask.title, serializableTask.description, serializableTask.done, serializableTask.estimated_time, DateTime.now() ) } } export type SimpleTask = { id: number | undefined title: string description: string done: boolean estimated_time: number due_date: DateTime | undefined } export type SerializableTask = { id: number | undefined title: string description: string done: boolean estimated_time: number due_date: string | undefined created_at: string updated_at: string userid: string }