91 lines
2.6 KiB
JavaScript
91 lines
2.6 KiB
JavaScript
const db = require("../models");
|
|
const bcrypt = require("bcryptjs");
|
|
const EstablishmentUser = db.establishment_user;
|
|
|
|
// Create User
|
|
exports.createUser = async (req, res) => {
|
|
try {
|
|
|
|
const { establishment_id, name, email, password } = req.body;
|
|
const hashed = await bcrypt.hash(password, 10);
|
|
|
|
const user = await EstablishmentUser.create({
|
|
establishment_id,
|
|
name,
|
|
email,
|
|
password: hashed,
|
|
});
|
|
|
|
res.status(201).send({'status':"success",'message':"Creation successful",'data': user });
|
|
|
|
} catch (err) {
|
|
res.status(500).send({'status':"failed",'message':err.message });
|
|
}
|
|
};
|
|
|
|
// Get all users
|
|
exports.getAllUsers = async (req, res) => {
|
|
try {
|
|
|
|
const users = await EstablishmentUser.findAll({ where:{ establishment_id : req.query.establishment_id} });
|
|
res.status(200).send({'status':"success",'message':"Fetched successfully",'data': users });
|
|
|
|
} catch (err) {
|
|
res.status(500).send({'status':"failed",'message':err.message });
|
|
}
|
|
};
|
|
|
|
// Get user by id
|
|
exports.getUserById = async (req, res) => {
|
|
try {
|
|
|
|
const user = await EstablishmentUser.findByPk(req.params.id);
|
|
|
|
if (!user) res.status(404).send({'status':"failed",'message':"Record not found",'data': "" });
|
|
|
|
res.status(200).send({'status':"success",'message':"Fetched successfully",'data': user });
|
|
|
|
} catch (err) {
|
|
res.status(500).send({'status':"failed",'message':err.message });
|
|
}
|
|
};
|
|
|
|
// Update user
|
|
exports.updateUser = async (req, res) => {
|
|
try {
|
|
|
|
const { name, email, password, is_active } = req.body;
|
|
const data = {};
|
|
if (name) data.name = name;
|
|
if (email) data.email = email;
|
|
if (is_active !== undefined) data.is_active = is_active;
|
|
if (password) data.password = await bcrypt.hash(password, 10);
|
|
|
|
const [updated] = await EstablishmentUser.update(data, {
|
|
where: { id: req.params.id },
|
|
});
|
|
|
|
if (!updated) res.status(404).send({'status':"failed",'message':"Record not found",'data': "" });
|
|
|
|
res.status(200).send({'status':"success",'message':"Record updated successfully",'data': "" });
|
|
|
|
} catch (err) {
|
|
res.status(500).send({'status':"failed",'message':err.message });
|
|
}
|
|
};
|
|
|
|
// Delete user
|
|
exports.deleteUser = async (req, res) => {
|
|
try {
|
|
|
|
const deleted = await EstablishmentUser.destroy({ where: { id: req.params.id } });
|
|
|
|
if (!deleted) res.status(404).send({'status':"failed",'message':"Record not found",'data': "" });
|
|
|
|
res.status(200).send({'status':"success",'message':"Record deleted successfully",'data': "" });
|
|
|
|
} catch (err) {
|
|
res.status(500).send({'status':"failed",'message':err.message });
|
|
}
|
|
};
|