mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-11 03:24:16 +00:00
added admin controller
This commit is contained in:
parent
0bc7776564
commit
32bdad1608
@ -0,0 +1,36 @@
|
|||||||
|
import { User } from "@models"
|
||||||
|
|
||||||
|
import bcrypt from "bcrypt"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
method: "POST",
|
||||||
|
route: "/update_password/:user_id",
|
||||||
|
middlewares: ["withAuthentication", "onlyAdmin"],
|
||||||
|
fn: async (req, res) => {
|
||||||
|
const { password } = req.body
|
||||||
|
|
||||||
|
if (!password) {
|
||||||
|
return res.status(400).json({ message: "Missing password" })
|
||||||
|
}
|
||||||
|
|
||||||
|
const { user_id } = req.params
|
||||||
|
|
||||||
|
const user = await User.findById(user_id).select("+password")
|
||||||
|
|
||||||
|
if (!user) {
|
||||||
|
return res.status(404).json({ message: "User not found" })
|
||||||
|
}
|
||||||
|
|
||||||
|
// hash the password
|
||||||
|
const hash = bcrypt.hashSync(password, parseInt(process.env.BCRYPT_ROUNDS ?? 3))
|
||||||
|
|
||||||
|
user.password = hash
|
||||||
|
|
||||||
|
await user.save()
|
||||||
|
|
||||||
|
return res.status(200).json({
|
||||||
|
status: "ok",
|
||||||
|
message: "Password updated successfully",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
9
packages/server/src/controllers/AdminController/index.js
Normal file
9
packages/server/src/controllers/AdminController/index.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import { Controller } from "linebridge/dist/server"
|
||||||
|
import generateEndpointsFromDir from "linebridge/dist/server/lib/generateEndpointsFromDir"
|
||||||
|
|
||||||
|
export default class AdminController extends Controller {
|
||||||
|
static refName = "AdminController"
|
||||||
|
static useRoute = "/admin"
|
||||||
|
|
||||||
|
httpEndpoints = generateEndpointsFromDir(__dirname + "/endpoints")
|
||||||
|
}
|
@ -23,4 +23,6 @@ export { default as SearchController } from "./SearchController" // Needs to mig
|
|||||||
|
|
||||||
export { default as ModerationController } from "./ModerationController"
|
export { default as ModerationController } from "./ModerationController"
|
||||||
|
|
||||||
export { default as TracksController } from "./TracksController"
|
export { default as TracksController } from "./TracksController"
|
||||||
|
|
||||||
|
export { default as AdminController } from "./AdminController"
|
Loading…
x
Reference in New Issue
Block a user