Skip to content

Commit 2fdbcbf

Browse files
committed
feat: add pharmacist role and routes
1 parent 8c19291 commit 2fdbcbf

4 files changed

Lines changed: 25 additions & 2 deletions

File tree

src/app.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import doctorRoutes from './routes/doctor.routes.js';
1010
import nurseRoutes from './routes/nurse.routes.js';
1111
import receptionRoutes from './routes/reception.routes.js';
1212
import labTechnicianRoutes from './routes/lab.routes.js';
13+
import pharmacyRoutes from './routes/pharmacy.routes.js';
1314

1415
import patientRoutes from './routes/patient.js';
1516
import deptRoutes from './routes/dept.js';
@@ -34,6 +35,7 @@ app.use('/api/users/doctors', doctorRoutes);
3435
app.use('/api/users/nurses', nurseRoutes);
3536
app.use('/api/users/receptionist', receptionRoutes);
3637
app.use('/api/users/lab-technician', labTechnicianRoutes);
38+
app.use('/api/users/pharmacist', pharmacyRoutes);
3739

3840
app.use('/api/patients', patientRoutes);
3941
app.use('/api/departments', deptRoutes);

src/controllers/authcontroller.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ export const login = async (req, res) => {
1919
return res.status(401).json({ success: false, message: 'Invalid password' });
2020
}
2121

22-
if (user.role.toLowerCase() === 'doctor' && user.status !== 'Active') {
22+
// if (user.role.toLowerCase() === 'doctor' && user.status !== 'Active') {
23+
// return res.status(403).json({ success: false, message: "Your account is currently inactive. Kindly reach out to the admin for support." });
24+
// }
25+
26+
if (user.status !== 'Active') {
2327
return res.status(403).json({ success: false, message: "Your account is currently inactive. Kindly reach out to the admin for support." });
2428
}
2529

src/models/User.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const userSchema = new mongoose.Schema({
1212
role: {
1313
type: String,
1414
required: true,
15-
enum: ['admin', 'doctor', 'nurse','receptionist', 'lab-technician']
15+
enum: ['admin', 'doctor', 'nurse','receptionist', 'lab-technician', 'pharmacist']
1616
},
1717

1818

src/routes/pharmacy.routes.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import express from 'express';
2+
import { protect, authorize } from '../middleware/authmiddleware.js';
3+
import * as pharmacyController from '../controllers/pharmacy.controller.js';
4+
5+
const router = express.Router();
6+
7+
router.post('/', protect, authorize('admin'), pharmacyController.createPharmacist);
8+
9+
router.get('/', protect, authorize('admin', 'pharmacist'), pharmacyController.getPharmacists);
10+
11+
router.put('/change-password', protect, authorize ('pharmacist'), pharmacyController.changePassword);
12+
13+
router.put('/:id', protect, authorize('admin'), pharmacyController.updatePharmacist);
14+
15+
router.delete('/:id', protect, authorize('admin'), pharmacyController.deletePharmacist);
16+
17+
export default router;

0 commit comments

Comments
 (0)