Files
dayplanner/web/utils/task.ts
2025-07-04 20:25:23 +02:00

57 lines
1.1 KiB
TypeScript

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
}