You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
2.3 KiB

fetch = require("node-fetch")
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
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
while (i != 0) {
day = new Date(dateMs)
postDataObj = {teamId:10,
date:day,
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:10,
date:day,
startTime:"00:00",
endTime:"07:00"}
dateArr.push(postDataObj)
postDataObj = {teamId:10,
date:day,
startTime:"17:30",
endTime:"07:00"}
dateArr.push(postDataObj)
break;
default:
dateArr.push(postDataObj)
break;
}
dateMs = dateMs+86400000
i =i-1
}
dateSend(username, password, dateArr)
}
async function dateSend(username, password, dateArr) {
const loginRes = await fetch('https://timesheets.node4.co.uk/api/login', {
method: 'post',
body: JSON.stringify({"email":username+"@node4.co.uk","password":password}),
headers: {'Content-Type': 'application/json'}
})
const loginData = await loginRes.json();
fetch('https://timesheets.node4.co.uk/api/on-call', {
method: 'post',
body: JSON.stringify(dateArr),
headers: {
'Content-Type': 'application/json',
"authorization": "Bearer "+loginData.payload.token
}
})
}
//main()
console.log()
obj = {
year:2021,
month: 02,
day: 12
}
makeArr(obj, "d.abbott","pass")