UNPKG

@azure-utils/storybooks

Version:

Utils to upload and manage Storybooks via Azure Functions and storage.

1 lines 2 kB
{"version":3,"file":"timer-purge-handler-DSRkR3S8.mjs","names":["connectionString: string"],"sources":["../src/handlers/timer-purge-handler.ts"],"sourcesContent":["import { DEFAULT_PURGE_AFTER_DAYS, ONE_DAY_IN_MS } from \"../utils/constants\";\nimport { TimerHandler } from \"@azure/functions\";\nimport { ProjectModel } from \"../models/projects\";\n\nexport function timerPurgeHandler(connectionString: string): TimerHandler {\n return async (timer, context) => {\n context.log(\n \"Timer triggered to purge old builds...\",\n JSON.stringify(timer)\n );\n\n const projectModel = new ProjectModel(context, connectionString);\n const projects = await projectModel.list();\n\n for (const project of projects) {\n const { id, purgeBuildsAfterDays = DEFAULT_PURGE_AFTER_DAYS } = project;\n const expiryTime = new Date(\n Date.now() - purgeBuildsAfterDays * ONE_DAY_IN_MS\n );\n\n context.log(\n `[${id}] Timer - Purge builds which were last modified more than ${purgeBuildsAfterDays} days ago - since ${new Date(\n expiryTime\n )}`\n );\n\n const buildModel = projectModel.buildModel(project.id);\n const expiredBuilds = await buildModel.list({\n filter: `Timestamp lt '${expiryTime.toISOString()}'`,\n });\n\n for (const build of expiredBuilds) {\n await buildModel.delete(build.sha);\n }\n }\n };\n}\n"],"mappings":";;;;AAIA,SAAgB,kBAAkBA,kBAAwC;AACxE,QAAO,OAAO,OAAO,YAAY;EAC/B,QAAQ,IACN,0CACA,KAAK,UAAU,MAAM,CACtB;EAED,MAAM,eAAe,IAAI,aAAa,SAAS;EAC/C,MAAM,WAAW,MAAM,aAAa,MAAM;AAE1C,OAAK,MAAM,WAAW,UAAU;GAC9B,MAAM,EAAE,IAAI,uBAAuB,0BAA0B,GAAG;GAChE,MAAM,aAAa,IAAI,KACrB,KAAK,KAAK,GAAG,uBAAuB;GAGtC,QAAQ,IACN,CAAC,CAAC,EAAE,GAAG,0DAA0D,EAAE,qBAAqB,kBAAkB,EAAE,IAAI,KAC9G,aACC,CACJ;GAED,MAAM,aAAa,aAAa,WAAW,QAAQ,GAAG;GACtD,MAAM,gBAAgB,MAAM,WAAW,KAAK,EAC1C,QAAQ,CAAC,cAAc,EAAE,WAAW,aAAa,CAAC,CAAC,CAAC,CACrD,EAAC;AAEF,QAAK,MAAM,SAAS,eAClB,MAAM,WAAW,OAAO,MAAM,IAAI;EAErC;CACF;AACF"}