UNPKG

@azure-utils/storybooks

Version:

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

27 lines (25 loc) 1.24 kB
const require_constants = require('./constants-94H7Co6A.cjs'); const require_projects = require('./projects-Dq7sJTc7.cjs'); //#region src/handlers/timer-purge-handler.ts function timerPurgeHandler(connectionString) { return async (timer, context) => { context.log("Timer triggered to purge old builds...", JSON.stringify(timer)); const projectModel = new require_projects.ProjectModel(context, connectionString); const projects = await projectModel.list(); for (const project of projects) { const { id, purgeBuildsAfterDays = require_constants.DEFAULT_PURGE_AFTER_DAYS } = project; const expiryTime = new Date(Date.now() - purgeBuildsAfterDays * require_constants.ONE_DAY_IN_MS); context.log(`[${id}] Timer - Purge builds which were last modified more than ${purgeBuildsAfterDays} days ago - since ${new Date(expiryTime)}`); const buildModel = projectModel.buildModel(project.id); const expiredBuilds = await buildModel.list({ filter: `Timestamp lt '${expiryTime.toISOString()}'` }); for (const build of expiredBuilds) await buildModel.delete(build.sha); } }; } //#endregion Object.defineProperty(exports, 'timerPurgeHandler', { enumerable: true, get: function () { return timerPurgeHandler; } });