{"version":3,"file":"delete-expired-revisions.mjs","names":[],"sources":["../../../src/services/crons/delete-expired-revisions.ts"],"sourcesContent":["import type { ServiceFn } from \"../../utils/services/types.js\";\n\n/**\n * Queues jobs to delete expired revisions for each collection that has revisions enabled.\n * Each collection is processed independently based on its revisionRetentionDays config.\n */\nconst deleteExpiredRevisions: ServiceFn<[], undefined> = async (context) => {\n\tconst collectionsWithRevisions = context.config.collections.filter(\n\t\t(collection) => {\n\t\t\tconst config = collection.getData;\n\t\t\treturn config.revisions && config.revisionRetentionDays !== false;\n\t\t},\n\t);\n\n\tif (collectionsWithRevisions.length === 0) {\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: undefined,\n\t\t};\n\t}\n\n\tconst queueResults = await Promise.all(\n\t\tcollectionsWithRevisions.map(async (collection) => {\n\t\t\tconst queueRes = await context.queue.add(context, {\n\t\t\t\tevent: \"document-versions:delete-expired\",\n\t\t\t\tpayload: {\n\t\t\t\t\tcollectionKey: collection.key,\n\t\t\t\t\tretentionDays: collection.getData.revisionRetentionDays,\n\t\t\t\t},\n\t\t\t});\n\t\t\treturn queueRes;\n\t\t}),\n\t);\n\n\tfor (const result of queueResults) {\n\t\tif (result.error) return result;\n\t}\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: undefined,\n\t};\n};\n\nexport default deleteExpiredRevisions;\n"],"mappings":"AAMA,MAAM,EAAmD,KAAO,IAAY,CAC3E,IAAM,EAA2B,EAAQ,OAAO,YAAY,OAC1D,GAAe,CACf,IAAM,EAAS,EAAW,QAC1B,OAAO,EAAO,WAAa,EAAO,wBAA0B,EAC7D,CACD,EAEA,GAAI,EAAyB,SAAW,EACvC,MAAO,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,EAGD,IAAM,EAAe,MAAM,QAAQ,IAClC,EAAyB,IAAI,KAAO,IAQ5B,MAPgB,EAAQ,MAAM,IAAI,EAAS,CACjD,MAAO,mCACP,QAAS,CACR,cAAe,EAAW,IAC1B,cAAe,EAAW,QAAQ,qBACnC,CACD,CAAC,CAED,CACF,EAEA,IAAK,IAAM,KAAU,EACpB,GAAI,EAAO,MAAO,OAAO,EAG1B,MAAO,CACN,MAAO,IAAA,GACP,KAAM,IAAA,EACP,CACD"}