1
0
Fork 0
mirror of synced 2024-09-28 07:11:40 +12:00
budibase/packages/worker/src/api/routes/admin/auth.js

40 lines
1.3 KiB
JavaScript
Raw Normal View History

2021-04-08 22:57:23 +12:00
const Router = require("@koa/router")
const authController = require("../../controllers/admin/auth")
const joiValidator = require("../../../middleware/joi-validator")
const Joi = require("joi")
2021-04-08 22:57:23 +12:00
const router = Router()
function buildAuthValidation() {
// prettier-ignore
return joiValidator.body(Joi.object({
username: Joi.string().required(),
password: Joi.string().required(),
}).required().unknown(false))
}
function buildResetValidation() {
// prettier-ignore
return joiValidator.body(Joi.object({
email: Joi.string().required(),
}).required().unknown(false))
}
function buildResetUpdateValidation() {
// prettier-ignore
return joiValidator.body(Joi.object({
resetCode: Joi.string().required(),
password: Joi.string().required(),
}).required().unknown(false))
}
2021-04-11 22:35:55 +12:00
router
.post("/api/admin/auth", buildAuthValidation(), authController.authenticate)
.post("/api/admin/auth/reset", buildResetValidation(), authController.reset)
.post("/api/admin/auth/reset/update", buildResetUpdateValidation(), authController.resetUpdate)
.post("/api/admin/auth/logout", authController.logout)
2021-04-22 08:08:04 +12:00
.get("/api/admin/auth/google", authController.googlePreAuth)
2021-04-21 23:12:22 +12:00
.get("/api/admin/auth/google/callback", authController.googleAuth)
2021-04-08 22:57:23 +12:00
module.exports = router