UNPKG

turborepo-remote-cache

Version:
27 lines 2.31 kB
import { badRequest, forbidden } from '@hapi/boom'; import { DEFAULT_OLDER_THAN_DAYS, cleanRouteSchema, } from './clean-schema.js'; function assertSafeTeamSlug(slug) { if (slug === '.' || slug.includes('..') || slug.includes('/') || slug.includes('\\')) { throw badRequest('Invalid slug'); } } export const cleanCache = { method: 'POST', url: '/clean', schema: cleanRouteSchema, authorization: 'write', async handler(req, reply) { if (this.config.READ_ONLY) { throw forbidden('Remote cache is running in read-only mode'); } const slug = req.query.slug; assertSafeTeamSlug(slug); const olderThanDays = req.query.olderThan ?? DEFAULT_OLDER_THAN_DAYS; const result = await this.location.cleanStaleArtifacts(slug, olderThanDays); return reply.send(result); }, }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGx1Z2lucy9yZW1vdGUtY2FjaGUvcm91dGVzL2NsZWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBTWxELE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsZ0JBQWdCLEdBQ2pCLE1BQU0sbUJBQW1CLENBQUE7QUFFMUIsU0FBUyxrQkFBa0IsQ0FBQyxJQUFZO0lBQ3RDLElBQ0UsSUFBSSxLQUFLLEdBQUc7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUNuQixDQUFDO1FBQ0QsTUFBTSxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDbEMsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBT25CO0lBQ0YsTUFBTSxFQUFFLE1BQU07SUFDZCxHQUFHLEVBQUUsUUFBUTtJQUNiLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsYUFBYSxFQUFFLE9BQU87SUFDdEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSztRQUN0QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsTUFBTSxTQUFTLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtRQUM5RCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUE7UUFDM0Isa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFeEIsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksdUJBQXVCLENBQUE7UUFDcEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQTtRQUUzRSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDM0IsQ0FBQztDQUNGLENBQUEifQ==