Merge branch 'master' into BUDI-8316/cannot-save-time-value-to-internal-db

This commit is contained in:
Adria Navarro 2024-06-06 14:11:37 +02:00 committed by GitHub
commit b7ed080620
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 22 additions and 2 deletions

View File

@ -30,6 +30,7 @@ import ActionDefinitions from "components/design/settings/controls/ButtonActionE
import { environment, licensing } from "stores/portal" import { environment, licensing } from "stores/portal"
import { convertOldFieldFormat } from "components/design/settings/controls/FieldConfiguration/utils" import { convertOldFieldFormat } from "components/design/settings/controls/FieldConfiguration/utils"
import { FIELDS } from "constants/backend" import { FIELDS } from "constants/backend"
import { FieldType } from "@budibase/types"
const { ContextScopes } = Constants const { ContextScopes } = Constants
@ -555,6 +556,9 @@ const getComponentBindingCategory = (component, context, def) => {
export const getUserBindings = () => { export const getUserBindings = () => {
let bindings = [] let bindings = []
const { schema } = getSchemaForDatasourcePlus(TableNames.USERS) const { schema } = getSchemaForDatasourcePlus(TableNames.USERS)
// add props that are not in the user metadata table schema
// but will be there for logged-in user
schema["globalId"] = { type: FieldType.STRING }
const keys = Object.keys(schema).sort() const keys = Object.keys(schema).sort()
const safeUser = makePropSafe("user") const safeUser = makePropSafe("user")

View File

@ -1,7 +1,7 @@
import { outputProcessing } from "../../utilities/rowProcessor" import { outputProcessing } from "../../utilities/rowProcessor"
import { InternalTables } from "../../db/utils" import { InternalTables } from "../../db/utils"
import { getFullUser } from "../../utilities/users" import { getFullUser } from "../../utilities/users"
import { roles, context } from "@budibase/backend-core" import { roles, context, db as dbCore } from "@budibase/backend-core"
import { ContextUser, Row, UserCtx } from "@budibase/types" import { ContextUser, Row, UserCtx } from "@budibase/types"
import sdk from "../../sdk" import sdk from "../../sdk"
import { processUser } from "../../utilities/global" import { processUser } from "../../utilities/global"
@ -27,6 +27,8 @@ export async function fetchSelf(ctx: UserCtx) {
const appId = context.getAppId() const appId = context.getAppId()
let user: ContextUser = await getFullUser(userId) let user: ContextUser = await getFullUser(userId)
// add globalId of user
user.globalId = dbCore.getGlobalIDFromUserMetadataID(userId)
// this shouldn't be returned by the app self // this shouldn't be returned by the app self
delete user.roles delete user.roles
// forward the csrf token from the session // forward the csrf token from the session

View File

@ -1,5 +1,8 @@
const setup = require("./utilities") const setup = require("./utilities")
const { generateUserMetadataID } = require("../../../db/utils") const {
generateUserMetadataID,
getGlobalIDFromUserMetadataID,
} = require("../../../db/utils")
describe("/authenticate", () => { describe("/authenticate", () => {
let request = setup.getRequest() let request = setup.getRequest()
@ -20,5 +23,16 @@ describe("/authenticate", () => {
.expect(200) .expect(200)
expect(res.body._id).toEqual(generateUserMetadataID(config.user._id)) expect(res.body._id).toEqual(generateUserMetadataID(config.user._id))
}) })
it("should container the global user ID", async () => {
const res = await request
.get(`/api/self`)
.set(config.defaultHeaders())
.expect("Content-Type", /json/)
.expect(200)
expect(res.body.globalId).toEqual(
getGlobalIDFromUserMetadataID(config.user._id)
)
})
}) })
}) })