login merged for both user : GWM
This commit is contained in:
parent
dd60e960cb
commit
132d6c1cb8
@ -4,6 +4,7 @@ const jwt = require("jsonwebtoken");
|
|||||||
require("dotenv").config();
|
require("dotenv").config();
|
||||||
|
|
||||||
const User = db.user;
|
const User = db.user;
|
||||||
|
const EstablishmentUser = db.EstablishmentUser;
|
||||||
|
|
||||||
// Register new user
|
// Register new user
|
||||||
exports.register = async (req, res) => {
|
exports.register = async (req, res) => {
|
||||||
@ -29,13 +30,27 @@ exports.login = async (req, res) => {
|
|||||||
try {
|
try {
|
||||||
const { email, password } = req.body;
|
const { email, password } = req.body;
|
||||||
|
|
||||||
const user = await User.findOne({ where: { email } });
|
userRole = 'Admin'
|
||||||
if (!user) res.status(404).send({'status':"failed",'message':"User not found",'data': ""});
|
userData = await EstablishmentUser.findOne({ where: { email } });
|
||||||
|
if (!userData) {
|
||||||
|
userData = await User.findOne({ where: { email } });
|
||||||
|
userRole = 'EstablishmentUser'
|
||||||
|
if (!userData) res.status(404).send({'status':"failed",'message':"User not found",'data': ""});
|
||||||
|
}
|
||||||
|
|
||||||
const validPass = await bcrypt.compare(password, user.password);
|
|
||||||
|
const validPass = await bcrypt.compare(password, userData.password);
|
||||||
if (!validPass) res.status(401).send({'status':"failed",'message':"Invalid password",'data': ""});
|
if (!validPass) res.status(401).send({'status':"failed",'message':"Invalid password",'data': ""});
|
||||||
|
|
||||||
const token = jwt.sign({ id: user.id, email: user.email }, process.env.JWT_SECRET, {
|
|
||||||
|
if(userRole == 'Admin')
|
||||||
|
{
|
||||||
|
tokenData = { id: userData.id, email: userData.email , name: userData.name , role : userRole }
|
||||||
|
}else{
|
||||||
|
tokenData = { id: userData.id, email: userData.email , name: userData.name , role : userRole , establishment_id: userData.establishment_id }
|
||||||
|
}
|
||||||
|
|
||||||
|
const token = jwt.sign(tokenData, process.env.JWT_SECRET, {
|
||||||
expiresIn: "6h",
|
expiresIn: "6h",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
const db = require("../models");
|
const db = require("../models");
|
||||||
const bcrypt = require("bcryptjs");
|
const bcrypt = require("bcryptjs");
|
||||||
const Establishment = db.establishment;
|
const Establishment = db.establishment;
|
||||||
const EstablishmentUser = db.establishment_user;
|
const EstablishmentUser = db.EstablishmentUser;
|
||||||
|
|
||||||
// Create Establishment + linked user
|
// Create Establishment + linked user
|
||||||
exports.createEstablishment = async (req, res) => {
|
exports.createEstablishment = async (req, res) => {
|
||||||
@ -39,10 +39,10 @@ exports.createEstablishment = async (req, res) => {
|
|||||||
// });
|
// });
|
||||||
|
|
||||||
|
|
||||||
res.status(201).send({'status':"success",'message':"Establishment and linked user created successfully",'data': { establishment } });
|
return res.status(201).send({'status':"success",'message':"Establishment and linked user created successfully",'data': { establishment } });
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({'status':"failed",'message':err.message });
|
return res.status(500).send({'status':"failed",'message':err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -61,10 +61,10 @@ exports.getAllEstablishments = async (req, res) => {
|
|||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
res.status(200).send({'status':"success",'message':"Fetched successfully",'data': data });
|
return res.status(200).send({'status':"success",'message':"Fetched successfully",'data': data });
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({'status':"failed",'message':err.message });
|
return res.status(500).send({'status':"failed",'message':err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -76,12 +76,12 @@ exports.getEstablishmentById = async (req, res) => {
|
|||||||
include: [{ model: EstablishmentUser, as: "users" }],
|
include: [{ model: EstablishmentUser, as: "users" }],
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!data) res.status(404).send({'status':"failed",'message':"Record Not found",'data': "" });
|
if (!data) return res.status(404).send({'status':"failed",'message':"Record Not found",'data': "" });
|
||||||
|
|
||||||
res.status(200).send({'status':"success",'message':"Fetched successfully",'data': data });
|
return res.status(200).send({'status':"success",'message':"Fetched successfully",'data': data });
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({'status':"failed",'message':err.message });
|
return res.status(500).send({'status':"failed",'message':err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -93,12 +93,12 @@ exports.updateEstablishment = async (req, res) => {
|
|||||||
where: { id: req.params.id },
|
where: { id: req.params.id },
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!updated) res.status(404).send({'status':"failed",'message':"Record Not found",'data': "" });
|
if (!updated){ return res.status(404).send({'status':"failed",'message':"Record Not found",'data': "" }); }
|
||||||
|
|
||||||
res.status(200).send({'status':"success",'message':"Updated successfully",'data': "" });
|
return res.status(200).send({'status':"success",'message':"Updated successfully",'data': "" });
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({'status':"failed",'message':err.message });
|
return res.status(500).send({'status':"failed",'message':err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -108,11 +108,11 @@ exports.deleteEstablishment = async (req, res) => {
|
|||||||
|
|
||||||
const deleted = await Establishment.destroy({ where: { id: req.params.id } });
|
const deleted = await Establishment.destroy({ where: { id: req.params.id } });
|
||||||
|
|
||||||
if (!deleted) res.status(404).send({'status':"failed",'message':"Record Not found",'data': "" });
|
if (!deleted) return res.status(404).send({'status':"failed",'message':"Record Not found",'data': "" });
|
||||||
|
|
||||||
res.status(200).send({'status':"success",'message':"Deleted successfully",'data': "" });
|
return res.status(200).send({'status':"success",'message':"Deleted successfully",'data': "" });
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({'status':"failed",'message':err.message });
|
return res.status(500).send({'status':"failed",'message':err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
const db = require("../models");
|
const db = require("../models");
|
||||||
const bcrypt = require("bcryptjs");
|
const bcrypt = require("bcryptjs");
|
||||||
const EstablishmentUser = db.establishment_user;
|
const EstablishmentUser = db.EstablishmentUser;
|
||||||
|
|
||||||
// Create User
|
// Create User
|
||||||
exports.createUser = async (req, res) => {
|
exports.createUser = async (req, res) => {
|
||||||
@ -17,10 +17,10 @@ exports.createUser = async (req, res) => {
|
|||||||
gender,
|
gender,
|
||||||
});
|
});
|
||||||
|
|
||||||
res.status(201).send({'status':"success",'message':"Creation successful",'data': user });
|
return res.status(201).send({'status':"success",'message':"Creation successful",'data': user });
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({'status':"failed",'message':err.message });
|
return res.status(500).send({'status':"failed",'message':err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -29,10 +29,10 @@ exports.getAllUsers = async (req, res) => {
|
|||||||
try {
|
try {
|
||||||
|
|
||||||
const users = await EstablishmentUser.findAll({ where:{ establishment_id : req.query.establishment_id} });
|
const users = await EstablishmentUser.findAll({ where:{ establishment_id : req.query.establishment_id} });
|
||||||
res.status(200).send({'status':"success",'message':"Fetched successfully",'data': users });
|
return res.status(200).send({'status':"success",'message':"Fetched successfully",'data': users });
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({'status':"failed",'message':err.message });
|
return res.status(500).send({'status':"failed",'message':err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -44,10 +44,10 @@ exports.getUserById = async (req, res) => {
|
|||||||
|
|
||||||
if (!user) res.status(404).send({'status':"failed",'message':"Record not found",'data': "" });
|
if (!user) res.status(404).send({'status':"failed",'message':"Record not found",'data': "" });
|
||||||
|
|
||||||
res.status(200).send({'status':"success",'message':"Fetched successfully",'data': user });
|
return res.status(200).send({'status':"success",'message':"Fetched successfully",'data': user });
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({'status':"failed",'message':err.message });
|
return res.status(500).send({'status':"failed",'message':err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -66,12 +66,12 @@ exports.updateUser = async (req, res) => {
|
|||||||
where: { id: req.params.id },
|
where: { id: req.params.id },
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!updated) res.status(404).send({'status':"failed",'message':"Record not found",'data': "" });
|
if (!updated) return res.status(404).send({'status':"failed",'message':"Record not found",'data': "" });
|
||||||
|
|
||||||
res.status(200).send({'status':"success",'message':"Record updated successfully",'data': "" });
|
return res.status(200).send({'status':"success",'message':"Record updated successfully",'data': "" });
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({'status':"failed",'message':err.message });
|
return res.status(500).send({'status':"failed",'message':err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -81,11 +81,11 @@ exports.deleteUser = async (req, res) => {
|
|||||||
|
|
||||||
const deleted = await EstablishmentUser.destroy({ where: { id: req.params.id } });
|
const deleted = await EstablishmentUser.destroy({ where: { id: req.params.id } });
|
||||||
|
|
||||||
if (!deleted) res.status(404).send({'status':"failed",'message':"Record not found",'data': "" });
|
if (!deleted) return res.status(404).send({'status':"failed",'message':"Record not found",'data': "" });
|
||||||
|
|
||||||
res.status(200).send({'status':"success",'message':"Record deleted successfully",'data': "" });
|
return res.status(200).send({'status':"success",'message':"Record deleted successfully",'data': "" });
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({'status':"failed",'message':err.message });
|
return res.status(500).send({'status':"failed",'message':err.message });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -21,14 +21,12 @@ const dashboardController = require("../controllers/dashboard.controller");
|
|||||||
/**
|
/**
|
||||||
* @swagger
|
* @swagger
|
||||||
* tags:
|
* tags:
|
||||||
* - name: Admin Auth
|
* - name: Admin And Establishments User Auth
|
||||||
* description: Authentication
|
* description: Authentication
|
||||||
* - name: Admin Users
|
* - name: Admin Users
|
||||||
* description: User management APIs
|
* description: User management APIs
|
||||||
* - name: Establishments
|
* - name: Establishments
|
||||||
* description: CRUD APIs for managing Establishments
|
* description: CRUD APIs for managing Establishments
|
||||||
* - name: Establishments User Auth
|
|
||||||
* description: Establishments User Auth APIs
|
|
||||||
* - name: Establishment Users
|
* - name: Establishment Users
|
||||||
* description: CRUD APIs for managing Establishment Users
|
* description: CRUD APIs for managing Establishment Users
|
||||||
* - name: Products
|
* - name: Products
|
||||||
@ -80,7 +78,7 @@ const dashboardController = require("../controllers/dashboard.controller");
|
|||||||
* /api/auth/admin_register:
|
* /api/auth/admin_register:
|
||||||
* post:
|
* post:
|
||||||
* summary: Register new Admin-user (For testing purpose only)
|
* summary: Register new Admin-user (For testing purpose only)
|
||||||
* tags: [Admin Auth]
|
* tags: [Admin And Establishments User Auth]
|
||||||
* security:
|
* security:
|
||||||
* - appSignature: []
|
* - appSignature: []
|
||||||
* requestBody:
|
* requestBody:
|
||||||
@ -118,8 +116,8 @@ router.post("/auth/admin_register",[verifySignature], authController.register);
|
|||||||
* @swagger
|
* @swagger
|
||||||
* /api/auth/admin_login:
|
* /api/auth/admin_login:
|
||||||
* post:
|
* post:
|
||||||
* summary: Login Admin-user and get JWT token
|
* summary: Login Admin-user / Establishments-user and get JWT token
|
||||||
* tags: [Admin Auth]
|
* tags: [Admin And Establishments User Auth]
|
||||||
* security:
|
* security:
|
||||||
* - appSignature: []
|
* - appSignature: []
|
||||||
* requestBody:
|
* requestBody:
|
||||||
@ -689,58 +687,43 @@ router.delete("/establishment-users/:id",[verifySignature, verifyToken], establi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @swagger
|
|
||||||
* /api/auth/user_login:
|
|
||||||
* post:
|
|
||||||
* summary: Login as establishment user
|
|
||||||
* tags: [Establishments User Auth]
|
|
||||||
* security:
|
|
||||||
* - appSignature: []
|
|
||||||
* requestBody:
|
|
||||||
* required: true
|
|
||||||
* content:
|
|
||||||
* application/json:
|
|
||||||
* schema:
|
|
||||||
* type: object
|
|
||||||
* required:
|
|
||||||
* - email
|
|
||||||
* - password
|
|
||||||
* properties:
|
|
||||||
* email:
|
|
||||||
* type: string
|
|
||||||
* example: gem@alpha.com
|
|
||||||
* password:
|
|
||||||
* type: string
|
|
||||||
* example: StrongPass@123
|
|
||||||
* responses:
|
|
||||||
* 200:
|
|
||||||
* description: Login successful
|
|
||||||
* 400:
|
|
||||||
* description: Missing fields
|
|
||||||
* 401:
|
|
||||||
* description: Invalid credentials
|
|
||||||
* 404:
|
|
||||||
* description: User not found
|
|
||||||
* 500:
|
|
||||||
* description: Server error
|
|
||||||
*/
|
|
||||||
router.post("/auth/user_login",[verifySignature], establishmentUserAuthController.login);
|
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
// * @swagger
|
// * @swagger
|
||||||
// * /api/auth/user_logout:
|
// * /api/auth/user_login:
|
||||||
// * post:
|
// * post:
|
||||||
// * summary: Logout user (client should discard JWT token)
|
// * summary: Login as establishment user
|
||||||
// * tags: [Establishments User Auth]
|
// * tags: [Establishments User Auth]
|
||||||
// * security:
|
// * security:
|
||||||
// * - appSignature: []
|
// * - appSignature: []
|
||||||
// * - bearerAuth: []
|
// * requestBody:
|
||||||
|
// * required: true
|
||||||
|
// * content:
|
||||||
|
// * application/json:
|
||||||
|
// * schema:
|
||||||
|
// * type: object
|
||||||
|
// * required:
|
||||||
|
// * - email
|
||||||
|
// * - password
|
||||||
|
// * properties:
|
||||||
|
// * email:
|
||||||
|
// * type: string
|
||||||
|
// * example: gem@alpha.com
|
||||||
|
// * password:
|
||||||
|
// * type: string
|
||||||
|
// * example: StrongPass@123
|
||||||
// * responses:
|
// * responses:
|
||||||
// * 200:
|
// * 200:
|
||||||
// * description: Logout successful
|
// * description: Login successful
|
||||||
|
// * 400:
|
||||||
|
// * description: Missing fields
|
||||||
|
// * 401:
|
||||||
|
// * description: Invalid credentials
|
||||||
|
// * 404:
|
||||||
|
// * description: User not found
|
||||||
|
// * 500:
|
||||||
|
// * description: Server error
|
||||||
// */
|
// */
|
||||||
// router.post("/auth/user_logout",[verifySignature, verifyToken], establishmentUserAuthController.logout);
|
// router.post("/auth/user_login",[verifySignature], establishmentUserAuthController.login);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user