@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 2.84 kB
Source Map (JSON)
{"version":3,"file":"media-folders.mjs","names":["formatter"],"sources":["../../../src/libs/formatters/media-folders.ts"],"sourcesContent":["import type { MediaFolder } from \"../../types/response.js\";\nimport formatter from \"./index.js\";\n\nexport interface MediaFolderPropsT {\n\tid: number;\n\ttitle: string;\n\tparent_folder_id: number | null;\n\tfolder_count?: number | null;\n\tmedia_count?: number | null;\n\tcreated_by: number | null;\n\tupdated_by: number | null;\n\tcreated_at: Date | string | null;\n\tupdated_at: Date | string | null;\n}\ninterface MediaFolderBreadcrumbPropsT {\n\tid: number;\n\ttitle: string;\n\tparent_folder_id: number | null;\n}\nexport interface MediaFolderWithHierarchyPropsT extends MediaFolderPropsT {\n\tlevel: number;\n\torder: number;\n\tlabel: string;\n}\n\nconst formatBreadcrumbs = (props: {\n\tbreadcrumbs: MediaFolderBreadcrumbPropsT[];\n}) => {\n\treturn props.breadcrumbs.map((b) => {\n\t\treturn {\n\t\t\tid: b.id,\n\t\t\ttitle: b.title,\n\t\t\tparentFolderId: b.parent_folder_id,\n\t\t};\n\t});\n};\n\nconst formatMultiple = (props: {\n\tfolders: MediaFolderPropsT[] | MediaFolderWithHierarchyPropsT[];\n}) => {\n\treturn props.folders.map((f) =>\n\t\tformatSingle({\n\t\t\tfolder: f,\n\t\t}),\n\t);\n};\n\nconst formatSingle = (props: {\n\tfolder: MediaFolderPropsT | MediaFolderWithHierarchyPropsT;\n}): MediaFolder => {\n\tlet meta: MediaFolder[\"meta\"] | undefined;\n\tif (\n\t\t\"level\" in props.folder &&\n\t\t\"order\" in props.folder &&\n\t\t\"label\" in props.folder\n\t) {\n\t\tmeta = {\n\t\t\tlevel: props.folder?.level,\n\t\t\torder: props.folder.order,\n\t\t\tlabel: props.folder.label,\n\t\t};\n\t}\n\n\treturn {\n\t\tid: props.folder.id,\n\t\ttitle: props.folder.title,\n\t\tparentFolderId: props.folder.parent_folder_id,\n\t\tfolderCount: props.folder.folder_count ?? 0,\n\t\tmediaCount: props.folder.media_count ?? 0,\n\t\tmeta: meta,\n\t\tcreatedBy: props.folder.created_by,\n\t\tupdatedBy: props.folder.updated_by,\n\t\tcreatedAt: formatter.formatDate(props.folder.created_at),\n\t\tupdatedAt: formatter.formatDate(props.folder.updated_at),\n\t};\n};\n\nexport default {\n\tformatBreadcrumbs,\n\tformatMultiple,\n\tformatSingle,\n};\n"],"mappings":"2BAyBA,MAAM,EAAqB,GAGnB,EAAM,YAAY,IAAK,IACtB,CACN,GAAI,EAAE,GACN,MAAO,EAAE,MACT,eAAgB,EAAE,gBACnB,EACA,EAGI,EAAkB,GAGhB,EAAM,QAAQ,IAAK,GACzB,EAAa,CACZ,OAAQ,CACT,CAAC,CACF,EAGK,EAAgB,GAEH,CAClB,IAAI,EAaJ,MAXC,UAAW,EAAM,QACjB,UAAW,EAAM,QACjB,UAAW,EAAM,SAEjB,EAAO,CACN,MAAO,EAAM,QAAQ,MACrB,MAAO,EAAM,OAAO,MACpB,MAAO,EAAM,OAAO,KACrB,GAGM,CACN,GAAI,EAAM,OAAO,GACjB,MAAO,EAAM,OAAO,MACpB,eAAgB,EAAM,OAAO,iBAC7B,YAAa,EAAM,OAAO,cAAgB,EAC1C,WAAY,EAAM,OAAO,aAAe,EAClC,OACN,UAAW,EAAM,OAAO,WACxB,UAAW,EAAM,OAAO,WACxB,UAAWA,EAAU,WAAW,EAAM,OAAO,UAAU,EACvD,UAAWA,EAAU,WAAW,EAAM,OAAO,UAAU,CACxD,CACD,EAEA,IAAA,EAAe,CACd,oBACA,iBACA,cACD"}