import {createClient} from '@supabase/supabase-js' import express from "express" import bodyParser from "body-parser" import dayjs from "dayjs" const supabase = createClient(process.env.SUPABASE_URL,process.env.SUPABASE_SERVICE_ROLE_KEY) const app = express() app.use(bodyParser.json()) app.get("/", async (req,res) => { let data = (await supabase.from("devices").select()).data res.json(data) }) app.post("/executeTimeCommand", async (req,res) => { console.log(req.body) let body = req.body let deviceData = (await supabase.from("devices").select().eq("id",body.deviceId).single()).data let currentTenant = deviceData.tenant console.log(deviceData) console.log(currentTenant) if(deviceData.password === body.devicePassword) { let user = {} if(!body.tokenId && !body.userId) { res.sendStatus(400) } else if(body.tokenId && !body.userId) { user = ((await supabase.from("profiles").select().eq("tokenId",body.tokenId).single()).data) console.log(user) } else { user.id = body.userId } let startedWorkingTime = (await supabase.from("workingtimes").select().eq("user",user.id).is("end",null).single()).data if(startedWorkingTime) { //Stop Time const {data,error} = await supabase.from("workingtimes") .update({end: String(dayjs().format("HH:mm:ss"))+ "+01", state: "Am Terminal gestoppt"}) .eq("id", startedWorkingTime.id) if(error) throw error console.log(data) console.log("Time Stopped") res.json({ message: `Deine Zeit wurde gestoppt, bis bald ${user.firstName}`, type: "stopped" }) } else { //Start Time const {data,error} = await supabase.from("workingtimes") .insert([{ user: user.id, date: dayjs().format("YYYY-MM-DD"), start: String(dayjs().format("HH:mm:ss"))+ "+01", tenant: currentTenant, state: "Am Terminal gestartet" }]) if(error) throw error console.log(data) console.log("Time Started") res.json({ message: `Hallo ${user.firstName}, deine Zeit wurde gestartet`, type: "started" }) } } else { res.sendStatus(401) } }) app.listen(3001)