Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 37 additions & 37 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@
]
},
"devDependencies": {
"@rockcarver/frodo-lib": "3.1.0",
"@rockcarver/frodo-lib": "3.3.0",
"@types/colors": "^1.2.1",
"@types/fs-extra": "^11.0.1",
"@types/jest": "^29.2.3",
Expand Down
4 changes: 2 additions & 2 deletions src/cli/idm/idm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ export default function setup() {
program.addCommand(CountCmd().name('count'));

program.addCommand(Schema().name('schema'));

program.addCommand(DeleteCmd().name(`delete`));

return program;
}
2 changes: 1 addition & 1 deletion src/cli/service/service-import.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ export default function setup() {
const globalConfig = options.global ?? false;
const realmConfig = globalConfig
? false
: options.currentRealm ?? false;
: (options.currentRealm ?? false);

// import by id
if (options.serviceId && options.file && (await getTokens())) {
Expand Down
36 changes: 6 additions & 30 deletions src/ops/ConfigOps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { saveServersToFiles } from './classic/ServerOps';
import { ManagedSkeleton, writeManagedJsonToDirectory } from './IdmOps';
import { writeSyncJsonToDirectory } from './MappingOps';
import { extractScriptsToFiles } from './ScriptOps';
import { errorHandler } from './utils/OpsUtils';

const {
getTypedFilename,
Expand Down Expand Up @@ -55,16 +56,12 @@ export async function exportEverythingToFile(
}
): Promise<boolean> {
try {
const collectErrors: Error[] = [];
const exportData = await exportFullConfiguration(options, collectErrors);
const exportData = await exportFullConfiguration(options, errorHandler);
let fileName = 'all.config.json';
if (file) {
fileName = file;
}
saveJsonToFile(exportData, getFilePath(fileName, true), includeMeta);
if (collectErrors.length > 0) {
throw new FrodoError(`Errors occurred during full export`, collectErrors);
}
return true;
} catch (error) {
printError(error);
Expand Down Expand Up @@ -102,7 +99,7 @@ export async function exportEverythingToFiles(
const collectErrors: Error[] = [];
const exportData: FullExportInterface = await exportFullConfiguration(
options,
collectErrors
errorHandler
);
delete exportData.meta;
const baseDirectory = getWorkingDirectory(true);
Expand Down Expand Up @@ -354,14 +351,7 @@ export async function importEverythingFromFile(
): Promise<boolean> {
try {
const data = await getFullExportConfig(file);
const collectErrors: Error[] = [];
await importFullConfiguration(data, options, collectErrors);
if (collectErrors.length > 0) {
throw new FrodoError(
`Errors occurred during full config import`,
collectErrors
);
}
await importFullConfiguration(data, options, errorHandler);
return true;
} catch (error) {
cleanupProgressIndicators();
Expand All @@ -386,14 +376,7 @@ export async function importEverythingFromFiles(
): Promise<boolean> {
try {
const data = await getFullExportConfigFromDirectory(getWorkingDirectory());
const collectErrors: Error[] = [];
await importFullConfiguration(data, options, collectErrors);
if (collectErrors.length > 0) {
throw new FrodoError(
`Errors occurred during full config import`,
collectErrors
);
}
await importFullConfiguration(data, options, errorHandler);
return true;
} catch (error) {
printError(error);
Expand Down Expand Up @@ -438,14 +421,7 @@ export async function importEntityfromFile(
data.realm[realm] = {} as FullRealmExportInterface;
await getConfig(data.realm[realm], file, undefined);
}
const collectErrors: Error[] = [];
const imports = await importFullConfiguration(data, options, collectErrors);
if (collectErrors.length > 0) {
throw new FrodoError(
`Error occurred during config import`,
collectErrors
);
}
const imports = await importFullConfiguration(data, options, errorHandler);
if (imports.length === 0) {
throw new FrodoError(`No imports were made`);
}
Expand Down
59 changes: 39 additions & 20 deletions src/ops/IdmOps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import {
getLegacyMappingsFromFiles,
writeSyncJsonToDirectory,
} from './MappingOps';
import { errorHandler } from './utils/OpsUtils';

const {
getFilePath,
Expand Down Expand Up @@ -188,10 +189,13 @@ export async function exportAllConfigEntitiesToFile(
): Promise<boolean> {
try {
const options = getIdmImportExportOptions(entitiesFile, envFile);
const exportData = await exportConfigEntities({
envReplaceParams: options.envReplaceParams,
entitiesToExport: options.entitiesToExportOrImport,
});
const exportData = await exportConfigEntities(
{
envReplaceParams: options.envReplaceParams,
entitiesToExport: options.entitiesToExportOrImport,
},
errorHandler
);
let fileName = getTypedFilename(`all`, `idm`);
if (file) {
fileName = file;
Expand Down Expand Up @@ -222,10 +226,13 @@ export async function exportAllConfigEntitiesToFiles(
const errors: Error[] = [];
try {
const options = getIdmImportExportOptions(entitiesFile, envFile);
const exportData = await exportConfigEntities({
envReplaceParams: options.envReplaceParams,
entitiesToExport: options.entitiesToExportOrImport,
});
const exportData = await exportConfigEntities(
{
envReplaceParams: options.envReplaceParams,
entitiesToExport: options.entitiesToExportOrImport,
},
errorHandler
);
for (const [id, obj] of Object.entries(exportData.idm)) {
try {
if (separateMappings && id === 'sync') {
Expand Down Expand Up @@ -309,11 +316,16 @@ export async function importConfigEntityByIdFromFile(

const options = getIdmImportExportOptions(undefined, envFile);

await importConfigEntities(importData, entityId, {
envReplaceParams: options.envReplaceParams,
entitiesToImport: undefined,
validate,
});
await importConfigEntities(
importData,
entityId,
{
envReplaceParams: options.envReplaceParams,
entitiesToImport: undefined,
validate,
},
errorHandler
);
return true;
} catch (error) {
printError(error);
Expand Down Expand Up @@ -398,11 +410,16 @@ export async function importFirstConfigEntityFromFile(

const options = getIdmImportExportOptions(undefined, envFile);

await importConfigEntities(importData, entityId, {
envReplaceParams: options.envReplaceParams,
entitiesToImport: undefined,
validate,
});
await importConfigEntities(
importData,
entityId,
{
envReplaceParams: options.envReplaceParams,
entitiesToImport: undefined,
validate,
},
errorHandler
);
stopProgressIndicator(
indicatorId,
`Imported ${entityId} from ${filePath}.`,
Expand Down Expand Up @@ -448,7 +465,8 @@ export async function importAllConfigEntitiesFromFile(
entitiesToImport: options.entitiesToExportOrImport,
envReplaceParams: options.envReplaceParams,
validate,
}
},
errorHandler
);
stopProgressIndicator(indicatorId, `Imported config entities`, 'success');
return true;
Expand Down Expand Up @@ -538,7 +556,8 @@ export async function importAllConfigEntitiesFromFiles(
entitiesToImport: options.entitiesToExportOrImport,
envReplaceParams: options.envReplaceParams,
validate,
}
},
errorHandler
);
stopProgressIndicator(indicatorId, `Imported config entities`, 'success');
return true;
Expand Down
Loading