contensis-cli 1.0.0-beta.11 → 1.0.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/connect.js +2 -2
- package/dist/commands/connect.js.map +2 -2
- package/dist/commands/create.js +1 -1
- package/dist/commands/create.js.map +2 -2
- package/dist/commands/login.js +1 -1
- package/dist/commands/login.js.map +2 -2
- package/dist/commands/remove.js +1 -1
- package/dist/commands/remove.js.map +2 -2
- package/dist/commands/set.js +6 -10
- package/dist/commands/set.js.map +2 -2
- package/dist/localisation/en-GB.js +3 -2
- package/dist/localisation/en-GB.js.map +2 -2
- package/dist/providers/CredentialProvider.js +0 -2
- package/dist/providers/CredentialProvider.js.map +2 -2
- package/dist/providers/SessionCacheProvider.js +19 -0
- package/dist/providers/SessionCacheProvider.js.map +2 -2
- package/dist/services/ContensisCliService.js +138 -158
- package/dist/services/ContensisCliService.js.map +2 -2
- package/dist/shell.js +10 -3
- package/dist/shell.js.map +2 -2
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/connect.ts +2 -2
- package/src/commands/create.ts +1 -1
- package/src/commands/login.ts +1 -1
- package/src/commands/remove.ts +1 -1
- package/src/commands/set.ts +8 -12
- package/src/localisation/en-GB.ts +6 -2
- package/src/providers/CredentialProvider.ts +1 -1
- package/src/providers/SessionCacheProvider.ts +26 -1
- package/src/services/ContensisCliService.ts +173 -202
- package/src/shell.ts +14 -3
- package/src/version.ts +1 -1
package/dist/commands/connect.js
CHANGED
|
@@ -32,8 +32,8 @@ const makeConnectCommand = () => {
|
|
|
32
32
|
Example call:
|
|
33
33
|
> connect example-dev`
|
|
34
34
|
).action(async (alias, opts) => {
|
|
35
|
-
await (0, import_ContensisCliService.cliCommand)(["connect", alias], opts).Connect(alias);
|
|
36
|
-
await (0, import_shell.shell)().
|
|
35
|
+
await (0, import_ContensisCliService.cliCommand)(["connect", alias], { ...opts, alias }).Connect(alias);
|
|
36
|
+
await (0, import_shell.shell)().restart();
|
|
37
37
|
});
|
|
38
38
|
return connect;
|
|
39
39
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/connect.ts"],
|
|
4
|
-
"sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\nimport { project } from './globalOptions';\n\nexport const makeConnectCommand = () => {\n const connect = new Command()\n .command('connect')\n .argument('<alias>', 'the Contensis Cloud alias to connect with')\n .addOption(project)\n .usage('<alias>')\n .addHelpText(\n 'after',\n `\nExample call:\n > connect example-dev`\n )\n .action(async (alias, opts) => {\n await cliCommand(['connect', alias], opts).Connect(alias);\n await shell().
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AACtB,2BAAwB;AAEjB,MAAM,qBAAqB,MAAM;AACtC,QAAM,UAAU,IAAI,yBAAQ,EACzB,QAAQ,SAAS,EACjB,SAAS,WAAW,2CAA2C,EAC/D,UAAU,4BAAO,EACjB,MAAM,SAAS,EACf;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA,EAGF,EACC,OAAO,OAAO,OAAO,SAAS;AAC7B,cAAM,uCAAW,CAAC,WAAW,KAAK,GAAG,
|
|
4
|
+
"sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\nimport { project } from './globalOptions';\n\nexport const makeConnectCommand = () => {\n const connect = new Command()\n .command('connect')\n .argument('<alias>', 'the Contensis Cloud alias to connect with')\n .addOption(project)\n .usage('<alias>')\n .addHelpText(\n 'after',\n `\nExample call:\n > connect example-dev`\n )\n .action(async (alias, opts) => {\n await cliCommand(['connect', alias], { ...opts, alias }).Connect(alias);\n await shell().restart();\n });\n return connect;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AACtB,2BAAwB;AAEjB,MAAM,qBAAqB,MAAM;AACtC,QAAM,UAAU,IAAI,yBAAQ,EACzB,QAAQ,SAAS,EACjB,SAAS,WAAW,2CAA2C,EAC/D,UAAU,4BAAO,EACjB,MAAM,SAAS,EACf;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA,EAGF,EACC,OAAO,OAAO,OAAO,SAAS;AAC7B,cAAM,uCAAW,CAAC,WAAW,KAAK,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,QAAQ,KAAK;AACtE,cAAM,oBAAM,EAAE,QAAQ;AAAA,EACxB,CAAC;AACH,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/commands/create.js
CHANGED
|
@@ -32,7 +32,7 @@ const makeCreateCommand = () => {
|
|
|
32
32
|
opts
|
|
33
33
|
).SetProject(projectId);
|
|
34
34
|
if (project)
|
|
35
|
-
await (0, import_shell.shell)().
|
|
35
|
+
await (0, import_shell.shell)().restart();
|
|
36
36
|
});
|
|
37
37
|
create.command("key").argument('<"key name">', "the name of the key to create").argument('["description"]', "provide a description for the key (optional)").usage('<"key name"> ["description"] (both args in "double quotes")').addHelpText(
|
|
38
38
|
"after",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/create.ts"],
|
|
4
|
-
"sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\n\nexport const makeCreateCommand = () => {\n const create = new Command()\n .command('create')\n .showHelpAfterError(true)\n .exitOverride();\n\n create\n .command('project')\n .argument('<projectId>', 'the id of the project to create')\n .usage('<projectId>')\n .action(async (projectId: string, opts: any) => {\n const project = await cliCommand(\n ['create', 'project', projectId],\n opts\n ).SetProject(projectId);\n if (project) await shell().
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AAEf,MAAM,oBAAoB,MAAM;AACrC,QAAM,SAAS,IAAI,yBAAQ,EACxB,QAAQ,QAAQ,EAChB,mBAAmB,IAAI,EACvB,aAAa;AAEhB,SACG,QAAQ,SAAS,EACjB,SAAS,eAAe,iCAAiC,EACzD,MAAM,aAAa,EACnB,OAAO,OAAO,WAAmB,SAAc;AAC9C,UAAM,UAAU,UAAM;AAAA,MACpB,CAAC,UAAU,WAAW,SAAS;AAAA,MAC/B;AAAA,IACF,EAAE,WAAW,SAAS;AACtB,QAAI;AAAS,gBAAM,oBAAM,EAAE,
|
|
4
|
+
"sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\n\nexport const makeCreateCommand = () => {\n const create = new Command()\n .command('create')\n .showHelpAfterError(true)\n .exitOverride();\n\n create\n .command('project')\n .argument('<projectId>', 'the id of the project to create')\n .usage('<projectId>')\n .action(async (projectId: string, opts: any) => {\n const project = await cliCommand(\n ['create', 'project', projectId],\n opts\n ).SetProject(projectId);\n if (project) await shell().restart();\n });\n create\n .command('key')\n .argument('<\"key name\">', 'the name of the key to create')\n .argument('[\"description\"]', 'provide a description for the key (optional)')\n .usage('<\"key name\"> [\"description\"] (both args in \"double quotes\")')\n .addHelpText(\n 'after',\n `\nExample call:\n > create key \"my new key\" \"Created key for demonstration\"\\n`\n )\n .action(async (name: string, description: string, opts: any) => {\n await cliCommand(['create', 'key', name], opts).CreateApiKey(\n name,\n description\n );\n });\n\n return create;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AAEf,MAAM,oBAAoB,MAAM;AACrC,QAAM,SAAS,IAAI,yBAAQ,EACxB,QAAQ,QAAQ,EAChB,mBAAmB,IAAI,EACvB,aAAa;AAEhB,SACG,QAAQ,SAAS,EACjB,SAAS,eAAe,iCAAiC,EACzD,MAAM,aAAa,EACnB,OAAO,OAAO,WAAmB,SAAc;AAC9C,UAAM,UAAU,UAAM;AAAA,MACpB,CAAC,UAAU,WAAW,SAAS;AAAA,MAC/B;AAAA,IACF,EAAE,WAAW,SAAS;AACtB,QAAI;AAAS,gBAAM,oBAAM,EAAE,QAAQ;AAAA,EACrC,CAAC;AACH,SACG,QAAQ,KAAK,EACb,SAAS,gBAAgB,+BAA+B,EACxD,SAAS,mBAAmB,8CAA8C,EAC1E,MAAM,6DAA6D,EACnE;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAGF,EACC,OAAO,OAAO,MAAc,aAAqB,SAAc;AAC9D,cAAM,uCAAW,CAAC,UAAU,OAAO,IAAI,GAAG,IAAI,EAAE;AAAA,MAC9C;AAAA,MACA;AAAA,IACF;AAAA,EACF,CAAC;AAEH,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/commands/login.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/login.ts"],
|
|
4
|
-
"sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\n\nexport const makeLoginCommand = () => {\n const login = new Command()\n .command('login')\n .argument('<user/clientId>', 'the username to login with')\n .argument(\n '[password]',\n 'the password to use to login with (optional/insecure)'\n )\n .option(\n '-s --shared-secret <sharedSecret>',\n 'the shared secret to use when logging in with a client id'\n )\n .usage('<user/clientId> [password] [-s <sharedSecret>]')\n .addHelpText(\n 'after',\n `\nExample call:\n > login myuserid\\n -- or --\\n > login {clientId} -s {sharedSecret}\n`\n )\n .action(async (user, password, opts) => {\n const token = await cliCommand(['login', user]).Login(user, {\n password,\n sharedSecret: opts.sharedSecret,\n });\n if (token) await shell().
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AAEf,MAAM,mBAAmB,MAAM;AACpC,QAAM,QAAQ,IAAI,yBAAQ,EACvB,QAAQ,OAAO,EACf,SAAS,mBAAmB,4BAA4B,EACxD;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC,MAAM,gDAAgD,EACtD;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAIF,EACC,OAAO,OAAO,MAAM,UAAU,SAAS;AACtC,UAAM,QAAQ,UAAM,uCAAW,CAAC,SAAS,IAAI,CAAC,EAAE,MAAM,MAAM;AAAA,MAC1D;AAAA,MACA,cAAc,KAAK;AAAA,IACrB,CAAC;AACD,QAAI;AAAO,gBAAM,oBAAM,EAAE,
|
|
4
|
+
"sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\n\nexport const makeLoginCommand = () => {\n const login = new Command()\n .command('login')\n .argument('<user/clientId>', 'the username to login with')\n .argument(\n '[password]',\n 'the password to use to login with (optional/insecure)'\n )\n .option(\n '-s --shared-secret <sharedSecret>',\n 'the shared secret to use when logging in with a client id'\n )\n .usage('<user/clientId> [password] [-s <sharedSecret>]')\n .addHelpText(\n 'after',\n `\nExample call:\n > login myuserid\\n -- or --\\n > login {clientId} -s {sharedSecret}\n`\n )\n .action(async (user, password, opts) => {\n const token = await cliCommand(['login', user]).Login(user, {\n password,\n sharedSecret: opts.sharedSecret,\n });\n if (token) await shell().restart();\n });\n return login;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AAEf,MAAM,mBAAmB,MAAM;AACpC,QAAM,QAAQ,IAAI,yBAAQ,EACvB,QAAQ,OAAO,EACf,SAAS,mBAAmB,4BAA4B,EACxD;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,EACF,EACC,MAAM,gDAAgD,EACtD;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAIF,EACC,OAAO,OAAO,MAAM,UAAU,SAAS;AACtC,UAAM,QAAQ,UAAM,uCAAW,CAAC,SAAS,IAAI,CAAC,EAAE,MAAM,MAAM;AAAA,MAC1D;AAAA,MACA,cAAc,KAAK;AAAA,IACrB,CAAC;AACD,QAAI;AAAO,gBAAM,oBAAM,EAAE,QAAQ;AAAA,EACnC,CAAC;AACH,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/commands/remove.js
CHANGED
|
@@ -33,7 +33,7 @@ const makeRemoveCommand = () => {
|
|
|
33
33
|
opts
|
|
34
34
|
).SetProject(projectId);
|
|
35
35
|
if (project)
|
|
36
|
-
await (0, import_shell.shell)().
|
|
36
|
+
await (0, import_shell.shell)().restart();
|
|
37
37
|
});
|
|
38
38
|
remove.command("key").argument("<id>", "the id of the API key to delete").usage("<id>").addHelpText(
|
|
39
39
|
"after",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/remove.ts"],
|
|
4
|
-
"sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\nimport { commit, mapContensisOpts } from './globalOptions';\n\nexport const makeRemoveCommand = () => {\n const remove = new Command()\n .command('remove')\n .showHelpAfterError(true)\n .exitOverride();\n\n remove\n .command('project')\n .argument('<projectId>', 'the project id to delete')\n .usage('<projectId>')\n .action(async (projectId, opts) => {\n const project = await cliCommand(\n ['remove', 'project', projectId],\n opts\n ).SetProject(projectId);\n if (project) await shell().
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AACtB,2BAAyC;AAElC,MAAM,oBAAoB,MAAM;AACrC,QAAM,SAAS,IAAI,yBAAQ,EACxB,QAAQ,QAAQ,EAChB,mBAAmB,IAAI,EACvB,aAAa;AAEhB,SACG,QAAQ,SAAS,EACjB,SAAS,eAAe,0BAA0B,EAClD,MAAM,aAAa,EACnB,OAAO,OAAO,WAAW,SAAS;AACjC,UAAM,UAAU,UAAM;AAAA,MACpB,CAAC,UAAU,WAAW,SAAS;AAAA,MAC/B;AAAA,IACF,EAAE,WAAW,SAAS;AACtB,QAAI;AAAS,gBAAM,oBAAM,EAAE,
|
|
4
|
+
"sourcesContent": ["import { Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\nimport { commit, mapContensisOpts } from './globalOptions';\n\nexport const makeRemoveCommand = () => {\n const remove = new Command()\n .command('remove')\n .showHelpAfterError(true)\n .exitOverride();\n\n remove\n .command('project')\n .argument('<projectId>', 'the project id to delete')\n .usage('<projectId>')\n .action(async (projectId, opts) => {\n const project = await cliCommand(\n ['remove', 'project', projectId],\n opts\n ).SetProject(projectId);\n if (project) await shell().restart();\n });\n remove\n .command('key')\n .argument('<id>', 'the id of the API key to delete')\n .usage('<id>')\n .addHelpText(\n 'after',\n `\nExample call:\n > remove key 4ceb9575-28d3-4d5b-a77b-5e5221e603dd\n`\n )\n .action(async (id, opts) => {\n await cliCommand(['remove', 'key', id], opts).RemoveApiKey(id);\n });\n\n remove\n .command('components')\n .argument('<id...>', 'the id(s) of the components to delete')\n .addOption(commit)\n .usage('<id> [--commit]')\n .addHelpText(\n 'after',\n `\nExample call:\n > remove components addressComponent\n`\n )\n .action(async (id: string[], opts) => {\n await cliCommand(\n ['remove', 'components', id.join(', ')],\n opts\n ).RemoveComponents(id, opts.commit);\n });\n\n remove\n .command('contenttypes')\n .argument('<id...>', 'the id(s) of the content types to delete')\n .addOption(commit)\n .usage('<id> [--commit]')\n .addHelpText(\n 'after',\n `\nExample call:\n > remove contenttypes blogPost\n`\n )\n .action(async (id: string[], opts) => {\n await cliCommand(\n ['remove', 'contenttypes', id.join(', ')],\n opts\n ).RemoveContentTypes(id, opts.commit);\n });\n\n return remove;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAwB;AACxB,iCAA2B;AAC3B,mBAAsB;AACtB,2BAAyC;AAElC,MAAM,oBAAoB,MAAM;AACrC,QAAM,SAAS,IAAI,yBAAQ,EACxB,QAAQ,QAAQ,EAChB,mBAAmB,IAAI,EACvB,aAAa;AAEhB,SACG,QAAQ,SAAS,EACjB,SAAS,eAAe,0BAA0B,EAClD,MAAM,aAAa,EACnB,OAAO,OAAO,WAAW,SAAS;AACjC,UAAM,UAAU,UAAM;AAAA,MACpB,CAAC,UAAU,WAAW,SAAS;AAAA,MAC/B;AAAA,IACF,EAAE,WAAW,SAAS;AACtB,QAAI;AAAS,gBAAM,oBAAM,EAAE,QAAQ;AAAA,EACrC,CAAC;AACH,SACG,QAAQ,KAAK,EACb,SAAS,QAAQ,iCAAiC,EAClD,MAAM,MAAM,EACZ;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAIF,EACC,OAAO,OAAO,IAAI,SAAS;AAC1B,cAAM,uCAAW,CAAC,UAAU,OAAO,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE;AAAA,EAC/D,CAAC;AAEH,SACG,QAAQ,YAAY,EACpB,SAAS,WAAW,uCAAuC,EAC3D,UAAU,2BAAM,EAChB,MAAM,iBAAiB,EACvB;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAIF,EACC,OAAO,OAAO,IAAc,SAAS;AACpC,cAAM;AAAA,MACJ,CAAC,UAAU,cAAc,GAAG,KAAK,IAAI,CAAC;AAAA,MACtC;AAAA,IACF,EAAE,iBAAiB,IAAI,KAAK,MAAM;AAAA,EACpC,CAAC;AAEH,SACG,QAAQ,cAAc,EACtB,SAAS,WAAW,0CAA0C,EAC9D,UAAU,2BAAM,EAChB,MAAM,iBAAiB,EACvB;AAAA,IACC;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,EAIF,EACC,OAAO,OAAO,IAAc,SAAS;AACpC,cAAM;AAAA,MACJ,CAAC,UAAU,gBAAgB,GAAG,KAAK,IAAI,CAAC;AAAA,MACxC;AAAA,IACF,EAAE,mBAAmB,IAAI,KAAK,MAAM;AAAA,EACtC,CAAC;AAEH,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/commands/set.js
CHANGED
|
@@ -27,24 +27,20 @@ var import_shell = require("../shell");
|
|
|
27
27
|
const makeSetCommand = () => {
|
|
28
28
|
const set = new import_commander.Command().command("set").showHelpAfterError(true).exitOverride();
|
|
29
29
|
set.command("project").argument("<projectId>", "the project id to work with").usage("<projectId>").action(async (projectId) => {
|
|
30
|
-
const project =
|
|
31
|
-
"set",
|
|
32
|
-
"project",
|
|
30
|
+
const project = (0, import_ContensisCliService.cliCommand)(["set", "project", projectId]).SetProject(
|
|
33
31
|
projectId
|
|
34
|
-
|
|
32
|
+
);
|
|
35
33
|
if (project)
|
|
36
|
-
await (0, import_shell.shell)().
|
|
34
|
+
await (0, import_shell.shell)().restart();
|
|
37
35
|
});
|
|
38
36
|
set.command("version").addArgument(
|
|
39
37
|
new import_commander.Argument("<versionStatus>", "content version status").choices(["latest", "published"]).default("latest")
|
|
40
38
|
).usage("<latest/published>").action(async (versionStatus) => {
|
|
41
|
-
const success =
|
|
42
|
-
"set",
|
|
43
|
-
"version",
|
|
39
|
+
const success = (0, import_ContensisCliService.cliCommand)(["set", "version", versionStatus]).SetVersion(
|
|
44
40
|
versionStatus
|
|
45
|
-
|
|
41
|
+
);
|
|
46
42
|
if (success)
|
|
47
|
-
await (0, import_shell.shell)().
|
|
43
|
+
await (0, import_shell.shell)().restart();
|
|
48
44
|
});
|
|
49
45
|
return set;
|
|
50
46
|
};
|
package/dist/commands/set.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/set.ts"],
|
|
4
|
-
"sourcesContent": ["import { Argument, Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\n\nexport const makeSetCommand = () => {\n const set = new Command()\n .command('set')\n .showHelpAfterError(true)\n .exitOverride();\n set\n .command('project')\n .argument('<projectId>', 'the project id to work with')\n .usage('<projectId>')\n .action(async projectId => {\n const project =
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAkC;AAClC,iCAA2B;AAC3B,mBAAsB;AAEf,MAAM,iBAAiB,MAAM;AAClC,QAAM,MAAM,IAAI,yBAAQ,EACrB,QAAQ,KAAK,EACb,mBAAmB,IAAI,EACvB,aAAa;AAChB,MACG,QAAQ,SAAS,EACjB,SAAS,eAAe,6BAA6B,EACrD,MAAM,aAAa,EACnB,OAAO,OAAM,cAAa;AACzB,UAAM,
|
|
4
|
+
"sourcesContent": ["import { Argument, Command } from 'commander';\nimport { cliCommand } from '~/services/ContensisCliService';\nimport { shell } from '~/shell';\n\nexport const makeSetCommand = () => {\n const set = new Command()\n .command('set')\n .showHelpAfterError(true)\n .exitOverride();\n set\n .command('project')\n .argument('<projectId>', 'the project id to work with')\n .usage('<projectId>')\n .action(async projectId => {\n const project = cliCommand(['set', 'project', projectId]).SetProject(\n projectId\n );\n if (project) await shell().restart();\n });\n set\n .command('version')\n .addArgument(\n new Argument('<versionStatus>', 'content version status')\n .choices(['latest', 'published'])\n .default('latest')\n )\n .usage('<latest/published>')\n .action(async versionStatus => {\n const success = cliCommand(['set', 'version', versionStatus]).SetVersion(\n versionStatus\n );\n if (success) await shell().restart();\n });\n\n return set;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAkC;AAClC,iCAA2B;AAC3B,mBAAsB;AAEf,MAAM,iBAAiB,MAAM;AAClC,QAAM,MAAM,IAAI,yBAAQ,EACrB,QAAQ,KAAK,EACb,mBAAmB,IAAI,EACvB,aAAa;AAChB,MACG,QAAQ,SAAS,EACjB,SAAS,eAAe,6BAA6B,EACrD,MAAM,aAAa,EACnB,OAAO,OAAM,cAAa;AACzB,UAAM,cAAU,uCAAW,CAAC,OAAO,WAAW,SAAS,CAAC,EAAE;AAAA,MACxD;AAAA,IACF;AACA,QAAI;AAAS,gBAAM,oBAAM,EAAE,QAAQ;AAAA,EACrC,CAAC;AACH,MACG,QAAQ,SAAS,EACjB;AAAA,IACC,IAAI,0BAAS,mBAAmB,wBAAwB,EACrD,QAAQ,CAAC,UAAU,WAAW,CAAC,EAC/B,QAAQ,QAAQ;AAAA,EACrB,EACC,MAAM,oBAAoB,EAC1B,OAAO,OAAM,kBAAiB;AAC7B,UAAM,cAAU,uCAAW,CAAC,OAAO,WAAW,aAAa,CAAC,EAAE;AAAA,MAC5D;AAAA,IACF;AACA,QAAI;AAAS,gBAAM,oBAAM,EAAE,QAAQ;AAAA,EACrC,CAAC;AAEH,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -94,7 +94,7 @@ ${import_logger.Logger.errorText(">>")} Available commands:`,
|
|
|
94
94
|
description: () => "the shared secret to use when logging in with a client id"
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
|
-
passwordPrompt: (env, userId) => `Enter password for ${userId}@${env}
|
|
97
|
+
passwordPrompt: (env, userId) => userId ? `Enter password for ${userId}@${env}:` : `Please enter a password`,
|
|
98
98
|
failed: (env, userId) => `Unable to login to ${env} as ${userId}`,
|
|
99
99
|
success: (env, userId) => `User ${userId} connected to ${env} successfully
|
|
100
100
|
`,
|
|
@@ -106,7 +106,8 @@ ${import_logger.Logger.errorText(">>")} Available commands:`,
|
|
|
106
106
|
list: () => `Available projects:`,
|
|
107
107
|
noList: () => `Cannot retrieve projects list`,
|
|
108
108
|
set: (projectId) => `Current project is set to "${projectId}"`,
|
|
109
|
-
failedSet: (projectId) => `Project "${projectId}" not found
|
|
109
|
+
failedSet: (projectId) => `Project "${projectId}" not found`,
|
|
110
|
+
tip: () => `You need to set your current working project with "set project {projectId}"`
|
|
110
111
|
},
|
|
111
112
|
contenttypes: {
|
|
112
113
|
list: (projectId) => `Content types in "${projectId}":`,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/localisation/en-GB.ts"],
|
|
4
|
-
"sourcesContent": ["import { BlockRunningStatus, MigrateStatus } from 'migratortron';\nimport { Logger } from '~/util/logger';\n\nexport const LogMessages = {\n app: {\n contensis: () => 'Contensis',\n quit: () => `Goodbye \uD83D\uDC4B\\n`,\n startup: () =>\n `\u00A9 2001-${new Date().getFullYear()} Zengenti \uD83C\uDDEC\uD83C\uDDE7. \\n - Creators of Contensis and purveyors of other fine software\\n\\n\uD83D\uDC4B Welcome to the contensis-cli\\n`,\n help: () =>\n 'Press [CTRL]+[C] or type \"quit\" to return to your system shell\\nPress [TAB] for suggestions\\n',\n suggestions: () =>\n `\\n${Logger.errorText('>>')} Press [TAB] for suggestions\\n`,\n autocomplete: () => `\\n${Logger.errorText('>>')} Available commands:`,\n unknownError: () => `Something went wrong...`,\n fileOutput: (format = 'json', path?: string) =>\n `Output ${format} file: ${Logger.infoText(path)}\\n`,\n noFileOutput: () => `No output written\\n`,\n },\n command: {\n notKnown: (command: string) => `${command} is not known`,\n },\n envs: {\n found: (num: number) =>\n `environments store found containing ${num} environment${\n num === 1 ? '' : 's'\n }`,\n tip: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n connect: {\n command: {\n name: () => 'connect',\n example: () => `Example call:\\n > connect example-dev`,\n },\n args: {\n alias: {\n name: () => '<alias>',\n description: () => 'the Contensis Cloud alias to connect with',\n },\n },\n noEnv: () => `Cannot connect - no environment alias specified`,\n unreachable: (url: string, status: number) =>\n `Cannot reach ${url}${status ? ` - status ${status}` : ''}`,\n connected: (env: string) => `Current environment set to \"${env}\"`,\n help: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n projects: () => `Available projects:`,\n noProjects: () => `Cannot retrieve projects list`,\n tip: () =>\n `Introduce yourself with \"login {username}\" or \"login {clientId} -s {secret}\" or by passing credentials as options with your command`,\n },\n login: {\n command: {\n name: () => 'login',\n usage: () => `<user/clientId> [password] [-s <sharedSecret>]`,\n example: () =>\n `Example call:\\n > login myuserid\\n -- or --\\n > login {clientId} -s {sharedSecret}`,\n },\n args: {\n user: {\n name: () => '<user/clientId>',\n description: () => 'the username to login with',\n },\n password: {\n name: () => '[password]',\n description: () =>\n 'the password to use to login with (optional/insecure)',\n },\n secret: {\n name: () => '-s --sharedSecret <sharedSecret>',\n description: () =>\n 'the shared secret to use when logging in with a client id',\n },\n },\n passwordPrompt: (env
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAAuB;AAEhB,MAAM,cAAc;AAAA,EACzB,KAAK;AAAA,IACH,WAAW,MAAM;AAAA,IACjB,MAAM,MAAM;AAAA;AAAA,IACZ,SAAS,MACP,aAAU,IAAI,KAAK,EAAE,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,IACnC,MAAM,MACJ;AAAA,IACF,aAAa,MACX;AAAA,EAAK,qBAAO,UAAU,IAAI;AAAA;AAAA,IAC5B,cAAc,MAAM;AAAA,EAAK,qBAAO,UAAU,IAAI;AAAA,IAC9C,cAAc,MAAM;AAAA,IACpB,YAAY,CAAC,SAAS,QAAQ,SAC5B,UAAU,gBAAgB,qBAAO,SAAS,IAAI;AAAA;AAAA,IAChD,cAAc,MAAM;AAAA;AAAA,EACtB;AAAA,EACA,SAAS;AAAA,IACP,UAAU,CAAC,YAAoB,GAAG;AAAA,EACpC;AAAA,EACA,MAAM;AAAA,IACJ,OAAO,CAAC,QACN,uCAAuC,kBACrC,QAAQ,IAAI,KAAK;AAAA,IAErB,KAAK,MACH;AAAA,EACJ;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP,MAAM,MAAM;AAAA,MACZ,SAAS,MAAM;AAAA;AAAA,IACjB;AAAA,IACA,MAAM;AAAA,MACJ,OAAO;AAAA,QACL,MAAM,MAAM;AAAA,QACZ,aAAa,MAAM;AAAA,MACrB;AAAA,IACF;AAAA,IACA,OAAO,MAAM;AAAA,IACb,aAAa,CAAC,KAAa,WACzB,gBAAgB,MAAM,SAAS,aAAa,WAAW;AAAA,IACzD,WAAW,CAAC,QAAgB,+BAA+B;AAAA,IAC3D,MAAM,MACJ;AAAA,IACF,UAAU,MAAM;AAAA,IAChB,YAAY,MAAM;AAAA,IAClB,KAAK,MACH;AAAA,EACJ;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM,MAAM;AAAA,MACZ,OAAO,MAAM;AAAA,MACb,SAAS,MACP;AAAA;AAAA;AAAA;AAAA,IACJ;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,QACJ,MAAM,MAAM;AAAA,QACZ,aAAa,MAAM;AAAA,MACrB;AAAA,MACA,UAAU;AAAA,QACR,MAAM,MAAM;AAAA,QACZ,aAAa,MACX;AAAA,MACJ;AAAA,MACA,QAAQ;AAAA,QACN,MAAM,MAAM;AAAA,QACZ,aAAa,MACX;AAAA,MACJ;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,
|
|
4
|
+
"sourcesContent": ["import { BlockRunningStatus, MigrateStatus } from 'migratortron';\nimport { Logger } from '~/util/logger';\n\nexport const LogMessages = {\n app: {\n contensis: () => 'Contensis',\n quit: () => `Goodbye \uD83D\uDC4B\\n`,\n startup: () =>\n `\u00A9 2001-${new Date().getFullYear()} Zengenti \uD83C\uDDEC\uD83C\uDDE7. \\n - Creators of Contensis and purveyors of other fine software\\n\\n\uD83D\uDC4B Welcome to the contensis-cli\\n`,\n help: () =>\n 'Press [CTRL]+[C] or type \"quit\" to return to your system shell\\nPress [TAB] for suggestions\\n',\n suggestions: () =>\n `\\n${Logger.errorText('>>')} Press [TAB] for suggestions\\n`,\n autocomplete: () => `\\n${Logger.errorText('>>')} Available commands:`,\n unknownError: () => `Something went wrong...`,\n fileOutput: (format = 'json', path?: string) =>\n `Output ${format} file: ${Logger.infoText(path)}\\n`,\n noFileOutput: () => `No output written\\n`,\n },\n command: {\n notKnown: (command: string) => `${command} is not known`,\n },\n envs: {\n found: (num: number) =>\n `environments store found containing ${num} environment${\n num === 1 ? '' : 's'\n }`,\n tip: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n connect: {\n command: {\n name: () => 'connect',\n example: () => `Example call:\\n > connect example-dev`,\n },\n args: {\n alias: {\n name: () => '<alias>',\n description: () => 'the Contensis Cloud alias to connect with',\n },\n },\n noEnv: () => `Cannot connect - no environment alias specified`,\n unreachable: (url: string, status: number) =>\n `Cannot reach ${url}${status ? ` - status ${status}` : ''}`,\n connected: (env: string) => `Current environment set to \"${env}\"`,\n help: () =>\n `Connect to a Contensis cloud instance using \"contensis connect {cms alias}\"`,\n projects: () => `Available projects:`,\n noProjects: () => `Cannot retrieve projects list`,\n tip: () =>\n `Introduce yourself with \"login {username}\" or \"login {clientId} -s {secret}\" or by passing credentials as options with your command`,\n },\n login: {\n command: {\n name: () => 'login',\n usage: () => `<user/clientId> [password] [-s <sharedSecret>]`,\n example: () =>\n `Example call:\\n > login myuserid\\n -- or --\\n > login {clientId} -s {sharedSecret}`,\n },\n args: {\n user: {\n name: () => '<user/clientId>',\n description: () => 'the username to login with',\n },\n password: {\n name: () => '[password]',\n description: () =>\n 'the password to use to login with (optional/insecure)',\n },\n secret: {\n name: () => '-s --sharedSecret <sharedSecret>',\n description: () =>\n 'the shared secret to use when logging in with a client id',\n },\n },\n passwordPrompt: (env?: string, userId?: string) =>\n userId\n ? `Enter password for ${userId}@${env}:`\n : `Please enter a password`,\n failed: (env: string, userId: string) =>\n `Unable to login to ${env} as ${userId}`,\n success: (env: string, userId: string) =>\n `User ${userId} connected to ${env} successfully\\n`,\n insecurePassword: () =>\n `Could not connect to local keystore - your password could be stored unencrypted!`,\n noEnv: () => `No environment set, use \"contensis connect {alias}\" first`,\n noUserId: () => `No user id specified`,\n },\n projects: {\n list: () => `Available projects:`,\n noList: () => `Cannot retrieve projects list`,\n set: (projectId: string) => `Current project is set to \"${projectId}\"`,\n failedSet: (projectId: string) => `Project \"${projectId}\" not found`,\n tip: () =>\n `You need to set your current working project with \"set project {projectId}\"`,\n },\n contenttypes: {\n list: (projectId: string) => `Content types in \"${projectId}\":`,\n noList: (projectId: string) =>\n `[${projectId}] Cannot retrieve content types list`,\n get: (projectId: string, contentTypeId: string) =>\n `[${projectId}] Content type \"${contentTypeId}\"`,\n failedGet: (projectId: string, contentTypeId: string) =>\n `[${projectId}] Unable to get content type \"${contentTypeId}\"`,\n created: (projectId: string, componentId: string, status?: string) =>\n `[${projectId}] Content type ${status}d \"${componentId}\"`,\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} content type \"${id}\"`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete content type \"${id}\"`,\n },\n components: {\n list: (projectId: string) => `Components in \"${projectId}\":`,\n noList: (projectId: string) =>\n `[${projectId}] Cannot retrieve components list`,\n get: (projectId: string, componentId: string) =>\n `[${projectId}] Component \"${componentId}\"`,\n failedGet: (projectId: string, componentId: string) =>\n `[${projectId}] Unable to get component \"${componentId}\"`,\n created: (projectId: string, componentId: string, status?: string) =>\n `[${projectId}] Component ${status}d \"${componentId}\"`,\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} component \"${id}\"`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete component \"${id}\"`,\n },\n version: {\n set: (env: string, versionStatus: string) =>\n `[${env}] Content version status set to \"${versionStatus}\"`,\n invalid: (versionStatus: string) =>\n `Content version status \"${versionStatus}\" is not valid, allowed values are \"published\" or \"latest\".`,\n noEnv: () =>\n `No Contensis environment set, connect to your Contensis cloud instance using \"contensis connect {cms alias}\"`,\n },\n entries: {\n migrateStatus: (status: MigrateStatus) => {\n switch (status) {\n case 'no change':\n return Logger.successText;\n case 'create':\n case 'two-pass':\n case 'update':\n case 'delete':\n return Logger.warningText;\n case 'error':\n case 'not found':\n return Logger.errorText;\n default:\n return Logger.infoText;\n }\n },\n removed: (env: string, id: string, commit: boolean) =>\n `[${env}] ${commit ? `Deleted` : `Will delete`} entry \"${id}\"`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete entry \"${id}\"`,\n notFound: (id: string) => `Entry \"${id}\" not found`,\n commitTip: () => ` Add --commit flag to commit the previewed changes`,\n },\n keys: {\n list: (env: string) => `[${env}] API keys:`,\n noList: (env: string) => `[${env}] Cannot retrieve API`,\n created: (env: string, name: string) =>\n `[${env}] Created API key \"${name}\"`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create API key \"${name}\"`,\n removed: (env: string, id: string) => `[${env}] Deleted API key \"${id}\"`,\n failedRemove: (env: string, id: string) =>\n `[${env}] Unable to delete API key \"${id}\"`,\n },\n blocks: {\n runningStatus: (status: BlockRunningStatus | 'broken') => {\n switch (status) {\n case 'available':\n return Logger.successText(status);\n case 'pending':\n case 'starting':\n case 'stopped':\n return Logger.warningText(status);\n case 'degraded':\n case 'faulted':\n case 'broken':\n return Logger.errorText(status);\n default:\n return Logger.infoText(status);\n }\n },\n get: (env: string) => `[${env}] Block versions:`,\n list: (env: string, projectId?: string) =>\n `[${env}] Blocks in project ${projectId}:`,\n noList: (env: string, projectId?: string) =>\n `[${env}] Cannot retrieve blocks in project ${projectId}`,\n tryPush: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Request to push block \"${id}\" in branch ${branch} in project ${projectId}`,\n pushed: (id: string, branch: string, env: string, projectId?: string) =>\n `[${env}] Pushed block \"${id}\" in branch ${branch} in project ${projectId}`,\n failedPush: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to push block \"${id}\" in project ${projectId}`,\n deleted: (id: string, env: string, projectId?: string) =>\n `[${env}] Deleted block \"${id}\" in project ${projectId}`,\n failedDelete: (id: string, env: string, projectId?: string) =>\n `[${env}] Unable to delete block \"${id}\" in project ${projectId}`,\n },\n webhooks: {\n list: (env: string) => `[${env}] Webhook subscriptions:`,\n noList: (env: string) => `[${env}] Cannot retrieve webhook subscriptions`,\n created: (env: string, name: string) =>\n `[${env}] Created Webhook subscription \"${name}\"`,\n failedCreate: (env: string, name: string) =>\n `[${env}] Unable to create Webhook subscription \"${name}\"`,\n deleted: (env: string, id: string) =>\n `[${env}] Deleted Webhook subscription \"${id}\"`,\n failedDelete: (env: string, id: string) =>\n `[${env}] Unable to delete Webhook subscription \"${id}\"`,\n },\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -64,8 +64,6 @@ class CredentialProvider {
|
|
|
64
64
|
const [err] = await (0, import_await_to_js.default)(
|
|
65
65
|
import_keytar.default.setPassword(this.serviceId, this.userId, password)
|
|
66
66
|
);
|
|
67
|
-
if (!err)
|
|
68
|
-
import_logger.Logger.info(`${this.serviceId} - credentials saved`);
|
|
69
67
|
return err && !this.passwordFallback ? err : true;
|
|
70
68
|
};
|
|
71
69
|
Delete = async () => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/providers/CredentialProvider.ts"],
|
|
4
|
-
"sourcesContent": ["import keytar from 'keytar';\nimport to from 'await-to-js';\nimport { Logger } from '~/util/logger';\n\nconst SERVICE_NAME = 'contensis-cli';\n\ninterface Remarks {\n secure: boolean;\n}\n\nclass CredentialProvider {\n private serviceId: string;\n private userId: string = '';\n private passwordFallback?: string;\n\n current: {\n account: string;\n password: string;\n } | null = null;\n remarks: Remarks = { secure: false };\n\n constructor(\n { userId, alias }: { userId: string; alias?: string },\n passwordFallback?: string\n ) {\n this.serviceId =\n typeof alias !== 'undefined' ? `${SERVICE_NAME}_${alias}` : SERVICE_NAME;\n this.userId = userId;\n this.passwordFallback = passwordFallback;\n }\n\n Init = async (): Promise<[Error, CredentialProvider]> => {\n const [err, stored] = (await to(\n keytar.findCredentials(this.serviceId)\n )) as [\n Error,\n {\n account: string;\n password: string;\n }[]\n ];\n if (err && this.passwordFallback) {\n this.current = { account: this.userId, password: this.passwordFallback };\n // this.remarks = { secure: false };\n }\n if (!err) {\n this.remarks = { secure: true };\n this.current =\n stored?.find(\n u => u?.account?.toLowerCase() === this.userId.toLowerCase()\n ) || null;\n }\n return [err, this];\n };\n\n Save = async (password: string) => {\n const [err] = await to(\n keytar.setPassword(this.serviceId, this.userId, password)\n );\n\n if (!err) Logger.info(`${this.serviceId} - credentials saved`);\n return err && !this.passwordFallback ? err : true;\n };\n\n Delete = async () => {\n if (this.passwordFallback) {\n this.passwordFallback = undefined;\n return true;\n } else {\n const [err] = await to(\n keytar.deletePassword(this.serviceId, this.userId)\n );\n\n Logger.warning(`${this.serviceId} - invalid credentials removed`);\n return err || true;\n }\n };\n\n // GetPassword = async () => {\n // const [err, password] = await to(\n // keytar.getPassword(this.serviceId, this.userId)\n // );\n\n // return err || password;\n // };\n}\n\nexport default CredentialProvider;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,yBAAe;AACf,oBAAuB;AAEvB,MAAM,eAAe;AAMrB,MAAM,mBAAmB;AAAA,EACf;AAAA,EACA,SAAiB;AAAA,EACjB;AAAA,EAER,UAGW;AAAA,EACX,UAAmB,EAAE,QAAQ,MAAM;AAAA,EAEnC,YACE,EAAE,QAAQ,MAAM,GAChB,kBACA;AACA,SAAK,YACH,OAAO,UAAU,cAAc,GAAG,gBAAgB,UAAU;AAC9D,SAAK,SAAS;AACd,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAEA,OAAO,YAAkD;AACvD,UAAM,CAAC,KAAK,MAAM,IAAK,UAAM,mBAAAA;AAAA,MAC3B,cAAAC,QAAO,gBAAgB,KAAK,SAAS;AAAA,IACvC;AAOA,QAAI,OAAO,KAAK,kBAAkB;AAChC,WAAK,UAAU,EAAE,SAAS,KAAK,QAAQ,UAAU,KAAK,iBAAiB;AAAA,IAEzE;AACA,QAAI,CAAC,KAAK;AACR,WAAK,UAAU,EAAE,QAAQ,KAAK;AAC9B,WAAK,WACH,iCAAQ;AAAA,QACN,OAAE;AAjDZ;AAiDe,+CAAG,YAAH,mBAAY,mBAAkB,KAAK,OAAO,YAAY;AAAA;AAAA,YACxD;AAAA,IACT;AACA,WAAO,CAAC,KAAK,IAAI;AAAA,EACnB;AAAA,EAEA,OAAO,OAAO,aAAqB;AACjC,UAAM,CAAC,GAAG,IAAI,UAAM,mBAAAD;AAAA,MAClB,cAAAC,QAAO,YAAY,KAAK,WAAW,KAAK,QAAQ,QAAQ;AAAA,IAC1D;
|
|
4
|
+
"sourcesContent": ["import keytar from 'keytar';\nimport to from 'await-to-js';\nimport { Logger } from '~/util/logger';\n\nconst SERVICE_NAME = 'contensis-cli';\n\ninterface Remarks {\n secure: boolean;\n}\n\nclass CredentialProvider {\n private serviceId: string;\n private userId: string = '';\n private passwordFallback?: string;\n\n current: {\n account: string;\n password: string;\n } | null = null;\n remarks: Remarks = { secure: false };\n\n constructor(\n { userId, alias }: { userId: string; alias?: string },\n passwordFallback?: string\n ) {\n this.serviceId =\n typeof alias !== 'undefined' ? `${SERVICE_NAME}_${alias}` : SERVICE_NAME;\n this.userId = userId;\n this.passwordFallback = passwordFallback;\n }\n\n Init = async (): Promise<[Error, CredentialProvider]> => {\n const [err, stored] = (await to(\n keytar.findCredentials(this.serviceId)\n )) as [\n Error,\n {\n account: string;\n password: string;\n }[]\n ];\n if (err && this.passwordFallback) {\n this.current = { account: this.userId, password: this.passwordFallback };\n // this.remarks = { secure: false };\n }\n if (!err) {\n this.remarks = { secure: true };\n this.current =\n stored?.find(\n u => u?.account?.toLowerCase() === this.userId.toLowerCase()\n ) || null;\n }\n return [err, this];\n };\n\n Save = async (password: string) => {\n const [err] = await to(\n keytar.setPassword(this.serviceId, this.userId, password)\n );\n\n // if (!err) Logger.info(`${this.serviceId} - credentials saved`);\n return err && !this.passwordFallback ? err : true;\n };\n\n Delete = async () => {\n if (this.passwordFallback) {\n this.passwordFallback = undefined;\n return true;\n } else {\n const [err] = await to(\n keytar.deletePassword(this.serviceId, this.userId)\n );\n\n Logger.warning(`${this.serviceId} - invalid credentials removed`);\n return err || true;\n }\n };\n\n // GetPassword = async () => {\n // const [err, password] = await to(\n // keytar.getPassword(this.serviceId, this.userId)\n // );\n\n // return err || password;\n // };\n}\n\nexport default CredentialProvider;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,yBAAe;AACf,oBAAuB;AAEvB,MAAM,eAAe;AAMrB,MAAM,mBAAmB;AAAA,EACf;AAAA,EACA,SAAiB;AAAA,EACjB;AAAA,EAER,UAGW;AAAA,EACX,UAAmB,EAAE,QAAQ,MAAM;AAAA,EAEnC,YACE,EAAE,QAAQ,MAAM,GAChB,kBACA;AACA,SAAK,YACH,OAAO,UAAU,cAAc,GAAG,gBAAgB,UAAU;AAC9D,SAAK,SAAS;AACd,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EAEA,OAAO,YAAkD;AACvD,UAAM,CAAC,KAAK,MAAM,IAAK,UAAM,mBAAAA;AAAA,MAC3B,cAAAC,QAAO,gBAAgB,KAAK,SAAS;AAAA,IACvC;AAOA,QAAI,OAAO,KAAK,kBAAkB;AAChC,WAAK,UAAU,EAAE,SAAS,KAAK,QAAQ,UAAU,KAAK,iBAAiB;AAAA,IAEzE;AACA,QAAI,CAAC,KAAK;AACR,WAAK,UAAU,EAAE,QAAQ,KAAK;AAC9B,WAAK,WACH,iCAAQ;AAAA,QACN,OAAE;AAjDZ;AAiDe,+CAAG,YAAH,mBAAY,mBAAkB,KAAK,OAAO,YAAY;AAAA;AAAA,YACxD;AAAA,IACT;AACA,WAAO,CAAC,KAAK,IAAI;AAAA,EACnB;AAAA,EAEA,OAAO,OAAO,aAAqB;AACjC,UAAM,CAAC,GAAG,IAAI,UAAM,mBAAAD;AAAA,MAClB,cAAAC,QAAO,YAAY,KAAK,WAAW,KAAK,QAAQ,QAAQ;AAAA,IAC1D;AAGA,WAAO,OAAO,CAAC,KAAK,mBAAmB,MAAM;AAAA,EAC/C;AAAA,EAEA,SAAS,YAAY;AACnB,QAAI,KAAK,kBAAkB;AACzB,WAAK,mBAAmB;AACxB,aAAO;AAAA,IACT,OAAO;AACL,YAAM,CAAC,GAAG,IAAI,UAAM,mBAAAD;AAAA,QAClB,cAAAC,QAAO,eAAe,KAAK,WAAW,KAAK,MAAM;AAAA,MACnD;AAEA,2BAAO,QAAQ,GAAG,KAAK,yCAAyC;AAChE,aAAO,OAAO;AAAA,IAChB;AAAA,EACF;AASF;AAEA,IAAO,6BAAQ;",
|
|
6
6
|
"names": ["to", "keytar"]
|
|
7
7
|
}
|
|
@@ -84,6 +84,25 @@ class SessionCacheProvider {
|
|
|
84
84
|
}
|
|
85
85
|
return this.Get();
|
|
86
86
|
};
|
|
87
|
+
UpdateEnv = (updateContent, env = this.cache.currentEnvironment) => {
|
|
88
|
+
try {
|
|
89
|
+
const environment = this.cache.environments[env || ""];
|
|
90
|
+
this.cache.environments[env || ""] = {
|
|
91
|
+
...environment,
|
|
92
|
+
...updateContent
|
|
93
|
+
};
|
|
94
|
+
this.Update({
|
|
95
|
+
currentEnvironment: env,
|
|
96
|
+
environments: this.cache.environments
|
|
97
|
+
});
|
|
98
|
+
} catch (ex) {
|
|
99
|
+
import_logger.Logger.error(
|
|
100
|
+
`Problem updating environment "${env}" in environments.json`
|
|
101
|
+
);
|
|
102
|
+
import_logger.Logger.error(ex);
|
|
103
|
+
}
|
|
104
|
+
return this.Get();
|
|
105
|
+
};
|
|
87
106
|
}
|
|
88
107
|
var SessionCacheProvider_default = SessionCacheProvider;
|
|
89
108
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/providers/SessionCacheProvider.ts"],
|
|
4
|
-
"sourcesContent": ["import fs from 'fs';\nimport path from 'path';\nimport clone from 'lodash/cloneDeep';\nimport mergeWith from 'lodash/mergeWith';\nimport unionBy from 'lodash/unionBy';\nimport { isJson, tryParse
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AACf,kBAAiB;AACjB,uBAAkB;AAClB,uBAAsB;AACtB,qBAAoB;AACpB,
|
|
4
|
+
"sourcesContent": ["import fs from 'fs';\nimport path from 'path';\nimport clone from 'lodash/cloneDeep';\nimport mergeWith from 'lodash/mergeWith';\nimport unionBy from 'lodash/unionBy';\nimport { isJson, tryParse } from '~/util';\nimport { Logger } from '~/util/logger';\n\nclass SessionCacheProvider {\n private localFilePath: string;\n private cache = {} as SessionCache;\n\n constructor() {\n this.localFilePath = path.join(__dirname, '../../environments.json');\n this.cache = {\n currentTimestamp: new Date().toISOString(),\n environments: {},\n history: [],\n };\n this.ReadCacheFromDisk();\n }\n\n private ReadCacheFromDisk = () => {\n try {\n if (fs.existsSync(this.localFilePath)) {\n const raw = fs.readFileSync(this.localFilePath, 'utf-8');\n if (isJson(raw)) this.cache = tryParse(raw);\n } else {\n this.WriteCacheToDisk();\n }\n } catch (ex) {\n // Problem reading or parsing cache file\n }\n };\n\n private WriteCacheToDisk = () => {\n try {\n fs.writeFileSync(this.localFilePath, JSON.stringify(this.cache, null, 2));\n } catch (ex) {\n // Problem writing session cache to file\n }\n };\n\n Get = () => clone(this.cache);\n\n Update = (updateContent: Partial<SessionCache>) => {\n try {\n this.cache = mergeWith(this.cache, updateContent, (val, src, key) => {\n if (\n key === 'history' &&\n ((src?.[0] &&\n typeof src[0] === 'object' &&\n 'createdDate' in src[0]) ||\n (val?.[0] && typeof val[0] === 'object' && 'createdDate' in val[0]))\n ) {\n return unionBy(val, src, 'createdDate');\n }\n if (key === 'projects')\n return Array.isArray(val) ? [...new Set([...val, ...src])] : src;\n\n if (Array.isArray(val)) return val.concat(src);\n });\n this.cache.currentTimestamp = new Date().toISOString();\n this.WriteCacheToDisk();\n } catch (ex: any) {\n // Problem merging cache data for update\n Logger.error(`Problem updating environments.json`);\n Logger.error(ex);\n }\n return this.Get();\n };\n\n UpdateEnv = (\n updateContent: Partial<EnvironmentCache>,\n env = this.cache.currentEnvironment\n ) => {\n try {\n const environment = this.cache.environments[env || ''];\n\n this.cache.environments[env || ''] = {\n ...environment,\n ...updateContent,\n };\n this.Update({\n currentEnvironment: env,\n environments: this.cache.environments,\n });\n } catch (ex: any) {\n // Problem merging cache data for update\n Logger.error(\n `Problem updating environment \"${env}\" in environments.json`\n );\n Logger.error(ex);\n }\n return this.Get();\n };\n}\n\nexport default SessionCacheProvider;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAe;AACf,kBAAiB;AACjB,uBAAkB;AAClB,uBAAsB;AACtB,qBAAoB;AACpB,kBAAiC;AACjC,oBAAuB;AAEvB,MAAM,qBAAqB;AAAA,EACjB;AAAA,EACA,QAAQ,CAAC;AAAA,EAEjB,cAAc;AACZ,SAAK,gBAAgB,YAAAA,QAAK,KAAK,WAAW,yBAAyB;AACnE,SAAK,QAAQ;AAAA,MACX,kBAAkB,IAAI,KAAK,EAAE,YAAY;AAAA,MACzC,cAAc,CAAC;AAAA,MACf,SAAS,CAAC;AAAA,IACZ;AACA,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEQ,oBAAoB,MAAM;AAChC,QAAI;AACF,UAAI,UAAAC,QAAG,WAAW,KAAK,aAAa,GAAG;AACrC,cAAM,MAAM,UAAAA,QAAG,aAAa,KAAK,eAAe,OAAO;AACvD,gBAAI,oBAAO,GAAG;AAAG,eAAK,YAAQ,sBAAS,GAAG;AAAA,MAC5C,OAAO;AACL,aAAK,iBAAiB;AAAA,MACxB;AAAA,IACF,SAAS,IAAP;AAAA,IAEF;AAAA,EACF;AAAA,EAEQ,mBAAmB,MAAM;AAC/B,QAAI;AACF,gBAAAA,QAAG,cAAc,KAAK,eAAe,KAAK,UAAU,KAAK,OAAO,MAAM,CAAC,CAAC;AAAA,IAC1E,SAAS,IAAP;AAAA,IAEF;AAAA,EACF;AAAA,EAEA,MAAM,UAAM,iBAAAC,SAAM,KAAK,KAAK;AAAA,EAE5B,SAAS,CAAC,kBAAyC;AACjD,QAAI;AACF,WAAK,YAAQ,iBAAAC,SAAU,KAAK,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ;AACnE,YACE,QAAQ,eACN,2BAAM,OACN,OAAO,IAAI,OAAO,YAClB,iBAAiB,IAAI,OACpB,2BAAM,OAAM,OAAO,IAAI,OAAO,YAAY,iBAAiB,IAAI,KAClE;AACA,qBAAO,eAAAC,SAAQ,KAAK,KAAK,aAAa;AAAA,QACxC;AACA,YAAI,QAAQ;AACV,iBAAO,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI;AAE/D,YAAI,MAAM,QAAQ,GAAG;AAAG,iBAAO,IAAI,OAAO,GAAG;AAAA,MAC/C,CAAC;AACD,WAAK,MAAM,mBAAmB,IAAI,KAAK,EAAE,YAAY;AACrD,WAAK,iBAAiB;AAAA,IACxB,SAAS,IAAP;AAEA,2BAAO,MAAM,oCAAoC;AACjD,2BAAO,MAAM,EAAE;AAAA,IACjB;AACA,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,YAAY,CACV,eACA,MAAM,KAAK,MAAM,uBACd;AACH,QAAI;AACF,YAAM,cAAc,KAAK,MAAM,aAAa,OAAO;AAEnD,WAAK,MAAM,aAAa,OAAO,MAAM;AAAA,QACnC,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AACA,WAAK,OAAO;AAAA,QACV,oBAAoB;AAAA,QACpB,cAAc,KAAK,MAAM;AAAA,MAC3B,CAAC;AAAA,IACH,SAAS,IAAP;AAEA,2BAAO;AAAA,QACL,iCAAiC;AAAA,MACnC;AACA,2BAAO,MAAM,EAAE;AAAA,IACjB;AACA,WAAO,KAAK,IAAI;AAAA,EAClB;AACF;AAEA,IAAO,+BAAQ;",
|
|
6
6
|
"names": ["path", "fs", "clone", "mergeWith", "unionBy"]
|
|
7
7
|
}
|