Spaces:
Runtime error
Runtime error
abhishek-akbari01
commited on
Commit
·
ea55d69
1
Parent(s):
6b4f322
expose api to create permission
Browse files
src/controllers/permission.controller.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import { Request, Response } from 'express';
|
| 2 |
+
import Permission from '../models/permissions';
|
| 3 |
+
import { logger } from '../utils/logger';
|
| 4 |
+
|
| 5 |
+
const createPermission = async (req: Request, res: Response) => {
|
| 6 |
+
try {
|
| 7 |
+
const { permission_name } = req.body;
|
| 8 |
+
|
| 9 |
+
const newPermission = {
|
| 10 |
+
permission_name,
|
| 11 |
+
};
|
| 12 |
+
|
| 13 |
+
const createdPermission = await Permission.create(newPermission);
|
| 14 |
+
|
| 15 |
+
const permissionResponse = {
|
| 16 |
+
id: createdPermission.id,
|
| 17 |
+
permission_name: createdPermission.permission_name,
|
| 18 |
+
};
|
| 19 |
+
|
| 20 |
+
return res.status(201).json({
|
| 21 |
+
message: 'Permission created successfully',
|
| 22 |
+
data: permissionResponse,
|
| 23 |
+
});
|
| 24 |
+
|
| 25 |
+
} catch (error) {
|
| 26 |
+
logger.error('Error creating a Permission:', error);
|
| 27 |
+
return res.status(500).json({
|
| 28 |
+
error: 'Error while creating a Permission.',
|
| 29 |
+
});
|
| 30 |
+
}
|
| 31 |
+
};
|
| 32 |
+
|
| 33 |
+
export default createPermission;
|
src/routes/permission.routes.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import express from "express";
|
| 2 |
+
import { jwtMiddleware } from '../middlewares/authMiddleware';
|
| 3 |
+
import createPermission from "../controllers/permission.controller";
|
| 4 |
+
|
| 5 |
+
const permissionRouter = express.Router();
|
| 6 |
+
permissionRouter.use(jwtMiddleware);
|
| 7 |
+
|
| 8 |
+
/**
|
| 9 |
+
* @swagger
|
| 10 |
+
* components:
|
| 11 |
+
* schemas:
|
| 12 |
+
* Permission:
|
| 13 |
+
* type: object
|
| 14 |
+
* required:
|
| 15 |
+
* - permission_name
|
| 16 |
+
* properties:
|
| 17 |
+
* id:
|
| 18 |
+
* type: integer
|
| 19 |
+
* description: The auto-generated id of the permission
|
| 20 |
+
* permission_name:
|
| 21 |
+
* type: string
|
| 22 |
+
* description: The name of the permission
|
| 23 |
+
* example:
|
| 24 |
+
* id: 1
|
| 25 |
+
* permission_name: CREATE_USER
|
| 26 |
+
*
|
| 27 |
+
* PermissionUpdate:
|
| 28 |
+
* type: object
|
| 29 |
+
* properties:
|
| 30 |
+
* permission_name:
|
| 31 |
+
* type: string
|
| 32 |
+
* description: The name of the permission
|
| 33 |
+
* example:
|
| 34 |
+
* permission_name: CREATE_USER
|
| 35 |
+
*/
|
| 36 |
+
|
| 37 |
+
/**
|
| 38 |
+
* @swagger
|
| 39 |
+
* /api/permissions:
|
| 40 |
+
* post:
|
| 41 |
+
* summary: Create a new permission
|
| 42 |
+
* tags: [Permissions]
|
| 43 |
+
* requestBody:
|
| 44 |
+
* required: true
|
| 45 |
+
* content:
|
| 46 |
+
* application/json:
|
| 47 |
+
* schema:
|
| 48 |
+
* $ref: '#/components/schemas/Permission'
|
| 49 |
+
* responses:
|
| 50 |
+
* 201:
|
| 51 |
+
* description: Permission created successfully
|
| 52 |
+
* content:
|
| 53 |
+
* application/json:
|
| 54 |
+
* schema:
|
| 55 |
+
* $ref: '#/components/schemas/Permission'
|
| 56 |
+
* 400:
|
| 57 |
+
* description: Validation errors
|
| 58 |
+
* 500:
|
| 59 |
+
* description: Error while creating a Permission
|
| 60 |
+
*/
|
| 61 |
+
permissionRouter.post('/', createPermission);
|
| 62 |
+
|
| 63 |
+
export default permissionRouter;
|
src/routes/root.routes.ts
CHANGED
|
@@ -10,6 +10,7 @@ import rolesRouter from './roles.routes';
|
|
| 10 |
import settingRouter from './settings.routes';
|
| 11 |
import invoiceActivityLogRouter from './invoiceActivityLogs.routes';
|
| 12 |
import vendorConfigRouter from './vendorConfig.routes';
|
|
|
|
| 13 |
|
| 14 |
const router = express.Router();
|
| 15 |
|
|
@@ -37,5 +38,6 @@ router.use('/api/roles', rolesRouter);
|
|
| 37 |
router.use('/api/settings/', settingRouter)
|
| 38 |
router.use('/api/invoice-activity-logs', invoiceActivityLogRouter);
|
| 39 |
router.use('/api/vendor-config', vendorConfigRouter);
|
|
|
|
| 40 |
|
| 41 |
export default router;
|
|
|
|
| 10 |
import settingRouter from './settings.routes';
|
| 11 |
import invoiceActivityLogRouter from './invoiceActivityLogs.routes';
|
| 12 |
import vendorConfigRouter from './vendorConfig.routes';
|
| 13 |
+
import permissionRouter from './permission.routes';
|
| 14 |
|
| 15 |
const router = express.Router();
|
| 16 |
|
|
|
|
| 38 |
router.use('/api/settings/', settingRouter)
|
| 39 |
router.use('/api/invoice-activity-logs', invoiceActivityLogRouter);
|
| 40 |
router.use('/api/vendor-config', vendorConfigRouter);
|
| 41 |
+
router.use('/api/permissions', permissionRouter);
|
| 42 |
|
| 43 |
export default router;
|