Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
2b3f05b
fix(bulk-publish): added oauth and basic auth support for entry modif…
Jul 7, 2023
d22fd83
fix: doc updated
Jul 7, 2023
92457ff
Merge branch 'development' into feat/CS-38496
netrajpatel Jul 10, 2023
fab2a4c
Merge branch 'development' into feat/CS-38496
netrajpatel Jul 10, 2023
74dbcc7
feat(bulk-publish): added support for basic and oauth auth
Jul 10, 2023
ae755e3
Merge branch 'development' into feat/CS-38496
netrajpatel Jul 11, 2023
deba099
feat(bulk-publish): added oauth support for unpublished entries cmd
Jul 11, 2023
3080644
feat(bulk-publish): added oauth support for entries published cmd
Jul 11, 2023
a10a0b5
feat(bulk-publish): added oauth support for unpublish cmd
Jul 12, 2023
8810de9
feat(bulk-publish): added oauth support for update and publish cmd
Jul 12, 2023
3eeed33
feat(bulk-publish): added oauth support for configure cmd
Jul 12, 2023
5d8c6c2
Merge branch 'feat/CS-38499' into feat/bulk_publish_oauth
Jul 13, 2023
e7671c0
Merge branch 'feat/CS-38496' into feat/bulk_publish_oauth
Jul 13, 2023
184f49d
Merge branch 'feat/CS-38500' into feat/bulk_publish_oauth
Jul 13, 2023
f9c60d6
Merge branch 'feat/CS-38501' into feat/bulk_publish_oauth
Jul 13, 2023
e809880
Merge branch 'feat/CS-38502' into feat/bulk_publish_oauth
Jul 13, 2023
c9504ed
Merge branch 'feat/CS-38503' into feat/bulk_publish_oauth
Jul 13, 2023
32a4b89
Merge branch 'feat/CS-38505' into feat/bulk_publish_oauth
Jul 13, 2023
2c0d40a
fix(bulk-publish): fixed config issue with stacks publish cmd
Jul 14, 2023
230e18e
feat(bulk-publish): added oauth support for stacks unpublish cmd
Jul 17, 2023
30e15fd
Merge branch 'development' into feat/CS-38496
netrajpatel Jul 18, 2023
3d6db90
Merge branch 'development' into feat/CS-38508
Jul 19, 2023
e50ae47
Merge branch 'development' into feat/CS-38496
Jul 19, 2023
cdc4a47
Merge remote-tracking branch 'origin/feat/CS-38496' into feat/CS-38496
Jul 19, 2023
f4025ee
Merge branch 'feat/CS-38496' into feat/bulk_publish_oauth
Jul 20, 2023
f69f937
Merge branch 'feat/CS-38507' into feat/bulk_publish_oauth
Jul 20, 2023
b71d954
Merge branch 'feat/CS-38508' into feat/bulk_publish_oauth
Jul 20, 2023
f549dbd
Merge branch 'development' into feat/bulk_publish_oauth
Jul 20, 2023
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
193 changes: 144 additions & 49 deletions packages/contentstack-bulk-publish/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -32,29 +32,34 @@ class PublishModifiedCommand extends Command {
if (this.validate(updatedFlags)) {
let stack;
if (!updatedFlags.retryFailed) {
if (!updatedFlags.alias) {
updatedFlags.alias = await cliux.prompt('Please enter the management token alias to be used');
}
updatedFlags.bulkPublish = updatedFlags.bulkPublish !== 'false';
// Validate management token alias.
try {
this.getToken(updatedFlags.alias);
} catch (error) {
this.error(
`The configured management token alias ${updatedFlags.alias} has not been added yet. Add it using 'csdx auth:tokens:add -a ${updatedFlags.alias}'`,
{ exit: 2 },
);
}
config = {
alias: updatedFlags.alias,
host: this.cmaHost,
cda: this.cdaHost,
branch: entryEditsFlags.branch,
};
if (updatedFlags.alias) {
try {
this.getToken(updatedFlags.alias);
} catch (error) {
this.error(
`The configured management token alias ${updatedFlags.alias} has not been added yet. Add it using 'csdx auth:tokens:add -a ${updatedFlags.alias}'`,
{ exit: 2 },
);
}
} else if (updatedFlags['stack-api-key']) {
config.stackApiKey = updatedFlags['stack-api-key'];
} else {
this.error('Please use `--alias` or `--stack-api-key` to proceed.', { exit: 2 });
}
updatedFlags.bulkPublish = updatedFlags.bulkPublish !== 'false';
stack = await getStack(config);
}
if (await this.confirmFlags(updatedFlags)) {
try {
if (process.env.NODE_ENV === 'test') {
return;
}
if (!updatedFlags.retryFailed) {
await start(updatedFlags, stack, config);
} else {
Expand Down Expand Up @@ -121,6 +126,11 @@ But, if retry-failed flag is set, then only a logfile is required

PublishModifiedCommand.flags = {
alias: flags.string({ char: 'a', description: 'Alias(name) for the management token' }),
'stack-api-key': flags.string({
char: 'k',
description: 'Stack api key to be used',
required: false,
}),
retryFailed: flags.string({
char: 'r',
description: 'Retry publishing failed entries from the logfile (optional, overrides all other flags)',
Expand Down Expand Up @@ -197,6 +207,9 @@ PublishModifiedCommand.examples = [
'',
'Using --branch',
'csdx cm:entries:publish-modified --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --source-env [SOURCE_ENV] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME]',
'',
'Using --stack-api-key',
'csdx cm:entries:publish-modified --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --source-env [SOURCE_ENV] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -stack-api-key [STACK API KEY]',
];

PublishModifiedCommand.aliases = ['cm:bulk-publish:entry-edits'];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,25 +40,34 @@ class NonlocalizedFieldChangesCommand extends Command {
let stack;
if (!updatedFlags.retryFailed) {
updatedFlags.bulkPublish = updatedFlags.bulkPublish === 'false' ? false : true;
// Validate management token alias.
try {
this.getToken(updatedFlags.alias);
} catch (error) {
this.error(
`The configured management token alias ${updatedFlags.alias} has not been added yet. Add it using 'csdx auth:tokens:add -a ${updatedFlags.alias}'`,
{ exit: 2 },
);
}
config = {
alias: updatedFlags.alias,
host: this.cmaHost,
cda: this.cdaHost,
branch: nonlocalizedFieldChangesFlags.branch,
};
if (updatedFlags.alias) {
try {
this.getToken(updatedFlags.alias);
config.alias = updatedFlags.alias;
} catch (error) {
this.error(
`The configured management token alias ${updatedFlags.alias} has not been added yet. Add it using 'csdx auth:tokens:add -a ${updatedFlags.alias}'`,
{ exit: 2 },
);
}
} else if (updatedFlags['stack-api-key']) {
config.stackApiKey = updatedFlags['stack-api-key'];
} else {
this.error('Please use `--alias` or `--stack-api-key` to proceed.', { exit: 2 });
}
stack = await getStack(config);
}
if (await this.confirmFlags(updatedFlags)) {
try {
if (process.env.NODE_ENV === 'test') {
return;
}
if (!updatedFlags.retryFailed) {
await start(updatedFlags, stack, config);
} else {
Expand Down Expand Up @@ -122,6 +131,11 @@ NonlocalizedFieldChangesCommand.flags = {
char: 'a',
description: 'Alias(name) for the management token',
}),
'stack-api-key': flags.string({
char: 'k',
description: 'Stack api key to be used',
required: false,
}),
'retry-failed': flags.string({
description: 'Retry publishing failed entries from the logfile',
}),
Expand Down Expand Up @@ -204,6 +218,9 @@ NonlocalizedFieldChangesCommand.examples = [
'',
'Using --branch flag',
'csdx cm:entries:publish-non-localized-fields --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --alias [MANAGEMENT TOKEN ALIAS] --source-env [SOURCE ENV] --branch [BRANCH NAME]',
'',
'Using --stack-api-key flag',
'csdx cm:entries:publish-non-localized-fields --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] --environments [ENVIRONMENT 1] [ENVIRONMENT 2] --stack-api-key [STACK API KEY] --source-env [SOURCE ENV]',
];

NonlocalizedFieldChangesCommand.aliases = ['cm:bulk-publish:nonlocalized-field-changes'];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ But, if retry-failed flag is set, then only a logfile is required

PublishOnlyUnpublished.flags = {
alias: flags.string({ char: 'a', description: 'Alias(name) for the management token' }),
'stack-api-key': flags.string({
char: 'k',
description: 'Stack api key to be used',
}),
retryFailed: flags.string({
char: 'r',
hidden: true,
Expand Down Expand Up @@ -102,6 +106,9 @@ PublishOnlyUnpublished.examples = [
'',
'Using --branch',
'csdx cm:entries:publish-only-unpublished -b --content-types [CONTENT TYPES] -e [ENVIRONMENTS] --locales LOCALE -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME] -source-env [SOURCE ENV]',
'',
'Using --stack-api-key',
'csdx cm:entries:publish-only-unpublished -b --content-types [CONTENT TYPES] -e [ENVIRONMENTS] --locales LOCALE -a [MANAGEMENT TOKEN ALIAS] --stack-api-key [STACK API KEY] -source-env [SOURCE ENV]',
];

PublishOnlyUnpublished.aliases = ['cm:bulk-publish:unpublished-entries'];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,25 +37,27 @@ class PublishEntriesCommand extends Command {
if (this.validate(updatedFlags)) {
let stack;
if (!updatedFlags.retryFailed) {
if (!updatedFlags.alias) {
updatedFlags.alias = await cliux.prompt('Provide the alias of the management token to use');
}
updatedFlags.bulkPublish = updatedFlags.bulkPublish !== 'false';
// Validate management token alias.
try {
this.getToken(updatedFlags.alias);
} catch (error) {
this.error(
`The configured management token alias ${updatedFlags.alias} has not been added yet. Add it using 'csdx auth:tokens:add -a ${updatedFlags.alias}'`,
{ exit: 2 },
);
}
config = {
alias: updatedFlags.alias,
host: this.cmaHost,
cda: this.cdaHost,
branch: entriesFlags.branch,
};
if (updatedFlags.alias) {
try {
this.getToken(updatedFlags.alias);
} catch (error) {
this.error(
`The configured management token alias ${updatedFlags.alias} has not been added yet. Add it using 'csdx auth:tokens:add -a ${updatedFlags.alias}'`,
{ exit: 2 },
);
}
} else if (updatedFlags['stack-api-key']) {
config.stackApiKey = updatedFlags['stack-api-key'];
} else {
this.error('Please use `--alias` or `--stack-api-key` to proceed.', { exit: 2 });
}
updatedFlags.bulkPublish = updatedFlags.bulkPublish !== 'false';
stack = await getStack(config);
}
if (await this.confirmFlags(updatedFlags)) {
Expand Down Expand Up @@ -167,6 +169,10 @@ But, if retry-failed flag is set, then only a logfile is required

PublishEntriesCommand.flags = {
alias: flags.string({ char: 'a', description: 'Alias(name) for the management token' }),
'stack-api-key': flags.string({
char: 'k',
description: 'Stack api key to be used',
}),
retryFailed: flags.string({
char: 'r',
description:
Expand Down Expand Up @@ -258,6 +264,9 @@ PublishEntriesCommand.examples = [
'',
'Using --source-env',
'csdx cm:entries:publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN]',
'',
'Using --stack-api-key',
'csdx cm:entries:publish -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] --stack-api-key [STACK API KEY] --source-env [SOURCE ENVIRONMENT] --delivery-token [DELIVERY TOKEN]',
];

PublishEntriesCommand.aliases = ['cm:bulk-publish:entries'];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,28 +35,31 @@ class UnpublishCommand extends Command {
if (this.validate(updatedFlags)) {
let stack;
if (!updatedFlags.retryFailed) {
if (!updatedFlags.alias) {
updatedFlags.alias = await cliux.prompt('Please enter the management token alias to be used');
}
if (!updatedFlags.deliveryToken) {
updatedFlags.deliveryToken = await cliux.prompt('Enter delivery token of your source environment');
}
updatedFlags.bulkUnpublish = updatedFlags.bulkUnpublish === 'false' ? false : true;
// Validate management token alias.
try {
this.getToken(updatedFlags.alias);
} catch (error) {
this.error(
`The configured management token alias ${updatedFlags.alias} has not been added yet. Add it using 'csdx auth:tokens:add --alias ${updatedFlags.alias}'`,
{ exit: 2 },
);
}
config = {
alias: updatedFlags.alias,
host: this.cmaHost,
cda: this.cdaHost,
branch: unpublishFlags.branch,
};
if (updatedFlags.alias) {
try {
this.getToken(updatedFlags.alias);
} catch (error) {
this.error(
`The configured management token alias ${updatedFlags.alias} has not been added yet. Add it using 'csdx auth:tokens:add --alias ${updatedFlags.alias}'`,
{ exit: 2 },
);
}
} else if (updatedFlags['stack-api-key']) {
config.stackApiKey = updatedFlags['stack-api-key'];
} else {
this.error('Please use `--alias` or `--stack-api-key` to proceed.', { exit: 2 });
}
if (!updatedFlags.deliveryToken) {
updatedFlags.deliveryToken = await cliux.prompt('Enter delivery token of your source environment');
}
updatedFlags.bulkUnpublish = updatedFlags.bulkUnpublish === 'false' ? false : true;

stack = await getStack(config);
}
if (!updatedFlags.deliveryToken && updatedFlags.deliveryToken.length === 0) {
Expand Down Expand Up @@ -134,6 +137,10 @@ UnpublishCommand.flags = {
char: 'a',
description: 'Alias(name) for the management token',
}),
'stack-api-key': flags.string({
char: 'k',
description: 'Stack api key to be used',
}),
environment: flags.string({
char: 'e',
description: 'Source Environment',
Expand Down Expand Up @@ -184,9 +191,11 @@ UnpublishCommand.examples = [
'Using --retry-failed flag',
'csdx cm:stacks:unpublish --retry-failed [LOG FILE NAME]',
'',
'',
'Using --branch flag',
'csdx cm:stacks:unpublish --bulk-unpublish --content-type [CONTENT TYPE] --environment [SOURCE ENV] --locale [LOCALE] --alias [MANAGEMENT TOKEN ALIAS] --delivery-token [DELIVERY TOKEN] --branch [BRANCH NAME]',
'',
'Using --stack-api-key flag',
'csdx cm:stacks:unpublish --bulk-unpublish --content-type [CONTENT TYPE] --environment [SOURCE ENV] --locale [LOCALE] --stack-api-key [STACK API KEY] --delivery-token [DELIVERY TOKEN]',
];

module.exports = UnpublishCommand;
Original file line number Diff line number Diff line change
Expand Up @@ -30,25 +30,29 @@ class UpdateAndPublishCommand extends Command {
if (this.validate(updatedFlags)) {
let stack;
if (!updatedFlags.retryFailed) {
if (!updatedFlags.alias) {
updatedFlags.alias = await cliux.prompt('Please enter the management token alias to be used');
}
updatedFlags.bulkPublish = updatedFlags.bulkPublish === 'false' ? false : true;
// Validate management token alias.
try {
this.getToken(updatedFlags.alias);
} catch (error) {
this.error(
`The configured management token alias ${updatedFlags.alias} has not been added yet. Add it using 'csdx auth:tokens:add -a ${updatedFlags.alias}'`,
{ exit: 2 },
);
}
config = {
alias: updatedFlags.alias,
host: this.cmaHost,
cda: this.cdaHost,
branch: addFieldsFlags.branch,
};
if (updatedFlags.alias) {
try {
this.getToken(updatedFlags.alias);
config.alias = updatedFlags.alias;
} catch (error) {
this.error(
`The configured management token alias ${updatedFlags.alias} has not been added yet. Add it using 'csdx auth:tokens:add -a ${updatedFlags.alias}'`,
{ exit: 2 },
);
}
} else if (updatedFlags['stack-api-key']) {
config.stackApiKey = updatedFlags['stack-api-key'];
} else {
this.error('Please use `--alias` or `--stack-api-key` to proceed.', { exit: 2 });
}
updatedFlags.bulkPublish = updatedFlags.bulkPublish === 'false' ? false : true;

stack = await getStack(config);
}
if (await this.confirmFlags(updatedFlags)) {
Expand Down Expand Up @@ -114,6 +118,10 @@ But, if retry-failed flag is set, then only a logfile is required

UpdateAndPublishCommand.flags = {
alias: flags.string({ char: 'a', description: 'Alias(name) for the management token' }),
'stack-api-key': flags.string({
char: 'k',
description: 'Stack api key to be used',
}),
'retry-failed': flags.string({
description: 'Retry publishing failed entries from the logfile (optional, overrides all other flags)',
}),
Expand Down Expand Up @@ -177,7 +185,7 @@ UpdateAndPublishCommand.flags = {

UpdateAndPublishCommand.examples = [
'General Usage',
'csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locale [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS]',
'csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS]',
'',
'Using --config or -c flag',
'Generate a config file at the current working directory using `csdx cm:stacks:publish-configure -a [ALIAS]`',
Expand All @@ -188,7 +196,10 @@ UpdateAndPublishCommand.examples = [
'csdx cm:entries:update-and-publish --retry-failed [LOG FILE NAME]',
'',
'Using --branch',
'csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locale [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME]',
'csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] -a [MANAGEMENT TOKEN ALIAS] --branch [BRANCH NAME]',
'',
'Using --stack-api-key',
'csdx cm:entries:update-and-publish --content-types [CONTENT TYPE 1] [CONTENT TYPE 2] -e [ENVIRONMENT 1] [ENVIRONMENT 2] --locales [LOCALE 1] [LOCALE 2] --stack-api-key [STACK API KEY]',
];

UpdateAndPublishCommand.aliases = ['cm:bulk-publish:add-fields'];
Expand Down
Loading