@budibase/server 2.0.7-alpha.1 → 2.0.7-alpha.2
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.a324a23d.js → index.472790d4.js} +193 -193
- package/builder/index.html +1 -1
- package/coverage/clover.xml +344 -341
- package/coverage/coverage-final.json +23 -23
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +12 -12
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +15 -15
- package/coverage/lcov-report/api/controllers/row/utils.js.html +13 -13
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +5 -5
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/utils/index.html +1 -1
- package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +1 -1
- package/coverage/lcov-report/automations/index.js.html +5 -5
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +22 -22
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -11
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +11 -11
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +3 -3
- package/coverage/lcov-report/db/newid.js.html +2 -2
- package/coverage/lcov-report/db/utils.js.html +10 -16
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +2 -2
- package/coverage/lcov-report/events/utils.js.html +9 -9
- package/coverage/lcov-report/index.html +15 -15
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/builder.js.html +11 -11
- package/coverage/lcov-report/middleware/currentapp.js.html +34 -34
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +7 -7
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +16 -16
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +13 -13
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +38 -38
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +10 -10
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +14 -14
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +23 -11
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/coverage/lcov.info +618 -613
- package/dist/api/controllers/application.js +2 -2
- package/dist/api/controllers/query/index.js +6 -2
- package/dist/api/controllers/row/index.js +30 -10
- package/dist/api/controllers/table/internal.js +3 -1
- package/dist/api/controllers/table/utils.js +3 -1
- package/dist/automations/utils.js +5 -3
- package/dist/db/utils.js +1 -1
- package/dist/migrations/functions/{quotas1.js → syncQuotas.js} +3 -7
- package/dist/migrations/functions/usageQuotas/syncApps.js +0 -1
- package/dist/migrations/functions/{pluginCount.js → usageQuotas/syncPlugins.js} +1 -3
- package/dist/migrations/functions/usageQuotas/syncRows.js +9 -5
- package/dist/migrations/index.js +3 -9
- package/dist/package.json +6 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/usageQuota/rows.js +6 -4
- package/package.json +7 -7
- package/src/api/controllers/application.ts +2 -2
- package/src/api/controllers/query/index.ts +7 -2
- package/src/api/controllers/row/index.ts +36 -13
- package/src/api/controllers/table/internal.ts +3 -1
- package/src/api/controllers/table/utils.ts +3 -1
- package/src/api/routes/tests/row.spec.js +22 -27
- package/src/automations/tests/automation.spec.js +1 -6
- package/src/automations/utils.ts +6 -4
- package/src/db/utils.js +0 -2
- package/src/migrations/functions/backfill/global.ts +1 -1
- package/src/migrations/functions/{quotas1.ts → syncQuotas.ts} +3 -8
- package/src/migrations/functions/tests/{quotas1.spec.js → syncQuotas.spec.js} +5 -2
- package/src/migrations/functions/usageQuotas/syncApps.ts +0 -1
- package/src/migrations/functions/usageQuotas/syncPlugins.ts +10 -0
- package/src/migrations/functions/usageQuotas/syncRows.ts +15 -6
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +9 -1
- package/src/migrations/index.ts +3 -15
- package/src/migrations/tests/index.spec.ts +0 -1
- package/src/utilities/usageQuota/rows.js +7 -3
- package/src/migrations/functions/pluginCount.ts +0 -12
|
@@ -313,7 +313,7 @@ const appPostCreate = (ctx, app) => __awaiter(void 0, void 0, void 0, function*
|
|
|
313
313
|
yield creationEvents(ctx.request, app);
|
|
314
314
|
// app import & template creation
|
|
315
315
|
if (ctx.request.body.useTemplate === "true") {
|
|
316
|
-
const rows = yield (0, rows_1.getUniqueRows)([app.appId]);
|
|
316
|
+
const { rows } = yield (0, rows_1.getUniqueRows)([app.appId]);
|
|
317
317
|
const rowCount = rows ? rows.length : 0;
|
|
318
318
|
if (rowCount) {
|
|
319
319
|
try {
|
|
@@ -438,7 +438,7 @@ const destroyApp = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
438
438
|
return result;
|
|
439
439
|
});
|
|
440
440
|
const preDestroyApp = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
441
|
-
const rows = yield (0, rows_1.getUniqueRows)([ctx.params.appId]);
|
|
441
|
+
const { rows } = yield (0, rows_1.getUniqueRows)([ctx.params.appId]);
|
|
442
442
|
ctx.rowCount = rows.length;
|
|
443
443
|
});
|
|
444
444
|
const postDestroyApp = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -149,7 +149,9 @@ function preview(ctx) {
|
|
|
149
149
|
auth: Object.assign({}, authConfigCtx),
|
|
150
150
|
},
|
|
151
151
|
});
|
|
152
|
-
const { rows, keys, info, extra } = yield pro_1.quotas.addQuery(runFn
|
|
152
|
+
const { rows, keys, info, extra } = yield pro_1.quotas.addQuery(runFn, {
|
|
153
|
+
datasourceId: datasource._id,
|
|
154
|
+
});
|
|
153
155
|
const schemaFields = {};
|
|
154
156
|
if ((rows === null || rows === void 0 ? void 0 : rows.length) > 0) {
|
|
155
157
|
for (let key of [...new Set(keys)]) {
|
|
@@ -226,7 +228,9 @@ function execute(ctx, opts = { rowsOnly: false, isAutomation: false }) {
|
|
|
226
228
|
auth: Object.assign({}, authConfigCtx),
|
|
227
229
|
},
|
|
228
230
|
});
|
|
229
|
-
const { rows, pagination, extra } = yield pro_1.quotas.addQuery(runFn
|
|
231
|
+
const { rows, pagination, extra } = yield pro_1.quotas.addQuery(runFn, {
|
|
232
|
+
datasourceId: datasource._id,
|
|
233
|
+
});
|
|
230
234
|
if (opts && opts.rowsOnly) {
|
|
231
235
|
ctx.body = rows;
|
|
232
236
|
}
|
|
@@ -44,7 +44,9 @@ function patch(ctx) {
|
|
|
44
44
|
return (0, exports.save)(ctx);
|
|
45
45
|
}
|
|
46
46
|
try {
|
|
47
|
-
const { row, table } = yield pro_1.quotas.addQuery(() => pickApi(tableId).patch(ctx)
|
|
47
|
+
const { row, table } = yield pro_1.quotas.addQuery(() => pickApi(tableId).patch(ctx), {
|
|
48
|
+
datasourceId: tableId,
|
|
49
|
+
});
|
|
48
50
|
ctx.status = 200;
|
|
49
51
|
ctx.eventEmitter &&
|
|
50
52
|
ctx.eventEmitter.emitRow(`row:update`, appId, row, table);
|
|
@@ -66,7 +68,9 @@ const save = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
66
68
|
return patch(ctx);
|
|
67
69
|
}
|
|
68
70
|
try {
|
|
69
|
-
const { row, table } = yield pro_1.quotas.addRow(() => pro_1.quotas.addQuery(() => pickApi(tableId).save(ctx)
|
|
71
|
+
const { row, table } = yield pro_1.quotas.addRow(() => pro_1.quotas.addQuery(() => pickApi(tableId).save(ctx), {
|
|
72
|
+
datasourceId: tableId,
|
|
73
|
+
}));
|
|
70
74
|
ctx.status = 200;
|
|
71
75
|
ctx.eventEmitter && ctx.eventEmitter.emitRow(`row:save`, appId, row, table);
|
|
72
76
|
ctx.message = `${table.name} saved successfully`;
|
|
@@ -81,7 +85,9 @@ function fetchView(ctx) {
|
|
|
81
85
|
return __awaiter(this, void 0, void 0, function* () {
|
|
82
86
|
const tableId = getTableId(ctx);
|
|
83
87
|
try {
|
|
84
|
-
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).fetchView(ctx)
|
|
88
|
+
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).fetchView(ctx), {
|
|
89
|
+
datasourceId: tableId,
|
|
90
|
+
});
|
|
85
91
|
}
|
|
86
92
|
catch (err) {
|
|
87
93
|
ctx.throw(400, err);
|
|
@@ -93,7 +99,9 @@ function fetch(ctx) {
|
|
|
93
99
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
100
|
const tableId = getTableId(ctx);
|
|
95
101
|
try {
|
|
96
|
-
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).fetch(ctx)
|
|
102
|
+
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).fetch(ctx), {
|
|
103
|
+
datasourceId: tableId,
|
|
104
|
+
});
|
|
97
105
|
}
|
|
98
106
|
catch (err) {
|
|
99
107
|
ctx.throw(400, err);
|
|
@@ -105,7 +113,9 @@ function find(ctx) {
|
|
|
105
113
|
return __awaiter(this, void 0, void 0, function* () {
|
|
106
114
|
const tableId = getTableId(ctx);
|
|
107
115
|
try {
|
|
108
|
-
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).find(ctx)
|
|
116
|
+
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).find(ctx), {
|
|
117
|
+
datasourceId: tableId,
|
|
118
|
+
});
|
|
109
119
|
}
|
|
110
120
|
catch (err) {
|
|
111
121
|
ctx.throw(400, err);
|
|
@@ -120,7 +130,9 @@ function destroy(ctx) {
|
|
|
120
130
|
const tableId = getTableId(ctx);
|
|
121
131
|
let response, row;
|
|
122
132
|
if (inputs.rows) {
|
|
123
|
-
let { rows } = yield pro_1.quotas.addQuery(() => pickApi(tableId).bulkDestroy(ctx)
|
|
133
|
+
let { rows } = yield pro_1.quotas.addQuery(() => pickApi(tableId).bulkDestroy(ctx), {
|
|
134
|
+
datasourceId: tableId,
|
|
135
|
+
});
|
|
124
136
|
yield pro_1.quotas.removeRows(rows.length);
|
|
125
137
|
response = rows;
|
|
126
138
|
for (let row of rows) {
|
|
@@ -128,7 +140,9 @@ function destroy(ctx) {
|
|
|
128
140
|
}
|
|
129
141
|
}
|
|
130
142
|
else {
|
|
131
|
-
let resp = yield pro_1.quotas.addQuery(() => pickApi(tableId).destroy(ctx)
|
|
143
|
+
let resp = yield pro_1.quotas.addQuery(() => pickApi(tableId).destroy(ctx), {
|
|
144
|
+
datasourceId: tableId,
|
|
145
|
+
});
|
|
132
146
|
yield pro_1.quotas.removeRow();
|
|
133
147
|
response = resp.response;
|
|
134
148
|
row = resp.row;
|
|
@@ -146,7 +160,9 @@ function search(ctx) {
|
|
|
146
160
|
const tableId = getTableId(ctx);
|
|
147
161
|
try {
|
|
148
162
|
ctx.status = 200;
|
|
149
|
-
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).search(ctx)
|
|
163
|
+
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).search(ctx), {
|
|
164
|
+
datasourceId: tableId,
|
|
165
|
+
});
|
|
150
166
|
}
|
|
151
167
|
catch (err) {
|
|
152
168
|
ctx.throw(400, err);
|
|
@@ -170,7 +186,9 @@ function fetchEnrichedRow(ctx) {
|
|
|
170
186
|
return __awaiter(this, void 0, void 0, function* () {
|
|
171
187
|
const tableId = getTableId(ctx);
|
|
172
188
|
try {
|
|
173
|
-
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).fetchEnrichedRow(ctx)
|
|
189
|
+
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).fetchEnrichedRow(ctx), {
|
|
190
|
+
datasourceId: tableId,
|
|
191
|
+
});
|
|
174
192
|
}
|
|
175
193
|
catch (err) {
|
|
176
194
|
ctx.throw(400, err);
|
|
@@ -181,7 +199,9 @@ exports.fetchEnrichedRow = fetchEnrichedRow;
|
|
|
181
199
|
const exportRows = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
182
200
|
const tableId = getTableId(ctx);
|
|
183
201
|
try {
|
|
184
|
-
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).exportRows(ctx)
|
|
202
|
+
ctx.body = yield pro_1.quotas.addQuery(() => pickApi(tableId).exportRows(ctx), {
|
|
203
|
+
datasourceId: tableId,
|
|
204
|
+
});
|
|
185
205
|
}
|
|
186
206
|
catch (err) {
|
|
187
207
|
ctx.throw(400, err);
|
|
@@ -142,7 +142,9 @@ function destroy(ctx) {
|
|
|
142
142
|
include_docs: true,
|
|
143
143
|
}));
|
|
144
144
|
yield db.bulkDocs(rows.rows.map((row) => (Object.assign(Object.assign({}, row.doc), { _deleted: true }))));
|
|
145
|
-
yield pro_1.quotas.removeRows(rows.rows.length
|
|
145
|
+
yield pro_1.quotas.removeRows(rows.rows.length, {
|
|
146
|
+
tableId: ctx.params.tableId,
|
|
147
|
+
});
|
|
146
148
|
// update linked rows
|
|
147
149
|
yield (0, linkedRows_1.updateLinks)({
|
|
148
150
|
eventType: linkedRows_1.EventType.TABLE_DELETE,
|
|
@@ -130,7 +130,9 @@ function handleDataImport(user, table, dataImport) {
|
|
|
130
130
|
}
|
|
131
131
|
finalData.push(row);
|
|
132
132
|
}
|
|
133
|
-
yield pro_1.quotas.addRows(finalData.length, () => db.bulkDocs(finalData)
|
|
133
|
+
yield pro_1.quotas.addRows(finalData.length, () => db.bulkDocs(finalData), {
|
|
134
|
+
tableId: table._id,
|
|
135
|
+
});
|
|
134
136
|
yield backend_core_1.events.rows.imported(table, "csv", finalData.length);
|
|
135
137
|
return table;
|
|
136
138
|
});
|
|
@@ -59,12 +59,14 @@ const jobMessage = (job, message) => {
|
|
|
59
59
|
function processEvent(job) {
|
|
60
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
61
|
try {
|
|
62
|
+
const automationId = job.data.automation._id;
|
|
62
63
|
console.log(jobMessage(job, "running"));
|
|
63
64
|
// need to actually await these so that an error can be captured properly
|
|
64
|
-
|
|
65
|
-
return yield backend_core_1.tenancy.doInTenant(tenantId, () => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
return yield backend_core_1.context.doInContext(job.data.event.appId, () => __awaiter(this, void 0, void 0, function* () {
|
|
66
66
|
const runFn = () => Runner.run(job);
|
|
67
|
-
return pro_1.quotas.addAutomation(runFn
|
|
67
|
+
return pro_1.quotas.addAutomation(runFn, {
|
|
68
|
+
automationId,
|
|
69
|
+
});
|
|
68
70
|
}));
|
|
69
71
|
}
|
|
70
72
|
catch (err) {
|
package/dist/db/utils.js
CHANGED
|
@@ -7,7 +7,7 @@ const AppStatus = {
|
|
|
7
7
|
ALL: "all",
|
|
8
8
|
DEPLOYED: "published",
|
|
9
9
|
};
|
|
10
|
-
const DocumentType = Object.assign(Object.assign({}, CoreDocTypes), { TABLE: "ta", ROW: "ro", USER: "us", AUTOMATION: "au", LINK: "li", WEBHOOK: "wh", INSTANCE: "inst", LAYOUT: "layout", SCREEN: "screen",
|
|
10
|
+
const DocumentType = Object.assign(Object.assign({}, CoreDocTypes), { TABLE: "ta", ROW: "ro", USER: "us", AUTOMATION: "au", LINK: "li", WEBHOOK: "wh", INSTANCE: "inst", LAYOUT: "layout", SCREEN: "screen", QUERY: "query", DEPLOYMENTS: "deployments", METADATA: "metadata", MEM_VIEW: "view", USER_FLAG: "flag", AUTOMATION_METADATA: "meta_au" });
|
|
11
11
|
const InternalTables = {
|
|
12
12
|
USER_METADATA: "ta_users",
|
|
13
13
|
};
|
|
@@ -36,19 +36,15 @@ exports.run = void 0;
|
|
|
36
36
|
const usageQuotas_1 = require("./usageQuotas");
|
|
37
37
|
const syncApps = __importStar(require("./usageQuotas/syncApps"));
|
|
38
38
|
const syncRows = __importStar(require("./usageQuotas/syncRows"));
|
|
39
|
+
const syncPlugins = __importStar(require("./usageQuotas/syncPlugins"));
|
|
39
40
|
/**
|
|
40
|
-
*
|
|
41
|
-
* January 2022
|
|
42
|
-
*
|
|
43
|
-
* Description:
|
|
44
|
-
* Synchronise the app and row quotas to the state of the db after it was
|
|
45
|
-
* discovered that the quota resets were still in place and the row quotas
|
|
46
|
-
* weren't being decremented correctly.
|
|
41
|
+
* Synchronise quotas to the state of the db.
|
|
47
42
|
*/
|
|
48
43
|
const run = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
44
|
yield (0, usageQuotas_1.runQuotaMigration)(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
50
45
|
yield syncApps.run();
|
|
51
46
|
yield syncRows.run();
|
|
47
|
+
yield syncPlugins.run();
|
|
52
48
|
}));
|
|
53
49
|
});
|
|
54
50
|
exports.run = run;
|
|
@@ -16,7 +16,6 @@ const pro_1 = require("@budibase/pro");
|
|
|
16
16
|
const types_1 = require("@budibase/types");
|
|
17
17
|
const run = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
18
|
// get app count
|
|
19
|
-
// @ts-ignore
|
|
20
19
|
const devApps = yield (0, db_1.getAllApps)({ dev: true });
|
|
21
20
|
const appCount = devApps ? devApps.length : 0;
|
|
22
21
|
// sync app count
|
|
@@ -14,9 +14,7 @@ const backend_core_1 = require("@budibase/backend-core");
|
|
|
14
14
|
const pro_1 = require("@budibase/pro");
|
|
15
15
|
const run = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
16
|
try {
|
|
17
|
-
yield
|
|
18
|
-
yield pro_1.plugins.checkPluginQuotas();
|
|
19
|
-
}));
|
|
17
|
+
yield pro_1.plugins.checkPluginQuotas();
|
|
20
18
|
}
|
|
21
19
|
catch (err) {
|
|
22
20
|
backend_core_1.logging.logAlert("Failed to update plugin quotas", err);
|
|
@@ -17,15 +17,19 @@ const pro_1 = require("@budibase/pro");
|
|
|
17
17
|
const types_1 = require("@budibase/types");
|
|
18
18
|
const run = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
19
|
// get all rows in all apps
|
|
20
|
-
// @ts-ignore
|
|
21
20
|
const allApps = yield (0, db_1.getAllApps)({ all: true });
|
|
22
|
-
// @ts-ignore
|
|
23
21
|
const appIds = allApps ? allApps.map((app) => app.appId) : [];
|
|
24
|
-
const
|
|
25
|
-
|
|
22
|
+
const { appRows } = yield (0, rows_1.getUniqueRows)(appIds);
|
|
23
|
+
// get the counts per app
|
|
24
|
+
const counts = {};
|
|
25
|
+
let rowCount = 0;
|
|
26
|
+
Object.entries(appRows).forEach(([appId, rows]) => {
|
|
27
|
+
counts[appId] = rows.length;
|
|
28
|
+
rowCount += rows.length;
|
|
29
|
+
});
|
|
26
30
|
// sync row count
|
|
27
31
|
const tenantId = (0, tenancy_1.getTenantId)();
|
|
28
32
|
console.log(`[Tenant: ${tenantId}] Syncing row count: ${rowCount}`);
|
|
29
|
-
yield pro_1.quotas.
|
|
33
|
+
yield pro_1.quotas.setUsagePerApp(counts, types_1.StaticQuotaName.ROWS, types_1.QuotaUsageType.STATIC);
|
|
30
34
|
});
|
|
31
35
|
exports.run = run;
|
package/dist/migrations/index.js
CHANGED
|
@@ -41,10 +41,9 @@ const types_1 = require("@budibase/types");
|
|
|
41
41
|
const environment_1 = __importDefault(require("../environment"));
|
|
42
42
|
// migration functions
|
|
43
43
|
const userEmailViewCasing = __importStar(require("./functions/userEmailViewCasing"));
|
|
44
|
-
const
|
|
44
|
+
const syncQuotas = __importStar(require("./functions/syncQuotas"));
|
|
45
45
|
const appUrls = __importStar(require("./functions/appUrls"));
|
|
46
46
|
const backfill = __importStar(require("./functions/backfill"));
|
|
47
|
-
const pluginCount = __importStar(require("./functions/pluginCount"));
|
|
48
47
|
/**
|
|
49
48
|
* Populate the migration function and additional configuration from
|
|
50
49
|
* the static migration definitions.
|
|
@@ -58,8 +57,8 @@ const buildMigrations = () => {
|
|
|
58
57
|
serverMigrations.push(Object.assign(Object.assign({}, definition), { fn: userEmailViewCasing.run }));
|
|
59
58
|
break;
|
|
60
59
|
}
|
|
61
|
-
case types_1.MigrationName.
|
|
62
|
-
serverMigrations.push(Object.assign(Object.assign({}, definition), { fn:
|
|
60
|
+
case types_1.MigrationName.SYNC_QUOTAS: {
|
|
61
|
+
serverMigrations.push(Object.assign(Object.assign({}, definition), { fn: syncQuotas.run }));
|
|
63
62
|
break;
|
|
64
63
|
}
|
|
65
64
|
case types_1.MigrationName.APP_URLS: {
|
|
@@ -78,11 +77,6 @@ const buildMigrations = () => {
|
|
|
78
77
|
serverMigrations.push(Object.assign(Object.assign({}, definition), { fn: backfill.installation.run, silent: !!environment_1.default.SELF_HOSTED, preventRetry: !!environment_1.default.SELF_HOSTED }));
|
|
79
78
|
break;
|
|
80
79
|
}
|
|
81
|
-
case types_1.MigrationName.PLUGIN_COUNT: {
|
|
82
|
-
if (environment_1.default.SELF_HOSTED) {
|
|
83
|
-
serverMigrations.push(Object.assign(Object.assign({}, definition), { fn: pluginCount.run, silent: !!environment_1.default.SELF_HOSTED, preventRetry: false }));
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
80
|
}
|
|
87
81
|
}
|
|
88
82
|
return serverMigrations;
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/server",
|
|
3
3
|
"email": "hi@budibase.com",
|
|
4
|
-
"version": "2.0.7-alpha.
|
|
4
|
+
"version": "2.0.7-alpha.1",
|
|
5
5
|
"description": "Budibase Web Server",
|
|
6
6
|
"main": "src/index.ts",
|
|
7
7
|
"repository": {
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
"license": "GPL-3.0",
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@apidevtools/swagger-parser": "10.0.3",
|
|
80
|
-
"@budibase/backend-core": "2.0.7-alpha.
|
|
81
|
-
"@budibase/client": "2.0.7-alpha.
|
|
82
|
-
"@budibase/pro": "2.0.7-alpha.
|
|
83
|
-
"@budibase/string-templates": "2.0.7-alpha.
|
|
84
|
-
"@budibase/types": "2.0.7-alpha.
|
|
80
|
+
"@budibase/backend-core": "2.0.7-alpha.1",
|
|
81
|
+
"@budibase/client": "2.0.7-alpha.1",
|
|
82
|
+
"@budibase/pro": "2.0.7-alpha.1",
|
|
83
|
+
"@budibase/string-templates": "2.0.7-alpha.1",
|
|
84
|
+
"@budibase/types": "2.0.7-alpha.1",
|
|
85
85
|
"@bull-board/api": "3.7.0",
|
|
86
86
|
"@bull-board/koa": "3.9.4",
|
|
87
87
|
"@elastic/elasticsearch": "7.10.0",
|