@budibase/worker 2.2.12-alpha.3 → 2.2.12-alpha.31
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/coverage/clover.xml +412 -467
- package/coverage/coverage-final.json +81 -81
- package/coverage/lcov-report/index.html +124 -124
- package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +33 -33
- package/coverage/lcov-report/src/api/controllers/global/configs.ts.html +20 -20
- package/coverage/lcov-report/src/api/controllers/global/email.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/global/index.html +49 -49
- package/coverage/lcov-report/src/api/controllers/global/license.ts.html +10 -10
- package/coverage/lcov-report/src/api/controllers/global/roles.ts.html +5 -5
- package/coverage/lcov-report/src/api/controllers/global/self.ts.html +10 -10
- package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +5 -5
- package/coverage/lcov-report/src/api/controllers/global/users.ts.html +17 -17
- package/coverage/lcov-report/src/api/controllers/global/workspaces.ts.html +4 -4
- package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/environment.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/index.html +11 -11
- package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +1 -1
- package/coverage/lcov-report/src/api/controllers/system/status.ts.html +2 -2
- package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +3 -3
- package/coverage/lcov-report/src/api/index.html +1 -1
- package/coverage/lcov-report/src/api/index.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/auth.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/configs.ts.html +10 -10
- package/coverage/lcov-report/src/api/routes/global/email.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/index.html +21 -21
- package/coverage/lcov-report/src/api/routes/global/license.ts.html +3 -3
- package/coverage/lcov-report/src/api/routes/global/roles.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/self.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/templates.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/users.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/global/workspaces.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/index.html +5 -5
- package/coverage/lcov-report/src/api/routes/index.ts.html +3 -3
- package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/environment.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/index.html +15 -15
- package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/restore.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/status.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/system/tenants.ts.html +4 -4
- package/coverage/lcov-report/src/api/routes/validation/index.html +3 -3
- package/coverage/lcov-report/src/api/routes/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/api/routes/validation/users.ts.html +3 -3
- package/coverage/lcov-report/src/constants/index.html +15 -15
- package/coverage/lcov-report/src/constants/index.ts.html +43 -43
- package/coverage/lcov-report/src/constants/templates/index.html +15 -15
- package/coverage/lcov-report/src/constants/templates/index.ts.html +14 -14
- package/coverage/lcov-report/src/db/index.html +3 -3
- package/coverage/lcov-report/src/db/index.ts.html +4 -4
- package/coverage/lcov-report/src/environment.ts.html +19 -19
- package/coverage/lcov-report/src/index.html +27 -27
- package/coverage/lcov-report/src/index.ts.html +19 -16
- package/coverage/lcov-report/src/middleware/cloudRestricted.ts.html +2 -2
- package/coverage/lcov-report/src/middleware/index.html +1 -1
- package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +7 -7
- package/coverage/lcov-report/src/migrations/functions/index.html +11 -11
- package/coverage/lcov-report/src/migrations/index.html +15 -15
- package/coverage/lcov-report/src/migrations/index.ts.html +12 -12
- package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +9 -9
- package/coverage/lcov-report/src/sdk/accounts/index.html +13 -13
- package/coverage/lcov-report/src/sdk/accounts/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/index.html +5 -5
- package/coverage/lcov-report/src/sdk/index.ts.html +4 -4
- package/coverage/lcov-report/src/sdk/users/events.ts.html +16 -16
- package/coverage/lcov-report/src/sdk/users/index.html +29 -29
- package/coverage/lcov-report/src/sdk/users/index.ts.html +1 -1
- package/coverage/lcov-report/src/sdk/users/users.ts.html +49 -43
- package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +26 -26
- package/coverage/lcov-report/src/tests/api/accounts.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/auth.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/base.ts.html +3 -3
- package/coverage/lcov-report/src/tests/api/configs.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/email.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/environment.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/groups.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/index.html +42 -42
- package/coverage/lcov-report/src/tests/api/index.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/license.ts.html +7 -7
- package/coverage/lcov-report/src/tests/api/migrations.ts.html +3 -3
- package/coverage/lcov-report/src/tests/api/restore.ts.html +3 -3
- package/coverage/lcov-report/src/tests/api/roles.ts.html +7 -7
- package/coverage/lcov-report/src/tests/api/self.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/status.ts.html +2 -2
- package/coverage/lcov-report/src/tests/api/templates.ts.html +10 -10
- package/coverage/lcov-report/src/tests/api/tenants.ts.html +6 -6
- package/coverage/lcov-report/src/tests/api/users.ts.html +9 -9
- package/coverage/lcov-report/src/tests/controllers.ts.html +11 -11
- package/coverage/lcov-report/src/tests/index.html +34 -34
- package/coverage/lcov-report/src/tests/index.ts.html +15 -51
- package/coverage/lcov-report/src/tests/mocks/email.ts.html +2 -2
- package/coverage/lcov-report/src/tests/mocks/index.html +5 -5
- package/coverage/lcov-report/src/tests/mocks/index.ts.html +5 -5
- package/coverage/lcov-report/src/tests/structures/configs.ts.html +7 -7
- package/coverage/lcov-report/src/tests/structures/groups.ts.html +2 -2
- package/coverage/lcov-report/src/tests/structures/index.html +15 -15
- package/coverage/lcov-report/src/tests/structures/index.ts.html +10 -10
- package/coverage/lcov-report/src/tests/structures/users.ts.html +8 -8
- package/coverage/lcov-report/src/utilities/appService.ts.html +38 -11
- package/coverage/lcov-report/src/utilities/email.ts.html +17 -17
- package/coverage/lcov-report/src/utilities/fileSystem.ts.html +2 -2
- package/coverage/lcov-report/src/utilities/index.html +27 -27
- package/coverage/lcov-report/src/utilities/index.ts.html +2 -2
- package/coverage/lcov-report/src/utilities/redis.ts.html +14 -14
- package/coverage/lcov-report/src/utilities/templates.ts.html +3 -3
- package/coverage/lcov-report/src/utilities/users.ts.html +2 -2
- package/coverage/lcov.info +1524 -1561
- package/jest.config.ts +5 -2
- package/package.json +8 -6
- package/src/api/controllers/global/auth.ts +1 -1
- package/src/api/routes/global/auth.ts +1 -1
- package/src/api/routes/global/configs.ts +7 -7
- package/src/api/routes/global/email.ts +1 -1
- package/src/api/routes/global/roles.ts +1 -1
- package/src/api/routes/global/self.ts +1 -1
- package/src/api/routes/global/templates.ts +1 -1
- package/src/api/routes/global/tests/templates.spec.ts +0 -8
- package/src/api/routes/global/users.ts +1 -1
- package/src/api/routes/global/workspaces.ts +1 -1
- package/src/api/routes/system/accounts.ts +1 -1
- package/src/api/routes/system/environment.ts +1 -1
- package/src/api/routes/system/migrations.ts +1 -1
- package/src/api/routes/system/restore.ts +1 -1
- package/src/api/routes/system/status.ts +1 -1
- package/src/api/routes/system/tenants.ts +1 -1
- package/src/api/routes/system/tests/environment.spec.ts +1 -1
- package/src/db/index.ts +1 -1
- package/src/environment.ts +1 -1
- package/src/index.ts +4 -3
- package/src/middleware/cloudRestricted.ts +1 -1
- package/src/sdk/users/users.ts +5 -3
- package/src/tests/TestConfiguration.ts +2 -2
- package/src/tests/api/users.ts +1 -1
- package/src/tests/index.ts +6 -18
- package/src/tests/jestEnv.ts +11 -0
- package/src/tests/jestSetup.ts +0 -14
- package/src/tests/mocks/index.ts +1 -1
- package/src/tests/structures/index.ts +4 -4
- package/src/utilities/appService.ts +12 -3
package/jest.config.ts
CHANGED
|
@@ -2,11 +2,14 @@ import { Config } from "@jest/types"
|
|
|
2
2
|
import * as fs from "fs"
|
|
3
3
|
|
|
4
4
|
const config: Config.InitialOptions = {
|
|
5
|
-
preset: "ts-jest",
|
|
6
5
|
testEnvironment: "node",
|
|
7
|
-
setupFiles: ["./src/tests/
|
|
6
|
+
setupFiles: ["./src/tests/jestEnv.ts"],
|
|
7
|
+
setupFilesAfterEnv: ["./src/tests/jestSetup.ts"],
|
|
8
8
|
collectCoverageFrom: ["src/**/*.{js,ts}"],
|
|
9
9
|
coverageReporters: ["lcov", "json", "clover"],
|
|
10
|
+
transform: {
|
|
11
|
+
"^.+\\.ts?$": "@swc/jest",
|
|
12
|
+
},
|
|
10
13
|
}
|
|
11
14
|
|
|
12
15
|
if (!process.env.CI) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/worker",
|
|
3
3
|
"email": "hi@budibase.com",
|
|
4
|
-
"version": "2.2.12-alpha.
|
|
4
|
+
"version": "2.2.12-alpha.31",
|
|
5
5
|
"description": "Budibase background service",
|
|
6
6
|
"main": "src/index.ts",
|
|
7
7
|
"repository": {
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"author": "Budibase",
|
|
37
37
|
"license": "GPL-3.0",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@budibase/backend-core": "2.2.12-alpha.
|
|
40
|
-
"@budibase/pro": "2.2.12-alpha.
|
|
41
|
-
"@budibase/string-templates": "2.2.12-alpha.
|
|
42
|
-
"@budibase/types": "2.2.12-alpha.
|
|
39
|
+
"@budibase/backend-core": "2.2.12-alpha.31",
|
|
40
|
+
"@budibase/pro": "2.2.12-alpha.30",
|
|
41
|
+
"@budibase/string-templates": "2.2.12-alpha.31",
|
|
42
|
+
"@budibase/types": "2.2.12-alpha.31",
|
|
43
43
|
"@koa/router": "8.0.8",
|
|
44
44
|
"@sentry/node": "6.17.7",
|
|
45
45
|
"@techpass/passport-openidconnect": "0.3.2",
|
|
@@ -70,6 +70,8 @@
|
|
|
70
70
|
"server-destroy": "1.0.1"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
|
+
"@swc/core": "^1.3.25",
|
|
74
|
+
"@swc/jest": "^0.2.24",
|
|
73
75
|
"@types/jest": "26.0.23",
|
|
74
76
|
"@types/jsonwebtoken": "8.5.1",
|
|
75
77
|
"@types/koa": "2.13.4",
|
|
@@ -95,5 +97,5 @@
|
|
|
95
97
|
"typescript": "4.7.3",
|
|
96
98
|
"update-dotenv": "1.1.1"
|
|
97
99
|
},
|
|
98
|
-
"gitHead": "
|
|
100
|
+
"gitHead": "f06b539fceaa40c8e8e95d206212b3fc41989cff"
|
|
99
101
|
}
|
|
@@ -13,7 +13,7 @@ import { isEmailConfigured, sendEmail } from "../../../utilities/email"
|
|
|
13
13
|
import { checkResetPasswordCode } from "../../../utilities/redis"
|
|
14
14
|
import env from "../../../environment"
|
|
15
15
|
import sdk from "../../../sdk"
|
|
16
|
-
import {
|
|
16
|
+
import { ConfigType, User } from "@budibase/types"
|
|
17
17
|
|
|
18
18
|
const { setCookie, getCookie, clearCookie, hash, platformLogout } = utils
|
|
19
19
|
const { Cookie, Header } = constants
|
|
@@ -34,8 +34,8 @@ function settingValidation() {
|
|
|
34
34
|
function googleValidation() {
|
|
35
35
|
// prettier-ignore
|
|
36
36
|
return Joi.object({
|
|
37
|
-
clientID: Joi.string().required(),
|
|
38
|
-
clientSecret: Joi.string().required(),
|
|
37
|
+
clientID: Joi.when('activated', { is: true, then: Joi.string().required() }),
|
|
38
|
+
clientSecret: Joi.when('activated', { is: true, then: Joi.string().required() }),
|
|
39
39
|
activated: Joi.boolean().required(),
|
|
40
40
|
}).unknown(true)
|
|
41
41
|
}
|
|
@@ -45,12 +45,12 @@ function oidcValidation() {
|
|
|
45
45
|
return Joi.object({
|
|
46
46
|
configs: Joi.array().items(
|
|
47
47
|
Joi.object({
|
|
48
|
-
clientID: Joi.string().required(),
|
|
49
|
-
clientSecret: Joi.string().required(),
|
|
50
|
-
configUrl: Joi.string().required(),
|
|
48
|
+
clientID: Joi.when('activated', { is: true, then: Joi.string().required() }),
|
|
49
|
+
clientSecret: Joi.when('activated', { is: true, then: Joi.string().required() }),
|
|
50
|
+
configUrl: Joi.when('activated', { is: true, then: Joi.string().required() }),
|
|
51
51
|
logo: Joi.string().allow("", null),
|
|
52
52
|
name: Joi.string().allow("", null),
|
|
53
|
-
uuid: Joi.string().required(),
|
|
53
|
+
uuid: Joi.when('activated', { is: true, then: Joi.string().required() }),
|
|
54
54
|
activated: Joi.boolean().required(),
|
|
55
55
|
scopes: Joi.array().optional()
|
|
56
56
|
})
|
|
@@ -121,4 +121,4 @@ router
|
|
|
121
121
|
controller.upload
|
|
122
122
|
)
|
|
123
123
|
|
|
124
|
-
export
|
|
124
|
+
export default router
|
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
addBaseTemplates,
|
|
3
|
-
EmailTemplates,
|
|
4
|
-
getTemplates,
|
|
5
|
-
} from "../../../../constants/templates"
|
|
6
1
|
import {
|
|
7
2
|
EmailTemplatePurpose,
|
|
8
3
|
TemplateMetadata,
|
|
9
|
-
TemplateMetadataNames,
|
|
10
4
|
TemplateType,
|
|
11
5
|
} from "../../../../constants"
|
|
12
6
|
import { TestConfiguration } from "../../../../tests"
|
|
13
|
-
import { join } from "path"
|
|
14
|
-
import { readStaticFile } from "../../../../../src/utilities/fileSystem"
|
|
15
7
|
|
|
16
8
|
// TODO
|
|
17
9
|
|
package/src/db/index.ts
CHANGED
package/src/environment.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -14,7 +14,7 @@ import { Event } from "@sentry/types/dist/event"
|
|
|
14
14
|
import Application from "koa"
|
|
15
15
|
import { bootstrap } from "global-agent"
|
|
16
16
|
import * as db from "./db"
|
|
17
|
-
import { auth, logging, events,
|
|
17
|
+
import { auth, logging, events, middleware } from "@budibase/backend-core"
|
|
18
18
|
db.init()
|
|
19
19
|
import Koa from "koa"
|
|
20
20
|
import koaBody from "koa-body"
|
|
@@ -36,7 +36,8 @@ app.keys = ["secret", "key"]
|
|
|
36
36
|
// set up top level koa middleware
|
|
37
37
|
app.use(koaBody({ multipart: true }))
|
|
38
38
|
app.use(koaSession(app))
|
|
39
|
-
app.use(
|
|
39
|
+
app.use(middleware.logging)
|
|
40
|
+
app.use(logger(logging.pinoSettings()))
|
|
40
41
|
|
|
41
42
|
// authentication
|
|
42
43
|
app.use(auth.passport.initialize())
|
|
@@ -82,7 +83,7 @@ const shutdown = () => {
|
|
|
82
83
|
server.destroy()
|
|
83
84
|
}
|
|
84
85
|
|
|
85
|
-
export
|
|
86
|
+
export default server.listen(parseInt(env.PORT || "4002"), async () => {
|
|
86
87
|
console.log(`Worker running on ${JSON.stringify(server.address())}`)
|
|
87
88
|
await redis.init()
|
|
88
89
|
})
|
|
@@ -6,7 +6,7 @@ import { BBContext } from "@budibase/types"
|
|
|
6
6
|
* This is a restricted endpoint in the cloud.
|
|
7
7
|
* Ensure that the correct API key has been supplied.
|
|
8
8
|
*/
|
|
9
|
-
export
|
|
9
|
+
export default async (ctx: BBContext, next: any) => {
|
|
10
10
|
if (!env.SELF_HOSTED && !env.DISABLE_ACCOUNT_PORTAL) {
|
|
11
11
|
const apiKey = ctx.request.headers[constants.Header.API_KEY]
|
|
12
12
|
if (apiKey !== env.INTERNAL_API_KEY) {
|
package/src/sdk/users/users.ts
CHANGED
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
SearchUsersRequest,
|
|
32
32
|
User,
|
|
33
33
|
ThirdPartyUser,
|
|
34
|
+
isUser,
|
|
34
35
|
} from "@budibase/types"
|
|
35
36
|
import { sendEmail } from "../../utilities/email"
|
|
36
37
|
import { EmailTemplatePurpose } from "../../constants"
|
|
@@ -265,8 +266,9 @@ export const save = async (
|
|
|
265
266
|
await eventHelpers.handleSaveEvents(builtUser, dbUser)
|
|
266
267
|
await addTenant(tenantId, _id, email)
|
|
267
268
|
await cache.user.invalidateUser(response.id)
|
|
269
|
+
|
|
268
270
|
// let server know to sync user
|
|
269
|
-
await apps.syncUserInApps(_id)
|
|
271
|
+
await apps.syncUserInApps(_id, dbUser)
|
|
270
272
|
|
|
271
273
|
await Promise.all(groupPromises)
|
|
272
274
|
|
|
@@ -572,7 +574,7 @@ export const destroy = async (id: string, currentUser: any) => {
|
|
|
572
574
|
await cache.user.invalidateUser(userId)
|
|
573
575
|
await sessions.invalidateSessions(userId, { reason: "deletion" })
|
|
574
576
|
// let server know to sync user
|
|
575
|
-
await apps.syncUserInApps(userId)
|
|
577
|
+
await apps.syncUserInApps(userId, dbUser)
|
|
576
578
|
}
|
|
577
579
|
|
|
578
580
|
const bulkDeleteProcessing = async (dbUser: User) => {
|
|
@@ -582,7 +584,7 @@ const bulkDeleteProcessing = async (dbUser: User) => {
|
|
|
582
584
|
await cache.user.invalidateUser(userId)
|
|
583
585
|
await sessions.invalidateSessions(userId, { reason: "bulk-deletion" })
|
|
584
586
|
// let server know to sync user
|
|
585
|
-
await apps.syncUserInApps(userId)
|
|
587
|
+
await apps.syncUserInApps(userId, dbUser)
|
|
586
588
|
}
|
|
587
589
|
|
|
588
590
|
export const invite = async (
|
|
@@ -51,7 +51,7 @@ class TestConfiguration {
|
|
|
51
51
|
|
|
52
52
|
if (opts.openServer) {
|
|
53
53
|
env.PORT = "0" // random port
|
|
54
|
-
this.server = require("../index")
|
|
54
|
+
this.server = require("../index").default
|
|
55
55
|
// we need the request for logging in, involves cookies, hard to fake
|
|
56
56
|
this.request = supertest(this.server)
|
|
57
57
|
}
|
|
@@ -327,4 +327,4 @@ class TestConfiguration {
|
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
329
|
|
|
330
|
-
export
|
|
330
|
+
export default TestConfiguration
|
package/src/tests/api/users.ts
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
User,
|
|
6
6
|
CreateAdminUserRequest,
|
|
7
7
|
} from "@budibase/types"
|
|
8
|
-
import
|
|
8
|
+
import structures from "../structures"
|
|
9
9
|
import { generator } from "@budibase/backend-core/tests"
|
|
10
10
|
import TestConfiguration from "../TestConfiguration"
|
|
11
11
|
import { TestAPI, TestAPIOpts } from "./base"
|
package/src/tests/index.ts
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const pkg = {
|
|
9
|
-
structures,
|
|
10
|
-
generator,
|
|
11
|
-
uuid,
|
|
12
|
-
TENANT_1: structures.TENANT_1,
|
|
13
|
-
mocks,
|
|
14
|
-
TestConfiguration,
|
|
15
|
-
API,
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export = pkg
|
|
1
|
+
export { default as mocks } from "./mocks"
|
|
2
|
+
export { generator } from "@budibase/backend-core/tests"
|
|
3
|
+
export { default as TestConfiguration } from "./TestConfiguration"
|
|
4
|
+
export { default as structures } from "./structures"
|
|
5
|
+
export { default as API } from "./api"
|
|
6
|
+
export { v4 as uuid } from "uuid"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
process.env.SELF_HOSTED = "0"
|
|
2
|
+
process.env.NODE_ENV = "jest"
|
|
3
|
+
process.env.JWT_SECRET = "test-jwtsecret"
|
|
4
|
+
process.env.LOG_LEVEL = "silent"
|
|
5
|
+
process.env.MULTI_TENANCY = "1"
|
|
6
|
+
process.env.MINIO_URL = "http://localhost"
|
|
7
|
+
process.env.MINIO_ACCESS_KEY = "test"
|
|
8
|
+
process.env.MINIO_SECRET_KEY = "test"
|
|
9
|
+
process.env.PLATFORM_URL = "http://localhost:10000"
|
|
10
|
+
process.env.INTERNAL_API_KEY = "tet"
|
|
11
|
+
process.env.DISABLE_ACCOUNT_PORTAL = "0"
|
package/src/tests/jestSetup.ts
CHANGED
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
import env from "../environment"
|
|
2
|
-
|
|
3
|
-
env._set("SELF_HOSTED", "0")
|
|
4
|
-
env._set("NODE_ENV", "jest")
|
|
5
|
-
env._set("JWT_SECRET", "test-jwtsecret")
|
|
6
|
-
env._set("LOG_LEVEL", "silent")
|
|
7
|
-
env._set("MULTI_TENANCY", true)
|
|
8
|
-
env._set("MINIO_URL", "http://localhost")
|
|
9
|
-
env._set("MINIO_ACCESS_KEY", "test")
|
|
10
|
-
env._set("MINIO_SECRET_KEY", "test")
|
|
11
|
-
env._set("PLATFORM_URL", "http://localhost:10000")
|
|
12
|
-
env._set("INTERNAL_API_KEY", "test")
|
|
13
|
-
env._set("DISABLE_ACCOUNT_PORTAL", false)
|
|
14
|
-
|
|
15
1
|
import { mocks } from "@budibase/backend-core/tests"
|
|
16
2
|
|
|
17
3
|
// must explicitly enable fetch mock
|
package/src/tests/mocks/index.ts
CHANGED
|
@@ -4,9 +4,9 @@ import * as users from "./users"
|
|
|
4
4
|
import * as groups from "./groups"
|
|
5
5
|
import { v4 as uuid } from "uuid"
|
|
6
6
|
|
|
7
|
-
const TENANT_ID = "default"
|
|
8
|
-
const TENANT_1 = "tenant1"
|
|
9
|
-
const CSRF_TOKEN = "e3727778-7af0-4226-b5eb-f43cbe60a306"
|
|
7
|
+
export const TENANT_ID = "default"
|
|
8
|
+
export const TENANT_1 = "tenant1"
|
|
9
|
+
export const CSRF_TOKEN = "e3727778-7af0-4226-b5eb-f43cbe60a306"
|
|
10
10
|
|
|
11
11
|
const pkg = {
|
|
12
12
|
...structures,
|
|
@@ -19,4 +19,4 @@ const pkg = {
|
|
|
19
19
|
groups,
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export
|
|
22
|
+
export default pkg
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import fetch from "node-fetch"
|
|
2
|
-
import { constants, tenancy } from "@budibase/backend-core"
|
|
2
|
+
import { constants, tenancy, logging } from "@budibase/backend-core"
|
|
3
3
|
import { checkSlashesInUrl } from "../utilities"
|
|
4
4
|
import env from "../environment"
|
|
5
|
+
import { SyncUserRequest, User } from "@budibase/types"
|
|
5
6
|
|
|
6
7
|
async function makeAppRequest(url: string, method: string, body: any) {
|
|
7
8
|
if (env.isTest()) {
|
|
@@ -17,14 +18,22 @@ async function makeAppRequest(url: string, method: string, body: any) {
|
|
|
17
18
|
request.body = JSON.stringify(body)
|
|
18
19
|
}
|
|
19
20
|
request.method = method
|
|
21
|
+
|
|
22
|
+
// add x-budibase-correlation-id header
|
|
23
|
+
logging.correlation.setHeader(request.headers)
|
|
24
|
+
|
|
20
25
|
return fetch(checkSlashesInUrl(env.APPS_URL + url), request)
|
|
21
26
|
}
|
|
22
27
|
|
|
23
|
-
export async function syncUserInApps(userId: string) {
|
|
28
|
+
export async function syncUserInApps(userId: string, previousUser?: User) {
|
|
29
|
+
const body: SyncUserRequest = {
|
|
30
|
+
previousUser,
|
|
31
|
+
}
|
|
32
|
+
|
|
24
33
|
const response = await makeAppRequest(
|
|
25
34
|
`/api/users/metadata/sync/${userId}`,
|
|
26
35
|
"POST",
|
|
27
|
-
|
|
36
|
+
body
|
|
28
37
|
)
|
|
29
38
|
if (response && response.status !== 200) {
|
|
30
39
|
throw "Unable to sync user."
|