Commit 73327411e29dd46422e1c0a363db2f9689ae202e
1 parent
810fa18dae
Exists in
master
and in
1 other branch
Using mkdirp directly
Deprecating mkdir-if-not-exists
Showing 4 changed files with 56 additions and 23 deletions Side-by-side Diff
lib/core-callback/dumper/req.js
... | ... | @@ -7,7 +7,8 @@ const config = require('komodo-sdk/config'); |
7 | 7 | const logger = require('tektrans-logger'); |
8 | 8 | const moment = require('moment'); |
9 | 9 | |
10 | -const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists'); | |
10 | +// const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists'); | |
11 | +const mkdirp = require('mkdirp'); | |
11 | 12 | |
12 | 13 | const baseDumpDir = path.join('dump', 'core-callback'); |
13 | 14 | const lastDumpFileName = path.join(baseDumpDir, 'last-req'); |
... | ... | @@ -51,7 +52,8 @@ ${JSON.stringify(req.body, null, 2)} |
51 | 52 | ); |
52 | 53 | |
53 | 54 | try { |
54 | - await mkdirIfNotExists(xid, path.dirname(dumpFileName)); | |
55 | + // await mkdirIfNotExists(xid, path.dirname(dumpFileName)); | |
56 | + await mkdirp(path.dirname(dumpFileName)); | |
55 | 57 | await fsPromise.writeFile(lastDumpFileName, data); |
56 | 58 | await fsPromise.writeFile(dumpFileName, data); |
57 | 59 | } catch (e) { |
lib/core-callback/dumper/sender.js
... | ... | @@ -5,8 +5,9 @@ const path = require('path'); |
5 | 5 | const config = require('komodo-sdk/config'); |
6 | 6 | const logger = require('tektrans-logger'); |
7 | 7 | const moment = require('moment'); |
8 | +const mkdirp = require('mkdirp'); | |
8 | 9 | |
9 | -const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists'); | |
10 | +// const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists'); | |
10 | 11 | |
11 | 12 | const baseDumpDir = path.join('dump', 'core-callback'); |
12 | 13 | const lastDumpFileName = path.join(baseDumpDir, 'last-sent'); |
... | ... | @@ -56,7 +57,8 @@ ${ |
56 | 57 | ); |
57 | 58 | |
58 | 59 | try { |
59 | - await mkdirIfNotExists(xid, path.dirname(dumpFileName)); | |
60 | + // await mkdirIfNotExists(xid, path.dirname(dumpFileName)); | |
61 | + await mkdirp(path.dirname(dumpFileName)); | |
60 | 62 | await fsPromise.writeFile(lastDumpFileName, data); |
61 | 63 | await fsPromise.writeFile(dumpFileName, data); |
62 | 64 | } catch (e) { |
lib/partner-listener/dumper/index.js
... | ... | @@ -5,8 +5,9 @@ const path = require('path'); |
5 | 5 | const moment = require('moment'); |
6 | 6 | const config = require('komodo-sdk/config'); |
7 | 7 | const logger = require('tektrans-logger'); |
8 | +const mkdirp = require('mkdirp'); | |
8 | 9 | |
9 | -const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists'); | |
10 | +// const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists'); | |
10 | 11 | |
11 | 12 | const baseDumpDir = path.join('dump', 'partner-listener'); |
12 | 13 | const lastDumpFileName = path.join(baseDumpDir, 'last'); |
... | ... | @@ -48,7 +49,8 @@ ${typeof responseBody === 'string' ? responseBody : JSON.stringify(responseBody, |
48 | 49 | ); |
49 | 50 | |
50 | 51 | try { |
51 | - await mkdirIfNotExists(xid, path.dirname(dumpFileName), MODULE_NAME); | |
52 | + // await mkdirIfNotExists(xid, path.dirname(dumpFileName), MODULE_NAME); | |
53 | + await mkdirp(path.dirname(dumpFileName)); | |
52 | 54 | await fsPromise.writeFile(lastDumpFileName, data); |
53 | 55 | await fsPromise.writeFile(dumpFileName, data); |
54 | 56 | } catch (e) { |
lib/utils/mkdir-if-not-exists.js
1 | 1 | const MODULE_NAME = 'MKDIR-IF-NOT-EXISTS'; |
2 | 2 | |
3 | 3 | const fsPromise = require('fs').promises; |
4 | +const mkdirp = require('mkdirp'); | |
4 | 5 | const logger = require('tektrans-logger'); |
5 | 6 | |
6 | -const mkdir = async (xid, dirname, callerName) => { | |
7 | - try { | |
8 | - logger.verbose(`${MODULE_NAME} 6B08D52D: Creating directory`, { | |
9 | - xid, dirname, callerName, | |
10 | - }); | |
7 | +logger.verbose(`${MODULE_NAME} 5C419B7B: CEKIDOT`); | |
11 | 8 | |
12 | - await fsPromise.mkdir(dirname, { recursive: true }); | |
9 | +const existed = []; | |
10 | +/** | |
11 | + * @deprecated because mkdirp is safe if dir already exists | |
12 | + * @param {} filename | |
13 | + */ | |
14 | +const isFileExists = async (filename) => { | |
15 | + if (existed.indexOf(filename) >= 0) return true; | |
16 | + | |
17 | + try { | |
18 | + await fsPromise.stat(filename); | |
19 | + existed.push(filename); | |
20 | + return true; | |
13 | 21 | } catch (e) { |
14 | - logger.warn(`${MODULE_NAME} 857718E9: Exception on creating directory`, { | |
15 | - xid, | |
16 | - dirname, | |
17 | - callerName, | |
18 | - eCode: e.code, | |
19 | - eMessage: e.message, | |
20 | - }); | |
22 | + return false; | |
21 | 23 | } |
22 | 24 | }; |
23 | 25 | |
26 | +/** | |
27 | + * @deprecated please use mkdirp directly | |
28 | + * @param {} xid | |
29 | + * @param {} dirname | |
30 | + * @param {} callerName | |
31 | + */ | |
24 | 32 | module.exports = async (xid, dirname, callerName) => { |
25 | - try { | |
26 | - await fsPromise.stat(dirname); | |
27 | - } catch (e) { | |
28 | - await mkdir(xid, dirname, callerName); | |
33 | + logger.verbose(`${MODULE_NAME} 4BD9F146: Create directory if not exists`, { | |
34 | + xid, dirname, callerName, | |
35 | + }); | |
36 | + | |
37 | + const alreadyExists = await isFileExists(dirname); | |
38 | + if (!alreadyExists) { | |
39 | + logger.verbose(`${MODULE_NAME} 6B08D52D: Creating directory`, { | |
40 | + xid, dirname, callerName, | |
41 | + }); | |
42 | + | |
43 | + try { | |
44 | + await mkdirp(dirname); | |
45 | + } catch (e) { | |
46 | + logger.warn(`${MODULE_NAME} 857718E9: Exception on creating directory`, { | |
47 | + xid, | |
48 | + dirname, | |
49 | + callerName, | |
50 | + eCode: e.code, | |
51 | + eMessage: e.message, | |
52 | + }); | |
53 | + } | |
54 | + } else { | |
55 | + logger.verbose(`${MODULE_NAME} 14A094F5: Directory already exists`, { xid, dirname, callerName }); | |
29 | 56 | } |
30 | 57 | }; |