@n1k1t/mock-server
Version:
Powerful util to setup mocks over HTTP APIs
36 lines • 1.41 kB
JavaScript
;
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