@caidrive/shared
Version:
caidrive.shared.components
183 lines (182 loc) • 5.49 kB
JavaScript
;
/**
* 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;