Sindbad~EG File Manager
const db = require("../models");
const getAuctionsAndLanesByAuctioneerId = async (req, res) => {
try {
const { auctioneer_id } = req.body;
let result = await db.tblAuctionLane.findAll({
attributes: ["name", "lane_id"], // Select the columns you want to retrieve
include: [
{
model: db.tblAuction,
attributes: ["name"],
raw: true,
required: true,
},
],
where: {
auctioneer_id: auctioneer_id,
},
});
const transformedData = result.map((item) => ({
lane_id: item.lane_id,
name: item.name,
auction_name: item.tblAuction.name,
}));
const data = transformedData.reduce(
(acc, { lane_id, name, auction_name }) => {
const auctionEntry = acc.find(
(entry) => entry.auction_name === auction_name
);
if (auctionEntry) {
auctionEntry.lane_names.push({ lane_id, name });
} else {
acc.push({ auction_name, lane_names: [{ lane_id, name }] });
}
return acc;
},
[]
);
return res.json({ status: 200, message: "Success", data: data });
} catch (error) {
return res.status(500).json({
status: 500,
message: "Internal Server Error",
error: error.message,
});
}
};
const getAuctionsByAuctioneerId = async (req, res) => {
try {
const { user_id, week_id } = req.body;
let results = await db.sequelize.query(
"CALL uFilterByAuction(:user_id, :week_id)",
{
replacements: { user_id, week_id },
}
);
let [unCatogrizedResult] = await db.sequelize.query(
"CALL uAucUncatUnitCount(:user_id, :week_id)",
{
replacements: { user_id, week_id },
}
);
if (!unCatogrizedResult) {
unCatogrizedResult = {
auction_id: 0,
name: "Not Provided",
units: 0,
};
}
results.push(unCatogrizedResult);
return res.json({
status: 200,
message: "Success",
filter_type: "auction",
data: results,
// unCatogrizedResult,
});
} catch (error) {
return res.status(500).json({
status: 500,
message: "Internal Server Error",
error: error.message,
});
}
};
module.exports = {
getAuctionsAndLanesByAuctioneerId,
getAuctionsByAuctioneerId,
};
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists