comment av repetition logic for locked dates

This commit is contained in:
Dobromir Popov
2024-07-14 22:57:55 +03:00
parent 89d0134d94
commit 34aceed38f

View File

@ -31,8 +31,8 @@ export default function AvailabilityForm({ publisherId, existingItems, inline, o
}; };
const id = parseInt(router.query.id); const id = parseInt(router.query.id);
//coalsce existingItems to empty array
existingItems = existingItems || []; const originalAvailabilities = existingItems || [];
const [editMode, setEditMode] = useState(existingItems.length > 0); const [editMode, setEditMode] = useState(existingItems.length > 0);
const [publisher, setPublisher] = useState({ id: publisherId }); const [publisher, setPublisher] = useState({ id: publisherId });
@ -144,25 +144,34 @@ export default function AvailabilityForm({ publisherId, existingItems, inline, o
setAvailabilities(avs); setAvailabilities(avs);
} }
// Handle repetition logic // Handle repetition logic
avs.forEach(async av => { // const parentAvailabilityId = avs[0].id;
if (av.repeatWeekly && av.startTime < lockedBeforeDate) { // originalAvailabilities.forEach(async av => {
const newDate = availability.startTime; // if (av.repeatWeekly && av.startTime < lockedBeforeDate) {
while (newDate < lockedBeforeDate) { // const newDate = av.startTime;
const newAvailability = { // while (newDate < lockedBeforeDate) {
...updatedAvailability, // const newAvailability = {
startTime: newDate, // ...av,
parentAvailabilityId: id, // startTime: newDate,
dateOfEntry: new Date(), // parentAvailability: { connect: { id: parentAvailabilityId } },
type: "OneTime" // publisher: { connect: { id: publisher.id } },
}; // dateOfEntry: new Date(),
await axiosInstance.post(urls.apiUrl, newAvailability); // type: "OneTime"
newDate.setDate(newDate.getDate() + 7); // Repeat weekly // };
}
} // delete newAvailability.id;
console.log("Updated availability: ", av) // delete newAvailability.title;
} // delete newAvailability.date;
); // delete newAvailability.publisherId
// await axiosInstance.post(urls.apiUrl, newAvailability);
// newDate.setDate(newDate.getDate() + 7); // Repeat weekly
// }
// }
// console.log("Updated availability: ", av)
// }
// );
handleCompletion({ updated: true }); handleCompletion({ updated: true });
} catch (error) { } catch (error) {