spurrin-backend/src/routes/superAdmins.js
2025-06-09 11:11:52 +05:30

61 lines
1.7 KiB
JavaScript

const express = require('express');
const superAdminController = require('../controllers/superAdminController');
const authMiddleware = require('../middlewares/authMiddleware');
const router = express.Router();
const multer = require("multer");
const storage = multer.diskStorage({
destination: (req, file, cb) => {
const uploadPath = "uploads/logos/";
if (!fs.existsSync(uploadPath)) {
fs.mkdirSync(uploadPath, { recursive: true });
}
cb(null, uploadPath);
},
filename: (req, file, cb) => {
const uniqueSuffix = Date.now() + "-" + Math.round(Math.random() * 1e9);
const fileExtension = file.originalname.split(".").pop(); // Get the file extension
cb(null, `${file.fieldname}-${uniqueSuffix}.${fileExtension}`); // Append the extension
},
});
const upload = multer({
storage,
fileFilter: (req, file, cb) => {
if (file.mimetype.startsWith("image/")) {
cb(null, true);
} else {
cb(new Error("Only image files are allowed"), false);
}
},
});
// Route to create Spurrin SuperAdmin without authentication
router.post('/initialize', superAdminController.initializeSuperAdmin);
router.get('/',authMiddleware.authenticateToken ,superAdminController.getAllSuperAdmins);
router.post('/',authMiddleware.authenticateToken ,superAdminController.addSuperAdmin);
router.delete('/:id',authMiddleware.authenticateToken, superAdminController.deleteSuperAdmin);
router.get(
'/data-consumption-report',
authMiddleware.authenticateToken,
superAdminController.getOnboardedHospitals
);
// change password
router.post(
"/send-temp-password",
upload.none(),
superAdminController.sendTempPassword
);
router.post(
"/change-password",
upload.none(),
superAdminController.changeTempPassword
);
module.exports = router;