Skip to content

Commit 73dfff5

Browse files
authored
Merge pull request #567 from hknokh/master
fix: Separated source/target dirs for ObjectSets
2 parents 9e885c0 + 0d54231 commit 73dfff5

4 files changed

Lines changed: 48 additions & 19 deletions

File tree

src/modules/components/common_components/statics.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,11 @@ export const CONSTANTS = {
5151
ADDON_TEMP_RELATIVE_FOLDER: 'temp_%s/',
5252

5353
CSV_SOURCE_SUB_DIRECTORY: "source",
54+
RAW_SOURCE_SUB_DIRECTORY: "objectset_source",
5455
CSV_TARGET_SUB_DIRECTORY: "target",
5556
OBJECT_SET_SUBDIRECTORY_PREFIX : '/object-set-',
5657
BINARY_CACHE_SUB_DIRECTORY: "binary_cache",
58+
REPORTS_SUB_DIRECTORY: "reports",
5759
SOURCE_RECORDS_CACHE_SUB_DIRECTORY: "source_records_cache",
5860
CSV_SOURCE_FILE_SUFFIX: "_source",
5961
CSV_TARGET_FILE_SUFFIX: "_target",

src/modules/models/common_models/helpers_classes.ts

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,27 @@ import 'es6-shim';
1111
import { Type } from 'class-transformer';
1212

1313
import {
14-
MigrationJobTask,
15-
ScriptObject,
16-
ScriptOrg,
17-
SFieldDescribe,
14+
MigrationJobTask,
15+
ScriptObject,
16+
ScriptOrg,
17+
SFieldDescribe,
1818
} from '../';
1919
import {
20-
ISfdmuRunCustomAddonProcessedData,
20+
ISfdmuRunCustomAddonProcessedData,
2121
} from '../../../addons/modules/sfdmu-run/custom-addons/package';
2222
import { Common } from '../../components/common_components/common';
2323
import {
24-
DATA_MEDIA_TYPE,
25-
OPERATION,
24+
DATA_MEDIA_TYPE,
25+
OPERATION,
2626
} from '../../components/common_components/enumerations';
2727
import { RESOURCES } from '../../components/common_components/logger';
2828
import { CONSTANTS } from '../../components/common_components/statics';
2929
import { ICsvChunk } from '../api_models';
3030
import ScriptAddonManifestDefinition
31-
from '../script_models/scriptAddonManifestDefinition';
31+
from '../script_models/scriptAddonManifestDefinition';
3232
import {
33-
IMissingParentLookupRecordCsvRow,
34-
IOrgConnectionData,
33+
IMissingParentLookupRecordCsvRow,
34+
IOrgConnectionData,
3535
} from './helper_interfaces';
3636

3737
type IProcessedData = ISfdmuRunCustomAddonProcessedData;
@@ -139,7 +139,7 @@ export class TaskData {
139139
* @memberof TaskData
140140
*/
141141
get csvFilename(): string {
142-
return this.task.getCSVFilename(this.task.script.basePath);
142+
return this.task.getCSVFilename(this.task.script.rawSourceDirectory);
143143
}
144144

145145
/**
@@ -150,8 +150,7 @@ export class TaskData {
150150
* @memberof TaskData
151151
*/
152152
get sourceCsvFilename(): string {
153-
return this.task.getCSVFilename(this.task.script.sourceDirectory,
154-
CONSTANTS.CSV_SOURCE_FILE_SUFFIX);
153+
return this.task.getCSVFilename(this.task.script.sourceDirectory, CONSTANTS.CSV_SOURCE_FILE_SUFFIX);
155154
}
156155

157156
/**
@@ -165,8 +164,6 @@ export class TaskData {
165164
*/
166165
getTargetCSVFilename(operation: OPERATION, fileNameSuffix?: string): string {
167166
return TaskData.getTargetCSVFilename(this.task.script.targetDirectory, this.task.sObjectName, operation, fileNameSuffix);
168-
// return this.task.getCSVFilename(this.task.script.targetDirectory,
169-
// `_${ScriptObject.getStrOperation(operation).toLowerCase()}${fileNameSuffix || ""}${CONSTANTS.CSV_TARGET_FILE_SUFFIX}`);
170167
}
171168

172169
/**

src/modules/models/job_models/migrationJob.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,7 @@ export default class MigrationJob {
732732
* @memberof MigrationJob
733733
*/
734734
async saveCSVFileAsync(fileName: string, data: Array<any>, alwaysCreateFile: boolean = true): Promise<void> {
735-
let filePath = path.join(this.script.basePath, fileName);
735+
let filePath = path.join(this.script.reportsDirectory, fileName);
736736
this.logger.infoVerbose(RESOURCES.writingCsvFile, filePath);
737737
await Common.writeCsvFileAsync(filePath, data, alwaysCreateFile);
738738
}
@@ -1022,7 +1022,8 @@ export default class MigrationJob {
10221022
// Report csv issues
10231023
await self.saveCSVFileAsync(CONSTANTS.CSV_ISSUES_ERRORS_FILENAME, self.csvIssues);
10241024
},
1025-
String(self.csvIssues.length), CONSTANTS.CSV_ISSUES_ERRORS_FILENAME);
1025+
String(self.csvIssues.length),
1026+
CONSTANTS.CSV_ISSUES_ERRORS_FILENAME);
10261027
}
10271028
}
10281029
}

src/modules/models/script_models/script.ts

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ export default class Script implements IAppScript, ISfdmuRunScript {
9898
proxyUrl: string;
9999
csvReadFileDelimiter: ',' | ';' = ",";
100100
csvWriteFileDelimiter: ',' | ';' = ",";
101+
useSeparatedCSVFiles: false;
101102

102103
binaryDataCache: DATA_CACHE_TYPES = DATA_CACHE_TYPES.InMemory;
103104
sourceRecordsCache: DATA_CACHE_TYPES = DATA_CACHE_TYPES.InMemory;
@@ -160,7 +161,7 @@ export default class Script implements IAppScript, ISfdmuRunScript {
160161
return path.join(
161162
this.basePath,
162163
CONSTANTS.CSV_TARGET_SUB_DIRECTORY +
163-
(!this.objectSetIndex ? '' : `${CONSTANTS.OBJECT_SET_SUBDIRECTORY_PREFIX}${this.objectSetIndex}`)
164+
(!this.objectSetIndex ? '' : `${CONSTANTS.OBJECT_SET_SUBDIRECTORY_PREFIX}${this.objectSetIndex + 1}`)
164165
);
165166
}
166167

@@ -175,7 +176,7 @@ export default class Script implements IAppScript, ISfdmuRunScript {
175176
return path.join(
176177
this.basePath,
177178
CONSTANTS.CSV_SOURCE_SUB_DIRECTORY +
178-
(!this.objectSetIndex ? '' : `${CONSTANTS.OBJECT_SET_SUBDIRECTORY_PREFIX}${this.objectSetIndex}`)
179+
(!this.objectSetIndex ? '' : `${CONSTANTS.OBJECT_SET_SUBDIRECTORY_PREFIX}${this.objectSetIndex + 1}`)
179180
);
180181
}
181182

@@ -186,6 +187,34 @@ export default class Script implements IAppScript, ISfdmuRunScript {
186187
return this.sourceDirectoryPath;
187188
}
188189

190+
get rawSourceDirectory(): string {
191+
if (!fs.existsSync(this.rawSourceDirectoryPath)) {
192+
fs.mkdirSync(this.rawSourceDirectoryPath, { recursive: true });
193+
}
194+
return this.rawSourceDirectoryPath;
195+
}
196+
197+
get rawSourceDirectoryPath(): string {
198+
return path.join(
199+
this.basePath,
200+
(!this.objectSetIndex || !this.useSeparatedCSVFiles ? '' : `${CONSTANTS.RAW_SOURCE_SUB_DIRECTORY}/${CONSTANTS.OBJECT_SET_SUBDIRECTORY_PREFIX}${this.objectSetIndex + 1}`)
201+
);
202+
}
203+
204+
get reportsDirectoryPath(): string {
205+
return path.join(
206+
this.basePath,
207+
(!this.objectSetIndex ? '' : `${CONSTANTS.REPORTS_SUB_DIRECTORY}/${CONSTANTS.OBJECT_SET_SUBDIRECTORY_PREFIX}${this.objectSetIndex + 1}`)
208+
);
209+
}
210+
211+
get reportsDirectory(): string {
212+
if (!fs.existsSync(this.reportsDirectoryPath)) {
213+
fs.mkdirSync(this.reportsDirectoryPath, { recursive: true });
214+
}
215+
return this.reportsDirectoryPath;
216+
}
217+
189218
get binaryCacheDirectoryPath(): string {
190219
return path.join(this.basePath, CONSTANTS.BINARY_CACHE_SUB_DIRECTORY, this.sourceOrg.orgUserName);
191220
}

0 commit comments

Comments
 (0)