| | const express = require('express'); |
| | const bodyParser = require('body-parser'); |
| | const cors = require('cors'); |
| | const { findAll, insert, findById, updateById, deleteById, createNewSheet, getSheetNames, deleteSheet } = require('./store'); |
| |
|
| | const app = express(); |
| | const PORT = 7860; |
| | const HOST = '0.0.0.0'; |
| |
|
| | app.use(bodyParser.json()); |
| | app.use(cors()) |
| |
|
| | app.get('/', (req, res) => { |
| | res.setHeader('Content-Type', 'text/plain'); |
| | res.end('This is LinDB \n\nSearch all (get) : /data\nSearch by id (get) : /data/:<id>\nInsert (post) : /data\nUpdate (put) : /data:<id>\nDelete (delete) : /data/:<id>\nCreate sheet (post): /sheet/\nGet sheets (get): /data\nDelete sheet (delete) : /data/:<name>'); |
| | }) |
| |
|
| | |
| | app.get('/data', async (req, res) => { |
| | try { |
| | const data = await findAll(); |
| | res.status(200).json(data); |
| | } catch (error) { |
| | res.status(500).json({ message: 'Error retrieving data', error }); |
| | } |
| | }); |
| |
|
| | |
| | app.get('/data/:id', async (req, res) => { |
| | try { |
| | const data = await findById(req.params.id); |
| | if (data) { |
| | res.status(200).json(data); |
| | } else { |
| | res.status(404).json({ message: 'Data not found' }); |
| | } |
| | } catch (error) { |
| | res.status(500).json({ message: 'Error retrieving data', error }); |
| | } |
| | }); |
| |
|
| | |
| | app.post('/data', async (req, res) => { |
| | try { |
| | const insertedData = await insert(req.body); |
| | res.status(201).json(insertedData); |
| | } catch (error) { |
| | res.status(500).json({ message: 'Error inserting data', error }); |
| | } |
| | }); |
| |
|
| | |
| | app.put('/data/:id', async (req, res) => { |
| | try { |
| | const updatedData = await updateById(req.params.id, req.body); |
| | if (updatedData) { |
| | res.status(200).json(updatedData); |
| | } else { |
| | res.status(404).json({ message: 'Data not found' }); |
| | } |
| | } catch (error) { |
| | res.status(500).json({ message: 'Error updating data', error }); |
| | } |
| | }); |
| |
|
| | |
| | app.delete('/data/:id', async (req, res) => { |
| | try { |
| | const deleted = await deleteById(req.params.id); |
| | if (deleted) { |
| | res.status(204).send(); |
| | } else { |
| | res.status(404).json({ message: 'Data not found' }); |
| | } |
| | } catch (error) { |
| | res.status(500).json({ message: 'Error deleting data', error }); |
| | } |
| | }); |
| |
|
| | app.post('/sheet', async (req, res) => { |
| | try { |
| | const result = await createNewSheet(req.body.title); |
| | res.status(201).send(result); |
| | } catch (error) { |
| | res.status(500).json({ message: 'Error creating sheet', error }); |
| | } |
| | }); |
| |
|
| | app.get('/sheets', async (req, res) => { |
| | try { |
| | const sheetNames = await getSheetNames(); |
| | res.status(200).json(sheetNames); |
| | } catch (error) { |
| | res.status(500).json({ message: 'Error retrieving sheet names', error: error.message }); |
| | } |
| | }); |
| |
|
| | app.delete('/sheet/:name', async (req, res) => { |
| | try { |
| | const result = await deleteSheet(req.params.name); |
| | res.status(200).send(result); |
| | } catch (error) { |
| | res.status(500).json({ message: 'Error deleting sheet', error: error.message }); |
| | } |
| | }); |
| |
|
| |
|
| |
|
| | |
| | app.listen(PORT, HOST, () => { |
| | if (HOST == '0.0.0.0') { |
| | console.log(`Running on http://127.0.0.1:${PORT}`); |
| | } else { |
| | console.log(`Running on http://${HOST}:${PORT}`); |
| | } |
| |
|
| | }); |