Adjust user creation more, allow route

This commit is contained in:
ShootingStar91
2024-07-22 14:58:30 +03:00
parent b31698d649
commit f5748dd5cb
3 changed files with 13 additions and 4 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ app.use(cors())
app.use(compression())
app.use(responseLogger)
if (!ENABLE_WRITE && RUNNING_ENV !== 'dev') {
if (!ENABLE_WRITE || RUNNING_ENV === 'dev') {
app.use(blockWriteRequests)
}
+2 -1
View File
@@ -2,8 +2,9 @@ import { Middleware } from '../types'
/* Disables all write routes except the ones excluded by "allowedRoutes" */
export const blockWriteRequests: Middleware = (req, res, next) => {
const allowedRoutes = ['/user/login', '/locality-species', '/refreshToken', '/user/password']
const allowedRoutes = ['/user/login', '/locality-species', '/refreshToken', '/user/password', '/user/create']
const writeMethods = ['POST', 'PUT', 'PATCH', 'DELETE']
if (writeMethods.includes(req.method) && !allowedRoutes.includes(req.path)) {
return res.status(403).send()
}
+10 -2
View File
@@ -68,16 +68,24 @@ const createPasswordHash = async (password: string) => {
}
router.post('/create', async (req, res) => {
const { username, password, secret } = req.body
const { username, password, initials, role, secret } = req.body
if ((!req.user || req.user?.role !== Role.Admin) && secret !== SECRET) throw new AccessError()
const passwordHash = await createPasswordHash(password as string)
await nowDb.com_users.create({
const createdUser = await nowDb.com_users.create({
data: {
user_name: username as string,
newpassword: passwordHash,
now_user_group: role,
},
})
await nowDb.com_people.create({
data: {
initials,
user_id: createdUser.user_id,
},
})