@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 2.7 kB
Source Map (JSON)
{"version":3,"file":"get-multiple.mjs","names":["mediaFoldersFormatter","formatter"],"sources":["../../../src/services/media-folders/get-multiple.ts"],"sourcesContent":["import formatter, {\n\tmediaFoldersFormatter,\n} from \"../../libs/formatters/index.js\";\nimport { MediaFoldersRepository } from \"../../libs/repositories/index.js\";\nimport type { GetMultipleQueryParams } from \"../../schemas/media-folders.js\";\nimport type { MultipleMediaFolder } from \"../../types/response.js\";\nimport type { ServiceFn } from \"../../utils/services/types.js\";\n\nconst getMultiple: ServiceFn<\n\t[\n\t\t{\n\t\t\tquery: GetMultipleQueryParams;\n\t\t},\n\t],\n\t{\n\t\tdata: MultipleMediaFolder;\n\t\tcount: number;\n\t}\n> = async (context, data) => {\n\tconst MediaFolders = new MediaFoldersRepository(\n\t\tcontext.db.client,\n\t\tcontext.config.db,\n\t);\n\n\tconst parentFolderId = data.query.filter?.parentFolderId?.value;\n\tconst parsedId = parentFolderId ? Number(parentFolderId) : undefined;\n\tconst searchBreadcrumbs = parsedId && !Number.isNaN(parsedId);\n\n\tconst [foldersRes, breadcrumbsRes] = await Promise.all([\n\t\tMediaFolders.selectMultipleWithCounts({\n\t\t\tqueryParams: data.query,\n\t\t\ttenantKey: context.request.tenantKey,\n\t\t\tvalidation: {\n\t\t\t\tenabled: true,\n\t\t\t},\n\t\t}),\n\t\tsearchBreadcrumbs\n\t\t\t? MediaFolders.getBreadcrumb({\n\t\t\t\t\tfolderId: parsedId,\n\t\t\t\t\ttenantKey: context.request.tenantKey,\n\t\t\t\t})\n\t\t\t: undefined,\n\t]);\n\tif (foldersRes.error) return foldersRes;\n\tif (breadcrumbsRes?.error) return breadcrumbsRes;\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: {\n\t\t\tdata: {\n\t\t\t\tbreadcrumbs: mediaFoldersFormatter.formatBreadcrumbs({\n\t\t\t\t\tbreadcrumbs: breadcrumbsRes?.data ?? [],\n\t\t\t\t}),\n\t\t\t\tfolders: mediaFoldersFormatter.formatMultiple({\n\t\t\t\t\tfolders: foldersRes.data[0],\n\t\t\t\t}),\n\t\t\t},\n\t\t\tcount: formatter.parseCount(foldersRes.data[1]?.count),\n\t\t},\n\t};\n};\n\nexport default getMultiple;\n"],"mappings":"+JAQA,MAAM,EAUF,MAAO,EAAS,IAAS,CAC5B,IAAM,EAAe,IAAI,EACxB,EAAQ,GAAG,OACX,EAAQ,OAAO,EAChB,EAEM,EAAiB,EAAK,MAAM,QAAQ,gBAAgB,MACpD,EAAW,EAAiB,OAAO,CAAc,EAAI,IAAA,GACrD,EAAoB,GAAY,CAAC,OAAO,MAAM,CAAQ,EAEtD,CAAC,EAAY,GAAkB,MAAM,QAAQ,IAAI,CACtD,EAAa,yBAAyB,CACrC,YAAa,EAAK,MAClB,UAAW,EAAQ,QAAQ,UAC3B,WAAY,CACX,QAAS,EACV,CACD,CAAC,EACD,EACG,EAAa,cAAc,CAC3B,SAAU,EACV,UAAW,EAAQ,QAAQ,SAC5B,CAAC,EACA,IAAA,EACJ,CAAC,EAID,OAHI,EAAW,MAAc,EACzB,GAAgB,MAAc,EAE3B,CACN,MAAO,IAAA,GACP,KAAM,CACL,KAAM,CACL,YAAaA,EAAsB,kBAAkB,CACpD,YAAa,GAAgB,MAAQ,CAAC,CACvC,CAAC,EACD,QAASA,EAAsB,eAAe,CAC7C,QAAS,EAAW,KAAK,EAC1B,CAAC,CACF,EACA,MAAOC,EAAU,WAAW,EAAW,KAAK,EAAE,EAAE,KAAK,CACtD,CACD,CACD"}