refactor(server/shared): reduce (but not fix) circular dependencies
This commit is contained in:
@@ -4,7 +4,7 @@ import {
|
||||
ServerRoles,
|
||||
StreamRoles
|
||||
} from '@/modules/core/helpers/mainConstants'
|
||||
import { getRoles } from '@/modules/shared'
|
||||
import { getRoles } from '@/modules/shared/roles'
|
||||
import { getStream } from '@/modules/core/services/streams'
|
||||
|
||||
import {
|
||||
|
||||
@@ -15,16 +15,9 @@ const {
|
||||
const { adminOverrideEnabled } = require('@/modules/shared/helpers/envHelper')
|
||||
|
||||
const { ServerAcl: ServerAclSchema } = require('@/modules/core/dbSchema')
|
||||
const { getRoles } = require('@/modules/shared/roles')
|
||||
const ServerAcl = () => ServerAclSchema.knex()
|
||||
|
||||
let roles
|
||||
|
||||
const getRoles = async () => {
|
||||
if (roles) return roles
|
||||
roles = await knex('user_roles').select('*')
|
||||
return roles
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates a server role against the req's context object.
|
||||
* @param {import('@/modules/shared/helpers/typeHelper').GraphQLContext} context
|
||||
@@ -60,7 +53,7 @@ async function validateScopes(scopes, scope) {
|
||||
async function authorizeResolver(userId, resourceId, requiredRole) {
|
||||
userId = userId || null
|
||||
|
||||
if (!roles) roles = await knex('user_roles').select('*')
|
||||
const roles = getRoles()
|
||||
|
||||
// TODO: Cache these results with a TTL of 1 mins or so, it's pointless to query the db every time we get a ping.
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
const knex = require(`@/db/knex`)
|
||||
let roles
|
||||
|
||||
const getRoles = async () => {
|
||||
if (roles) return roles
|
||||
roles = await knex('user_roles').select('*')
|
||||
return roles
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getRoles
|
||||
}
|
||||
Reference in New Issue
Block a user