Browse Source

Fix crashing when determining roles when no apps exist

pull/7066/head
Andrew Kingston 4 years ago
parent
commit
bb626ce924
  1. 23
      packages/backend-core/src/security/roles.js

23
packages/backend-core/src/security/roles.js

@ -203,15 +203,24 @@ exports.getAllRoles = async appId => {
if (appId) {
return doWithDB(appId, internal)
} else {
return internal(getAppDB())
let appDB
try {
appDB = getAppDB()
} catch (error) {
// We don't have any apps, so we'll just use the built-in roles
}
return internal(appDB)
}
async function internal(db) {
const body = await db.allDocs(
getRoleParams(null, {
include_docs: true,
})
)
let roles = body.rows.map(row => row.doc)
let roles = []
if (db) {
const body = await db.allDocs(
getRoleParams(null, {
include_docs: true,
})
)
roles = body.rows.map(row => row.doc)
}
const builtinRoles = exports.getBuiltinRoles()
// need to combine builtin with any DB record of them (for sake of permissions)

Loading…
Cancel
Save