@budibase/server 1.3.19-alpha.0 → 1.3.19-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.8f621053.css +6 -0
- package/builder/assets/{index.fdade753.js → index.bd4753ac.js} +366 -356
- package/builder/index.html +2 -2
- package/coverage/clover.xml +47 -37
- package/coverage/coverage-final.json +4 -4
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +41 -8
- 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/component.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 +17 -17
- 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 +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
- 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 +2 -2
- 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/auth.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 +9 -9
- package/coverage/lcov-report/api/routes/utils/validators.js.html +71 -11
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +1 -1
- package/coverage/lcov-report/events/AutomationEmitter.js.html +3 -3
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +29 -29
- 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 +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +14 -8
- package/coverage/lcov-report/middleware/index.html +15 -15
- 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 +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- 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 +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- 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 +73 -54
- package/dist/api/controllers/application.js +0 -1
- package/dist/api/controllers/auth.js +9 -0
- package/dist/api/controllers/deploy/index.js +1 -8
- package/dist/api/controllers/plugin/index.js +3 -0
- package/dist/api/index.js +1 -1
- package/dist/api/routes/application.js +1 -1
- package/dist/api/routes/utils/validators.js +19 -2
- package/dist/middleware/currentapp.js +2 -0
- package/dist/migrations/functions/backfill/global.js +0 -3
- package/dist/migrations/index.js +0 -10
- package/dist/package.json +6 -6
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/scripts/localdomain.js +3 -1
- package/src/api/controllers/application.ts +0 -1
- package/src/api/controllers/auth.js +11 -0
- package/src/api/controllers/deploy/index.ts +1 -6
- package/src/api/controllers/plugin/index.ts +8 -5
- package/src/api/controllers/static/index.ts +0 -1
- package/src/api/index.js +1 -1
- package/src/api/routes/application.ts +1 -1
- package/src/api/routes/tests/user.spec.js +0 -2
- package/src/api/routes/utils/validators.js +25 -5
- package/src/middleware/currentapp.js +2 -0
- package/src/migrations/functions/backfill/global.ts +0 -3
- package/src/migrations/index.ts +0 -16
- package/builder/assets/index.3850883f.css +0 -6
- package/dist/migrations/functions/developerQuota.js +0 -49
- package/dist/migrations/functions/publishedAppsQuota.js +0 -47
- package/dist/migrations/functions/usageQuotas/syncDevelopers.js +0 -24
- package/dist/migrations/functions/usageQuotas/syncPublishedApps.js +0 -26
- package/src/migrations/functions/developerQuota.ts +0 -15
- package/src/migrations/functions/publishedAppsQuota.ts +0 -13
- package/src/migrations/functions/usageQuotas/syncDevelopers.ts +0 -19
- package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +0 -21
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/server",
|
|
3
3
|
"email": "hi@budibase.com",
|
|
4
|
-
"version": "1.3.19-alpha.
|
|
4
|
+
"version": "1.3.19-alpha.2",
|
|
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": "1.3.19-alpha.
|
|
81
|
-
"@budibase/client": "1.3.19-alpha.
|
|
82
|
-
"@budibase/pro": "1.3.
|
|
83
|
-
"@budibase/string-templates": "1.3.19-alpha.
|
|
84
|
-
"@budibase/types": "1.3.19-alpha.
|
|
80
|
+
"@budibase/backend-core": "1.3.19-alpha.2",
|
|
81
|
+
"@budibase/client": "1.3.19-alpha.2",
|
|
82
|
+
"@budibase/pro": "1.3.19-alpha.1",
|
|
83
|
+
"@budibase/string-templates": "1.3.19-alpha.2",
|
|
84
|
+
"@budibase/types": "1.3.19-alpha.2",
|
|
85
85
|
"@bull-board/api": "3.7.0",
|
|
86
86
|
"@bull-board/koa": "3.9.4",
|
|
87
87
|
"@elastic/elasticsearch": "7.10.0",
|
|
@@ -199,5 +199,5 @@
|
|
|
199
199
|
"optionalDependencies": {
|
|
200
200
|
"oracledb": "5.3.0"
|
|
201
201
|
},
|
|
202
|
-
"gitHead": "
|
|
202
|
+
"gitHead": "6c8550e2fb5c824819ee6f5b4fa432219efe45e4"
|
|
203
203
|
}
|
package/scripts/localdomain.js
CHANGED
|
@@ -17,6 +17,8 @@ const arg = process.argv.slice(2)[0]
|
|
|
17
17
|
*/
|
|
18
18
|
updateDotEnv({
|
|
19
19
|
ACCOUNT_PORTAL_URL:
|
|
20
|
-
arg === "enable"
|
|
20
|
+
arg === "enable"
|
|
21
|
+
? "http://account.local.com:10001"
|
|
22
|
+
: "http://localhost:10001",
|
|
21
23
|
COOKIE_DOMAIN: arg === "enable" ? ".local.com" : "",
|
|
22
24
|
}).then(() => console.log("Updated worker!"))
|
|
@@ -4,6 +4,15 @@ const { getFullUser } = require("../../utilities/users")
|
|
|
4
4
|
const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
|
|
5
5
|
const { getAppDB, getAppId } = require("@budibase/backend-core/context")
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Add the attributes that are session based to the current user.
|
|
9
|
+
*/
|
|
10
|
+
const addSessionAttributesToUser = ctx => {
|
|
11
|
+
if (ctx.user) {
|
|
12
|
+
ctx.body.license = ctx.user.license
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
7
16
|
exports.fetchSelf = async ctx => {
|
|
8
17
|
let userId = ctx.user.userId || ctx.user._id
|
|
9
18
|
/* istanbul ignore next */
|
|
@@ -55,4 +64,6 @@ exports.fetchSelf = async ctx => {
|
|
|
55
64
|
} else {
|
|
56
65
|
ctx.body = user
|
|
57
66
|
}
|
|
67
|
+
|
|
68
|
+
addSessionAttributesToUser(ctx)
|
|
58
69
|
}
|
|
@@ -206,12 +206,7 @@ const _deployApp = async function (ctx: any) {
|
|
|
206
206
|
|
|
207
207
|
console.log("Deploying app...")
|
|
208
208
|
|
|
209
|
-
let app
|
|
210
|
-
if (await isFirstDeploy()) {
|
|
211
|
-
app = await quotas.addPublishedApp(() => deployApp(deployment))
|
|
212
|
-
} else {
|
|
213
|
-
app = await deployApp(deployment)
|
|
214
|
-
}
|
|
209
|
+
let app = await deployApp(deployment)
|
|
215
210
|
|
|
216
211
|
await events.app.published(app)
|
|
217
212
|
ctx.body = deployment
|
|
@@ -8,9 +8,10 @@ import {
|
|
|
8
8
|
uploadDirectory,
|
|
9
9
|
deleteFolder,
|
|
10
10
|
} from "@budibase/backend-core/objectStore"
|
|
11
|
-
import { PluginType, FileType, PluginSource } from "@budibase/types"
|
|
11
|
+
import { PluginType, FileType, PluginSource, Plugin } from "@budibase/types"
|
|
12
12
|
import env from "../../../environment"
|
|
13
13
|
import { ClientAppSocket } from "../../../websocket"
|
|
14
|
+
import { events } from "@budibase/backend-core"
|
|
14
15
|
|
|
15
16
|
export async function getPlugins(type?: PluginType) {
|
|
16
17
|
const db = getGlobalDB()
|
|
@@ -113,11 +114,12 @@ export async function destroy(ctx: any) {
|
|
|
113
114
|
const { pluginId } = ctx.params
|
|
114
115
|
|
|
115
116
|
try {
|
|
116
|
-
const plugin = await db.get(pluginId)
|
|
117
|
+
const plugin: Plugin = await db.get(pluginId)
|
|
117
118
|
const bucketPath = `${plugin.name}/`
|
|
118
119
|
await deleteFolder(ObjectStoreBuckets.PLUGINS, bucketPath)
|
|
119
120
|
|
|
120
121
|
await db.remove(pluginId, plugin._rev)
|
|
122
|
+
await events.plugin.deleted(plugin)
|
|
121
123
|
} catch (err: any) {
|
|
122
124
|
const errMsg = err?.message ? err?.message : err
|
|
123
125
|
|
|
@@ -131,7 +133,7 @@ export async function destroy(ctx: any) {
|
|
|
131
133
|
export async function storePlugin(
|
|
132
134
|
metadata: any,
|
|
133
135
|
directory: any,
|
|
134
|
-
source?:
|
|
136
|
+
source?: PluginSource
|
|
135
137
|
) {
|
|
136
138
|
const db = getGlobalDB()
|
|
137
139
|
const version = metadata.package.version,
|
|
@@ -173,7 +175,7 @@ export async function storePlugin(
|
|
|
173
175
|
} catch (err) {
|
|
174
176
|
rev = undefined
|
|
175
177
|
}
|
|
176
|
-
let doc = {
|
|
178
|
+
let doc: Plugin = {
|
|
177
179
|
_id: pluginId,
|
|
178
180
|
_rev: rev,
|
|
179
181
|
...metadata,
|
|
@@ -192,6 +194,7 @@ export async function storePlugin(
|
|
|
192
194
|
}
|
|
193
195
|
|
|
194
196
|
const response = await db.put(doc)
|
|
197
|
+
await events.plugin.imported(doc)
|
|
195
198
|
ClientAppSocket.emit("plugin-update", { name, hash })
|
|
196
199
|
return {
|
|
197
200
|
...doc,
|
|
@@ -199,7 +202,7 @@ export async function storePlugin(
|
|
|
199
202
|
}
|
|
200
203
|
}
|
|
201
204
|
|
|
202
|
-
export async function processPlugin(plugin: FileType, source?:
|
|
205
|
+
export async function processPlugin(plugin: FileType, source?: PluginSource) {
|
|
203
206
|
const { metadata, directory } = await fileUpload(plugin)
|
|
204
207
|
validate(metadata?.schema)
|
|
205
208
|
|
|
@@ -18,7 +18,6 @@ const { DocumentType } = require("../../../db/utils")
|
|
|
18
18
|
const { getAppDB, getAppId } = require("@budibase/backend-core/context")
|
|
19
19
|
const { setCookie, clearCookie } = require("@budibase/backend-core/utils")
|
|
20
20
|
const AWS = require("aws-sdk")
|
|
21
|
-
|
|
22
21
|
const fs = require("fs")
|
|
23
22
|
const {
|
|
24
23
|
downloadTarballDirect,
|
package/src/api/index.js
CHANGED
|
@@ -23,7 +23,6 @@ describe("/users", () => {
|
|
|
23
23
|
})
|
|
24
24
|
|
|
25
25
|
describe("fetch", () => {
|
|
26
|
-
|
|
27
26
|
it("returns a list of users from an instance db", async () => {
|
|
28
27
|
await config.createUser("uuidx")
|
|
29
28
|
await config.createUser("uuidy")
|
|
@@ -38,7 +37,6 @@ describe("/users", () => {
|
|
|
38
37
|
expect(res.body.find(u => u._id === `ro_ta_users_us_uuidy`)).toBeDefined()
|
|
39
38
|
})
|
|
40
39
|
|
|
41
|
-
|
|
42
40
|
it("should apply authorization to endpoint", async () => {
|
|
43
41
|
await config.createUser()
|
|
44
42
|
await checkPermissionsEndpoint({
|
|
@@ -210,15 +210,35 @@ exports.automationValidator = (existing = false) => {
|
|
|
210
210
|
}).unknown(true))
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
exports.applicationValidator = () => {
|
|
213
|
+
exports.applicationValidator = (opts = { isCreate: true }) => {
|
|
214
214
|
// prettier-ignore
|
|
215
|
-
|
|
215
|
+
const base = {
|
|
216
216
|
_id: OPTIONAL_STRING,
|
|
217
217
|
_rev: OPTIONAL_STRING,
|
|
218
|
-
name: Joi.string().pattern(new RegExp(APP_NAME_REGEX)).required().error(new Error('App name must be letters, numbers and spaces only')),
|
|
219
218
|
url: OPTIONAL_STRING,
|
|
220
219
|
template: Joi.object({
|
|
221
220
|
templateString: OPTIONAL_STRING,
|
|
222
|
-
})
|
|
223
|
-
}
|
|
221
|
+
})
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
const appNameValidator = Joi.string()
|
|
225
|
+
.pattern(new RegExp(APP_NAME_REGEX))
|
|
226
|
+
.error(new Error("App name must be letters, numbers and spaces only"))
|
|
227
|
+
if (opts.isCreate) {
|
|
228
|
+
base.name = appNameValidator.required()
|
|
229
|
+
} else {
|
|
230
|
+
base.name = appNameValidator.optional()
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
return joiValidator.body(
|
|
234
|
+
Joi.object({
|
|
235
|
+
_id: OPTIONAL_STRING,
|
|
236
|
+
_rev: OPTIONAL_STRING,
|
|
237
|
+
name: appNameValidator,
|
|
238
|
+
url: OPTIONAL_STRING,
|
|
239
|
+
template: Joi.object({
|
|
240
|
+
templateString: OPTIONAL_STRING,
|
|
241
|
+
}).unknown(true),
|
|
242
|
+
}).unknown(true)
|
|
243
|
+
)
|
|
224
244
|
}
|
|
@@ -111,12 +111,14 @@ module.exports = async (ctx, next) => {
|
|
|
111
111
|
ctx.appId = appId
|
|
112
112
|
if (roleId) {
|
|
113
113
|
ctx.roleId = roleId
|
|
114
|
+
const globalId = ctx.user ? ctx.user._id : undefined
|
|
114
115
|
const userId = ctx.user ? generateUserMetadataID(ctx.user._id) : null
|
|
115
116
|
ctx.user = {
|
|
116
117
|
...ctx.user,
|
|
117
118
|
// override userID with metadata one
|
|
118
119
|
_id: userId,
|
|
119
120
|
userId,
|
|
121
|
+
globalId,
|
|
120
122
|
roleId,
|
|
121
123
|
role: await getRole(roleId),
|
|
122
124
|
}
|
|
@@ -35,12 +35,10 @@ const formatUsage = (usage: QuotaUsage) => {
|
|
|
35
35
|
let maxAutomations = 0
|
|
36
36
|
let maxQueries = 0
|
|
37
37
|
let rows = 0
|
|
38
|
-
let developers = 0
|
|
39
38
|
|
|
40
39
|
if (usage) {
|
|
41
40
|
if (usage.usageQuota) {
|
|
42
41
|
rows = usage.usageQuota.rows
|
|
43
|
-
developers = usage.usageQuota.developers
|
|
44
42
|
}
|
|
45
43
|
|
|
46
44
|
if (usage.monthly) {
|
|
@@ -59,7 +57,6 @@ const formatUsage = (usage: QuotaUsage) => {
|
|
|
59
57
|
maxAutomations,
|
|
60
58
|
maxQueries,
|
|
61
59
|
rows,
|
|
62
|
-
developers,
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
62
|
|
package/src/migrations/index.ts
CHANGED
|
@@ -6,8 +6,6 @@ import env from "../environment"
|
|
|
6
6
|
import * as userEmailViewCasing from "./functions/userEmailViewCasing"
|
|
7
7
|
import * as quota1 from "./functions/quotas1"
|
|
8
8
|
import * as appUrls from "./functions/appUrls"
|
|
9
|
-
import * as developerQuota from "./functions/developerQuota"
|
|
10
|
-
import * as publishedAppsQuota from "./functions/publishedAppsQuota"
|
|
11
9
|
import * as backfill from "./functions/backfill"
|
|
12
10
|
|
|
13
11
|
/**
|
|
@@ -42,20 +40,6 @@ export const buildMigrations = () => {
|
|
|
42
40
|
})
|
|
43
41
|
break
|
|
44
42
|
}
|
|
45
|
-
case MigrationName.DEVELOPER_QUOTA: {
|
|
46
|
-
serverMigrations.push({
|
|
47
|
-
...definition,
|
|
48
|
-
fn: developerQuota.run,
|
|
49
|
-
})
|
|
50
|
-
break
|
|
51
|
-
}
|
|
52
|
-
case MigrationName.PUBLISHED_APP_QUOTA: {
|
|
53
|
-
serverMigrations.push({
|
|
54
|
-
...definition,
|
|
55
|
-
fn: publishedAppsQuota.run,
|
|
56
|
-
})
|
|
57
|
-
break
|
|
58
|
-
}
|
|
59
43
|
case MigrationName.EVENT_APP_BACKFILL: {
|
|
60
44
|
serverMigrations.push({
|
|
61
45
|
...definition,
|