fetch = require("node-fetch") process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0" cookie = "timesheets=s%3A8OD5JBpF-Xt2XnETidIulrB3t0zx7hyM.COWXDBh6q%2BzYIAZaBEzP1JipOuy9UgIRKydvlrC0rUE" oncArr = [ { year:2023, month: 02, day: 17 }, { year:2023, month: 03, day: 10 }, { year:2023, month: 03, day: 31 }, { year:2023, month: 04, day: 21 }, { year:2023, month: 05, day: 12 }, { year:2023, month: 06, day: 02 } ] function makeArr(startDateObj,username, password){ date = new Date(startDateObj.year+"-"+startDateObj.month+"-"+startDateObj.day) dateMs = Date.parse(date)+7200000 // fuck TZ dateArr =[] postDataObj = {} i = 7 re = /(.*)T/ while (i != 0) { day = new Date(dateMs) postDataObj = {teamId:null, date:day.toISOString().substring(0, 10), startTime:"17:30", endTime:"07:00"} switch (day.getDay()) { case 0: postDataObj.startTime="00:00" postDataObj.endTime="00:00" dateArr.push(postDataObj) break; case 6: postDataObj.startTime="00:00" postDataObj.endTime="00:00" dateArr.push(postDataObj) break; case 5: postDataObj.endTime="00:00" dateArr.push(postDataObj) break; case 1: postDataObj = {teamId:null, date:day.toISOString().substring(0, 10), startTime:"00:00", endTime:"07:00"} dateArr.push(postDataObj) postDataObj = {teamId:null, date:day.toISOString().substring(0, 10), startTime:"17:30", endTime:"07:00"} dateArr.push(postDataObj) break; default: dateArr.push(postDataObj) break; } dateMs = dateMs+86400000 i =i-1 } dateSend(dateArr, cookie) } async function dateSend(dateArr, cookie) { console.log(dateArr) fetch('https://timesheets.node4.co.uk/api/on-call', { method: 'post', body: JSON.stringify(dateArr), headers: { "Accept":"application/json, text/plain, */*", "Accept-Encoding":"gzip, deflate, br", "Accept-Language":"en-US,en;q=0.5", "Cache-Control":"no-cache", "Connection":"keep-alive", "Content-Type":"application/json", "Cookie": cookie, "Host": "timesheets.node4.co.uk", "Pragma":"no-cache", "Referer":"https://timesheets.node4.co.uk/on-call/entries", "Sec-Fetch-Dest":"empty", "Sec-Fetch-Mode":"cors", "Sec-Fetch-Site":"same-origin", "Sec-GPC":1, "User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:94.0) Gecko/20100101 Firefox/94.0" } }) .then(res => res.text()) .then(body => console.log(body)); } oncArr.forEach(obj => { makeArr(obj) })