Skip to content
Open
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
62 changes: 57 additions & 5 deletions .talismanrc
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
fileignoreconfig:
- filename: package-lock.json
checksum: fa02e2883b15c973134368ce26c78187e247d3761ef14f603afc0d5ea83102a6
checksum: bfb6604685378147fb5aa8533f328ce0981cd23703442a8eea0482ca2573a903
- filename: pnpm-lock.yaml
checksum: d4174feb2ba68c22cc45987afdaf4d89997df084e7e7eb9edc7e309b5a24aca5
checksum: c2ba78077fa3dd8100d2697b0e87b29f9c8c64d7c258be654c3843dbd07de750
- filename: packages/contentstack-import-setup/test/unit/backup-handler.test.ts
checksum: 0582d62b88834554cf12951c8690a73ef3ddbb78b82d2804d994cf4148e1ef93
- filename: packages/contentstack-import-setup/test/config.json
Expand Down Expand Up @@ -64,9 +64,9 @@ fileignoreconfig:
- filename: packages/contentstack-import/src/utils/setup-branch.ts
checksum: a4a968a20d5ab7cbc08c266819907541bbf793cc098521a5e810ada3cbacbee6
- filename: packages/contentstack-bulk-publish/src/producer/publish-unpublished-env.js
checksum: 96fd15e027f38b156c69f10943ea1d5a70e580fa8a5efeb3286cd7132145c72d
checksum: 44dbc966df086f835fdca11cb305d0a5f448ca0be811c14b894e0024f9491385
- filename: packages/contentstack-import/src/import/modules/entries.ts
checksum: 2fd4e8ecf75e077632a6408d09997f0921d2a3508f9f2cb8f47fe79a28592300
checksum: 0fa92065747da2ea3b02c666da5a0c6d3e74552c804a15578d9da0bfeb082615
- filename: packages/contentstack-utilities/src/logger/logger.ts
checksum: 76429bc87e279624b386f00e7eb3f4ec25621ace7056289f812b9a076d6e184e
- filename: packages/contentstack-bootstrap/src/bootstrap/utils.ts
Expand Down Expand Up @@ -130,7 +130,7 @@ fileignoreconfig:
- filename: packages/contentstack-import/test/unit/import/modules/environments.test.ts
checksum: 58165d06d92f55be8abb04c4ecc47df775a1a47f1cee529f1be5277187700f97
- filename: packages/contentstack-import/test/unit/import/modules/locales.test.ts
checksum: 011ec3efd7a29ed274f073f8678229eaef46f33e272e7e1db1206fa1a20383f0
checksum: 354827729c24456de3f38f70aed09ae65a15461e9ec7227aa20bb3878ff22add
- filename: packages/contentstack-export/test/unit/export/modules/environments.test.ts
checksum: 530573c4c92387b755ca1b4eef88ae8bb2ae076be9a726bba7b67a525cba23e9
- filename: packages/contentstack-export/test/unit/export/modules/extensions.test.ts
Expand Down Expand Up @@ -215,4 +215,56 @@ fileignoreconfig:
checksum: 86b11c2a2dd8c0b14aa558e4e52d6d721cd7707422c26a68e96cc5b55b9fefd8
- filename: packages/contentstack-import-setup/src/utils/login-handler.ts
checksum: 3860c96e31677356963e67049762f944aef7c7b22fabb75a70ff5c64cf1ac274
- filename: packages/contentstack-export/src/export/modules/environments.ts
checksum: 2777e15f32d61fcdc0fd395cedf4413cc5b7494a99cfb6c1b68fffa2269908ab
- filename: packages/contentstack-import/src/import/modules/environments.ts
checksum: 0e49cf0fb017e39c5d0eead3e388c323559f9057dd961dea61740915395deab3
- filename: packages/contentstack-migration/examples/06-update-environment.js
checksum: 4a7d2c2f1ee6bf76066932661ed9674c6aff7d959b26ea14d79949ab5dda43d9
- filename: packages/contentstack-bulk-publish/src/commands/cm/entries/publish.js
checksum: 0a0e6ddd4aa0de09b3a66bf53c6ea079bb51726a64f96606b117a6e990b90d92
- filename: packages/contentstack-bulk-publish/src/commands/cm/entries/publish-non-localized-fields.js
checksum: f854cb2ddfafe1c250ec66a326fe620661142ea24282ec3c7b0f105156cbcc1a
- filename: packages/contentstack-export/src/utils/export-config-handler.ts
checksum: 2b7fc04762752729d33f77ebb35a12dd12a65f4fee893a04f96ba19bca521040
- filename: packages/contentstack-variants/src/import/events.ts
checksum: c38a91e2d89b872287c178efc067dff89a061aad38c402d6485b85bd46784c33
- filename: packages/contentstack-bulk-publish/src/commands/cm/entries/unpublish.js
checksum: 9efdf1cbc372858d771feef2bbef1a6828418497d4a3c31e99760b33ef9dd4a4
- filename: packages/contentstack-bulk-publish/src/commands/cm/entries/update-and-publish.js
checksum: 3e13e34f25eac722f2bcf841057bec7471fd7ff89098d0477ccf143e5487e423
- filename: packages/contentstack-export/src/export/modules/custom-roles.ts
checksum: 19b46d3bf4edeeb10e2f6c81bc0caaac4e1f8c3b4e4f91db2592c2a005ed08a5
- filename: packages/contentstack-bulk-publish/src/commands/cm/bulk-publish/cross-publish.js
checksum: 0cc612eb2b9be5308682f0e24f8f1c1a5b81d4516d84a4a06d62286e97596cea
- filename: packages/contentstack-export/src/export/modules/composable-studio.ts
checksum: 1ad61df3110dd99f14cef6382d7820dd32538a8d85ffac4bfd631761a1bdf7af
- filename: packages/contentstack-import/test/unit/utils/extension-helper.test.ts
checksum: 8cbcb6f192edb034a01a405437276f5dafb6cb235fa9c7f8e5b936f006f451ea
- filename: packages/contentstack-export/src/export/modules/labels.ts
checksum: c3060a5ae784e886505e1b736d89f054a92131bfef4b00268500326643edb43d
- filename: packages/contentstack-export/src/export/modules/locales.ts
checksum: 6e400596635741a7013ad1317f29307777dd70855d5c2f16fe0388f667254a17
- filename: packages/contentstack-auth/src/utils/tokens-validation.ts
checksum: 3aab82beb51b1dc01e644b4c07a965a49b80cc3282c8e914fbd2671440e9b28d
- filename: packages/contentstack-config/src/commands/config/remove/base-branch.ts
checksum: 6a6dc3ff9088b4d219d6e93717b5907b0679720228474cb37f32f05d96d4634b
- filename: packages/contentstack-bulk-publish/src/commands/cm/assets/unpublish.js
checksum: 0f8f2ea8107725a68fc8de19273247c632c9d5902b03067a4915e4ae1c8d3d66
- filename: packages/contentstack-bulk-publish/src/commands/cm/assets/publish.js
checksum: 63f2f414738fbdd109ff5bb56aff26a93a8f76798112ad6830358f743a7749af
- filename: packages/contentstack-auth/src/commands/auth/tokens/add.ts
checksum: 0b10b5a80431160b57052930bba8431ecc5635aff9a5309af1b59b4beea8a0bb
- filename: packages/contentstack-export/src/export/modules/extensions.ts
checksum: d02dbdf57f2009111d5b56e646fc33fd349f2f247e6eec96dfce34280b55a220
- filename: packages/contentstack-bulk-publish/src/commands/cm/stacks/publish-configure.js
checksum: 900fe4c398e181e1f035d410b510d8ec4a7afa0a5cac7b009bce4c3edaa691f1
- filename: packages/contentstack-bulk-publish/src/commands/cm/stacks/unpublish.js
checksum: e7cfb7b35f1425359e6e064a77afa6ba54685dda055880af9f02995b00911041
- filename: packages/contentstack-bulk-publish/src/commands/cm/entries/publish-modified.js
checksum: 512fad49bf40dc16907bfbeb836ff71a13eb9f67918ae280e1cf243b7e9aff0e
- filename: packages/contentstack-variants/src/import/audiences.ts
checksum: e0380352bb945cc694c7988574d3a3682e7ed71b5d3aa07e01007f6fe0137ce0
- filename: packages/contentstack-import/src/import/modules/composable-studio.ts
checksum: 9b83875b8d82086f13e0b7ab44ff7fe95486fced95b0c22d5c73fa69fbe35d4a
version: '1.0'
21 changes: 5 additions & 16 deletions packages/contentstack-audit/src/audit-base-command.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { v4 as uuid } from 'uuid';
import isEmpty from 'lodash/isEmpty';
import { join, resolve } from 'path';
import cloneDeep from 'lodash/cloneDeep';
import { cliux, sanitizePath, TableFlags, TableHeader, log, configHandler } from '@contentstack/cli-utilities';
import { cliux, sanitizePath, TableFlags, TableHeader, log, configHandler, createLogContext } from '@contentstack/cli-utilities';
import { createWriteStream, existsSync, mkdirSync, readFileSync, writeFileSync, rmSync } from 'fs';
import config from './config';
import { print } from './util/log';
Expand Down Expand Up @@ -50,18 +50,6 @@ export abstract class AuditBaseCommand extends BaseCommand<typeof AuditBaseComma
};
}

/**
* Create audit context object similar to export command
*/
private createAuditContext(moduleName?: string): AuditContext {
return {
command: this.context?.info?.command || 'cm:stacks:audit',
module: moduleName || 'audit',
email: configHandler.get('email') || '',
sessionId: this.context?.sessionId || '',
authenticationMethod: configHandler.get('authenticationMethod') || '',
};
}

/**
* The `start` function performs an audit on content types, global fields, entries, and workflows and displays
Expand All @@ -71,8 +59,9 @@ export abstract class AuditBaseCommand extends BaseCommand<typeof AuditBaseComma
*/
async start(command: CommandNames): Promise<boolean> {
this.currentCommand = command;
// Initialize audit context
this.auditContext = this.createAuditContext();
// Initialize audit context (reused, no need to call again in scanAndFix)
createLogContext(this.context?.info?.command, '', configHandler.get('authenticationMethod'));
this.auditContext = { module: 'audit' };
log.debug(`Starting audit command: ${command}`, this.auditContext);
log.info(`Starting audit command: ${command}`, this.auditContext);

Expand Down Expand Up @@ -224,7 +213,7 @@ export abstract class AuditBaseCommand extends BaseCommand<typeof AuditBaseComma
log.debug(`Data module wise: ${JSON.stringify(dataModuleWise)}`, this.auditContext);
for (const module of this.sharedConfig.flags.modules || this.sharedConfig.modules) {
// Update audit context with current module
this.auditContext = this.createAuditContext(module);
this.auditContext = { module: module };
log.debug(`Starting audit for module: ${module}`, this.auditContext);
log.info(`Starting audit for module: ${module}`, this.auditContext);

Expand Down
5 changes: 0 additions & 5 deletions packages/contentstack-audit/src/types/context.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
export interface AuditContext {
command: string;
module: string;
email: string | undefined;
sessionId: string | undefined;
clientId?: string;
authenticationMethod?: string;
}
6 changes: 4 additions & 2 deletions packages/contentstack-auth/src/base-command.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Command } from '@contentstack/cli-command';
import { configHandler, Flags, Interfaces, log } from '@contentstack/cli-utilities';
import { configHandler, createLogContext, Flags, getAuthenticationMethod, Interfaces, log } from '@contentstack/cli-utilities';
import { Context } from './interfaces';

export type Args<T extends typeof Command> = Interfaces.InferredArgs<T['args']>;
Expand All @@ -16,7 +16,9 @@ export abstract class BaseCommand<T extends typeof Command> extends Command {
*/
public async init(): Promise<void> {
await super.init();
this.contextDetails = { ...this.createExportContext() };
// this.contextDetails = { ...this.createExportContext() };
this.contextDetails = { ...createLogContext(this.context?.info?.command || 'auth', '',) };

}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,12 @@ class StackCloneCommand extends Command {
sourceManagementTokenAlias,
destinationManagementTokenAlias,
);
const cloneContext = this.createCloneContext(authenticationMethod);
createLogContext(
this.context?.info?.command || 'cm:stacks:clone',
sourceStackApiKey,
authenticationMethod
);
cloneContext = { module: 'clone' };
log.debug('Starting clone operation setup', cloneContext);

if (externalConfigPath) {
Expand Down
30 changes: 12 additions & 18 deletions packages/contentstack-export/src/commands/cm/stacks/export.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ import {
log,
handleAndLogError,
getLogPath,
createLogContext,
} from '@contentstack/cli-utilities';

import { ModuleExporter } from '../../../export';
import { Context, ExportConfig } from '../../../types';
import { ExportConfig } from '../../../types';
import { setupExportConfig, writeExportMetaFile } from '../../../utils';

export default class ExportCommand extends Command {
Expand Down Expand Up @@ -120,9 +121,16 @@ export default class ExportCommand extends Command {
try {
const { flags } = await this.parse(ExportCommand);
const exportConfig = await setupExportConfig(flags);
// Prepare the context object
const context = this.createExportContext(exportConfig.apiKey, exportConfig.authenticationMethod);
exportConfig.context = { ...context };

// Store apiKey in configHandler for session.json (return value not needed)
createLogContext(
this.context?.info?.command || 'cm:stacks:export',
exportConfig.apiKey,
exportConfig.authenticationMethod
);

// For log entries, only pass module (other fields are in session.json)
exportConfig.context = { module: '' };
//log.info(`Using Cli Version: ${this.context?.cliVersion}`, exportConfig.context);

// Assign exportConfig variables
Expand All @@ -137,7 +145,6 @@ export default class ExportCommand extends Command {
}
log.success(
`The content of the stack ${exportConfig.apiKey} has been exported successfully!`,
exportConfig.context,
);
log.info(`The exported content has been stored at '${exportDir}'.`, exportConfig.context);
log.success(`The log has been stored at '${getLogPath()}'.`, exportConfig.context);
Expand All @@ -147,19 +154,6 @@ export default class ExportCommand extends Command {
}
}

// Create export context object
private createExportContext(apiKey: string, authenticationMethod?: string): Context {
return {
command: this.context?.info?.command || 'cm:stacks:export',
module: '',
userId: configHandler.get('userUid') || '',
email: configHandler.get('email') || '',
sessionId: this.context?.sessionId || '',
apiKey: apiKey || '',
orgId: configHandler.get('oauthOrgUid') || '',
authenticationMethod: authenticationMethod || 'Basic Auth',
};
}

// Assign values to exportConfig
private assignExportConfig(exportConfig: ExportConfig): void {
Expand Down
8 changes: 0 additions & 8 deletions packages/contentstack-export/src/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -159,15 +159,7 @@ export interface ComposableStudioProject {
uid: string;
}
export interface Context {
command: string;
module: string;
userId: string | undefined;
email: string | undefined;
sessionId: string | undefined;
clientId?: string | undefined;
apiKey: string;
orgId: string;
authenticationMethod?: string;
}

export { default as DefaultConfig } from './default-config';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,12 @@ describe('ExportAssets', () => {
dirName: 'attributes',
fileName: 'attributes.json',
invalidKeys: []
},
'composable-studio': {
dirName: 'composable_studio',
fileName: 'composable_studio.json',
apiBaseUrl: 'https://api.contentstack.io',
apiVersion: 'v3'
}
}
} as ExportConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,12 @@ describe('BaseClass', () => {
dirName: 'attributes',
fileName: 'attributes.json',
invalidKeys: []
},
'composable-studio': {
dirName: 'composable_studio',
fileName: 'composable_studio.json',
apiBaseUrl: 'https://api.contentstack.io',
apiVersion: 'v3'
}
}
} as ExportConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {
log,
handleAndLogError,
configHandler,
createLogContext,
} from '@contentstack/cli-utilities';

import { ImportConfig, Context } from '../../../types';
Expand Down Expand Up @@ -71,8 +72,13 @@ export default class ImportSetupCommand extends Command {
const { flags } = await this.parse(ImportSetupCommand);
let importSetupConfig = await setupImportConfig(flags);
// Prepare the context object
const context = this.createImportSetupContext(importSetupConfig.apiKey, (importSetupConfig as any).authenticationMethod);
importSetupConfig.context = { ...context };
createLogContext(
this.context?.info?.command || 'cm:stacks:import-setup',
importSetupConfig.apiKey,
configHandler.get('authenticationMethod')
);

importSetupConfig.context = { module: '' };

// Note setting host to create cma client
importSetupConfig.host = this.cmaHost;
Expand All @@ -94,17 +100,4 @@ export default class ImportSetupCommand extends Command {
}
}

// Create import setup context object
private createImportSetupContext(apiKey: string, authenticationMethod?: string, module?: string): Context {
return {
command: this.context?.info?.command || 'cm:stacks:import-setup',
module: module || '',
userId: configHandler.get('userUid') || undefined,
email: configHandler.get('email') || undefined,
sessionId: this.context?.sessionId,
apiKey: apiKey || '',
orgId: configHandler.get('oauthOrgUid') || '',
authenticationMethod: authenticationMethod || 'Basic Auth',
};
}
}
7 changes: 0 additions & 7 deletions packages/contentstack-import-setup/src/types/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -154,12 +154,5 @@ export type TaxonomyQueryParams = {
};

export interface Context {
command: string;
module: string;
userId: string | undefined;
email: string | undefined;
sessionId: string | undefined;
apiKey: string;
orgId: string;
authenticationMethod?: string;
}
26 changes: 9 additions & 17 deletions packages/contentstack-import/src/commands/cm/stacks/import.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
handleAndLogError,
configHandler,
getLogPath,
createLogContext,
} from '@contentstack/cli-utilities';

import { Context, ImportConfig } from '../../../types';
Expand Down Expand Up @@ -155,9 +156,14 @@ export default class ImportCommand extends Command {
const { flags } = await this.parse(ImportCommand);
importConfig = await setupImportConfig(flags);
// Prepare the context object
const context = this.createImportContext(importConfig.apiKey, importConfig.authenticationMethod);
importConfig.context = { ...context };
// log.info(`Using CLI version: ${this.context?.cliVersion}`, importConfig.context);
createLogContext(
this.context?.info?.command || 'cm:stacks:export',
importConfig.apiKey,
importConfig.authenticationMethod
);

importConfig.context = { module: '' };
//log.info(`Using Cli Version: ${this.context?.cliVersion}`, importConfig.context);

// Note setting host to create cma client
importConfig.host = this.cmaHost;
Expand Down Expand Up @@ -191,18 +197,4 @@ export default class ImportCommand extends Command {
}
}
}

// Create export context object
private createImportContext(apiKey: string, authenticationMethod?: string): Context {
return {
command: this.context?.info?.command || 'cm:stacks:import',
module: '',
userId: configHandler.get('userUid') || '',
email: configHandler.get('email') || '',
sessionId: this.context?.sessionId,
apiKey: apiKey || '',
orgId: configHandler.get('oauthOrgUid') || '',
authenticationMethod: authenticationMethod || 'Basic Auth',
};
}
}
Loading
Loading