Validate dirOath in FileMetadataRepository

This commit is contained in:
Julian Merlo 2023-11-27 09:58:38 -03:00
parent 4b3a3ff225
commit ca1be605f1
4 changed files with 6 additions and 6 deletions

View File

@ -9,9 +9,9 @@ export class FileMetadataRepository implements MetadataRepository<any>, Reposito
private readonly dirPath: string;
private readonly cfg: Config;
constructor(cfg: Config) {
constructor(cfg: Config, dirPath: string) {
this.cfg = cfg;
this.dirPath = this.cfg!.metadata!.dir;
this.dirPath = dirPath;
if (!fs.existsSync(this.dirPath)) {
fs.mkdirSync(this.dirPath, { recursive: true });
@ -27,7 +27,7 @@ export class FileMetadataRepository implements MetadataRepository<any>, Reposito
}
createInstance() {
return new FileMetadataRepository(this.cfg);
return new FileMetadataRepository(this.cfg, this.dirPath);
}
async get(id: string): Promise<any> {

View File

@ -45,7 +45,7 @@ export class StaticJobRepository implements JobRepository {
solanaSlotRepo: SolanaSlotRepository;
}
) {
this.fileRepo = new FileMetadataRepository(cfg);
this.fileRepo = new FileMetadataRepository(cfg, cfg.jobs.dir);
this.blockRepoProvider = blockRepoProvider;
this.metadataRepo = repos.metadataRepo;
this.statsRepo = repos.statsRepo;

View File

@ -20,7 +20,7 @@ export class RepositoriesStrategy {
executeStatic(): Map<string, any> {
const repositories = [
new SnsEventRepository(this.snsClient!, this.cfg),
new FileMetadataRepository(this.cfg),
new FileMetadataRepository(this.cfg, this.cfg.metadata?.dir!),
new PromStatRepository(),
];

View File

@ -6,7 +6,7 @@ import { configMock } from "../../mock/configMock";
describe("FileMetadataRepository", () => {
const dirPath = "./metadata-repo";
const cfg = configMock();
const repo = new FileMetadataRepository(cfg);
const repo = new FileMetadataRepository(cfg, dirPath);
beforeEach(() => {
if (!fs.existsSync(dirPath)) {