export interface IAPITag { name: string; id: number; } export interface ITask { id: string; name: string; checked: boolean; priority: number; date: Date; description: string; subject: IAPITag; taskType: IAPITag; } export interface ITaskView extends Omit { task_type: IAPITag; } export interface ITaskForm extends Omit { date: string; } export interface IApiTask { id: number; title: string; description: string; priority: number; isCompleted: boolean; due_date: string; subject: IAPITag; taskType: IAPITag; } export interface IApiResponse { profile: string; tasks: IApiTask[]; } export interface ICreateTaskResponse { success: boolean; message: string; profile: string; task: { id: number; title: string; description: string; subject: string; taskType: string; dateTime_due: string; isCompleted: boolean; reminder?: { remind_before_days: number; repeat_interval: number; reminder_time: string; }; }; } export interface ITaskDetails { profile: string; title: string; description: string; subject: IAPITag; task_type: IAPITag; priority: number; dateTime_due: string; } export interface IDeleteTaskResponse { success: boolean; message: string; } export interface IEditTaskResponse { success: boolean; message: string; profile: string; task: { id: number; title: string; description: string; subject: string; taskType: string; dateTime_due: string; isCompleted: boolean; reminder?: { remind_before_days: number; repeat_interval: number; reminder_time: string; }; }; } export interface IViewTagsResponse { profile: string; subjects: IAPITag[]; taskTypes: IAPITag[]; }