Skip to main content
Glama
dateUtils.ts•2.45 kB
import { Project, Task } from '@prisma/client'; /** * Types for objects with Date objects (from database) */ export type ProjectWithDates = Omit< Project, 'startDate' | 'endDate' | 'createdAt' | 'updatedAt' > & { startDate: Date; endDate: Date; createdAt: Date; updatedAt: Date; }; export type TaskWithDates = Omit<Task, 'dueDate' | 'createdAt' | 'updatedAt'> & { dueDate: Date; createdAt: Date; updatedAt: Date; }; /** * Types for serialized objects (for cache/API responses) */ export type SerializedProject = Omit< Project, 'startDate' | 'endDate' | 'createdAt' | 'updatedAt' > & { startDate: string; endDate: string; createdAt: string; updatedAt: string; }; export type SerializedTask = Omit<Task, 'dueDate' | 'createdAt' | 'updatedAt'> & { dueDate: string; createdAt: string; updatedAt: string; }; /** * Convert string dates to Date objects for projects */ export function convertProjectDates(project: any): ProjectWithDates { return { ...project, startDate: new Date(project.startDate), endDate: new Date(project.endDate), createdAt: new Date(project.createdAt), updatedAt: new Date(project.updatedAt), }; } /** * Convert string dates to Date objects for tasks */ export function convertTaskDates(task: any): TaskWithDates { return { ...task, dueDate: new Date(task.dueDate), createdAt: new Date(task.createdAt), updatedAt: new Date(task.updatedAt), }; } /** * Convert Date objects to strings for projects (for cache/API) */ export function serializeProject(project: Project): SerializedProject { return { ...project, startDate: project.startDate.toISOString(), endDate: project.endDate.toISOString(), createdAt: project.createdAt.toISOString(), updatedAt: project.updatedAt.toISOString(), }; } /** * Convert Date objects to strings for tasks (for cache/API) */ export function serializeTask(task: Task): SerializedTask { return { ...task, dueDate: task.dueDate.toISOString(), createdAt: task.createdAt.toISOString(), updatedAt: task.updatedAt.toISOString(), }; } /** * Convert array of projects with dates */ export function convertProjectDatesArray(projects: any[]): ProjectWithDates[] { return projects.map(convertProjectDates); } /** * Convert array of tasks with dates */ export function convertTaskDatesArray(tasks: any[]): TaskWithDates[] { return tasks.map(convertTaskDates); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jatinderbhola/mcp-taskflow-tracker-api'

If you have feedback or need assistance with the MCP directory API, please join our Discord server