This commit is contained in:
Gowtham M 2025-10-17 12:22:58 +05:30
parent b236ca3ba9
commit d96e82f150
6 changed files with 411 additions and 71 deletions

View File

@ -148,3 +148,90 @@ exports.viewSubmissionDetails = async (req, res) => {
res.status(500).json({ status: "failed", message: err.message });
}
};
exports.submissionEditRequest = async (req, res) => {
try {
const { id } = req.params;
edit_request = req.body.edit_request;
// Check submission exists
const submission = await Submission.findByPk(id);
if (!submission)
return res.status(404).json({ status: "failed", message: "Submission not found" });
// Update submission main data
await submission.update({ edit_request });
res.status(200).json({
status: "success",
message: "Submission edit request updated",
data: "",
});
} catch (err) {
console.error(err);
res.status(500).json({ status: "failed", message: err.message });
}
};
exports.enableOrDisableSubmissionEditAccess = async (req, res) => {
try {
const { id } = req.params;
edit_access = req.body.edit_access;
// Check submission exists
const submission = await Submission.findByPk(id);
if (!submission)
return res.status(404).json({ status: "failed", message: "Submission not found" });
// Update submission main data
await submission.update({ edit_request : 0 , edit_access : edit_access});
res.status(200).json({
status: "success",
message: "Submission edit access updated",
data: "",
});
} catch (err) {
console.error(err);
res.status(500).json({ status: "failed", message: err.message });
}
};
exports.approveOrRejectSubmission = async (req, res) => {
try {
const { id } = req.params;
approve_reject_status = req.body.approve_reject_status;
if(approve_reject_status == 1)
{
statusString = 'Approved';
}else{
statusString = 'Rejected';
}
// Check submission exists
const submission = await Submission.findByPk(id);
if (!submission)
return res.status(404).json({ status: "failed", message: "Submission not found" });
// Update submission main data
await submission.update({ approve_reject_status : approve_reject_status , status : statusString });
res.status(200).json({
status: "success",
message: "Submission edit access updated",
data: "",
});
} catch (err) {
console.error(err);
res.status(500).json({ status: "failed", message: err.message });
}
};

View File

@ -2,11 +2,12 @@ require("dotenv").config();
module.exports = function (req, res, next) {
const APP_SIGNATURE = req.headers["APP_SIGNATURE"];
const appSignature = req.headers["app_signature"];
if(APP_SIGNATURE != process.env.APP_SIGNATURE)
{
return res.status(403).json({ message: "Access denied, SIGNATURE missing" });
}
if (!appSignature || appSignature !== process.env.APP_SIGNATURE) {
return res.status(403).json({ message: "Access denied, invalid or missing APP_SIGNATURE" });
}
next(); // allow request to continue
};

View File

@ -24,6 +24,10 @@ module.exports = (sequelize, DataTypes) => {
type: DataTypes.STRING,
allowNull: false,
},
gender: {
type: DataTypes.STRING,
allowNull: false,
},
is_active: {
type: DataTypes.BOOLEAN,
defaultValue: true,

View File

@ -35,9 +35,13 @@ module.exports = (sequelize, DataTypes) => {
type: DataTypes.DATE,
allowNull: true,
},
approve_reject_status: {
type: DataTypes.INTEGER,
defaultValue: 0,
},
status: {
type: DataTypes.STRING(50),
allowNull: true,
defaultValue: 'Pending',
},
created_by: {
type: DataTypes.INTEGER,

View File

@ -1,6 +1,7 @@
const express = require("express");
const router = express.Router();
const verifyToken = require("../middleware/auth.middleware");
const verifySignature = require("../middleware/app.middleware");
const adminUserController = require("../controllers/user.controller");
const authController = require("../controllers/auth.controller");
const establishmentController = require("../controllers/establishment.controller");
@ -47,7 +48,21 @@ const submissionController = require("../controllers/submission.controller");
/**
* @swagger
* components:
* securitySchemes:
* bearerAuth:
* type: http
* scheme: bearer
* bearerFormat: JWT
* description: "key to identify authorized user"
* appSignature:
* type: apiKey
* in: header
* name: APP_SIGNATURE
* description: "Signature key to identify authorized application"
*/
@ -60,6 +75,8 @@ const submissionController = require("../controllers/submission.controller");
* post:
* summary: Register new Admin-user (For testing purpose only)
* tags: [Admin Auth]
* security:
* - appSignature: []
* requestBody:
* required: true
* content:
@ -88,7 +105,7 @@ const submissionController = require("../controllers/submission.controller");
* 500:
* description: Server error
*/
router.post("/auth/admin_register", authController.register);
router.post("/auth/admin_register",[verifySignature], authController.register);
/**
@ -97,7 +114,9 @@ router.post("/auth/admin_register", authController.register);
* post:
* summary: Login Admin-user and get JWT token
* tags: [Admin Auth]
* requestBody:
* security:
* - appSignature: []
* requestBody:
* required: true
* content:
* application/json:
@ -121,7 +140,7 @@ router.post("/auth/admin_register", authController.register);
* 500:
* description: Server error
*/
router.post("/auth/admin_login", authController.login);
router.post("/auth/admin_login",[verifySignature], authController.login);
@ -144,6 +163,7 @@ router.post("/auth/admin_login", authController.login);
* summary: Get all users (Protected)
* tags: [Admin Users]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 201:
@ -153,7 +173,7 @@ router.post("/auth/admin_login", authController.login);
* 500:
* description: Server error
*/
router.get("/admin_users", verifyToken, adminUserController.getAllUsers);
router.get("/admin_users", [verifySignature, verifyToken], adminUserController.getAllUsers);
/**
* @swagger
@ -162,6 +182,7 @@ router.get("/admin_users", verifyToken, adminUserController.getAllUsers);
* summary: Get user by ID (Protected)
* tags: [Admin Users]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 201:
@ -171,7 +192,7 @@ router.get("/admin_users", verifyToken, adminUserController.getAllUsers);
* 500:
* description: Server error
*/
router.get("/admin_users/:id", verifyToken, adminUserController.getUserById);
router.get("/admin_users/:id", [verifySignature, verifyToken], adminUserController.getUserById);
/**
* @swagger
@ -179,6 +200,9 @@ router.get("/admin_users/:id", verifyToken, adminUserController.getUserById);
* post:
* summary: Create a user
* tags: [Admin Users]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 201:
* description: created successfully
@ -187,7 +211,7 @@ router.get("/admin_users/:id", verifyToken, adminUserController.getUserById);
* 500:
* description: Server error
*/
router.post("/admin_users", adminUserController.createUser);
router.post("/admin_users",[verifySignature, verifyToken], adminUserController.createUser);
/**
* @swagger
@ -195,6 +219,9 @@ router.post("/admin_users", adminUserController.createUser);
* put:
* summary: Update user
* tags: [Admin Users]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 201:
* description: updated successfully
@ -203,7 +230,7 @@ router.post("/admin_users", adminUserController.createUser);
* 500:
* description: Server error
*/
router.put("/admin_users/:id", adminUserController.updateUser);
router.put("/admin_users/:id",[verifySignature, verifyToken], adminUserController.updateUser);
/**
* @swagger
@ -211,6 +238,9 @@ router.put("/admin_users/:id", adminUserController.updateUser);
* delete:
* summary: Delete user
* tags: [Admin Users]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 201:
* description: deleted successfully
@ -219,7 +249,7 @@ router.put("/admin_users/:id", adminUserController.updateUser);
* 500:
* description: Server error
*/
router.delete("/admin_users/:id", adminUserController.deleteUser);
router.delete("/admin_users/:id",[verifySignature, verifyToken], adminUserController.deleteUser);
@ -241,6 +271,9 @@ router.delete("/admin_users/:id", adminUserController.deleteUser);
* post:
* summary: Create a new Establishment with linked user
* tags: [Establishments]
* security:
* - appSignature: []
* - bearerAuth: []
* requestBody:
* required: true
* content:
@ -285,7 +318,7 @@ router.delete("/admin_users/:id", adminUserController.deleteUser);
* 500:
* description: Server error
*/
router.post("/establishments", establishmentController.createEstablishment);
router.post("/establishments",[verifySignature, verifyToken], establishmentController.createEstablishment);
/**
* @swagger
@ -293,11 +326,14 @@ router.post("/establishments", establishmentController.createEstablishment);
* get:
* summary: Get all Establishments
* tags: [Establishments]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 200:
* description: List of establishments
*/
router.get("/establishments", establishmentController.getAllEstablishments);
router.get("/establishments",[verifySignature, verifyToken], establishmentController.getAllEstablishments);
/**
* @swagger
@ -305,6 +341,9 @@ router.get("/establishments", establishmentController.getAllEstablishments);
* get:
* summary: Get an Establishment by ID
* tags: [Establishments]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -318,7 +357,7 @@ router.get("/establishments", establishmentController.getAllEstablishments);
* 404:
* description: Establishment not found
*/
router.get("/establishments/:id", establishmentController.getEstablishmentById);
router.get("/establishments/:id",[verifySignature, verifyToken], establishmentController.getEstablishmentById);
/**
* @swagger
@ -326,6 +365,9 @@ router.get("/establishments/:id", establishmentController.getEstablishmentById);
* put:
* summary: Update an Establishment by ID
* tags: [Establishments]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -362,7 +404,7 @@ router.get("/establishments/:id", establishmentController.getEstablishmentById);
* 404:
* description: Establishment not found
*/
router.put("/establishments/:id", establishmentController.updateEstablishment);
router.put("/establishments/:id",[verifySignature, verifyToken], establishmentController.updateEstablishment);
/**
* @swagger
@ -370,6 +412,9 @@ router.put("/establishments/:id", establishmentController.updateEstablishment);
* delete:
* summary: Delete an Establishment by ID
* tags: [Establishments]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -383,7 +428,7 @@ router.put("/establishments/:id", establishmentController.updateEstablishment);
* 404:
* description: Establishment not found
*/
router.delete("/establishments/:id", establishmentController.deleteEstablishment);
router.delete("/establishments/:id",[verifySignature, verifyToken], establishmentController.deleteEstablishment);
@ -405,6 +450,9 @@ router.delete("/establishments/:id", establishmentController.deleteEstablishment
* post:
* summary: Create a new Establishment User
* tags: [Establishment Users]
* security:
* - appSignature: []
* - bearerAuth: []
* requestBody:
* required: true
* content:
@ -443,7 +491,7 @@ router.delete("/establishments/:id", establishmentController.deleteEstablishment
* 500:
* description: Server error
*/
router.post("/establishment-users", establishmentUserController.createUser);
router.post("/establishment-users",[verifySignature, verifyToken], establishmentUserController.createUser);
/**
* @swagger
@ -451,6 +499,9 @@ router.post("/establishment-users", establishmentUserController.createUser);
* get:
* summary: Get all Establishment Users
* tags: [Establishment Users]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: query
* name: establishment_id
@ -463,7 +514,7 @@ router.post("/establishment-users", establishmentUserController.createUser);
* 200:
* description: List of establishment users
*/
router.get("/establishment-users", establishmentUserController.getAllUsers);
router.get("/establishment-users",[verifySignature, verifyToken], establishmentUserController.getAllUsers);
/**
* @swagger
@ -471,6 +522,9 @@ router.get("/establishment-users", establishmentUserController.getAllUsers);
* get:
* summary: Get an Establishment User by ID
* tags: [Establishment Users]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -484,7 +538,7 @@ router.get("/establishment-users", establishmentUserController.getAllUsers);
* 404:
* description: User not found
*/
router.get("/establishment-users/:id", establishmentUserController.getUserById);
router.get("/establishment-users/:id",[verifySignature, verifyToken], establishmentUserController.getUserById);
/**
* @swagger
@ -492,6 +546,9 @@ router.get("/establishment-users/:id", establishmentUserController.getUserById);
* put:
* summary: Update an Establishment User
* tags: [Establishment Users]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -529,7 +586,7 @@ router.get("/establishment-users/:id", establishmentUserController.getUserById);
* 404:
* description: User not found
*/
router.put("/establishment-users/:id", establishmentUserController.updateUser);
router.put("/establishment-users/:id",[verifySignature, verifyToken], establishmentUserController.updateUser);
/**
* @swagger
@ -537,6 +594,9 @@ router.put("/establishment-users/:id", establishmentUserController.updateUser);
* delete:
* summary: Delete an Establishment User
* tags: [Establishment Users]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -550,7 +610,7 @@ router.put("/establishment-users/:id", establishmentUserController.updateUser);
* 404:
* description: User not found
*/
router.delete("/establishment-users/:id", establishmentUserController.deleteUser);
router.delete("/establishment-users/:id",[verifySignature, verifyToken], establishmentUserController.deleteUser);
@ -572,6 +632,8 @@ router.delete("/establishment-users/:id", establishmentUserController.deleteUser
* post:
* summary: Login as establishment user
* tags: [Establishments User Auth]
* security:
* - appSignature: []
* requestBody:
* required: true
* content:
@ -600,19 +662,22 @@ router.delete("/establishment-users/:id", establishmentUserController.deleteUser
* 500:
* description: Server error
*/
router.post("/auth/user_login", establishmentUserAuthController.login);
router.post("/auth/user_login",[verifySignature], establishmentUserAuthController.login);
/**
* @swagger
* /api/auth/user_logout:
* post:
* summary: Logout user (client should discard JWT token)
* tags: [Establishments User Auth]
* responses:
* 200:
* description: Logout successful
*/
router.post("/auth/user_logout", establishmentUserAuthController.logout);
// /**
// * @swagger
// * /api/auth/user_logout:
// * post:
// * summary: Logout user (client should discard JWT token)
// * tags: [Establishments User Auth]
// * security:
// * - appSignature: []
// * - bearerAuth: []
// * responses:
// * 200:
// * description: Logout successful
// */
// router.post("/auth/user_logout",[verifySignature, verifyToken], establishmentUserAuthController.logout);
@ -633,6 +698,9 @@ router.post("/auth/user_logout", establishmentUserAuthController.logout);
* post:
* summary: Create a new Product
* tags: [Products]
* security:
* - appSignature: []
* - bearerAuth: []
* requestBody:
* required: true
* content:
@ -657,7 +725,7 @@ router.post("/auth/user_logout", establishmentUserAuthController.logout);
* 201:
* description: Product created successfully
*/
router.post("/products", productController.createProduct);
router.post("/products",[verifySignature, verifyToken], productController.createProduct);
/**
* @swagger
@ -665,11 +733,14 @@ router.post("/products", productController.createProduct);
* get:
* summary: Get all Products
* tags: [Products]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 200:
* description: List of products
*/
router.get("/products", productController.getAllProducts);
router.get("/products",[verifySignature, verifyToken], productController.getAllProducts);
/**
* @swagger
@ -677,6 +748,9 @@ router.get("/products", productController.getAllProducts);
* get:
* summary: Get Product by ID
* tags: [Products]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -689,7 +763,7 @@ router.get("/products", productController.getAllProducts);
* 404:
* description: Product not found
*/
router.get("/products/:id", productController.getProductById);
router.get("/products/:id", [verifySignature, verifyToken],productController.getProductById);
/**
* @swagger
@ -697,6 +771,9 @@ router.get("/products/:id", productController.getProductById);
* put:
* summary: Update a Product
* tags: [Products]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -721,7 +798,7 @@ router.get("/products/:id", productController.getProductById);
* 404:
* description: Product not found
*/
router.put("/products/:id", productController.updateProduct);
router.put("/products/:id",[verifySignature, verifyToken], productController.updateProduct);
/**
* @swagger
@ -729,6 +806,9 @@ router.put("/products/:id", productController.updateProduct);
* delete:
* summary: Delete a Product
* tags: [Products]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -741,7 +821,7 @@ router.put("/products/:id", productController.updateProduct);
* 404:
* description: Product not found
*/
router.delete("/products/:id", productController.deleteProduct);
router.delete("/products/:id",[verifySignature, verifyToken], productController.deleteProduct);
@ -762,6 +842,9 @@ router.delete("/products/:id", productController.deleteProduct);
* post:
* summary: Create a new EstablishmentProduct (link establishment with product)
* tags: [Establishment Products]
* security:
* - appSignature: []
* - bearerAuth: []
* requestBody:
* required: true
* content:
@ -789,7 +872,7 @@ router.delete("/products/:id", productController.deleteProduct);
* 500:
* description: Server error
*/
router.post("/establishment-products", establishmentProductController.createEstablishmentProduct);
router.post("/establishment-products",[verifySignature, verifyToken], establishmentProductController.createEstablishmentProduct);
/**
* @swagger
@ -797,6 +880,9 @@ router.post("/establishment-products", establishmentProductController.createEsta
* get:
* summary: Get all EstablishmentProducts
* tags: [Establishment Products]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: query
* name: establishment_id
@ -811,7 +897,7 @@ router.post("/establishment-products", establishmentProductController.createEsta
* 500:
* description: Server error
*/
router.get("/establishment-products", establishmentProductController.getAllEstablishmentProducts);
router.get("/establishment-products",[verifySignature, verifyToken], establishmentProductController.getAllEstablishmentProducts);
/**
@ -820,6 +906,9 @@ router.get("/establishment-products", establishmentProductController.getAllEstab
* get:
* summary: Get an EstablishmentProduct by ID
* tags: [Establishment Products]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -835,7 +924,7 @@ router.get("/establishment-products", establishmentProductController.getAllEstab
* 500:
* description: Server error
*/
router.get("/establishment-products/:id", establishmentProductController.getEstablishmentProductById);
router.get("/establishment-products/:id",[verifySignature, verifyToken], establishmentProductController.getEstablishmentProductById);
/**
* @swagger
@ -843,6 +932,9 @@ router.get("/establishment-products/:id", establishmentProductController.getEsta
* put:
* summary: Update an EstablishmentProduct by ID
* tags: [Establishment Products]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -876,7 +968,7 @@ router.get("/establishment-products/:id", establishmentProductController.getEsta
* 500:
* description: Server error
*/
router.put("/establishment-products/:id", establishmentProductController.updateEstablishmentProduct);
router.put("/establishment-products/:id",[verifySignature, verifyToken], establishmentProductController.updateEstablishmentProduct);
/**
* @swagger
@ -884,6 +976,9 @@ router.put("/establishment-products/:id", establishmentProductController.updateE
* delete:
* summary: Delete an EstablishmentProduct by ID
* tags: [Establishment Products]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -899,7 +994,7 @@ router.put("/establishment-products/:id", establishmentProductController.updateE
* 500:
* description: Server error
*/
router.delete("/establishment-products/:id", establishmentProductController.deleteEstablishmentProduct);
router.delete("/establishment-products/:id",[verifySignature, verifyToken], establishmentProductController.deleteEstablishmentProduct);
@ -923,6 +1018,9 @@ router.delete("/establishment-products/:id", establishmentProductController.dele
* post:
* summary: Create a new variation reason
* tags: [Variation Reason Master]
* security:
* - appSignature: []
* - bearerAuth: []
* requestBody:
* required: true
* content:
@ -941,7 +1039,7 @@ router.delete("/establishment-products/:id", establishmentProductController.dele
* 201:
* description: Reason created successfully
*/
router.post("/variation_reasons", variationReasonMasterController.createReason);
router.post("/variation_reasons",[verifySignature, verifyToken], variationReasonMasterController.createReason);
/**
* @swagger
@ -949,11 +1047,14 @@ router.post("/variation_reasons", variationReasonMasterController.createReason);
* get:
* summary: Get all variation reasons
* tags: [Variation Reason Master]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 200:
* description: List of reasons
*/
router.get("/variation_reasons", variationReasonMasterController.getAllReasons);
router.get("/variation_reasons",[verifySignature, verifyToken], variationReasonMasterController.getAllReasons);
/**
* @swagger
@ -961,6 +1062,9 @@ router.get("/variation_reasons", variationReasonMasterController.getAllReasons);
* get:
* summary: Get a reason by ID
* tags: [Variation Reason Master]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -974,7 +1078,7 @@ router.get("/variation_reasons", variationReasonMasterController.getAllReasons);
* 404:
* description: Reason not found
*/
router.get("/variation_reasons/:id", variationReasonMasterController.getReasonById);
router.get("/variation_reasons/:id",[verifySignature, verifyToken], variationReasonMasterController.getReasonById);
/**
* @swagger
@ -982,6 +1086,9 @@ router.get("/variation_reasons/:id", variationReasonMasterController.getReasonBy
* put:
* summary: Update a variation reason
* tags: [Variation Reason Master]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -1011,7 +1118,7 @@ router.get("/variation_reasons/:id", variationReasonMasterController.getReasonBy
* 404:
* description: Reason not found
*/
router.put("/variation_reasons/:id", variationReasonMasterController.updateReason);
router.put("/variation_reasons/:id",[verifySignature, verifyToken], variationReasonMasterController.updateReason);
/**
* @swagger
@ -1019,6 +1126,9 @@ router.put("/variation_reasons/:id", variationReasonMasterController.updateReaso
* delete:
* summary: Delete a variation reason
* tags: [Variation Reason Master]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -1032,7 +1142,7 @@ router.put("/variation_reasons/:id", variationReasonMasterController.updateReaso
* 404:
* description: Reason not found
*/
router.delete("/variation_reasons/:id", variationReasonMasterController.deleteReason);
router.delete("/variation_reasons/:id",[verifySignature, verifyToken], variationReasonMasterController.deleteReason);
@ -1055,11 +1165,14 @@ router.delete("/variation_reasons/:id", variationReasonMasterController.deleteRe
* get:
* summary: Get all zero target reasons
* tags: [Zero Target Reasons]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 200:
* description: List of reasons
*/
router.get("/zero_target_reason/", zeroTargetReasonMasterController.getAll);
router.get("/zero_target_reason/",[verifySignature, verifyToken], zeroTargetReasonMasterController.getAll);
/**
* @swagger
@ -1067,6 +1180,9 @@ router.get("/zero_target_reason/", zeroTargetReasonMasterController.getAll);
* get:
* summary: Get zero target reason by ID
* tags: [Zero Target Reasons]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - name: id
* in: path
@ -1077,7 +1193,7 @@ router.get("/zero_target_reason/", zeroTargetReasonMasterController.getAll);
* 200:
* description: Reason found
*/
router.get("/zero_target_reason/:id", zeroTargetReasonMasterController.getById);
router.get("/zero_target_reason/:id",[verifySignature, verifyToken], zeroTargetReasonMasterController.getById);
/**
* @swagger
@ -1085,6 +1201,9 @@ router.get("/zero_target_reason/:id", zeroTargetReasonMasterController.getById);
* post:
* summary: Create a new zero target reason
* tags: [Zero Target Reasons]
* security:
* - appSignature: []
* - bearerAuth: []
* requestBody:
* required: true
* content:
@ -1100,7 +1219,7 @@ router.get("/zero_target_reason/:id", zeroTargetReasonMasterController.getById);
* 201:
* description: Created successfully
*/
router.post("/zero_target_reason/", zeroTargetReasonMasterController.create);
router.post("/zero_target_reason/",[verifySignature, verifyToken], zeroTargetReasonMasterController.create);
/**
* @swagger
@ -1108,6 +1227,9 @@ router.post("/zero_target_reason/", zeroTargetReasonMasterController.create);
* put:
* summary: Update zero target reason
* tags: [Zero Target Reasons]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - name: id
* in: path
@ -1127,7 +1249,7 @@ router.post("/zero_target_reason/", zeroTargetReasonMasterController.create);
* 200:
* description: Updated successfully
*/
router.put("/zero_target_reason/:id", zeroTargetReasonMasterController.update);
router.put("/zero_target_reason/:id",[verifySignature, verifyToken], zeroTargetReasonMasterController.update);
/**
* @swagger
@ -1135,6 +1257,9 @@ router.put("/zero_target_reason/:id", zeroTargetReasonMasterController.update);
* delete:
* summary: Delete zero target reason
* tags: [Zero Target Reasons]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - name: id
* in: path
@ -1143,7 +1268,7 @@ router.put("/zero_target_reason/:id", zeroTargetReasonMasterController.update);
* 200:
* description: Deleted successfully
*/
router.delete("/zero_target_reason/:id", zeroTargetReasonMasterController.delete);
router.delete("/zero_target_reason/:id",[verifySignature, verifyToken], zeroTargetReasonMasterController.delete);
@ -1162,11 +1287,14 @@ router.delete("/zero_target_reason/:id", zeroTargetReasonMasterController.delete
* get:
* summary: Get all units
* tags: [Unit Master]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 200:
* description: List of units
*/
router.get("/unit_master", unitMasterController.getAllUnits);
router.get("/unit_master",[verifySignature, verifyToken], unitMasterController.getAllUnits);
/**
* @swagger
@ -1174,6 +1302,9 @@ router.get("/unit_master", unitMasterController.getAllUnits);
* get:
* summary: Get unit by ID
* tags: [Unit Master]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -1184,7 +1315,7 @@ router.get("/unit_master", unitMasterController.getAllUnits);
* 200:
* description: Unit details
*/
router.get("/unit_master/:id", unitMasterController.getUnitById);
router.get("/unit_master/:id",[verifySignature, verifyToken], unitMasterController.getUnitById);
/**
* @swagger
@ -1192,6 +1323,9 @@ router.get("/unit_master/:id", unitMasterController.getUnitById);
* post:
* summary: Create a new unit
* tags: [Unit Master]
* security:
* - appSignature: []
* - bearerAuth: []
* requestBody:
* required: true
* content:
@ -1209,7 +1343,7 @@ router.get("/unit_master/:id", unitMasterController.getUnitById);
* 201:
* description: Unit created successfully
*/
router.post("/unit_master", unitMasterController.createUnit);
router.post("/unit_master",[verifySignature, verifyToken], unitMasterController.createUnit);
/**
* @swagger
@ -1217,6 +1351,9 @@ router.post("/unit_master", unitMasterController.createUnit);
* put:
* summary: Update a unit
* tags: [Unit Master]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -1240,7 +1377,7 @@ router.post("/unit_master", unitMasterController.createUnit);
* 200:
* description: Unit updated successfully
*/
router.put("/unit_master/:id", unitMasterController.updateUnit);
router.put("/unit_master/:id",[verifySignature, verifyToken], unitMasterController.updateUnit);
/**
* @swagger
@ -1248,6 +1385,9 @@ router.put("/unit_master/:id", unitMasterController.updateUnit);
* delete:
* summary: Delete a unit
* tags: [Unit Master]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - in: path
* name: id
@ -1258,7 +1398,7 @@ router.put("/unit_master/:id", unitMasterController.updateUnit);
* 200:
* description: Unit deleted successfully
*/
router.delete("/unit_master/:id", unitMasterController.deleteUnit);
router.delete("/unit_master/:id",[verifySignature, verifyToken], unitMasterController.deleteUnit);
@ -1277,6 +1417,9 @@ router.delete("/unit_master/:id", unitMasterController.deleteUnit);
* post:
* summary: Create submission with up to 10 products
* tags: [Submissions]
* security:
* - appSignature: []
* - bearerAuth: []
* requestBody:
* required: true
* content:
@ -1316,7 +1459,7 @@ router.delete("/unit_master/:id", unitMasterController.deleteUnit);
* 201:
* description: Submission created
*/
router.post("/submissions", submissionController.createSubmission);
router.post("/submissions",[verifySignature, verifyToken], submissionController.createSubmission);
/**
* @swagger
@ -1324,6 +1467,9 @@ router.post("/submissions", submissionController.createSubmission);
* put:
* summary: Update submission with products
* tags: [Submissions]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - name: id
* in: path
@ -1369,7 +1515,7 @@ router.post("/submissions", submissionController.createSubmission);
* 200:
* description: Updated successfully
*/
router.put("/submissions/:id", submissionController.updateSubmission);
router.put("/submissions/:id",[verifySignature, verifyToken], submissionController.updateSubmission);
/**
* @swagger
@ -1377,6 +1523,9 @@ router.put("/submissions/:id", submissionController.updateSubmission);
* get:
* summary: Get submission history for establishment
* tags: [Submissions]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - name: establishment_id
* in: path
@ -1385,7 +1534,7 @@ router.put("/submissions/:id", submissionController.updateSubmission);
* 200:
* description: History list
*/
router.get("/submissions/history/:establishment_id", submissionController.submissionHistory);
router.get("/submissions/history/:establishment_id",[verifySignature, verifyToken], submissionController.submissionHistory);
/**
* @swagger
@ -1393,11 +1542,14 @@ router.get("/submissions/history/:establishment_id", submissionController.submis
* get:
* summary: Get all submissions
* tags: [Submissions]
* security:
* - appSignature: []
* - bearerAuth: []
* responses:
* 200:
* description: All submissions
*/
router.get("/submissions", submissionController.submissionList);
router.get("/submissions",[verifySignature, verifyToken], submissionController.submissionList);
/**
* @swagger
@ -1405,6 +1557,9 @@ router.get("/submissions", submissionController.submissionList);
* get:
* summary: Get submission with product details
* tags: [Submissions]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - name: id
* in: path
@ -1413,7 +1568,96 @@ router.get("/submissions", submissionController.submissionList);
* 200:
* description: Submission details
*/
router.get("/submissions/:id", submissionController.viewSubmissionDetails);
router.get("/submissions/:id",[verifySignature, verifyToken], submissionController.viewSubmissionDetails);
/**
* @swagger
* /api/submissionEditRequest/{id}:
* put:
* summary: Update request for submission products
* tags: [Submissions]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - name: id
* in: path
* required: true
* requestBody:
* required: true
* content:
* application/json:
* schema:
* type: object
* properties:
* edit_request: { type: integer }
* responses:
* 200:
* description: Updated successfully
*/
router.put("/submissionEditRequest/:id",[verifySignature, verifyToken], submissionController.submissionEditRequest);
/**
* @swagger
* /api/enableOrDisableSubmissionEditAccess/{id}:
* put:
* summary: Allow or deny the edit request of submission products
* tags: [Submissions]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - name: id
* in: path
* required: true
* requestBody:
* required: true
* content:
* application/json:
* schema:
* type: object
* properties:
* edit_access:
* type: integer
* description: 1 for Enable, 0 for Disable
* responses:
* 200:
* description: Updated successfully
*/
router.put("/enableOrDisableSubmissionEditAccess/:id",[verifySignature, verifyToken], submissionController.enableOrDisableSubmissionEditAccess);
/**
* @swagger
* /api/approveOrRejectSubmission/{id}:
* put:
* summary: Approve or Reject the submission
* tags: [Submissions]
* security:
* - appSignature: []
* - bearerAuth: []
* parameters:
* - name: id
* in: path
* required: true
* requestBody:
* required: true
* content:
* application/json:
* schema:
* type: object
* properties:
* approve_reject_status:
* type: integer
* description: 1 for Approve, 2 for Reject
* responses:
* 200:
* description: Updated successfully
*/
router.put("/approveOrRejectSubmission/:id",[verifySignature, verifyToken], submissionController.approveOrRejectSubmission);

View File

@ -22,7 +22,7 @@ const swaggerOptions = {
info: {
title: "FCSC IPI Survey",
version: "1.0.0",
description: "User management + Auth API using Sequelize and Swagger",
description: "Federal Competitiveness and Statistics Centre (FCSC) - Industrial Production Index (IPI)",
},
components: {
securitySchemes: {
@ -51,9 +51,9 @@ app.use("/api", routes);
// Sync DB
db.sequelize.sync({ alter: true }).then(() => {
console.log("✅ Database connected & synced.");
});
// db.sequelize.sync({ alter: true }).then(() => {
// console.log("✅ Database connected & synced.");
// });