UNPKG

@lucidcms/core

Version:

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

1 lines 2.02 kB
{"version":3,"file":"adjust-storage-usage.mjs","names":["optionServices.adjustInt"],"sources":["../../../src/services/media/adjust-storage-usage.ts"],"sourcesContent":["import { multiTenancyEnabled } from \"../../utils/helpers/index.js\";\nimport type { ServiceFn } from \"../../utils/services/types.js\";\nimport { optionServices } from \"../index.js\";\nimport getStorageUsage from \"./get-storage-usage.js\";\nimport { getMediaStorageOptionName } from \"./helpers/storage-usage-options.js\";\n\nconst adjustStorageUsage: ServiceFn<\n\t[\n\t\t{\n\t\t\ttenantKey: string | null | undefined;\n\t\t\tdelta: number;\n\t\t\tmax?: number;\n\t\t\tmin?: number;\n\t\t},\n\t],\n\t{\n\t\tapplied: boolean;\n\t}\n> = async (context, data) => {\n\tconst max =\n\t\tdata.max !== undefined && multiTenancyEnabled(context.config)\n\t\t\t? data.max\n\t\t\t: undefined;\n\n\tif (\n\t\tdata.max !== undefined &&\n\t\tdata.delta > 0 &&\n\t\t!multiTenancyEnabled(context.config)\n\t) {\n\t\tconst storageUsageRes = await getStorageUsage(context, {\n\t\t\tincludeAllBuckets: true,\n\t\t});\n\t\tif (storageUsageRes.error) return storageUsageRes;\n\n\t\tif (storageUsageRes.data.total + data.delta > data.max) {\n\t\t\treturn {\n\t\t\t\terror: undefined,\n\t\t\t\tdata: {\n\t\t\t\t\tapplied: false,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t}\n\n\treturn optionServices.adjustInt(context, {\n\t\tname: getMediaStorageOptionName(data.tenantKey),\n\t\tdelta: data.delta,\n\t\tmax,\n\t\tmin: data.min,\n\t\tensure: true,\n\t});\n};\n\nexport default adjustStorageUsage;\n"],"mappings":"sOAMA,MAAM,EAYF,MAAO,EAAS,IAAS,CAC5B,IAAM,EACL,EAAK,MAAQ,IAAA,IAAa,EAAoB,EAAQ,MAAM,EACzD,EAAK,IACL,IAAA,GAEJ,GACC,EAAK,MAAQ,IAAA,IACb,EAAK,MAAQ,GACb,CAAC,EAAoB,EAAQ,MAAM,EAClC,CACD,IAAM,EAAkB,MAAM,EAAgB,EAAS,CACtD,kBAAmB,EACpB,CAAC,EACD,GAAI,EAAgB,MAAO,OAAO,EAElC,GAAI,EAAgB,KAAK,MAAQ,EAAK,MAAQ,EAAK,IAClD,MAAO,CACN,MAAO,IAAA,GACP,KAAM,CACL,QAAS,EACV,CACD,CAEF,CAEA,OAAOA,EAAyB,EAAS,CACxC,KAAM,EAA0B,EAAK,SAAS,EAC9C,MAAO,EAAK,MACZ,MACA,IAAK,EAAK,IACV,OAAQ,EACT,CAAC,CACF"}