Adding permission mangement to admin panel
This commit is contained in:
@ -5,6 +5,7 @@ import promiseMiddleware from "../../helper/promiseMiddleware";
|
||||
import Permission from "../../models/permissions";
|
||||
import verify, { Types } from "../middlewares/verify";
|
||||
import Client from "../../models/client";
|
||||
import { ObjectID } from "bson";
|
||||
|
||||
const PermissionRoute: Router = Router();
|
||||
PermissionRoute.use(GetUserMiddleware(true, true), (req: Request, res, next) => {
|
||||
@ -15,12 +16,16 @@ PermissionRoute.use(GetUserMiddleware(true, true), (req: Request, res, next) =>
|
||||
|
||||
PermissionRoute.route("/")
|
||||
.get(promiseMiddleware(async (req, res) => {
|
||||
let permission = await Permission.find({});
|
||||
let query = {};
|
||||
if (req.query.client) {
|
||||
query = { client: new ObjectID(req.query.client) }
|
||||
}
|
||||
let permission = await Permission.find(query);
|
||||
res.json(permission);
|
||||
}))
|
||||
.post(verify({
|
||||
clientId: {
|
||||
type: Types.NUMBER
|
||||
client: {
|
||||
type: Types.STRING
|
||||
},
|
||||
name: {
|
||||
type: Types.STRING
|
||||
@ -29,7 +34,7 @@ PermissionRoute.route("/")
|
||||
type: Types.STRING
|
||||
}
|
||||
}, true), promiseMiddleware(async (req, res) => {
|
||||
let client = await Client.findById(req.body.clientId);
|
||||
let client = await Client.findById(req.body.client);
|
||||
if (!client) {
|
||||
throw new RequestError("Client not found", HttpStatusCode.BAD_REQUEST);
|
||||
}
|
||||
@ -40,6 +45,10 @@ PermissionRoute.route("/")
|
||||
});
|
||||
await Permission.save(permission);
|
||||
res.json(permission);
|
||||
}))
|
||||
})).delete(promiseMiddleware(async (req, res) => {
|
||||
let { id } = req.query;
|
||||
await Permission.delete(id);
|
||||
res.json({ success: true });
|
||||
}));
|
||||
|
||||
export default PermissionRoute;
|
Reference in New Issue
Block a user