Files
pfadi-bussle/pages/api/login.ts
2021-06-16 23:36:28 +02:00

28 lines
742 B
TypeScript

import { authenticateAdmin } from '../../lib/authenticate'
import withSession from '../../lib/session'
async function loginHandler(req: any, res: any): Promise<void> {
const { method } = req
switch (method) {
case 'POST':
const { username, password } = req.body
if (!authenticateAdmin({ username, password })) {
res.status(401).end()
return
}
const userData = { username, role: 'admin' }
req.session.set('user', userData)
await req.session.save()
res.json({ message: 'Authenticated', user: userData })
break
default:
res.setHeader('Allow', ['POST'])
res.status(405).end(`Method ${method} Not Allowed`)
}
}
export default withSession(loginHandler)