Commit 73327411e29dd46422e1c0a363db2f9689ae202e

Authored by Adhidarma Hadiwinoto
1 parent 810fa18dae
Exists in master and in 1 other branch dev

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 };