mirror of https://github.com/Budibase/budibase.git
committed by
GitHub
12 changed files with 31 additions and 55 deletions
@ -1,12 +1,12 @@ |
|||||
const Router = require("@koa/router") |
const Router = require("@koa/router") |
||||
const controller = require("../../controllers/global/roles") |
const controller = require("../../controllers/global/roles") |
||||
const { adminOnly } = require("@budibase/backend-core/auth") |
const { builderOrAdmin } = require("@budibase/backend-core/auth") |
||||
|
|
||||
const router = Router() |
const router = Router() |
||||
|
|
||||
router |
router |
||||
.get("/api/global/roles", adminOnly, controller.fetch) |
.get("/api/global/roles", builderOrAdmin, controller.fetch) |
||||
.get("/api/global/roles/:appId", adminOnly, controller.find) |
.get("/api/global/roles/:appId", builderOrAdmin, controller.find) |
||||
.delete("/api/global/roles/:appId", adminOnly, controller.removeAppRole) |
.delete("/api/global/roles/:appId", builderOrAdmin, controller.removeAppRole) |
||||
|
|
||||
module.exports = router |
module.exports = router |
||||
|
|||||
@ -1,9 +0,0 @@ |
|||||
module.exports = async (ctx, next) => { |
|
||||
if ( |
|
||||
!ctx.internal && |
|
||||
(!ctx.user || !ctx.user.admin || !ctx.user.admin.global) |
|
||||
) { |
|
||||
ctx.throw(403, "Admin user only endpoint.") |
|
||||
} |
|
||||
return next() |
|
||||
} |
|
||||
@ -1,28 +0,0 @@ |
|||||
function validate(schema, property) { |
|
||||
// Return a Koa middleware function
|
|
||||
return (ctx, next) => { |
|
||||
if (!schema) { |
|
||||
return next() |
|
||||
} |
|
||||
let params = null |
|
||||
if (ctx[property] != null) { |
|
||||
params = ctx[property] |
|
||||
} else if (ctx.request[property] != null) { |
|
||||
params = ctx.request[property] |
|
||||
} |
|
||||
const { error } = schema.validate(params) |
|
||||
if (error) { |
|
||||
ctx.throw(400, `Invalid ${property} - ${error.message}`) |
|
||||
return |
|
||||
} |
|
||||
return next() |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
module.exports.body = schema => { |
|
||||
return validate(schema, "body") |
|
||||
} |
|
||||
|
|
||||
module.exports.params = schema => { |
|
||||
return validate(schema, "params") |
|
||||
} |
|
||||
Loading…
Reference in new issue