UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

2 lines 1.54 kB
import e from"../../libs/repositories/media.mjs";import t from"../../libs/repositories/processed-images.mjs";import{multiTenancyEnabled as n}from"../../utils/helpers/tenants.mjs";const r=async(r,i)=>{let a=new e(r.db.client,r.config.db),o=new t(r.db.client,r.config.db);if(i?.grouped===!0){let[e,t]=await Promise.all([a.sumFileSizeGroupedByTenant(),o.sumFileSizeGroupedByMediaTenant()]);if(e.error)return e;if(t.error)return t;let n=new Map,r=e=>{let t=n.get(e);if(t)return t;let r={tenantKey:e,media:0,processedImages:0,total:0};return n.set(e,r),r};r(null);for(let t of e.data){let e=r(t.tenant_key);e.media=t.total,e.total=e.media+e.processedImages}for(let e of t.data){let t=r(e.tenant_key);t.processedImages=e.total,t.total=t.media+t.processedImages}let i=Array.from(n.values()),s=i.reduce((e,t)=>e+t.media,0),c=i.reduce((e,t)=>e+t.processedImages,0);return{error:void 0,data:{media:s,processedImages:c,total:s+c,buckets:i}}}if(i?.includeAllBuckets!==!0&&n(r.config)){let e=i!==void 0&&`tenantKey`in i?i.tenantKey??null:r.request.tenantKey??null,[t,n]=await Promise.all([a.sumFileSizeByTenant({tenantKey:e}),o.sumFileSizeByMediaTenant({tenantKey:e})]);if(t.error)return t;if(n.error)return n;let s=t.data,c=n.data;return{error:void 0,data:{media:s,processedImages:c,total:s+c}}}let[s,c]=await Promise.all([a.sumFileSize(),o.sumFileSize()]);if(s.error)return s;if(c.error)return c;let l=s.data,u=c.data;return{error:void 0,data:{media:l,processedImages:u,total:l+u}}};export{r as default}; //# sourceMappingURL=get-storage-usage.mjs.map