test company profile import
This commit is contained in:
parent
6138ae15ca
commit
5d954e216f
@ -424,7 +424,6 @@ exports.getAllEstablishments = async (req, res) => {
|
|||||||
{ header: "Status", key: "status", width: 15 },
|
{ header: "Status", key: "status", width: 15 },
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
// Format data
|
// Format data
|
||||||
data.forEach((item) => {
|
data.forEach((item) => {
|
||||||
worksheet.addRow({
|
worksheet.addRow({
|
||||||
@ -1770,6 +1769,53 @@ exports.establishmentBulkUpload = async (req, res) => {
|
|||||||
const r = p.r;
|
const r = p.r;
|
||||||
const cityTownValue = r.city_town ? r.city_town.trim().toLowerCase() : "";
|
const cityTownValue = r.city_town ? r.city_town.trim().toLowerCase() : "";
|
||||||
|
|
||||||
|
const uploadedEmails = prepared.map(p =>
|
||||||
|
p.email.trim().toLowerCase()
|
||||||
|
);
|
||||||
|
|
||||||
|
// fetch once
|
||||||
|
const [adminUsers, establishmentUsers] = await Promise.all([
|
||||||
|
User.findAll({
|
||||||
|
where: { email: uploadedEmails, is_active: true },
|
||||||
|
attributes: ["email"]
|
||||||
|
}),
|
||||||
|
EstablishmentUser.findAll({
|
||||||
|
where: { email: uploadedEmails, is_active: true },
|
||||||
|
attributes: ["email"]
|
||||||
|
})
|
||||||
|
]);
|
||||||
|
|
||||||
|
const adminEmailSet = new Set(
|
||||||
|
adminUsers.map(u => u.email.toLowerCase())
|
||||||
|
);
|
||||||
|
|
||||||
|
const establishmentEmailSet = new Set(
|
||||||
|
establishmentUsers.map(u => u.email.toLowerCase())
|
||||||
|
);
|
||||||
|
|
||||||
|
// collect errors
|
||||||
|
const emailErrors = prepared
|
||||||
|
.map(p => {
|
||||||
|
const email = p.email.trim().toLowerCase();
|
||||||
|
|
||||||
|
return establishmentEmailSet.has(email)
|
||||||
|
? { row: p.rowNum, error: "Email address already exists in company profile" }
|
||||||
|
: adminEmailSet.has(email)
|
||||||
|
? { row: p.rowNum, error: "Email address is already registered in the admin users" }
|
||||||
|
: null;
|
||||||
|
})
|
||||||
|
.filter(Boolean);
|
||||||
|
|
||||||
|
// stop upload if any error found
|
||||||
|
if (emailErrors.length > 0) {
|
||||||
|
deleteFileSecure(sanitizedPath);
|
||||||
|
return res.status(409).send({
|
||||||
|
status: "failed",
|
||||||
|
message: "Email validation failed",
|
||||||
|
errors: emailErrors
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (cityTownValue) {
|
if (cityTownValue) {
|
||||||
const id = cityTownMap[cityTownValue];
|
const id = cityTownMap[cityTownValue];
|
||||||
if (!id) {
|
if (!id) {
|
||||||
@ -1792,23 +1838,23 @@ exports.establishmentBulkUpload = async (req, res) => {
|
|||||||
const p = prepared[k];
|
const p = prepared[k];
|
||||||
const r = p.r;
|
const r = p.r;
|
||||||
|
|
||||||
const existEstablishmentUser = await EstablishmentUser.findOne({ where: { email:p.email, is_active: true } });
|
// const existEstablishmentUser = await EstablishmentUser.findOne({ where: { email:p.email, is_active: true } });
|
||||||
const existingAdminUser = await User.findOne({ where: { email:p.email, is_active: true } });
|
// const existingAdminUser = await User.findOne({ where: { email:p.email, is_active: true } });
|
||||||
if (existEstablishmentUser) {
|
// if (existEstablishmentUser) {
|
||||||
logger.info(`Email already exists in company profile: ${p.email}`);
|
// logger.info(`Email already exists in company profile: ${p.email}`);
|
||||||
return res.status(409).send({
|
// return res.status(409).send({
|
||||||
status: "failed",
|
// status: "failed",
|
||||||
message: "This email address is already exists in company profile."
|
// message: "This email address is already exists in company profile."
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (existingAdminUser) {
|
// if (existingAdminUser) {
|
||||||
logger.info(`Email already exists in Admin Users: ${p.email}`);
|
// logger.info(`Email already exists in Admin Users: ${p.email}`);
|
||||||
return res.status(409).send({
|
// return res.status(409).send({
|
||||||
status: "failed",
|
// status: "failed",
|
||||||
message: "This email address is already registered in the admin users."
|
// message: "This email address is already registered in the admin users."
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
||||||
const est = await Establishment.create({
|
const est = await Establishment.create({
|
||||||
establishment_code: p.est,
|
establishment_code: p.est,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user