diff --git a/backend/src/main.ts b/backend/src/main.ts index e14c445..b2c374f 100644 --- a/backend/src/main.ts +++ b/backend/src/main.ts @@ -18,7 +18,7 @@ app.use(cors()) app.use(express.json()); app.get('/', (req, res) => { - res.send('Hello World'); + res.send('Hello World'); }); app.get('/tasks', async (req, res) => { @@ -29,115 +29,116 @@ app.get('/tasks', async (req, res) => { })); }); -app.get('/events', async(req, res) => { - res.status(200).send(await db.select().from(event)) +app.get('/events', async (req, res) => { + res.status(200).send(await db.select().from(event)) }); app.get('/user/:id', (req, res) => { - const id = req.params['id']; + const id = req.params['id']; - if (id == null) { - res.status(400).send({error: 'Needs an user id'}); - return; - } + if (id == null) { + res.status(400).send({ error: 'Needs an user id' }); + return; + } - const user = {id: id, name: 'Cracker'} //TODO - res.json(user); + const user = { id: id, name: 'Cracker' } //TODO + res.json(user); }); -app.get('/task/:id', async(req, res) => { +app.get('/task/:id', async (req, res) => { - const id = parseInt(req.params['id']); + const id = parseInt(req.params['id']); - if (id == null) { - res.status(400).send({error: 'Needs an id'}); - return; - } + if (id == null) { + res.status(400).send({ error: 'Needs an id' }); + return; + } - const returnedTask = await db.select().from(task).where(eq(task.id, id)) - // - console.log(returnedTask) - res.json(returnedTask); + const returnedTask = await db.select().from(task).where(eq(task.id, id)) + // + console.log(returnedTask) + res.json(returnedTask); }); app.get('/event/:id', (req, res) => { - const id = req.params['id']; + const id = req.params['id']; - if (id == null) { - res.status(400).send({error: 'Needs an id'}); - return; - } + if (id == null) { + res.status(400).send({ error: 'Needs an id' }); + return; + } - const event = {id: id, name: 'Pary'} //TODO - res.json(event); + const event = { id: id, name: 'Pary' } //TODO + res.json(event); }); -app.post('/task', async(req, res) => { +app.post('/task', async (req, res) => { - const newTask = req.body - newTask.userid = userId + const newTask = req.body + newTask.userid = userId console.log(newTask) - const returnedTask = await db.insert(task).values(newTask).returning() - console.log(returnedTask) + const returnedTasks = await db.insert(task).values(newTask).returning() + console.log(returnedTasks) - res.status(201).json(returnedTask); + res.status(201).json(returnedTasks[0]); }); -app.post('/event', async(req, res) => { +app.post('/event', async (req, res) => { - const newEvent: typeof event.$inferInsert = req.body - newEvent.userid = userId + const newEvent: typeof event.$inferInsert = req.body + newEvent.userid = userId - const returnedEvent = await db.insert(event).values(newEvent).returning() - console.log(returnedEvent) + const returnedEvent = await db.insert(event).values(newEvent).returning() + console.log(returnedEvent) - res.status(201).json(returnedEvent); + res.status(201).json(returnedEvent); }); app.put('/task', (req, res) => { - const id = parseInt(req.params['id']); - const updatedTask: Partial = req.body + const id = parseInt(req.params['id']); + const updatedTask: Partial = req.body - if (id == null) { - res.status(400).send({error: 'Needs an id'}); - return; - } - db.update(task).set(updatedTask).where(eq(task.id, id)) + if (id == null) { + res.status(400).send({ error: 'Needs an id' }); + return; + } + db.update(task).set(updatedTask).where(eq(task.id, id)) - res.status(200).json(updatedTask); + res.status(200).json(updatedTask); }); app.put('/event', (req, res) => { - const id = parseInt(req.params['id']); - const updatedEvent: Partial = req.body + const id = parseInt(req.params['id']); + const updatedEvent: Partial = req.body - if (id == null) { - res.status(400).send({error: 'Needs an id'}); - return; - } - db.update(event).set(updatedEvent).where(eq(event.id, id)) + if (id == null) { + res.status(400).send({ error: 'Needs an id' }); + return; + } + db.update(event).set(updatedEvent).where(eq(event.id, id)) - res.status(200).json(updatedEvent);}); - -app.delete('/task/:id', async(req, res) => { - const id = parseInt(req.params['id']); - - const success = await db.delete(task).where(eq(task.id, id)) - res.send("Deleted"); + res.status(200).json(updatedEvent); }); -app.delete('/event/:id', async(req, res) => { - const id = parseInt(req.params['id']); +app.delete('/task/:id', async (req, res) => { + const id = parseInt(req.params['id']); - const success = await db.delete(event).where(eq(event.id, id)) - res.send("Deleted"); + const success = await db.delete(task).where(eq(task.id, id)) + res.send("Deleted"); +}); + +app.delete('/event/:id', async (req, res) => { + const id = parseInt(req.params['id']); + + const success = await db.delete(event).where(eq(event.id, id)) + res.send("Deleted"); }); app.listen(8080, () => { - console.log('Listening on port 8080'); + console.log('Listening on port 8080'); }); diff --git a/web/components/ui/Sidebar.vue b/web/components/ui/Sidebar.vue index f8f17fa..78973cd 100644 --- a/web/components/ui/Sidebar.vue +++ b/web/components/ui/Sidebar.vue @@ -9,14 +9,15 @@ const colorMode = useColorMode(); const toast = useToast() const currentTheme = ref<'dark' | 'system' | 'light'>(colorMode.preference as 'dark' | 'system' | 'light'); -const showTaskFormModal = ref(false); +const showTaskCreateModal = ref(false); +const showTaskEditModal = ref(false); const taskFormModalInput = ref>({}); const date = defineModel('date', { required: true }) const tasks = defineModel('tasks', { required: true }) const emits = defineEmits<{ - (e: 'createTask', name: string): void + (e: 'createTask', task: Task): void (e: 'deleteTask', id: number): void (e: 'editTask', task: Task): void }>() @@ -78,22 +79,22 @@ const selectedDate = computed({ } }) -function addTask() { - const name = prompt("Todo name:") - console.log(name) - if (name !== null) { - emits('createTask', name) - } +function addTask(task: Task) { + tasks.value.push(task) + console.log(tasks.value) + emits('createTask', task) } -function deleteTask(todo: Task) { - if (todo.id === undefined) { +function deleteTask(task: Task) { + if (task.id === undefined) { toast.add({ title: "Task does not exist anymore" }) return } - emits('deleteTask', todo.id) + tasks.value = tasks.value.filter(t => t.id !== task.id) + + emits('deleteTask', task.id) } function editTask(task: Task) { emits('editTask', task) @@ -101,14 +102,22 @@ function editTask(task: Task) { function openTaskFormModal(task: Partial) { taskFormModalInput.value = task - showTaskFormModal.value = true + showTaskCreateModal.value = true +} + +function openTaskEditModal(task: Task) { + taskFormModalInput.value = task + showTaskEditModal.value = true }