export default class Folder { id?: string name: string parent?: Folder createdAt: Date updatedAt: Date deletedAt?: Date static resolve(data: Record): Folder { return { id: data['id'] as string, name: data['name'] as string, parent: data['parent_id'] ? { id: data['parent_id'] } as Folder : null, createdAt: new Date(data['created_at'] as string), updatedAt: new Date(data['updated_at'] as string), deletedAt: data['deleted_at'] ? new Date(data['deleted_at'] as string) : null, } } static formatForView(folder: Folder) { return { ...folder, createdAt: folder.createdAt.toISOString(), updatedAt: folder.updatedAt.toISOString(), deletedAt: folder.deletedAt?.toISOString() || null, } } }