@appsemble/cli 0.20.8 → 0.20.11
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/__fixtures__/getBlockConfigFromTypeScript/comments/index.ts +40 -0
- package/__fixtures__/getBlockConfigFromTypeScript/comments/tsconfig.json +7 -0
- package/__fixtures__/getBlockConfigFromTypeScript/duplicateActions/index.ts +34 -0
- package/__fixtures__/getBlockConfigFromTypeScript/duplicateActions/tsconfig.json +7 -0
- package/__fixtures__/getBlockConfigFromTypeScript/duplicateEventEmitters/index.ts +34 -0
- package/__fixtures__/getBlockConfigFromTypeScript/duplicateEventEmitters/tsconfig.json +7 -0
- package/__fixtures__/getBlockConfigFromTypeScript/duplicateEventListeners/index.ts +34 -0
- package/__fixtures__/getBlockConfigFromTypeScript/duplicateEventListeners/tsconfig.json +7 -0
- package/__fixtures__/getBlockConfigFromTypeScript/duplicateParameters/index.ts +34 -0
- package/__fixtures__/getBlockConfigFromTypeScript/duplicateParameters/tsconfig.json +7 -0
- package/__fixtures__/getBlockConfigFromTypeScript/fontawesomeParameters/index.ts +11 -0
- package/__fixtures__/getBlockConfigFromTypeScript/fontawesomeParameters/tsconfig.json +7 -0
- package/__fixtures__/getBlockConfigFromTypeScript/tsError/index.ts +4 -0
- package/__fixtures__/getBlockConfigFromTypeScript/tsError/tsconfig.json +8 -0
- package/__fixtures__/getBlockConfigFromTypeScript/valid/index.ts +28 -0
- package/__fixtures__/getBlockConfigFromTypeScript/valid/tsconfig.json +7 -0
- package/__fixtures__/makePayload/no-icon/output/block.js +1 -0
- package/__fixtures__/makePayload/with-icon/icon.svg +2 -0
- package/__fixtures__/makePayload/with-icon/output/block.js +1 -0
- package/assets/appsemblerc.schema.json +150 -0
- package/changed/added/.gitkeep +0 -0
- package/changed/changed/.gitkeep +0 -0
- package/changed/deprecated/.gitkeep +0 -0
- package/changed/fixed/.gitkeep +0 -0
- package/changed/removed/.gitkeep +0 -0
- package/changed/security/.gitkeep +0 -0
- package/{dist/commands → commands}/app/create.d.ts +0 -0
- package/{dist/commands → commands}/app/create.js +0 -0
- package/commands/app/create.js.map +1 -0
- package/commands/app/create.ts +104 -0
- package/{dist/commands → commands}/app/extract-messages.d.ts +0 -0
- package/{dist/commands → commands}/app/extract-messages.js +0 -0
- package/commands/app/extract-messages.js.map +1 -0
- package/commands/app/extract-messages.ts +56 -0
- package/{dist/commands → commands}/app/index.d.ts +0 -0
- package/{dist/commands → commands}/app/index.js +0 -0
- package/commands/app/index.js.map +1 -0
- package/commands/app/index.ts +14 -0
- package/{dist/commands → commands}/app/update.d.ts +0 -0
- package/{dist/commands → commands}/app/update.js +0 -0
- package/commands/app/update.js.map +1 -0
- package/commands/app/update.ts +111 -0
- package/{dist/commands → commands}/asset/create.d.ts +0 -0
- package/{dist/commands → commands}/asset/create.js +0 -0
- package/commands/asset/create.js.map +1 -0
- package/commands/asset/create.ts +84 -0
- package/{dist/commands → commands}/asset/index.d.ts +0 -0
- package/{dist/commands → commands}/asset/index.js +0 -0
- package/commands/asset/index.js.map +1 -0
- package/commands/asset/index.ts +12 -0
- package/{dist/commands → commands}/block/build.d.ts +0 -0
- package/{dist/commands → commands}/block/build.js +0 -0
- package/commands/block/build.js.map +1 -0
- package/commands/block/build.ts +32 -0
- package/{dist/commands → commands}/block/extract-messages.d.ts +0 -0
- package/{dist/commands → commands}/block/extract-messages.js +0 -0
- package/commands/block/extract-messages.js.map +1 -0
- package/commands/block/extract-messages.ts +41 -0
- package/{dist/commands → commands}/block/index.d.ts +0 -0
- package/{dist/commands → commands}/block/index.js +0 -0
- package/commands/block/index.js.map +1 -0
- package/commands/block/index.ts +14 -0
- package/{dist/commands → commands}/block/publish.d.ts +0 -0
- package/{dist/commands → commands}/block/publish.js +0 -0
- package/commands/block/publish.js.map +1 -0
- package/commands/block/publish.ts +58 -0
- package/{dist/commands → commands}/cleanupResources.d.ts +0 -0
- package/{dist/commands → commands}/cleanupResources.js +0 -0
- package/commands/cleanupResources.js.map +1 -0
- package/commands/cleanupResources.ts +45 -0
- package/{dist/commands → commands}/config/get.d.ts +0 -0
- package/{dist/commands → commands}/config/get.js +0 -0
- package/commands/config/get.js.map +1 -0
- package/commands/config/get.ts +26 -0
- package/{dist/commands → commands}/config/index.d.ts +0 -0
- package/{dist/commands → commands}/config/index.js +0 -0
- package/commands/config/index.js.map +1 -0
- package/commands/config/index.ts +13 -0
- package/{dist/commands → commands}/config/set.d.ts +0 -0
- package/{dist/commands → commands}/config/set.js +0 -0
- package/commands/config/set.js.map +1 -0
- package/commands/config/set.ts +44 -0
- package/{dist/commands → commands}/login.d.ts +0 -0
- package/{dist/commands → commands}/login.js +0 -0
- package/commands/login.js.map +1 -0
- package/commands/login.ts +5 -0
- package/{dist/commands → commands}/logout.d.ts +0 -0
- package/{dist/commands → commands}/logout.js +0 -0
- package/commands/logout.js.map +1 -0
- package/commands/logout.ts +5 -0
- package/{dist/commands → commands}/migrate.d.ts +0 -0
- package/{dist/commands → commands}/migrate.js +5 -2
- package/commands/migrate.js.map +1 -0
- package/commands/migrate.ts +50 -0
- package/{dist/commands → commands}/organization/create.d.ts +0 -0
- package/{dist/commands → commands}/organization/create.js +0 -0
- package/commands/organization/create.js.map +1 -0
- package/commands/organization/create.ts +65 -0
- package/{dist/commands → commands}/organization/index.d.ts +0 -0
- package/{dist/commands → commands}/organization/index.js +0 -0
- package/commands/organization/index.js.map +1 -0
- package/commands/organization/index.ts +13 -0
- package/{dist/commands → commands}/organization/update.d.ts +0 -0
- package/{dist/commands → commands}/organization/update.js +0 -0
- package/commands/organization/update.js.map +1 -0
- package/commands/organization/update.ts +65 -0
- package/{dist/commands → commands}/resource/create.d.ts +0 -0
- package/{dist/commands → commands}/resource/create.js +0 -0
- package/commands/resource/create.js.map +1 -0
- package/commands/resource/create.ts +78 -0
- package/{dist/commands → commands}/resource/index.d.ts +0 -0
- package/{dist/commands → commands}/resource/index.js +0 -0
- package/commands/resource/index.js.map +1 -0
- package/commands/resource/index.ts +13 -0
- package/{dist/commands → commands}/resource/update.d.ts +0 -0
- package/{dist/commands → commands}/resource/update.js +0 -0
- package/commands/resource/update.js.map +1 -0
- package/commands/resource/update.ts +77 -0
- package/{dist/commands → commands}/runCronJobs.d.ts +0 -0
- package/{dist/commands → commands}/runCronJobs.js +0 -0
- package/commands/runCronJobs.js.map +1 -0
- package/commands/runCronJobs.ts +45 -0
- package/{dist/commands → commands}/start.d.ts +0 -0
- package/{dist/commands → commands}/start.js +4 -0
- package/commands/start.js.map +1 -0
- package/commands/start.ts +140 -0
- package/{dist/commands → commands}/team/create.d.ts +0 -0
- package/{dist/commands → commands}/team/create.js +0 -0
- package/commands/team/create.js.map +1 -0
- package/commands/team/create.ts +60 -0
- package/{dist/commands → commands}/team/delete.d.ts +0 -0
- package/{dist/commands → commands}/team/delete.js +0 -0
- package/commands/team/delete.js.map +1 -0
- package/commands/team/delete.ts +54 -0
- package/{dist/commands → commands}/team/index.d.ts +0 -0
- package/{dist/commands → commands}/team/index.js +0 -0
- package/commands/team/index.js.map +1 -0
- package/commands/team/index.ts +15 -0
- package/{dist/commands → commands}/team/member/delete.d.ts +0 -0
- package/{dist/commands → commands}/team/member/delete.js +0 -0
- package/commands/team/member/delete.js.map +1 -0
- package/commands/team/member/delete.ts +61 -0
- package/{dist/commands → commands}/team/member/index.d.ts +0 -0
- package/{dist/commands → commands}/team/member/index.js +0 -0
- package/commands/team/member/index.js.map +1 -0
- package/commands/team/member/index.ts +14 -0
- package/{dist/commands → commands}/team/member/invite.d.ts +0 -0
- package/{dist/commands → commands}/team/member/invite.js +0 -0
- package/commands/team/member/invite.js.map +1 -0
- package/commands/team/member/invite.ts +61 -0
- package/{dist/commands → commands}/team/member/update.d.ts +0 -0
- package/{dist/commands → commands}/team/member/update.js +0 -0
- package/commands/team/member/update.js.map +1 -0
- package/commands/team/member/update.ts +70 -0
- package/{dist/commands → commands}/team/update.d.ts +0 -0
- package/{dist/commands → commands}/team/update.js +0 -0
- package/commands/team/update.js.map +1 -0
- package/commands/team/update.ts +60 -0
- package/index.d.ts +2 -0
- package/{dist/index.js → index.js} +2 -6
- package/index.js.map +1 -0
- package/index.ts +74 -0
- package/jest.config.js +1 -0
- package/jest.setup.d.ts +1 -0
- package/jest.setup.js +6 -0
- package/jest.setup.js.map +1 -0
- package/jest.setup.ts +4 -0
- package/lib/__snapshots__/getBlockConfigFromTypeScript.test.ts.snap +3872 -0
- package/{dist/lib → lib}/app.d.ts +17 -17
- package/{dist/lib → lib}/app.js +29 -29
- package/lib/app.js.map +1 -0
- package/lib/app.ts +797 -0
- package/{dist/lib → lib}/asset.d.ts +0 -0
- package/{dist/lib → lib}/asset.js +0 -0
- package/lib/asset.js.map +1 -0
- package/lib/asset.ts +43 -0
- package/{dist/lib → lib}/authentication.d.ts +3 -3
- package/{dist/lib → lib}/authentication.js +47 -15
- package/lib/authentication.js.map +1 -0
- package/lib/authentication.ts +193 -0
- package/{dist/lib → lib}/block.d.ts +16 -16
- package/{dist/lib → lib}/block.js +35 -26
- package/lib/block.js.map +1 -0
- package/lib/block.test.d.ts +1 -0
- package/lib/block.test.js +106 -0
- package/lib/block.test.js.map +1 -0
- package/lib/block.test.ts +103 -0
- package/lib/block.ts +384 -0
- package/{dist/lib → lib}/coercers.d.ts +2 -2
- package/{dist/lib → lib}/coercers.js +2 -2
- package/lib/coercers.js.map +1 -0
- package/lib/coercers.test.d.ts +1 -0
- package/lib/coercers.test.js +28 -0
- package/lib/coercers.test.js.map +1 -0
- package/lib/coercers.test.ts +27 -0
- package/lib/coercers.ts +57 -0
- package/{dist/lib → lib}/getBlockConfigFromTypeScript.d.ts +1 -1
- package/{dist/lib → lib}/getBlockConfigFromTypeScript.js +38 -36
- package/lib/getBlockConfigFromTypeScript.js.map +1 -0
- package/lib/getBlockConfigFromTypeScript.test.d.ts +1 -0
- package/lib/getBlockConfigFromTypeScript.test.js +238 -0
- package/lib/getBlockConfigFromTypeScript.test.js.map +1 -0
- package/lib/getBlockConfigFromTypeScript.test.ts +281 -0
- package/lib/getBlockConfigFromTypeScript.ts +354 -0
- package/{dist/lib → lib}/initAxios.d.ts +1 -1
- package/{dist/lib → lib}/initAxios.js +3 -4
- package/lib/initAxios.js.map +1 -0
- package/lib/initAxios.ts +16 -0
- package/{dist/lib → lib}/loadWebpackConfig.d.ts +3 -3
- package/{dist/lib → lib}/loadWebpackConfig.js +3 -3
- package/lib/loadWebpackConfig.js.map +1 -0
- package/lib/loadWebpackConfig.ts +59 -0
- package/{dist/lib → lib}/organization.d.ts +1 -1
- package/{dist/lib → lib}/organization.js +0 -0
- package/lib/organization.js.map +1 -0
- package/lib/organization.ts +105 -0
- package/{dist/lib → lib}/output.d.ts +0 -0
- package/{dist/lib → lib}/output.js +0 -0
- package/lib/output.js.map +1 -0
- package/lib/output.ts +19 -0
- package/{dist/lib → lib}/processCss.d.ts +1 -1
- package/{dist/lib → lib}/processCss.js +3 -3
- package/lib/processCss.js.map +1 -0
- package/lib/processCss.ts +24 -0
- package/{dist/lib → lib}/resource.d.ts +0 -0
- package/{dist/lib → lib}/resource.js +1 -1
- package/lib/resource.js.map +1 -0
- package/lib/resource.ts +128 -0
- package/{dist/lib → lib}/serverImport.d.ts +1 -1
- package/{dist/lib → lib}/serverImport.js +2 -2
- package/lib/serverImport.js.map +1 -0
- package/lib/serverImport.ts +43 -0
- package/{dist/lib → lib}/team.d.ts +0 -0
- package/{dist/lib → lib}/team.js +0 -0
- package/lib/team.js.map +1 -0
- package/lib/team.ts +152 -0
- package/package.json +14 -12
- package/tsconfig.json +10 -0
- package/{dist/types.d.ts → types.d.ts} +0 -0
- package/{dist/types.js → types.js} +0 -0
- package/types.js.map +1 -0
- package/types.ts +110 -0
- package/dist/commands/app/create.js.map +0 -1
- package/dist/commands/app/extract-messages.js.map +0 -1
- package/dist/commands/app/index.js.map +0 -1
- package/dist/commands/app/update.js.map +0 -1
- package/dist/commands/asset/create.js.map +0 -1
- package/dist/commands/asset/index.js.map +0 -1
- package/dist/commands/block/build.js.map +0 -1
- package/dist/commands/block/extract-messages.js.map +0 -1
- package/dist/commands/block/index.js.map +0 -1
- package/dist/commands/block/publish.js.map +0 -1
- package/dist/commands/cleanupResources.js.map +0 -1
- package/dist/commands/config/get.js.map +0 -1
- package/dist/commands/config/index.js.map +0 -1
- package/dist/commands/config/set.js.map +0 -1
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/migrate.js.map +0 -1
- package/dist/commands/organization/create.js.map +0 -1
- package/dist/commands/organization/index.js.map +0 -1
- package/dist/commands/organization/update.js.map +0 -1
- package/dist/commands/resource/create.js.map +0 -1
- package/dist/commands/resource/index.js.map +0 -1
- package/dist/commands/resource/update.js.map +0 -1
- package/dist/commands/runCronJobs.js.map +0 -1
- package/dist/commands/start.js.map +0 -1
- package/dist/commands/team/create.js.map +0 -1
- package/dist/commands/team/delete.js.map +0 -1
- package/dist/commands/team/index.js.map +0 -1
- package/dist/commands/team/member/delete.js.map +0 -1
- package/dist/commands/team/member/index.js.map +0 -1
- package/dist/commands/team/member/invite.js.map +0 -1
- package/dist/commands/team/member/update.js.map +0 -1
- package/dist/commands/team/update.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js.map +0 -1
- package/dist/lib/app.js.map +0 -1
- package/dist/lib/asset.js.map +0 -1
- package/dist/lib/authentication.js.map +0 -1
- package/dist/lib/block.js.map +0 -1
- package/dist/lib/coercers.js.map +0 -1
- package/dist/lib/getBlockConfigFromTypeScript.js.map +0 -1
- package/dist/lib/initAxios.js.map +0 -1
- package/dist/lib/loadWebpackConfig.js.map +0 -1
- package/dist/lib/organization.js.map +0 -1
- package/dist/lib/output.js.map +0 -1
- package/dist/lib/processCss.js.map +0 -1
- package/dist/lib/readPackageJson.d.ts +0 -9
- package/dist/lib/readPackageJson.js +0 -16
- package/dist/lib/readPackageJson.js.map +0 -1
- package/dist/lib/resource.js.map +0 -1
- package/dist/lib/serverImport.js.map +0 -1
- package/dist/lib/team.js.map +0 -1
- package/dist/types.js.map +0 -1
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.handler = exports.builder = exports.description = exports.command = void 0;
|
|
4
|
-
const readPackageJson_1 = require("../lib/readPackageJson");
|
|
5
7
|
const serverImport_1 = require("../lib/serverImport");
|
|
8
|
+
const package_json_1 = __importDefault(require("../package.json"));
|
|
6
9
|
exports.command = 'migrate [migrate-to]';
|
|
7
10
|
exports.description = 'Migrate the Appsemble database';
|
|
8
11
|
function builder(yargs) {
|
|
9
12
|
return yargs
|
|
10
13
|
.positional('migrate-to', {
|
|
11
14
|
desc: 'The database version to migrate to.',
|
|
12
|
-
default:
|
|
15
|
+
default: package_json_1.default.version,
|
|
13
16
|
})
|
|
14
17
|
.option('database-host', {
|
|
15
18
|
desc: 'The host of the database to connect to. This defaults to the connected database container.',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["migrate.ts"],"names":[],"mappings":";;;;;;AAEA,sDAAmD;AACnD,mEAAkC;AAGrB,QAAA,OAAO,GAAG,sBAAsB,CAAC;AACjC,QAAA,WAAW,GAAG,gCAAgC,CAAC;AAE5D,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,UAAU,CAAC,YAAY,EAAE;QACxB,IAAI,EAAE,qCAAqC;QAC3C,OAAO,EAAE,sBAAG,CAAC,OAAO;KACrB,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,4FAA4F;KACnG,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd,CAAC;SACD,MAAM,CAAC,cAAc,EAAE;QACtB,IAAI,EAAE,qCAAqC;QAC3C,IAAI,EAAE,SAAS;KAChB,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,yCAAyC;QAC/C,OAAO,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC;KAChD,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,2CAA2C;QACjD,OAAO,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC;KAChD,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE;QAC3B,IAAI,EAAE,+CAA+C;QACrD,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;KAC5C,CAAC;SACD,MAAM,CAAC,cAAc,EAAE;QACtB,IAAI,EAAE,wHAAwH;QAC9H,SAAS,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,CAAC;KACpF,CAAC,CAAC;AACP,CAAC;AAlCD,0BAkCC;AAEM,KAAK,UAAU,OAAO,CAAC,IAAmB;IAC/C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,2BAAY,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACtE,OAAO,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC;AAJD,0BAIC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Argv } from 'yargs';
|
|
2
|
+
|
|
3
|
+
import { serverImport } from '../lib/serverImport';
|
|
4
|
+
import pkg from '../package.json';
|
|
5
|
+
import { BaseArguments } from '../types';
|
|
6
|
+
|
|
7
|
+
export const command = 'migrate [migrate-to]';
|
|
8
|
+
export const description = 'Migrate the Appsemble database';
|
|
9
|
+
|
|
10
|
+
export function builder(yargs: Argv): Argv<any> {
|
|
11
|
+
return yargs
|
|
12
|
+
.positional('migrate-to', {
|
|
13
|
+
desc: 'The database version to migrate to.',
|
|
14
|
+
default: pkg.version,
|
|
15
|
+
})
|
|
16
|
+
.option('database-host', {
|
|
17
|
+
desc: 'The host of the database to connect to. This defaults to the connected database container.',
|
|
18
|
+
})
|
|
19
|
+
.option('database-port', {
|
|
20
|
+
desc: 'The port of the database to connect to.',
|
|
21
|
+
type: 'number',
|
|
22
|
+
default: 5432,
|
|
23
|
+
})
|
|
24
|
+
.option('database-ssl', {
|
|
25
|
+
desc: 'Use SSL to connect to the database.',
|
|
26
|
+
type: 'boolean',
|
|
27
|
+
})
|
|
28
|
+
.option('database-name', {
|
|
29
|
+
desc: 'The name of the database to connect to.',
|
|
30
|
+
implies: ['database-user', 'database-password'],
|
|
31
|
+
})
|
|
32
|
+
.option('database-user', {
|
|
33
|
+
desc: 'The user to use to login to the database.',
|
|
34
|
+
implies: ['database-name', 'database-password'],
|
|
35
|
+
})
|
|
36
|
+
.option('database-password', {
|
|
37
|
+
desc: 'The password to use to login to the database.',
|
|
38
|
+
implies: ['database-name', 'database-user'],
|
|
39
|
+
})
|
|
40
|
+
.option('database-url', {
|
|
41
|
+
desc: 'A connection string for the database to connect to. This is an alternative to the separate database related variables.',
|
|
42
|
+
conflicts: ['database-host', 'database-name', 'database-user', 'database-password'],
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export async function handler(argv: BaseArguments): Promise<void> {
|
|
47
|
+
const { migrate, setArgv } = await serverImport('setArgv', 'migrate');
|
|
48
|
+
setArgv(argv);
|
|
49
|
+
return migrate();
|
|
50
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["create.ts"],"names":[],"mappings":";;;AAIA,6DAAwD;AACxD,iDAAgD;AAChD,yDAA4D;AAY/C,QAAA,OAAO,GAAG,aAAa,CAAC;AACxB,QAAA,WAAW,GACtB,6EAA6E,CAAC;AAEhF,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,UAAU,CAAC,IAAI,EAAE;QAChB,QAAQ,EAAE,2CAA2C;KACtD,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,8BAA8B;KACzC,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,QAAQ,EAAE,6DAA6D;KACxE,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,iCAAiC;KAC5C,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,QAAQ,EAAE,6BAA6B;KACxC,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,8DAA8D;QACxE,MAAM,EAAE,qBAAU;KACnB,CAAC,CAAC;AACP,CAAC;AArBD,0BAqBC;AAEM,KAAK,UAAU,OAAO,CAAC,EAC5B,iBAAiB,EACjB,WAAW,EAAE,IAAI,EACjB,KAAK,EACL,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,MAAM,EACN,OAAO,GACqB;IAC5B,MAAM,IAAA,6BAAY,EAAC,MAAM,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,IAAA,iCAAkB,EAAC;QACvB,WAAW,EAAE,IAAI;QACjB,KAAK;QACL,IAAI;QACJ,EAAE;QACF,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAnBD,0BAmBC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ReadStream } from 'fs';
|
|
2
|
+
|
|
3
|
+
import { Argv } from 'yargs';
|
|
4
|
+
|
|
5
|
+
import { authenticate } from '../../lib/authentication';
|
|
6
|
+
import { coerceFile } from '../../lib/coercers';
|
|
7
|
+
import { createOrganization } from '../../lib/organization';
|
|
8
|
+
import { BaseArguments } from '../../types';
|
|
9
|
+
|
|
10
|
+
interface CreateOrganizationArguments extends BaseArguments {
|
|
11
|
+
description: string;
|
|
12
|
+
email: string;
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
website: string;
|
|
16
|
+
icon: ReadStream;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const command = 'create <id>';
|
|
20
|
+
export const description =
|
|
21
|
+
'Register a new organization. You will be the owner of the new organization.';
|
|
22
|
+
|
|
23
|
+
export function builder(yargs: Argv): Argv<any> {
|
|
24
|
+
return yargs
|
|
25
|
+
.positional('id', {
|
|
26
|
+
describe: 'The id for the newly created organization',
|
|
27
|
+
})
|
|
28
|
+
.option('name', {
|
|
29
|
+
describe: 'The name of the organization',
|
|
30
|
+
})
|
|
31
|
+
.option('email', {
|
|
32
|
+
describe: 'The email address users may use to contact the organization',
|
|
33
|
+
})
|
|
34
|
+
.option('website', {
|
|
35
|
+
describe: 'The website of the organization',
|
|
36
|
+
})
|
|
37
|
+
.option('description', {
|
|
38
|
+
describe: 'A short of the organization',
|
|
39
|
+
})
|
|
40
|
+
.option('icon', {
|
|
41
|
+
describe: 'The file location of the icon representing the organization.',
|
|
42
|
+
coerce: coerceFile,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export async function handler({
|
|
47
|
+
clientCredentials,
|
|
48
|
+
description: desc,
|
|
49
|
+
email,
|
|
50
|
+
icon,
|
|
51
|
+
id,
|
|
52
|
+
name,
|
|
53
|
+
remote,
|
|
54
|
+
website,
|
|
55
|
+
}: CreateOrganizationArguments): Promise<void> {
|
|
56
|
+
await authenticate(remote, 'organizations:write', clientCredentials);
|
|
57
|
+
await createOrganization({
|
|
58
|
+
description: desc,
|
|
59
|
+
email,
|
|
60
|
+
icon,
|
|
61
|
+
id,
|
|
62
|
+
name,
|
|
63
|
+
website,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iDAAmC;AACnC,iDAAmC;AAEnC,0CAAmD;AAA1C,gGAAA,IAAI,OAAW;AAEX,QAAA,OAAO,GAAG,cAAc,CAAC;AACzB,QAAA,WAAW,GAAG,oCAAoC,CAAC;AAEhE,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAFD,0BAEC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Argv } from 'yargs';
|
|
2
|
+
|
|
3
|
+
import * as create from './create';
|
|
4
|
+
import * as update from './update';
|
|
5
|
+
|
|
6
|
+
export { noop as handler } from '@appsemble/utils';
|
|
7
|
+
|
|
8
|
+
export const command = 'organization';
|
|
9
|
+
export const description = 'Commands related to organizations.';
|
|
10
|
+
|
|
11
|
+
export function builder(yargs: Argv): Argv {
|
|
12
|
+
return yargs.command(create).command(update).demandCommand(1);
|
|
13
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["update.ts"],"names":[],"mappings":";;;AAIA,6DAAwD;AACxD,iDAAgD;AAChD,yDAA4D;AAY/C,QAAA,OAAO,GAAG,aAAa,CAAC;AACxB,QAAA,WAAW,GACtB,4EAA4E,CAAC;AAE/E,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,UAAU,CAAC,IAAI,EAAE;QAChB,QAAQ,EAAE,4BAA4B;KACvC,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,+BAA+B;KAC1C,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,QAAQ,EAAE,6DAA6D;KACxE,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,iCAAiC;KAC5C,CAAC;SACD,MAAM,CAAC,aAAa,EAAE;QACrB,QAAQ,EAAE,6BAA6B;KACxC,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,8DAA8D;QACxE,MAAM,EAAE,qBAAU;KACnB,CAAC,CAAC;AACP,CAAC;AArBD,0BAqBC;AAEM,KAAK,UAAU,OAAO,CAAC,EAC5B,iBAAiB,EACjB,WAAW,EAAE,IAAI,EACjB,KAAK,EACL,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,MAAM,EACN,OAAO,GACqB;IAC5B,MAAM,IAAA,6BAAY,EAAC,MAAM,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IACrE,MAAM,IAAA,iCAAkB,EAAC;QACvB,WAAW,EAAE,IAAI;QACjB,KAAK;QACL,IAAI;QACJ,EAAE;QACF,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAnBD,0BAmBC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ReadStream } from 'fs';
|
|
2
|
+
|
|
3
|
+
import { Argv } from 'yargs';
|
|
4
|
+
|
|
5
|
+
import { authenticate } from '../../lib/authentication';
|
|
6
|
+
import { coerceFile } from '../../lib/coercers';
|
|
7
|
+
import { updateOrganization } from '../../lib/organization';
|
|
8
|
+
import { BaseArguments } from '../../types';
|
|
9
|
+
|
|
10
|
+
interface UpdateOrganizationArguments extends BaseArguments {
|
|
11
|
+
description: string;
|
|
12
|
+
email: string;
|
|
13
|
+
id: string;
|
|
14
|
+
icon: ReadStream;
|
|
15
|
+
name: string;
|
|
16
|
+
website: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const command = 'update <id>';
|
|
20
|
+
export const description =
|
|
21
|
+
'Update an existing organization. You must be an owner of the organization.';
|
|
22
|
+
|
|
23
|
+
export function builder(yargs: Argv): Argv<any> {
|
|
24
|
+
return yargs
|
|
25
|
+
.positional('id', {
|
|
26
|
+
describe: 'The ID of the organization',
|
|
27
|
+
})
|
|
28
|
+
.option('name', {
|
|
29
|
+
describe: 'The name of the organization.',
|
|
30
|
+
})
|
|
31
|
+
.option('email', {
|
|
32
|
+
describe: 'The email address users may use to contact the organization',
|
|
33
|
+
})
|
|
34
|
+
.option('website', {
|
|
35
|
+
describe: 'The website of the organization',
|
|
36
|
+
})
|
|
37
|
+
.option('description', {
|
|
38
|
+
describe: 'A short of the organization',
|
|
39
|
+
})
|
|
40
|
+
.option('icon', {
|
|
41
|
+
describe: 'The file location of the icon representing the organization.',
|
|
42
|
+
coerce: coerceFile,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export async function handler({
|
|
47
|
+
clientCredentials,
|
|
48
|
+
description: desc,
|
|
49
|
+
email,
|
|
50
|
+
icon,
|
|
51
|
+
id,
|
|
52
|
+
name,
|
|
53
|
+
remote,
|
|
54
|
+
website,
|
|
55
|
+
}: UpdateOrganizationArguments): Promise<void> {
|
|
56
|
+
await authenticate(remote, 'organizations:write', clientCredentials);
|
|
57
|
+
await updateOrganization({
|
|
58
|
+
description: desc,
|
|
59
|
+
email,
|
|
60
|
+
icon,
|
|
61
|
+
id,
|
|
62
|
+
name,
|
|
63
|
+
website,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["create.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA+D;AAC/D,0DAA2B;AAC3B,oEAA2C;AAG3C,uCAAsD;AACtD,6DAAwD;AACxD,iDAAoD;AAWvC,QAAA,OAAO,GAAG,mCAAmC,CAAC;AAC9C,QAAA,WAAW,GAAG,+DAA+D,CAAC;AAE3F,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,UAAU,CAAC,eAAe,EAAE;QAC3B,QAAQ,EAAE,kDAAkD;QAC5D,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,UAAU,CAAC,OAAO,EAAE;QACnB,QAAQ,EAAE,qCAAqC;QAC/C,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,QAAQ,EAAE,gDAAgD;QAC1D,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,SAAS;KACxB,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,gEAAgE;QAC1E,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACP,CAAC;AAvBD,0BAuBC;AAEM,KAAK,UAAU,OAAO,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,MAAM,EACN,YAAY,GACY;IACxB,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,IAAA,2BAAqB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACjG,MAAM,IAAA,6BAAY,EAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,wBAAa,EAAC,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,CAAC,MAAM,IAAA,mBAAE,EAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CACnF,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1D,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACjB,MAAM,IAAI,2BAAc,CAAC,+BAA+B,CAAC,CAAC;KAC3D;IAED,mBAAM,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;IACjE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,mBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,IAAA,yBAAc,EAAC;YACnB,YAAY;YACZ,KAAK,EAAE,aAAa;YACpB,IAAI;YACJ,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;KACJ;AACH,CAAC;AA/BD,0BA+BC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { AppsembleError, logger } from '@appsemble/node-utils';
|
|
2
|
+
import fg from 'fast-glob';
|
|
3
|
+
import normalizePath from 'normalize-path';
|
|
4
|
+
import { Argv } from 'yargs';
|
|
5
|
+
|
|
6
|
+
import { resolveAppIdAndRemote } from '../../lib/app';
|
|
7
|
+
import { authenticate } from '../../lib/authentication';
|
|
8
|
+
import { createResource } from '../../lib/resource';
|
|
9
|
+
import { BaseArguments } from '../../types';
|
|
10
|
+
|
|
11
|
+
interface CreateResourceArguments extends BaseArguments {
|
|
12
|
+
resourceName: string;
|
|
13
|
+
paths: string[];
|
|
14
|
+
appId: number;
|
|
15
|
+
context: string;
|
|
16
|
+
app: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const command = 'create <resource-name> <paths...>';
|
|
20
|
+
export const description = 'Create resources based on a specified JSON file or directory.';
|
|
21
|
+
|
|
22
|
+
export function builder(yargs: Argv): Argv<any> {
|
|
23
|
+
return yargs
|
|
24
|
+
.positional('resource-name', {
|
|
25
|
+
describe: 'The name of the resource that should be created.',
|
|
26
|
+
demandOption: true,
|
|
27
|
+
})
|
|
28
|
+
.positional('paths', {
|
|
29
|
+
describe: 'The path to the resources to create',
|
|
30
|
+
normalize: true,
|
|
31
|
+
demandOption: true,
|
|
32
|
+
})
|
|
33
|
+
.option('app-id', {
|
|
34
|
+
describe: 'The ID of the app to create the resources for.',
|
|
35
|
+
type: 'number',
|
|
36
|
+
})
|
|
37
|
+
.option('app', {
|
|
38
|
+
describe: 'The path to the app.',
|
|
39
|
+
demandOption: 'context',
|
|
40
|
+
})
|
|
41
|
+
.option('context', {
|
|
42
|
+
describe: 'If specified, use the specified context from .appsemblerc.yaml',
|
|
43
|
+
demandOption: 'app',
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export async function handler({
|
|
48
|
+
app,
|
|
49
|
+
appId,
|
|
50
|
+
clientCredentials,
|
|
51
|
+
context,
|
|
52
|
+
paths,
|
|
53
|
+
remote,
|
|
54
|
+
resourceName,
|
|
55
|
+
}: CreateResourceArguments): Promise<void> {
|
|
56
|
+
const [resolvedAppId, resolvedRemote] = await resolveAppIdAndRemote(app, context, remote, appId);
|
|
57
|
+
await authenticate(resolvedRemote, 'resources:write', clientCredentials);
|
|
58
|
+
|
|
59
|
+
const normalizedPaths = paths.map((path) => normalizePath(path));
|
|
60
|
+
const files = (await fg(normalizedPaths, { absolute: true, onlyFiles: true })).filter(
|
|
61
|
+
(file) => file.endsWith('.json') || file.endsWith('.csv'),
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
if (!files.length) {
|
|
65
|
+
throw new AppsembleError('No .json or .csv files found.');
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
logger.info(`Creating resources based on ${files.length} files`);
|
|
69
|
+
for (const path of files) {
|
|
70
|
+
logger.info('');
|
|
71
|
+
await createResource({
|
|
72
|
+
resourceName,
|
|
73
|
+
appId: resolvedAppId,
|
|
74
|
+
path,
|
|
75
|
+
remote: resolvedRemote,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iDAAmC;AACnC,iDAAmC;AAEnC,0CAAmD;AAA1C,gGAAA,IAAI,OAAW;AAEX,QAAA,OAAO,GAAG,UAAU,CAAC;AACrB,QAAA,WAAW,GAAG,gCAAgC,CAAC;AAE5D,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAFD,0BAEC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Argv } from 'yargs';
|
|
2
|
+
|
|
3
|
+
import * as create from './create';
|
|
4
|
+
import * as update from './update';
|
|
5
|
+
|
|
6
|
+
export { noop as handler } from '@appsemble/utils';
|
|
7
|
+
|
|
8
|
+
export const command = 'resource';
|
|
9
|
+
export const description = 'Commands related to resources.';
|
|
10
|
+
|
|
11
|
+
export function builder(yargs: Argv): Argv {
|
|
12
|
+
return yargs.command(create).command(update).demandCommand(1);
|
|
13
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["update.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA+D;AAC/D,0DAA2B;AAC3B,oEAA2C;AAG3C,uCAAsD;AACtD,6DAAwD;AACxD,iDAAoD;AAWvC,QAAA,OAAO,GAAG,mCAAmC,CAAC;AAC9C,QAAA,WAAW,GACtB,kHAAkH,CAAC;AAErH,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,UAAU,CAAC,eAAe,EAAE;QAC3B,QAAQ,EAAE,kDAAkD;QAC5D,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,UAAU,CAAC,OAAO,EAAE;QACnB,QAAQ,EAAE,qCAAqC;QAC/C,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,QAAQ,EAAE,gDAAgD;QAC1D,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,QAAQ,EAAE,sBAAsB;QAChC,YAAY,EAAE,SAAS;KACxB,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,QAAQ,EAAE,gEAAgE;QAC1E,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACP,CAAC;AAvBD,0BAuBC;AAEM,KAAK,UAAU,OAAO,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,iBAAiB,EACjB,OAAO,EACP,KAAK,EACL,MAAM,EACN,YAAY,GACY;IACxB,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,IAAA,2BAAqB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACjG,MAAM,IAAA,6BAAY,EAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;IAEzE,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,wBAAa,EAAC,IAAI,CAAC,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,MAAM,IAAA,mBAAE,EAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7E,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACjB,MAAM,IAAI,2BAAc,CAAC,sBAAsB,CAAC,CAAC;KAClD;IAED,mBAAM,CAAC,IAAI,CAAC,+BAA+B,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;IACjE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,mBAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,IAAA,yBAAc,EAAC;YACnB,YAAY;YACZ,KAAK,EAAE,aAAa;YACpB,IAAI;YACJ,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;KACJ;AACH,CAAC;AA7BD,0BA6BC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { AppsembleError, logger } from '@appsemble/node-utils';
|
|
2
|
+
import fg from 'fast-glob';
|
|
3
|
+
import normalizePath from 'normalize-path';
|
|
4
|
+
import { Argv } from 'yargs';
|
|
5
|
+
|
|
6
|
+
import { resolveAppIdAndRemote } from '../../lib/app';
|
|
7
|
+
import { authenticate } from '../../lib/authentication';
|
|
8
|
+
import { updateResource } from '../../lib/resource';
|
|
9
|
+
import { BaseArguments } from '../../types';
|
|
10
|
+
|
|
11
|
+
interface CreateResourceArguments extends BaseArguments {
|
|
12
|
+
resourceName: string;
|
|
13
|
+
paths: string[];
|
|
14
|
+
appId: number;
|
|
15
|
+
context: string;
|
|
16
|
+
app: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const command = 'update <resource-name> <paths...>';
|
|
20
|
+
export const description =
|
|
21
|
+
'Update resources based on a specified JSON file or directory. Entries without the property `id` will be skipped.';
|
|
22
|
+
|
|
23
|
+
export function builder(yargs: Argv): Argv<any> {
|
|
24
|
+
return yargs
|
|
25
|
+
.positional('resource-name', {
|
|
26
|
+
describe: 'The name of the resource that should be created.',
|
|
27
|
+
demandOption: true,
|
|
28
|
+
})
|
|
29
|
+
.positional('paths', {
|
|
30
|
+
describe: 'The path to the resources to update',
|
|
31
|
+
normalize: true,
|
|
32
|
+
demandOption: true,
|
|
33
|
+
})
|
|
34
|
+
.option('app-id', {
|
|
35
|
+
describe: 'The ID of the app to create the resources for.',
|
|
36
|
+
type: 'number',
|
|
37
|
+
})
|
|
38
|
+
.option('app', {
|
|
39
|
+
describe: 'The path to the app.',
|
|
40
|
+
demandOption: 'context',
|
|
41
|
+
})
|
|
42
|
+
.option('context', {
|
|
43
|
+
describe: 'If specified, use the specified context from .appsemblerc.yaml',
|
|
44
|
+
demandOption: 'app',
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export async function handler({
|
|
49
|
+
app,
|
|
50
|
+
appId,
|
|
51
|
+
clientCredentials,
|
|
52
|
+
context,
|
|
53
|
+
paths,
|
|
54
|
+
remote,
|
|
55
|
+
resourceName,
|
|
56
|
+
}: CreateResourceArguments): Promise<void> {
|
|
57
|
+
const [resolvedAppId, resolvedRemote] = await resolveAppIdAndRemote(app, context, remote, appId);
|
|
58
|
+
await authenticate(resolvedRemote, 'resources:write', clientCredentials);
|
|
59
|
+
|
|
60
|
+
const normalizedPaths = paths.map((path) => normalizePath(path));
|
|
61
|
+
const files = await fg(normalizedPaths, { absolute: true, onlyFiles: true });
|
|
62
|
+
|
|
63
|
+
if (!files.length) {
|
|
64
|
+
throw new AppsembleError('No JSON files found.');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
logger.info(`Updating resources based on ${files.length} files`);
|
|
68
|
+
for (const path of files) {
|
|
69
|
+
logger.info('');
|
|
70
|
+
await updateResource({
|
|
71
|
+
resourceName,
|
|
72
|
+
appId: resolvedAppId,
|
|
73
|
+
path,
|
|
74
|
+
remote: resolvedRemote,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runCronJobs.js","sourceRoot":"","sources":["runCronJobs.ts"],"names":[],"mappings":";;;AAEA,sDAAmD;AAGtC,QAAA,OAAO,GAAG,cAAc,CAAC;AACzB,QAAA,WAAW,GAAG,yCAAyC,CAAC;AAErE,SAAgB,OAAO,CAAC,KAAW;IACjC,OAAO,KAAK;SACT,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,4FAA4F;KACnG,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd,CAAC;SACD,MAAM,CAAC,cAAc,EAAE;QACtB,IAAI,EAAE,qCAAqC;QAC3C,IAAI,EAAE,SAAS;KAChB,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,yCAAyC;QAC/C,OAAO,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC;KAChD,CAAC;SACD,MAAM,CAAC,eAAe,EAAE;QACvB,IAAI,EAAE,2CAA2C;QACjD,OAAO,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC;KAChD,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE;QAC3B,IAAI,EAAE,+CAA+C;QACrD,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;KAC5C,CAAC;SACD,MAAM,CAAC,cAAc,EAAE;QACtB,IAAI,EAAE,wHAAwH;QAC9H,SAAS,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,CAAC;KACpF,CAAC,CAAC;AACP,CAAC;AA9BD,0BA8BC;AAEM,KAAK,UAAU,OAAO,CAAC,IAAmB;IAC/C,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,2BAAY,EAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9E,OAAO,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,WAAW,EAAE,CAAC;AACvB,CAAC;AAJD,0BAIC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Argv } from 'yargs';
|
|
2
|
+
|
|
3
|
+
import { serverImport } from '../lib/serverImport';
|
|
4
|
+
import { BaseArguments } from '../types';
|
|
5
|
+
|
|
6
|
+
export const command = 'run-cronjobs';
|
|
7
|
+
export const description = 'Runs all cronjobs associated with apps.';
|
|
8
|
+
|
|
9
|
+
export function builder(yargs: Argv): Argv<any> {
|
|
10
|
+
return yargs
|
|
11
|
+
.option('database-host', {
|
|
12
|
+
desc: 'The host of the database to connect to. This defaults to the connected database container.',
|
|
13
|
+
})
|
|
14
|
+
.option('database-port', {
|
|
15
|
+
desc: 'The port of the database to connect to.',
|
|
16
|
+
type: 'number',
|
|
17
|
+
default: 5432,
|
|
18
|
+
})
|
|
19
|
+
.option('database-ssl', {
|
|
20
|
+
desc: 'Use SSL to connect to the database.',
|
|
21
|
+
type: 'boolean',
|
|
22
|
+
})
|
|
23
|
+
.option('database-name', {
|
|
24
|
+
desc: 'The name of the database to connect to.',
|
|
25
|
+
implies: ['database-user', 'database-password'],
|
|
26
|
+
})
|
|
27
|
+
.option('database-user', {
|
|
28
|
+
desc: 'The user to use to login to the database.',
|
|
29
|
+
implies: ['database-name', 'database-password'],
|
|
30
|
+
})
|
|
31
|
+
.option('database-password', {
|
|
32
|
+
desc: 'The password to use to login to the database.',
|
|
33
|
+
implies: ['database-name', 'database-user'],
|
|
34
|
+
})
|
|
35
|
+
.option('database-url', {
|
|
36
|
+
desc: 'A connection string for the database to connect to. This is an alternative to the separate database related variables.',
|
|
37
|
+
conflicts: ['database-host', 'database-name', 'database-user', 'database-password'],
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export async function handler(argv: BaseArguments): Promise<void> {
|
|
42
|
+
const { runCronJobs, setArgv } = await serverImport('setArgv', 'runCronJobs');
|
|
43
|
+
setArgv(argv);
|
|
44
|
+
return runCronJobs();
|
|
45
|
+
}
|
|
File without changes
|
|
@@ -95,6 +95,10 @@ function builder(yargs) {
|
|
|
95
95
|
.option('secret', {
|
|
96
96
|
desc: 'Secret key used to sign JWTs and cookies',
|
|
97
97
|
required: true,
|
|
98
|
+
})
|
|
99
|
+
.option('aes-secret', {
|
|
100
|
+
desc: 'The key used for all the data that is encrypted using AES.',
|
|
101
|
+
required: true,
|
|
98
102
|
})
|
|
99
103
|
.option('oauth-secret', {
|
|
100
104
|
desc: 'Secret key used to sign JWTs and cookies',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["start.ts"],"names":[],"mappings":"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"}
|