"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CacheService = void 0; const common_1 = require("@nestjs/common"); const redis_1 = require("redis"); const config_1 = require("@nestjs/config"); let CacheService = class CacheService { configService; client; constructor(configService) { this.configService = configService; const redisUrl = this.configService.get('REDIS_URL', 'redis://redis:6379'); this.client = (0, redis_1.createClient)({ url: redisUrl }); this.client.connect().catch(console.error); } async set(key, value, ttlSeconds = 3600) { await this.client.set(key, JSON.stringify(value), { EX: ttlSeconds, }); } async get(key) { const data = await this.client.get(key); return data ? JSON.parse(data) : null; } async del(key) { await this.client.del(key); } }; exports.CacheService = CacheService; exports.CacheService = CacheService = __decorate([ (0, common_1.Injectable)(), __metadata("design:paramtypes", [config_1.ConfigService]) ], CacheService); //# sourceMappingURL=cache.service.js.map