UNPKG

@caidrive/shared

Version:

caidrive.shared.components

183 lines (182 loc) 5.49 kB
"use strict"; /** * What it does. * * @param name - Parameter description. * @returns Type and description of the returned object. * * @example * ``` * Write me later. * ``` */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.RedisClient = void 0; const core_1 = require("../../../core"); /** * */ class RedisClient { /** * */ constructor(client) { this.client = client; } /** * */ connect() { return __awaiter(this, void 0, void 0, function* () { /** * */ try { /** * */ if (!this.client.isReady) { /** */ yield this.client.connect(); } return core_1.Result.ok(); } catch (error) { /** * */ console.log(` Unable to connect to redis instance with error ${error === null || error === void 0 ? void 0 : error.message}`); return core_1.Result.fail(` Unable to connect to redis instance with error ${error === null || error === void 0 ? void 0 : error.message}`); } }); } /** * */ getOne(key) { return __awaiter(this, void 0, void 0, function* () { /** * */ try { /** * */ const connected = yield this.connect(); if (connected.isFailure) { /** */ return core_1.Result.fail(`Could not estabilish stable connection`); } const one = yield this.client.get(key); return core_1.Result.ok(one); } catch (error) { /** * */ return core_1.Result.fail(`Error occurred during retrieval of one with key ${key}, errordetails: ${error === null || error === void 0 ? void 0 : error.message}`); } }); } /** * */ set(key, value) { return __awaiter(this, void 0, void 0, function* () { /** * */ try { /** * */ const connected = yield this.connect(); if (connected.isFailure) { /** */ return core_1.Result.fail(`Could not estabilish stable connection`); } yield this.client.set(key, value); return core_1.Result.ok(); } catch (error) { /** * */ return core_1.Result.fail(`Error duiring set process of value ${value} with key ${key}`); } }); } /** * */ getAllKeys(criteria) { return __awaiter(this, void 0, void 0, function* () { /** * */ try { /** * */ const connected = yield this.connect(); if (connected.isFailure) { /** */ return core_1.Result.fail(`Could not estabilish stable connection`); } /** */ const keys = yield this.client.keys(criteria); return core_1.Result.ok(keys); } catch (error) { /** * */ return core_1.Result.fail(`Error duiring rerievalt process of keys for criteria ${criteria}`); } }); } /** * */ deleteOne(key) { return __awaiter(this, void 0, void 0, function* () { /** * */ try { /** * */ const connected = yield this.connect(); if (connected.isFailure) { /** */ return core_1.Result.fail(`Could not estabilish stable connection`); } yield this.client.del(key); return core_1.Result.ok(); } catch (error) { /** * */ return core_1.Result.fail(`Error occurred during deletion of one with key ${key}, errordetails: ${error === null || error === void 0 ? void 0 : error.message}`); } }); } } exports.RedisClient = RedisClient;