UNPKG

@n1k1t/mock-server

Version:

Powerful util to setup mocks over HTTP APIs

36 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../utils"); const models_1 = require("../models"); const logger_1 = require("../../logger"); const logger = logger_1.Logger.build('Server.Endpoints.CacheDelete'); exports.default = models_1.Endpoint .build() .bindToHttp({ method: 'DELETE', path: `/cache` }) .bindToIo({ path: 'cache:delete' }) .assignHandler(async ({ incoming, reply, server }) => { const result = { ...(server.databases.redis && { redis: { count: 0, }, }), }; if (result.redis) { const converter = utils_1.RxConverter.build(server.services.analytics.iterateRedisKeys(incoming.data?.prefix)); for await (const key of converter.iterate()) { const unprefixed = server.databases.redis.options.keyPrefix ? key.replace(server.databases.redis.options.keyPrefix, '') : key; const deleted = await server.databases.redis.del(unprefixed).catch((error) => { logger.error(`Got error while deletion redis value for key [${key}]`, error?.stack ?? error); return null; }); if (deleted) { result.redis.count += deleted; } } } reply.ok(result); }); //# sourceMappingURL=cache.delete.endpoint.js.map