diff --git a/api/src/api/Fetcher.js b/api/src/api/Fetcher.js index da8f348..95bf464 100644 --- a/api/src/api/Fetcher.js +++ b/api/src/api/Fetcher.js @@ -6,6 +6,7 @@ import { SITE_COOKIES, } from '../util/Constants'; import Selectors from '../util/Selectors'; +import { createCacheDirectories } from '../util/TempDirCreator'; class CookieMonster { cache; @@ -14,6 +15,7 @@ class CookieMonster { constructor(cache) { this.cache = cache; + createCacheDirectories(TEMP_DIR.screenshots); } async submitForm(plate) { diff --git a/api/src/util/Cache.js b/api/src/util/Cache.js index d7ac98e..6e668d9 100644 --- a/api/src/util/Cache.js +++ b/api/src/util/Cache.js @@ -1,5 +1,6 @@ import Cacheman from 'cacheman'; import { CACHE } from './Constants'; +import { createCacheDirectories } from './TempDirCreator'; const formatKey = (name) => { if (!name) { @@ -12,6 +13,7 @@ class Cache { manager; constructor() { + createCacheDirectories(CACHE.directory); this.manager = new Cacheman({ ttl: CACHE.ttl, engine: CACHE.engine, diff --git a/api/src/util/TempDirCreator.js b/api/src/util/TempDirCreator.js new file mode 100644 index 0000000..582cffa --- /dev/null +++ b/api/src/util/TempDirCreator.js @@ -0,0 +1,15 @@ +import fs from 'fs'; + +/* eslint-disable import/prefer-default-export */ + +export const createCacheDirectories = async (targetDir) => { + if (!fs.existsSync(targetDir)) { + console.log(`Directory ${targetDir} does not exist. Creating it.`); + fs.mkdirSync(targetDir, { + recursive: true, + }); + } else { + console.log(`Directory ${targetDir} already exists.`); + } + return true; +};