wisdom #2

Merged
yogiedigital merged 126 commits from wisdom into main 2025-10-20 03:26:33 +00:00
2 changed files with 34 additions and 13 deletions
Showing only changes of commit d0394f27eb - Show all commits

View File

@@ -1,5 +1,5 @@
const pool = require("../config"); const pool = require("../config");
// const formattedDate = require("../utils/date"); const { formattedDate } = require("../utils/date");
// Get all schedules // Get all schedules
const getAllScheduleDb = async (searchParams = {}) => { const getAllScheduleDb = async (searchParams = {}) => {
@@ -60,16 +60,36 @@ const getScheduleByIdDb = async (id) => {
WHERE a.schedule_id = $1 AND a.deleted_at IS NULL WHERE a.schedule_id = $1 AND a.deleted_at IS NULL
`; `;
const result = await pool.query(queryText, [id]); const result = await pool.query(queryText, [id]);
return result.recordset?.[0] || null; return result.recordset?.[0] || null;
}; };
const insertScheduleDb = async (store) => { const insertScheduleDb = async (store) => {
const { query: queryText, values } = pool.buildDynamicInsert("schedule", store); const nextDays = Number(store.next_day ?? 0);
const insertedRecords = [];
for (let i = 0; i <= nextDays; i++) {
const nextDate = new Date(store.schedule_date);
nextDate.setDate(nextDate.getDate() + i);
const formatted = formattedDate(nextDate);
const newStore = {
...store,
schedule_date: formatted,
};
delete newStore.next_day;
const { query: queryText, values } = pool.buildDynamicInsert("schedule", newStore);
const result = await pool.query(queryText, values); const result = await pool.query(queryText, values);
const insertedId = result.recordset?.[0]?.inserted_id; const insertedId = result.recordset?.[0]?.inserted_id;
return insertedId ? await getScheduleByIdDb(insertedId) : null; if (insertedId) {
const record = await getScheduleByIdDb(insertedId);
insertedRecords.push(record);
}
}
return insertedRecords;
}; };
const updateScheduleDb = async (id, data) => { const updateScheduleDb = async (id, data) => {

View File

@@ -12,6 +12,7 @@ const insertScheduleSchema = Joi.object({
}), }),
is_active: Joi.boolean().required(), is_active: Joi.boolean().required(),
shift_id: Joi.number(), shift_id: Joi.number(),
next_day: Joi.number().required(),
}); });
const updateScheduleSchema = Joi.object({ const updateScheduleSchema = Joi.object({