n8n/packages/cli/src/activation-errors.service.ts
कारतोफ्फेलस्क्रिप्ट™ 39d5e0ff87
Some checks failed
Test Master / install-and-build (push) Waiting to run
Test Master / Unit tests (18.x) (push) Blocked by required conditions
Test Master / Unit tests (20.x) (push) Blocked by required conditions
Test Master / Unit tests (22.4) (push) Blocked by required conditions
Test Master / Lint (push) Blocked by required conditions
Test Master / Notify Slack on failure (push) Blocked by required conditions
Benchmark Docker Image CI / build (push) Has been cancelled
refactor(core): Replace typedi with our custom DI system (no-changelog) (#12389)
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2025-01-06 10:21:24 +01:00

39 lines
976 B
TypeScript

import { Service } from '@n8n/di';
import { CacheService } from '@/services/cache/cache.service';
@Service()
export class ActivationErrorsService {
private readonly cacheKey = 'workflow-activation-errors';
constructor(private readonly cacheService: CacheService) {}
async register(workflowId: string, errorMessage: string) {
await this.cacheService.setHash(this.cacheKey, { [workflowId]: errorMessage });
}
async deregister(workflowId: string) {
await this.cacheService.deleteFromHash(this.cacheKey, workflowId);
}
async get(workflowId: string) {
const activationError = await this.cacheService.getHashValue<string>(this.cacheKey, workflowId);
if (!activationError) return null;
return activationError;
}
async getAll() {
const activationErrors = await this.cacheService.getHash<string>(this.cacheKey);
if (!activationErrors) return {};
return activationErrors;
}
async clearAll() {
await this.cacheService.delete(this.cacheKey);
}
}