diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0fef4b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules +*.sh diff --git a/index.js b/index.js new file mode 100644 index 0000000..d269c0a --- /dev/null +++ b/index.js @@ -0,0 +1,88 @@ +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") \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b07649d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,13 @@ +{ + "name": "timeshoot", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..57e7b85 --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "name": "timeshoot", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "https://gitea.nannal.com/nannal/timeshoot" + }, + "author": "", + "license": "ISC", + "dependencies": { + "node-fetch": "^2.6.1" + } +}