not allow negative value
This commit is contained in:
parent
bc810552e4
commit
4926de93d6
@ -48,9 +48,54 @@ exports.createSubmission = async (req, res) => {
|
|||||||
await QuarterlyWindowsConfiguration.update({responded: currentResponded + 1, not_responded: currentNotResponded - 1, updated_at: new Date() }, {where: { id: config.id }} );
|
await QuarterlyWindowsConfiguration.update({responded: currentResponded + 1, not_responded: currentNotResponded - 1, updated_at: new Date() }, {where: { id: config.id }} );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const hasNegativeNumber = (obj, fields) => {
|
||||||
|
return fields.find((field) => {
|
||||||
|
const val = obj[field];
|
||||||
|
if (val === null || val === undefined || val === "") return false;
|
||||||
|
|
||||||
|
const num = Number(val);
|
||||||
|
return !isNaN(num) && num < 0;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
if (products.length) {
|
if (products.length) {
|
||||||
// products.forEach((p) => (p.submission_id = submission.id));
|
// products.forEach((p) => (p.submission_id = submission.id));
|
||||||
// await SubmissionProduct.bulkCreate(products);
|
// await SubmissionProduct.bulkCreate(products);
|
||||||
|
|
||||||
|
const numericFields = [
|
||||||
|
"annual_installed_capacity",
|
||||||
|
"previous_quantity_period_one",
|
||||||
|
"previous_quantity_period_two",
|
||||||
|
"previous_quantity_period_three",
|
||||||
|
"previous_cost_period_one",
|
||||||
|
"previous_cost_period_two",
|
||||||
|
"previous_cost_period_three",
|
||||||
|
|
||||||
|
"current_quantity_period_one",
|
||||||
|
"current_quantity_period_two",
|
||||||
|
"current_quantity_period_three",
|
||||||
|
"current_cost_period_one",
|
||||||
|
"current_cost_period_two",
|
||||||
|
"current_cost_period_three",
|
||||||
|
|
||||||
|
"forecast_quantity_period_one",
|
||||||
|
"forecast_quantity_period_two",
|
||||||
|
"forecast_quantity_period_three",
|
||||||
|
"forecast_cost_period_one",
|
||||||
|
"forecast_cost_period_two",
|
||||||
|
"forecast_cost_period_three",
|
||||||
|
];
|
||||||
|
|
||||||
|
for (let i = 0; i < products.length; i++) {
|
||||||
|
const invalidField = hasNegativeNumber(products[i], numericFields);
|
||||||
|
|
||||||
|
if (invalidField) {
|
||||||
|
return res.status(400).json({
|
||||||
|
status: "failed",
|
||||||
|
message: `Product ${i + 1}: ${invalidField} cannot be negative`,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Process products before insert
|
// Process products before insert
|
||||||
const processedProducts = products.map((p) => {
|
const processedProducts = products.map((p) => {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user