@budibase/server 1.0.105-alpha.21 → 1.0.105-alpha.24
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/builder/assets/{index.8d922c8c.js → index.06b1c616.js} +150 -147
- package/builder/assets/{index.b7e0672d.css → index.e3fb1cb4.css} +2 -2
- package/builder/index.html +2 -2
- package/coverage/clover.xml +517 -1564
- package/coverage/coverage-final.json +27 -43
- package/coverage/lcov-report/api/controllers/analytics.js.html +8 -3
- package/coverage/lcov-report/api/controllers/apikeys.js.html +9 -4
- package/coverage/lcov-report/api/controllers/auth.js.html +8 -3
- package/coverage/lcov-report/api/controllers/automation.js.html +8 -3
- package/coverage/lcov-report/api/controllers/backup.js.html +8 -3
- package/coverage/lcov-report/api/controllers/cloud.js.html +8 -3
- package/coverage/lcov-report/api/controllers/component.js.html +8 -3
- package/coverage/lcov-report/api/controllers/datasource.js.html +11 -6
- package/coverage/lcov-report/api/controllers/dev.js.html +8 -3
- package/coverage/lcov-report/api/controllers/index.html +16 -26
- package/coverage/lcov-report/api/controllers/integration.js.html +8 -3
- package/coverage/lcov-report/api/controllers/layout.js.html +8 -3
- package/coverage/lcov-report/api/controllers/metadata.js.html +8 -3
- package/coverage/lcov-report/api/controllers/migrations.js.html +8 -3
- package/coverage/lcov-report/api/controllers/permission.js.html +8 -3
- package/coverage/lcov-report/api/controllers/query/index.html +16 -26
- package/coverage/lcov-report/api/controllers/query/validation.js.html +8 -3
- package/coverage/lcov-report/api/controllers/role.js.html +10 -5
- package/coverage/lcov-report/api/controllers/routing.js.html +9 -4
- package/coverage/lcov-report/api/controllers/row/external.js.html +8 -3
- package/coverage/lcov-report/api/controllers/row/index.html +23 -33
- package/coverage/lcov-report/api/controllers/row/internal.js.html +32 -24
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +21 -16
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +24 -19
- package/coverage/lcov-report/api/controllers/row/utils.js.html +20 -15
- package/coverage/lcov-report/api/controllers/screen.js.html +9 -4
- package/coverage/lcov-report/api/controllers/script.js.html +8 -3
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +52 -47
- package/coverage/lcov-report/api/controllers/table/external.js.html +8 -3
- package/coverage/lcov-report/api/controllers/table/index.html +17 -42
- package/coverage/lcov-report/api/controllers/table/index.js.html +20 -15
- package/coverage/lcov-report/api/controllers/templates.js.html +8 -3
- package/coverage/lcov-report/api/controllers/user.js.html +8 -3
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +8 -3
- package/coverage/lcov-report/api/controllers/view/index.html +8 -3
- package/coverage/lcov-report/api/controllers/view/index.js.html +10 -5
- package/coverage/lcov-report/api/controllers/view/utils.js.html +8 -3
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +8 -3
- package/coverage/lcov-report/api/controllers/webhook.js.html +10 -5
- package/coverage/lcov-report/api/index.html +18 -13
- package/coverage/lcov-report/api/index.js.html +28 -8
- package/coverage/lcov-report/api/routes/analytics.js.html +8 -3
- package/coverage/lcov-report/api/routes/apikeys.js.html +8 -3
- package/coverage/lcov-report/api/routes/auth.js.html +8 -3
- package/coverage/lcov-report/api/routes/automation.js.html +8 -3
- package/coverage/lcov-report/api/routes/backup.js.html +8 -3
- package/coverage/lcov-report/api/routes/cloud.js.html +8 -3
- package/coverage/lcov-report/api/routes/component.js.html +8 -3
- package/coverage/lcov-report/api/routes/datasource.js.html +8 -3
- package/coverage/lcov-report/api/routes/deploy.js.html +8 -3
- package/coverage/lcov-report/api/routes/dev.js.html +9 -4
- package/coverage/lcov-report/api/routes/index.html +13 -68
- package/coverage/lcov-report/api/routes/integration.js.html +8 -3
- package/coverage/lcov-report/api/routes/layout.js.html +8 -3
- package/coverage/lcov-report/api/routes/metadata.js.html +8 -3
- package/coverage/lcov-report/api/routes/migrations.js.html +8 -3
- package/coverage/lcov-report/api/routes/permission.js.html +8 -3
- package/coverage/lcov-report/api/routes/query.js.html +8 -3
- package/coverage/lcov-report/api/routes/role.js.html +8 -3
- package/coverage/lcov-report/api/routes/routing.js.html +8 -3
- package/coverage/lcov-report/api/routes/screen.js.html +8 -3
- package/coverage/lcov-report/api/routes/script.js.html +8 -3
- package/coverage/lcov-report/api/routes/table.js.html +8 -3
- package/coverage/lcov-report/api/routes/templates.js.html +8 -3
- package/coverage/lcov-report/api/routes/user.js.html +8 -3
- package/coverage/lcov-report/api/routes/utils/index.html +8 -3
- package/coverage/lcov-report/api/routes/utils/validators.js.html +8 -3
- package/coverage/lcov-report/api/routes/view.js.html +8 -3
- package/coverage/lcov-report/api/routes/webhook.js.html +8 -3
- package/coverage/lcov-report/automations/actions.js.html +9 -4
- package/coverage/lcov-report/automations/automationUtils.js.html +20 -15
- package/coverage/lcov-report/automations/bullboard.js.html +8 -3
- package/coverage/lcov-report/automations/index.html +16 -26
- package/coverage/lcov-report/automations/index.js.html +8 -3
- package/coverage/lcov-report/automations/steps/bash.js.html +8 -3
- package/coverage/lcov-report/automations/steps/delay.js.html +8 -3
- package/coverage/lcov-report/automations/steps/discord.js.html +8 -3
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +8 -3
- package/coverage/lcov-report/automations/steps/executeScript.js.html +8 -3
- package/coverage/lcov-report/automations/steps/filter.js.html +8 -3
- package/coverage/lcov-report/automations/steps/index.html +16 -41
- package/coverage/lcov-report/automations/steps/integromat.js.html +8 -3
- package/coverage/lcov-report/automations/steps/loop.js.html +8 -3
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +9 -4
- package/coverage/lcov-report/automations/steps/queryRows.js.html +9 -4
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +8 -3
- package/coverage/lcov-report/automations/steps/serverLog.js.html +8 -3
- package/coverage/lcov-report/automations/steps/slack.js.html +8 -3
- package/coverage/lcov-report/automations/steps/updateRow.js.html +8 -3
- package/coverage/lcov-report/automations/steps/utils.js.html +14 -9
- package/coverage/lcov-report/automations/steps/zapier.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/index.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +8 -3
- package/coverage/lcov-report/automations/triggers.js.html +16 -11
- package/coverage/lcov-report/block-navigation.js +8 -0
- package/coverage/lcov-report/constants/index.html +8 -3
- package/coverage/lcov-report/constants/index.js.html +35 -30
- package/coverage/lcov-report/constants/layouts.js.html +8 -3
- package/coverage/lcov-report/constants/screens.js.html +8 -3
- package/coverage/lcov-report/db/client.js.html +26 -21
- package/coverage/lcov-report/db/inMemoryView.js.html +8 -3
- package/coverage/lcov-report/db/index.html +8 -3
- package/coverage/lcov-report/db/index.js.html +10 -5
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +20 -15
- package/coverage/lcov-report/db/linkedRows/index.html +8 -3
- package/coverage/lcov-report/db/linkedRows/index.js.html +22 -17
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +12 -7
- package/coverage/lcov-report/db/newid.js.html +11 -6
- package/coverage/lcov-report/db/utils.js.html +83 -78
- package/coverage/lcov-report/events/AutomationEmitter.js.html +14 -9
- package/coverage/lcov-report/events/index.html +8 -3
- package/coverage/lcov-report/events/index.js.html +9 -4
- package/coverage/lcov-report/events/utils.js.html +18 -13
- package/coverage/lcov-report/index.html +122 -117
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +8 -3
- package/coverage/lcov-report/integrations/tests/index.html +8 -3
- package/coverage/lcov-report/middleware/appInfo.js.html +8 -3
- package/coverage/lcov-report/middleware/builder.js.html +8 -3
- package/coverage/lcov-report/middleware/currentapp.js.html +11 -6
- package/coverage/lcov-report/middleware/index.html +16 -41
- package/coverage/lcov-report/middleware/joi-validator.js.html +9 -4
- package/coverage/lcov-report/middleware/publicApi.js.html +8 -3
- package/coverage/lcov-report/middleware/resourceId.js.html +8 -3
- package/coverage/lcov-report/middleware/selfhost.js.html +9 -4
- package/coverage/lcov-report/middleware/utils.js.html +8 -3
- package/coverage/lcov-report/sorter.js +26 -0
- package/coverage/lcov-report/threads/automation.js.html +55 -50
- package/coverage/lcov-report/threads/index.html +16 -26
- package/coverage/lcov-report/threads/query.js.html +10 -5
- package/coverage/lcov-report/threads/utils.js.html +11 -6
- package/coverage/lcov-report/utilities/bcrypt.js.html +8 -3
- package/coverage/lcov-report/utilities/budibaseDir.js.html +8 -3
- package/coverage/lcov-report/utilities/centralPath.js.html +8 -3
- package/coverage/lcov-report/utilities/csvParser.js.html +10 -5
- package/coverage/lcov-report/utilities/global.js.html +9 -4
- package/coverage/lcov-report/utilities/index.html +8 -3
- package/coverage/lcov-report/utilities/index.js.html +11 -6
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +32 -9
- package/coverage/lcov-report/utilities/queue/index.html +12 -7
- package/coverage/lcov-report/utilities/routing/index.html +8 -3
- package/coverage/lcov-report/utilities/routing/index.js.html +8 -3
- package/coverage/lcov-report/utilities/rowProcessor/index.html +8 -3
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +46 -41
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +18 -13
- package/coverage/lcov-report/utilities/scriptRunner.js.html +8 -3
- package/coverage/lcov-report/utilities/security.js.html +9 -4
- package/coverage/lcov-report/utilities/statusCodes.js.html +8 -3
- package/coverage/lcov-report/utilities/usageQuota/index.html +24 -34
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +45 -40
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +8 -3
- package/coverage/lcov-report/utilities/users.js.html +8 -3
- package/coverage/lcov-report/utilities/workerRequests.js.html +9 -4
- package/coverage/lcov.info +759 -2599
- package/dist/api/controllers/application.js +138 -70
- package/dist/api/controllers/deploy/index.js +64 -35
- package/dist/api/controllers/public/applications.js +29 -9
- package/dist/api/controllers/public/queries.js +27 -7
- package/dist/api/controllers/public/rows.js +32 -12
- package/dist/api/controllers/public/tables.js +2 -2
- package/dist/api/controllers/public/users.js +8 -8
- package/dist/api/controllers/public/utils.js +1 -1
- package/dist/api/controllers/query/import/index.js +3 -3
- package/dist/api/controllers/query/index.js +57 -44
- package/dist/api/controllers/row/ExternalRequest.js +27 -27
- package/dist/api/controllers/row/index.js +83 -60
- package/dist/api/controllers/row/internal.js +2 -1
- package/dist/api/controllers/table/internal.js +40 -34
- package/dist/api/controllers/table/utils.js +271 -229
- package/dist/api/index.js +5 -0
- package/dist/api/routes/application.js +39 -13
- package/dist/api/routes/index.js +61 -56
- package/dist/api/routes/public/index.js +6 -9
- package/dist/api/routes/public/queries.js +1 -1
- package/dist/api/routes/public/rows.js +1 -1
- package/dist/api/routes/public/tables.js +3 -3
- package/dist/api/routes/public/users.js +1 -1
- package/dist/api/routes/row.js +43 -17
- package/dist/api/routes/static.js +40 -13
- package/dist/api/routes/tests/utilities/TestFunctions.js +62 -26
- package/dist/app.js +11 -4
- package/dist/automations/steps/createRow.js +12 -12
- package/dist/automations/steps/deleteRow.js +13 -16
- package/dist/automations/tests/utilities/index.js +0 -2
- package/dist/automations/utils.js +187 -132
- package/dist/environment.js +0 -2
- package/dist/integrations/base/sql.js +2 -2
- package/dist/integrations/base/sqlTable.js +2 -2
- package/dist/integrations/googlesheets.js +1 -1
- package/dist/integrations/microsoftSqlServer.js +8 -8
- package/dist/integrations/mysql.js +9 -9
- package/dist/integrations/oracle.js +7 -7
- package/dist/integrations/postgres.js +7 -7
- package/dist/integrations/rest.js +1 -1
- package/dist/middleware/authorized.js +51 -51
- package/dist/migrations/functions/appUrls.js +1 -1
- package/dist/migrations/functions/developerQuota.js +49 -0
- package/dist/migrations/functions/publishedAppsQuota.js +47 -0
- package/dist/migrations/functions/quotas1.js +6 -2
- package/dist/migrations/functions/usageQuotas/index.js +0 -4
- package/dist/migrations/functions/usageQuotas/syncApps.js +4 -7
- package/dist/migrations/functions/usageQuotas/syncDevelopers.js +24 -0
- package/dist/migrations/functions/usageQuotas/syncPublishedApps.js +26 -0
- package/dist/migrations/functions/usageQuotas/syncRows.js +5 -8
- package/dist/migrations/index.js +17 -1
- package/dist/package.json +10 -8
- package/dist/threads/index.js +35 -8
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/utilities/queue/inMemoryQueue.js +6 -1
- package/nodemon.json +1 -1
- package/package.json +11 -9
- package/scripts/dev/manage.js +2 -0
- package/src/api/controllers/{application.js → application.ts} +103 -44
- package/src/api/controllers/deploy/{index.js → index.ts} +45 -28
- package/src/api/controllers/public/applications.ts +2 -2
- package/src/api/controllers/public/queries.ts +1 -1
- package/src/api/controllers/public/rows.ts +1 -1
- package/src/api/controllers/query/{index.js → index.ts} +51 -48
- package/src/api/controllers/row/ExternalRequest.ts +1 -1
- package/src/api/controllers/row/{index.js → index.ts} +24 -17
- package/src/api/controllers/row/internal.js +2 -1
- package/src/api/controllers/table/{internal.js → internal.ts} +27 -24
- package/src/api/controllers/table/{utils.js → utils.ts} +86 -69
- package/src/api/index.js +5 -0
- package/src/api/routes/{application.js → application.ts} +8 -14
- package/src/api/routes/index.ts +60 -0
- package/src/api/routes/public/index.ts +1 -4
- package/src/api/routes/{row.js → row.ts} +7 -15
- package/src/api/routes/{static.js → static.ts} +11 -11
- package/src/api/routes/tests/utilities/{TestFunctions.js → TestFunctions.ts} +42 -25
- package/src/app.ts +1 -2
- package/src/automations/steps/{createRow.js → createRow.ts} +9 -15
- package/src/automations/steps/{deleteRow.js → deleteRow.ts} +10 -16
- package/src/automations/tests/automation.spec.js +0 -1
- package/src/automations/tests/{createRow.spec.js → createRow.spec.ts} +4 -15
- package/src/automations/tests/{deleteRow.spec.js → deleteRow.spec.ts} +3 -5
- package/src/automations/tests/utilities/index.js +0 -2
- package/src/automations/{utils.js → utils.ts} +39 -27
- package/src/environment.js +0 -2
- package/src/middleware/{authorized.js → authorized.ts} +20 -14
- package/src/migrations/functions/developerQuota.ts +15 -0
- package/src/migrations/functions/publishedAppsQuota.ts +13 -0
- package/src/migrations/functions/tests/quotas1.spec.js +0 -2
- package/src/migrations/functions/usageQuotas/index.ts +0 -5
- package/src/migrations/functions/usageQuotas/syncApps.ts +3 -6
- package/src/migrations/functions/usageQuotas/syncDevelopers.ts +19 -0
- package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +21 -0
- package/src/migrations/functions/usageQuotas/syncRows.ts +3 -6
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts +32 -0
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +38 -0
- package/src/migrations/index.ts +13 -1
- package/src/module.d.ts +4 -0
- package/src/threads/{index.js → index.ts} +14 -12
- package/src/utilities/queue/inMemoryQueue.js +7 -1
- package/tsconfig.build.json +10 -0
- package/tsconfig.json +2 -2
- package/coverage/lcov-report/api/controllers/application.js.html +0 -1430
- package/coverage/lcov-report/api/controllers/query/index.js.html +0 -713
- package/coverage/lcov-report/api/controllers/row/index.js.html +0 -524
- package/coverage/lcov-report/api/controllers/table/internal.js.html +0 -548
- package/coverage/lcov-report/api/controllers/table/utils.js.html +0 -1331
- package/coverage/lcov-report/api/routes/application.js.html +0 -179
- package/coverage/lcov-report/api/routes/index.js.html +0 -266
- package/coverage/lcov-report/api/routes/row.js.html +0 -908
- package/coverage/lcov-report/api/routes/static.js.html +0 -245
- package/coverage/lcov-report/automations/steps/createRow.js.html +0 -380
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +0 -347
- package/coverage/lcov-report/automations/utils.js.html +0 -662
- package/coverage/lcov-report/middleware/authorized.js.html +0 -458
- package/coverage/lcov-report/middleware/usageQuota.js.html +0 -572
- package/coverage/lcov-report/threads/index.js.html +0 -278
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +0 -359
- package/dist/middleware/usageQuota.js +0 -154
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/utilities/usageQuota/index.js +0 -86
- package/src/api/routes/index.js +0 -62
- package/src/middleware/tests/usageQuota.spec.js +0 -134
- package/src/middleware/usageQuota.js +0 -164
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +0 -37
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +0 -43
- package/src/utilities/tests/usageQuota/usageQuota.spec.js +0 -72
- package/src/utilities/usageQuota/index.js +0 -93
|
@@ -184,13 +184,13 @@ var PostgresModule;
|
|
|
184
184
|
// table key doesn't exist yet
|
|
185
185
|
if (!tables[tableName] || !tables[tableName].schema) {
|
|
186
186
|
tables[tableName] = {
|
|
187
|
-
_id: utils_1.buildExternalTableId(datasourceId, tableName),
|
|
187
|
+
_id: (0, utils_1.buildExternalTableId)(datasourceId, tableName),
|
|
188
188
|
primary: tableKeys[tableName] || [],
|
|
189
189
|
name: tableName,
|
|
190
190
|
schema: {},
|
|
191
191
|
};
|
|
192
192
|
}
|
|
193
|
-
const type = utils_1.convertSqlType(column.data_type);
|
|
193
|
+
const type = (0, utils_1.convertSqlType)(column.data_type);
|
|
194
194
|
const identity = !!(column.identity_generation ||
|
|
195
195
|
column.identity_start ||
|
|
196
196
|
column.identity_increment);
|
|
@@ -204,32 +204,32 @@ var PostgresModule;
|
|
|
204
204
|
type,
|
|
205
205
|
};
|
|
206
206
|
}
|
|
207
|
-
const final = utils_1.finaliseExternalTables(tables, entities);
|
|
207
|
+
const final = (0, utils_1.finaliseExternalTables)(tables, entities);
|
|
208
208
|
this.tables = final.tables;
|
|
209
209
|
this.schemaErrors = final.errors;
|
|
210
210
|
});
|
|
211
211
|
}
|
|
212
212
|
create(query) {
|
|
213
213
|
return __awaiter(this, void 0, void 0, function* () {
|
|
214
|
-
const response = yield this.internalQuery(utils_1.getSqlQuery(query));
|
|
214
|
+
const response = yield this.internalQuery((0, utils_1.getSqlQuery)(query));
|
|
215
215
|
return response.rows.length ? response.rows : [{ created: true }];
|
|
216
216
|
});
|
|
217
217
|
}
|
|
218
218
|
read(query) {
|
|
219
219
|
return __awaiter(this, void 0, void 0, function* () {
|
|
220
|
-
const response = yield this.internalQuery(utils_1.getSqlQuery(query));
|
|
220
|
+
const response = yield this.internalQuery((0, utils_1.getSqlQuery)(query));
|
|
221
221
|
return response.rows;
|
|
222
222
|
});
|
|
223
223
|
}
|
|
224
224
|
update(query) {
|
|
225
225
|
return __awaiter(this, void 0, void 0, function* () {
|
|
226
|
-
const response = yield this.internalQuery(utils_1.getSqlQuery(query));
|
|
226
|
+
const response = yield this.internalQuery((0, utils_1.getSqlQuery)(query));
|
|
227
227
|
return response.rows.length ? response.rows : [{ updated: true }];
|
|
228
228
|
});
|
|
229
229
|
}
|
|
230
230
|
delete(query) {
|
|
231
231
|
return __awaiter(this, void 0, void 0, function* () {
|
|
232
|
-
const response = yield this.internalQuery(utils_1.getSqlQuery(query));
|
|
232
|
+
const response = yield this.internalQuery((0, utils_1.getSqlQuery)(query));
|
|
233
233
|
return response.rows.length ? response.rows : [{ deleted: true }];
|
|
234
234
|
});
|
|
235
235
|
}
|
|
@@ -149,7 +149,7 @@ var RestModule;
|
|
|
149
149
|
// Check if a pagination cursor exists in the response
|
|
150
150
|
let nextCursor = null;
|
|
151
151
|
if (pagination === null || pagination === void 0 ? void 0 : pagination.responseParam) {
|
|
152
|
-
nextCursor = lodash_1.get(data, pagination.responseParam);
|
|
152
|
+
nextCursor = (0, lodash_1.get)(data, pagination.responseParam);
|
|
153
153
|
}
|
|
154
154
|
return {
|
|
155
155
|
data,
|
|
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
const
|
|
11
|
+
const roles_1 = require("@budibase/backend-core/roles");
|
|
12
12
|
const { PermissionTypes, PermissionLevels, doesHaveBasePermission, } = require("@budibase/backend-core/permissions");
|
|
13
13
|
const builderMiddleware = require("./builder");
|
|
14
14
|
const { isWebhookEndpoint } = require("./utils");
|
|
@@ -38,15 +38,15 @@ const checkAuthorized = (ctx, resourceRoles, permType, permLevel) => __awaiter(v
|
|
|
38
38
|
});
|
|
39
39
|
const checkAuthorizedResource = (ctx, resourceRoles, permType, permLevel) => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
40
|
// get the user's roles
|
|
41
|
-
const roleId = ctx.roleId || BUILTIN_ROLE_IDS.PUBLIC;
|
|
42
|
-
const userRoles = yield getUserRoleHierarchy(roleId, {
|
|
41
|
+
const roleId = ctx.roleId || roles_1.BUILTIN_ROLE_IDS.PUBLIC;
|
|
42
|
+
const userRoles = yield (0, roles_1.getUserRoleHierarchy)(roleId, {
|
|
43
43
|
idOnly: false,
|
|
44
44
|
});
|
|
45
45
|
const permError = "User does not have permission";
|
|
46
46
|
// check if the user has the required role
|
|
47
47
|
if (resourceRoles.length > 0) {
|
|
48
48
|
// deny access if the user doesn't have the required resource role
|
|
49
|
-
const found = userRoles.find(role => resourceRoles.indexOf(role._id) !== -1);
|
|
49
|
+
const found = userRoles.find((role) => resourceRoles.indexOf(role._id) !== -1);
|
|
50
50
|
if (!found) {
|
|
51
51
|
ctx.throw(403, permError);
|
|
52
52
|
}
|
|
@@ -56,53 +56,53 @@ const checkAuthorizedResource = (ctx, resourceRoles, permType, permLevel) => __a
|
|
|
56
56
|
ctx.throw(403, permError);
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
|
-
module.exports =
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
// if the resource is public, proceed
|
|
85
|
-
if (resourceRoles.includes(BUILTIN_ROLE_IDS.PUBLIC) ||
|
|
86
|
-
(otherLevelRoles && otherLevelRoles.includes(BUILTIN_ROLE_IDS.PUBLIC))) {
|
|
87
|
-
return next();
|
|
88
|
-
}
|
|
89
|
-
// check authenticated
|
|
90
|
-
if (!ctx.isAuthenticated) {
|
|
91
|
-
return ctx.throw(403, "Session not authenticated");
|
|
59
|
+
module.exports = (permType, permLevel = null, opts = { schema: false }) => (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
+
// webhooks don't need authentication, each webhook unique
|
|
61
|
+
// also internal requests (between services) don't need authorized
|
|
62
|
+
if (isWebhookEndpoint(ctx) || ctx.internal) {
|
|
63
|
+
return next();
|
|
64
|
+
}
|
|
65
|
+
if (!ctx.user) {
|
|
66
|
+
return ctx.throw(403, "No user info found");
|
|
67
|
+
}
|
|
68
|
+
// check general builder stuff, this middleware is a good way
|
|
69
|
+
// to find API endpoints which are builder focused
|
|
70
|
+
yield builderMiddleware(ctx, permType);
|
|
71
|
+
// get the resource roles
|
|
72
|
+
let resourceRoles = [];
|
|
73
|
+
let otherLevelRoles = [];
|
|
74
|
+
const otherLevel = permLevel === PermissionLevels.READ
|
|
75
|
+
? PermissionLevels.WRITE
|
|
76
|
+
: PermissionLevels.READ;
|
|
77
|
+
const appId = getAppId();
|
|
78
|
+
if (appId && hasResource(ctx)) {
|
|
79
|
+
resourceRoles = yield (0, roles_1.getRequiredResourceRole)(permLevel, ctx);
|
|
80
|
+
if (opts && opts.schema) {
|
|
81
|
+
otherLevelRoles = yield (0, roles_1.getRequiredResourceRole)(otherLevel, ctx);
|
|
92
82
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
83
|
+
}
|
|
84
|
+
// if the resource is public, proceed
|
|
85
|
+
if (resourceRoles.includes(roles_1.BUILTIN_ROLE_IDS.PUBLIC) ||
|
|
86
|
+
(otherLevelRoles && otherLevelRoles.includes(roles_1.BUILTIN_ROLE_IDS.PUBLIC))) {
|
|
87
|
+
return next();
|
|
88
|
+
}
|
|
89
|
+
// check authenticated
|
|
90
|
+
if (!ctx.isAuthenticated) {
|
|
91
|
+
return ctx.throw(403, "Session not authenticated");
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
// check authorized
|
|
95
|
+
yield checkAuthorized(ctx, resourceRoles, permType, permLevel);
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
// this is a schema, check if
|
|
99
|
+
if (opts && opts.schema && permLevel) {
|
|
100
|
+
yield checkAuthorized(ctx, otherLevelRoles, permType, otherLevel);
|
|
96
101
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (opts && opts.schema && permLevel) {
|
|
100
|
-
yield checkAuthorized(ctx, otherLevelRoles, permType, otherLevel);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
throw err;
|
|
104
|
-
}
|
|
102
|
+
else {
|
|
103
|
+
throw err;
|
|
105
104
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
}
|
|
106
|
+
// csrf protection
|
|
107
|
+
return csrf(ctx, next);
|
|
108
|
+
});
|
|
@@ -38,7 +38,7 @@ const run = (appDb) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
38
38
|
},
|
|
39
39
|
},
|
|
40
40
|
};
|
|
41
|
-
metadata.url = application_1.getAppUrl(context);
|
|
41
|
+
metadata.url = (0, application_1.getAppUrl)(context);
|
|
42
42
|
console.log(`Adding url to app: ${metadata.url}`);
|
|
43
43
|
yield appDb.put(metadata);
|
|
44
44
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.run = void 0;
|
|
36
|
+
const { createUserBuildersView } = require("@budibase/backend-core/db");
|
|
37
|
+
const syncDevelopers = __importStar(require("./usageQuotas/syncDevelopers"));
|
|
38
|
+
/**
|
|
39
|
+
* Date:
|
|
40
|
+
* March 2022
|
|
41
|
+
*
|
|
42
|
+
* Description:
|
|
43
|
+
* Create the builder users view and sync the developer count
|
|
44
|
+
*/
|
|
45
|
+
const run = (db) => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
+
yield createUserBuildersView(db);
|
|
47
|
+
yield syncDevelopers.run();
|
|
48
|
+
});
|
|
49
|
+
exports.run = run;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.run = void 0;
|
|
36
|
+
const syncPublishedApps = __importStar(require("./usageQuotas/syncPublishedApps"));
|
|
37
|
+
/**
|
|
38
|
+
* Date:
|
|
39
|
+
* March 2022
|
|
40
|
+
*
|
|
41
|
+
* Description:
|
|
42
|
+
* Sync the published apps count
|
|
43
|
+
*/
|
|
44
|
+
const run = (db) => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
+
yield syncPublishedApps.run();
|
|
46
|
+
});
|
|
47
|
+
exports.run = run;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -42,7 +46,7 @@ const syncRows = __importStar(require("./usageQuotas/syncRows"));
|
|
|
42
46
|
* weren't being decremented correctly.
|
|
43
47
|
*/
|
|
44
48
|
const run = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
-
yield usageQuotas_1.runQuotaMigration(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
yield (0, usageQuotas_1.runQuotaMigration)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
50
|
yield syncApps.run();
|
|
47
51
|
yield syncRows.run();
|
|
48
52
|
}));
|
|
@@ -10,11 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.runQuotaMigration = void 0;
|
|
13
|
-
const { useQuotas } = require("../../../utilities/usageQuota");
|
|
14
13
|
const runQuotaMigration = (migration) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
-
if (!useQuotas()) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
14
|
yield migration();
|
|
19
15
|
});
|
|
20
16
|
exports.runQuotaMigration = runQuotaMigration;
|
|
@@ -12,18 +12,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.run = void 0;
|
|
13
13
|
const tenancy_1 = require("@budibase/backend-core/tenancy");
|
|
14
14
|
const db_1 = require("@budibase/backend-core/db");
|
|
15
|
-
const
|
|
15
|
+
const pro_1 = require("@budibase/pro");
|
|
16
16
|
const run = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
-
const db = tenancy_1.getGlobalDB();
|
|
18
17
|
// get app count
|
|
19
18
|
// @ts-ignore
|
|
20
|
-
const devApps = yield db_1.getAllApps({ dev: true });
|
|
19
|
+
const devApps = yield (0, db_1.getAllApps)({ dev: true });
|
|
21
20
|
const appCount = devApps ? devApps.length : 0;
|
|
22
21
|
// sync app count
|
|
23
|
-
const tenantId = tenancy_1.getTenantId();
|
|
22
|
+
const tenantId = (0, tenancy_1.getTenantId)();
|
|
24
23
|
console.log(`[Tenant: ${tenantId}] Syncing app count: ${appCount}`);
|
|
25
|
-
|
|
26
|
-
usageDoc.usageQuota.apps = appCount;
|
|
27
|
-
yield db.put(usageDoc);
|
|
24
|
+
yield pro_1.quotas.setUsage(appCount, pro_1.StaticQuotaName.APPS, pro_1.QuotaUsageType.STATIC);
|
|
28
25
|
});
|
|
29
26
|
exports.run = run;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.run = void 0;
|
|
13
|
+
const tenancy_1 = require("@budibase/backend-core/tenancy");
|
|
14
|
+
const backend_core_1 = require("@budibase/backend-core");
|
|
15
|
+
const pro_1 = require("@budibase/pro");
|
|
16
|
+
const run = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
// get developer count
|
|
18
|
+
const developerCount = yield backend_core_1.utils.getBuildersCount();
|
|
19
|
+
// sync developer count
|
|
20
|
+
const tenantId = (0, tenancy_1.getTenantId)();
|
|
21
|
+
console.log(`[Tenant: ${tenantId}] Syncing developer count: ${developerCount}`);
|
|
22
|
+
yield pro_1.quotas.setUsage(developerCount, pro_1.StaticQuotaName.DEVELOPERS, pro_1.QuotaUsageType.STATIC);
|
|
23
|
+
});
|
|
24
|
+
exports.run = run;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.run = void 0;
|
|
13
|
+
const tenancy_1 = require("@budibase/backend-core/tenancy");
|
|
14
|
+
const db_1 = require("@budibase/backend-core/db");
|
|
15
|
+
const pro_1 = require("@budibase/pro");
|
|
16
|
+
const run = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
// get app count
|
|
18
|
+
const opts = { dev: false };
|
|
19
|
+
const prodApps = yield (0, db_1.getAllApps)(opts);
|
|
20
|
+
const prodAppCount = prodApps ? prodApps.length : 0;
|
|
21
|
+
// sync app count
|
|
22
|
+
const tenantId = (0, tenancy_1.getTenantId)();
|
|
23
|
+
console.log(`[Tenant: ${tenantId}] Syncing published app count: ${prodAppCount}`);
|
|
24
|
+
yield pro_1.quotas.setUsage(prodAppCount, pro_1.StaticQuotaName.PUBLISHED_APPS, pro_1.QuotaUsageType.STATIC);
|
|
25
|
+
});
|
|
26
|
+
exports.run = run;
|
|
@@ -12,22 +12,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.run = void 0;
|
|
13
13
|
const tenancy_1 = require("@budibase/backend-core/tenancy");
|
|
14
14
|
const db_1 = require("@budibase/backend-core/db");
|
|
15
|
-
const usageQuota_1 = require("../../../utilities/usageQuota");
|
|
16
15
|
const rows_1 = require("../../../utilities/usageQuota/rows");
|
|
16
|
+
const pro_1 = require("@budibase/pro");
|
|
17
17
|
const run = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
const db = tenancy_1.getGlobalDB();
|
|
19
18
|
// get all rows in all apps
|
|
20
19
|
// @ts-ignore
|
|
21
|
-
const allApps = yield db_1.getAllApps({ all: true });
|
|
20
|
+
const allApps = yield (0, db_1.getAllApps)({ all: true });
|
|
22
21
|
// @ts-ignore
|
|
23
22
|
const appIds = allApps ? allApps.map((app) => app.appId) : [];
|
|
24
|
-
const rows = yield rows_1.getUniqueRows(appIds);
|
|
23
|
+
const rows = yield (0, rows_1.getUniqueRows)(appIds);
|
|
25
24
|
const rowCount = rows ? rows.length : 0;
|
|
26
25
|
// sync row count
|
|
27
|
-
const tenantId = tenancy_1.getTenantId();
|
|
26
|
+
const tenantId = (0, tenancy_1.getTenantId)();
|
|
28
27
|
console.log(`[Tenant: ${tenantId}] Syncing row count: ${rowCount}`);
|
|
29
|
-
|
|
30
|
-
usageDoc.usageQuota.rows = rowCount;
|
|
31
|
-
yield db.put(usageDoc);
|
|
28
|
+
yield pro_1.quotas.setUsage(rowCount, pro_1.StaticQuotaName.ROWS, pro_1.QuotaUsageType.STATIC);
|
|
32
29
|
});
|
|
33
30
|
exports.run = run;
|
package/dist/migrations/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -38,6 +42,8 @@ const { MIGRATION_TYPES, runMigrations, } = require("@budibase/backend-core/migr
|
|
|
38
42
|
const userEmailViewCasing = __importStar(require("./functions/userEmailViewCasing"));
|
|
39
43
|
const quota1 = __importStar(require("./functions/quotas1"));
|
|
40
44
|
const appUrls = __importStar(require("./functions/appUrls"));
|
|
45
|
+
const developerQuota = __importStar(require("./functions/developerQuota"));
|
|
46
|
+
const publishedAppsQuota = __importStar(require("./functions/publishedAppsQuota"));
|
|
41
47
|
exports.MIGRATIONS = [
|
|
42
48
|
{
|
|
43
49
|
type: MIGRATION_TYPES.GLOBAL,
|
|
@@ -55,6 +61,16 @@ exports.MIGRATIONS = [
|
|
|
55
61
|
opts: { all: true },
|
|
56
62
|
fn: appUrls.run,
|
|
57
63
|
},
|
|
64
|
+
{
|
|
65
|
+
type: MIGRATION_TYPES.GLOBAL,
|
|
66
|
+
name: "developer_quota",
|
|
67
|
+
fn: developerQuota.run,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: MIGRATION_TYPES.GLOBAL,
|
|
71
|
+
name: "published_apps_quota",
|
|
72
|
+
fn: publishedAppsQuota.run,
|
|
73
|
+
},
|
|
58
74
|
];
|
|
59
75
|
const migrate = (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
76
|
yield runMigrations(db_1.default, exports.MIGRATIONS, options);
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/server",
|
|
3
3
|
"email": "hi@budibase.com",
|
|
4
|
-
"version": "1.0.105-alpha.
|
|
4
|
+
"version": "1.0.105-alpha.23",
|
|
5
5
|
"description": "Budibase Web Server",
|
|
6
6
|
"main": "src/index.ts",
|
|
7
7
|
"repository": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"url": "https://github.com/Budibase/budibase.git"
|
|
10
10
|
},
|
|
11
11
|
"scripts": {
|
|
12
|
-
"build": "rimraf dist/ && tsc && mv dist/src/* dist/ && rimraf dist/src/ && yarn postbuild",
|
|
12
|
+
"build": "rimraf dist/ && tsc -p tsconfig.build.json && mv dist/src/* dist/ && rimraf dist/src/ && yarn postbuild",
|
|
13
13
|
"postbuild": "copyfiles -u 1 src/**/*.svelte dist/ && copyfiles -u 1 src/**/*.hbs dist/ && copyfiles -u 1 src/**/*.json dist/",
|
|
14
14
|
"test": "jest --coverage --maxWorkers=2",
|
|
15
15
|
"test:watch": "jest --watch",
|
|
@@ -68,16 +68,17 @@
|
|
|
68
68
|
"license": "GPL-3.0",
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"@apidevtools/swagger-parser": "^10.0.3",
|
|
71
|
-
"@budibase/backend-core": "^1.0.105-alpha.
|
|
72
|
-
"@budibase/client": "^1.0.105-alpha.
|
|
73
|
-
"@budibase/string-templates": "^1.0.105-alpha.
|
|
71
|
+
"@budibase/backend-core": "^1.0.105-alpha.23",
|
|
72
|
+
"@budibase/client": "^1.0.105-alpha.23",
|
|
73
|
+
"@budibase/string-templates": "^1.0.105-alpha.23",
|
|
74
74
|
"@bull-board/api": "^3.7.0",
|
|
75
75
|
"@bull-board/koa": "^3.7.0",
|
|
76
76
|
"@elastic/elasticsearch": "7.10.0",
|
|
77
77
|
"@google-cloud/firestore": "^5.0.2",
|
|
78
78
|
"@koa/router": "8.0.0",
|
|
79
79
|
"@sendgrid/mail": "7.1.1",
|
|
80
|
-
"@sentry/node": "
|
|
80
|
+
"@sentry/node": "6.17.7",
|
|
81
|
+
"@types/koa__router": "^8.0.11",
|
|
81
82
|
"airtable": "0.10.1",
|
|
82
83
|
"arangojs": "7.2.0",
|
|
83
84
|
"aws-sdk": "^2.767.0",
|
|
@@ -143,13 +144,14 @@
|
|
|
143
144
|
"@types/apidoc": "^0.50.0",
|
|
144
145
|
"@types/bull": "^3.15.1",
|
|
145
146
|
"@types/google-spreadsheet": "^3.1.5",
|
|
146
|
-
"@types/jest": "^
|
|
147
|
+
"@types/jest": "^27.4.1",
|
|
147
148
|
"@types/koa": "^2.13.3",
|
|
148
149
|
"@types/koa-router": "^7.4.2",
|
|
149
150
|
"@types/lodash": "4.14.180",
|
|
150
151
|
"@types/node": "^15.12.4",
|
|
151
152
|
"@types/oracledb": "^5.2.1",
|
|
152
153
|
"@types/redis": "^4.0.11",
|
|
154
|
+
"@typescript-eslint/parser": "5.12.0",
|
|
153
155
|
"apidoc": "^0.50.2",
|
|
154
156
|
"babel-jest": "^27.0.2",
|
|
155
157
|
"copyfiles": "^2.4.1",
|
|
@@ -168,7 +170,7 @@
|
|
|
168
170
|
"swagger-jsdoc": "^6.1.0",
|
|
169
171
|
"ts-jest": "^27.0.3",
|
|
170
172
|
"ts-node": "^10.0.0",
|
|
171
|
-
"typescript": "^4.
|
|
173
|
+
"typescript": "^4.5.5",
|
|
172
174
|
"update-dotenv": "^1.1.1"
|
|
173
175
|
},
|
|
174
176
|
"optionalDependencies": {
|
package/dist/threads/index.js
CHANGED
|
@@ -1,17 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.Thread = exports.ThreadType = void 0;
|
|
30
|
+
const worker_farm_1 = __importDefault(require("worker-farm"));
|
|
31
|
+
const env = __importStar(require("../environment"));
|
|
32
|
+
exports.ThreadType = {
|
|
5
33
|
QUERY: "query",
|
|
6
34
|
AUTOMATION: "automation",
|
|
7
35
|
};
|
|
8
36
|
function typeToFile(type) {
|
|
9
37
|
let filename = null;
|
|
10
38
|
switch (type) {
|
|
11
|
-
case ThreadType.QUERY:
|
|
39
|
+
case exports.ThreadType.QUERY:
|
|
12
40
|
filename = "./query";
|
|
13
41
|
break;
|
|
14
|
-
case ThreadType.AUTOMATION:
|
|
42
|
+
case exports.ThreadType.AUTOMATION:
|
|
15
43
|
filename = "./automation";
|
|
16
44
|
break;
|
|
17
45
|
default:
|
|
@@ -36,7 +64,7 @@ class Thread {
|
|
|
36
64
|
if (opts.timeoutMs) {
|
|
37
65
|
workerOpts.maxCallTime = opts.timeoutMs;
|
|
38
66
|
}
|
|
39
|
-
this.workers =
|
|
67
|
+
this.workers = (0, worker_farm_1.default)(workerOpts, typeToFile(type));
|
|
40
68
|
}
|
|
41
69
|
}
|
|
42
70
|
run(data) {
|
|
@@ -60,5 +88,4 @@ class Thread {
|
|
|
60
88
|
});
|
|
61
89
|
}
|
|
62
90
|
}
|
|
63
|
-
|
|
64
|
-
module.exports.ThreadType = ThreadType;
|
|
91
|
+
exports.Thread = Thread;
|