@ -14,7 +14,7 @@ const {
dbExists ,
dbExists ,
} = require ( "@budibase/backend-core/db" )
} = require ( "@budibase/backend-core/db" )
const { UserStatus } = require ( "@budibase/backend-core/constants" )
const { UserStatus } = require ( "@budibase/backend-core/constants" )
const { getAppDB } = require ( "@budibase/backend-core/context" )
const { getAppDB , doInAppContext } = require ( "@budibase/backend-core/context" )
async function rawMetadata ( ) {
async function rawMetadata ( ) {
const db = getAppDB ( )
const db = getAppDB ( )
@ -105,34 +105,36 @@ exports.syncUser = async function (ctx) {
if ( ! ( await dbExists ( appId ) ) ) {
if ( ! ( await dbExists ( appId ) ) ) {
continue
continue
}
}
const db = getAppDB ( )
await doInAppContext ( appId , async ( ) => {
const metadataId = generateUserMetadataID ( userId )
const db = getAppDB ( )
let metadata
const metadataId = generateUserMetadataID ( userId )
try {
let metadata
metadata = await db . get ( metadataId )
try {
} catch ( err ) {
metadata = await db . get ( metadataId )
if ( deleting ) {
} catch ( err ) {
continue
if ( deleting ) {
return
}
metadata = {
tableId : InternalTables . USER_METADATA ,
}
}
}
metadata = {
// assign the roleId for the metadata doc
tableId : InternalTables . USER_METADATA ,
if ( roleId ) {
metadata . roleId = roleId
}
}
}
let combined = ! deleting
// assign the roleId for the metadata doc
? combineMetadataAndUser ( user , metadata )
if ( roleId ) {
: {
metadata . roleId = roleId
... metadata ,
}
status : UserStatus . INACTIVE ,
let combined = ! deleting
metadata : BUILTIN_ROLE_IDS . PUBLIC ,
? combineMetadataAndUser ( user , metadata )
}
: {
// if its null then there was no updates required
... metadata ,
if ( combined ) {
status : UserStatus . INACTIVE ,
await db . put ( combined )
metadata : BUILTIN_ROLE_IDS . PUBLIC ,
}
}
} )
// if its null then there was no updates required
if ( combined ) {
await db . put ( combined )
}
}
}
}
}
ctx . body = {
ctx . body = {