2021-04-21 05:14:36 +12:00
|
|
|
const Router = require("@koa/router")
|
|
|
|
const controller = require("../../controllers/admin/configs")
|
|
|
|
const joiValidator = require("../../../middleware/joi-validator")
|
|
|
|
const { authenticated } = require("@budibase/auth")
|
|
|
|
const Joi = require("joi")
|
|
|
|
const { Configs } = require("../../../constants")
|
|
|
|
|
|
|
|
const router = Router()
|
|
|
|
|
|
|
|
function buildConfigSaveValidation() {
|
|
|
|
// prettier-ignore
|
|
|
|
return joiValidator.body(Joi.object({
|
2021-04-21 23:12:22 +12:00
|
|
|
type: Joi.string().valid(...Object.values(Configs)).required(),
|
2021-04-21 05:14:36 +12:00
|
|
|
}).required().unknown(true))
|
|
|
|
}
|
|
|
|
|
|
|
|
router
|
|
|
|
.post(
|
|
|
|
"/api/admin/configs",
|
|
|
|
buildConfigSaveValidation(),
|
|
|
|
authenticated,
|
|
|
|
controller.save
|
|
|
|
)
|
2021-04-21 23:12:22 +12:00
|
|
|
.post("/api/admin/config/status", controller.configStatus)
|
2021-04-21 05:14:36 +12:00
|
|
|
.delete("/api/admin/configs/:id", authenticated, controller.destroy)
|
|
|
|
.get("/api/admin/configs", authenticated, controller.fetch)
|
|
|
|
.get("/api/admin/configs/:id", authenticated, controller.find)
|
|
|
|
|
|
|
|
module.exports = router
|