From f63385dc70006e8ba59a1538e3e7ef46d0ba6157 Mon Sep 17 00:00:00 2001 From: leishaaf <152096600+leishaaf@users.noreply.github.com> Date: Tue, 1 Jul 2025 18:40:42 -1000 Subject: [PATCH 1/5] adding --- api/main_endpoints/routes/Advertisement.js | 4 ++ src/Pages/Advertisement/AdvertisementAdmin.js | 52 ++++--------------- 2 files changed, 14 insertions(+), 42 deletions(-) diff --git a/api/main_endpoints/routes/Advertisement.js b/api/main_endpoints/routes/Advertisement.js index 93a199e4a..55108bd0b 100644 --- a/api/main_endpoints/routes/Advertisement.js +++ b/api/main_endpoints/routes/Advertisement.js @@ -20,6 +20,7 @@ router.get('/', async (req, res) => { }); }); + router.get('/getAllAdvertisements', async (req, res) => { if (!checkIfTokenSent(req)) { return res.sendStatus(FORBIDDEN); @@ -43,6 +44,7 @@ router.post('/createAdvertisement', async (req, res) => { message: req.body.message, expireDate: req.body.expireDate }); + console.log("expire date " + expireDate); Advertisement.create(newAd) .then((post) => { @@ -59,6 +61,8 @@ router.post('/deleteAdvertisement', async (req, res) => { } else if (!await decodeToken(req)) { return res.sendStatus(UNAUTHORIZED); } + console.log("expire date in delete " + expireDate); + Advertisement.deleteOne({ _id: req.body._id }) .then(result => { if (result.n < 1) { diff --git a/src/Pages/Advertisement/AdvertisementAdmin.js b/src/Pages/Advertisement/AdvertisementAdmin.js index 854c5b4d8..f0343535b 100644 --- a/src/Pages/Advertisement/AdvertisementAdmin.js +++ b/src/Pages/Advertisement/AdvertisementAdmin.js @@ -8,9 +8,7 @@ export default function AdvertisementAdmin() { const [ads, setAds] = useState([]); const [message, setMessage] = useState(''); - const [year, setYear] = useState(); - const [month, setMonth] = useState(); - const [day, setDay] = useState(); + const [expireDate, setExpireDate] = useState(); async function getAdsFromDB() { const adsFromDB = await getAds(user.token); @@ -20,20 +18,8 @@ export default function AdvertisementAdmin() { } async function createAdHandler() { - // make sure empty inputs are properly set as undefined if empty - if (year === '') { - setYear(undefined); - } - if (month === '') { - setMonth(undefined); - } - if (day === '') { - setDay(undefined); - } - - let expireDate = new Date(year, month - 1, day); - if (isNaN(expireDate.getTime())) { - expireDate = undefined; + if(expireDate === null){ + setExpireDate(undefined); } await createAd({ @@ -48,6 +34,7 @@ export default function AdvertisementAdmin() { const adsFromDB = await getAds(user.token); if (!adsFromDB.error) { const currentDate = new Date(); + const expiredAds = adsFromDB.responseData.filter(ad => { if (ad.expireDate === undefined) return false; return new Date(ad.expireDate) < currentDate; @@ -62,10 +49,7 @@ export default function AdvertisementAdmin() { useEffect(() => { getAdsFromDB(); - const intervalId = setInterval(async () => { - await deleteExpiredAds(); - await getAdsFromDB(); - }, 20); + }, []); @@ -102,28 +86,12 @@ export default function AdvertisementAdmin() {