X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fperformance%2Fstorage%2FJsonFileStorage.ts;h=e94d79b97d337826bcc4c7bc74d698d5211b1e04;hb=c1565026eb14b8bf6aa494c89ccbfcea1ff1dc67;hp=fb7062674bb2ea14787a2d5eb0ff6646bab75d11;hpb=dd485b567f2f1b595c8241fa2cf74ba0c27911f0;p=e-mobility-charging-stations-simulator.git diff --git a/src/performance/storage/JsonFileStorage.ts b/src/performance/storage/JsonFileStorage.ts index fb706267..e94d79b9 100644 --- a/src/performance/storage/JsonFileStorage.ts +++ b/src/performance/storage/JsonFileStorage.ts @@ -1,10 +1,11 @@ // Copyright Jerome Benoit. 2021-2023. All Rights Reserved. import fs from 'node:fs'; +import path from 'node:path'; +import { Storage } from './Storage'; import { FileType, type Statistics } from '../../types'; import { AsyncLock, AsyncLockType, Constants, FileUtils, Utils } from '../../utils'; -import { Storage } from '../internal'; export class JsonFileStorage extends Storage { private fd: number | null = null; @@ -45,6 +46,9 @@ export class JsonFileStorage extends Storage { public open(): void { try { if (Utils.isNullOrUndefined(this?.fd)) { + if (!fs.existsSync(path.dirname(this.dbName))) { + fs.mkdirSync(path.dirname(this.dbName), { recursive: true }); + } this.fd = fs.openSync(this.dbName, 'a+'); } } catch (error) {