File size: 3,475 Bytes
75e9048 176b3b2 75e9048 176b3b2 6927998 a761a14 6927998 176b3b2 6927998 a761a14 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 176b3b2 6927998 e6dc26c 176b3b2 a761a14 176b3b2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const { findAll, insert, findById, updateById, deleteById, createNewSheet, getSheetNames, deleteSheet } = require('./store');// assuming your Google Sheets script is named js
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>');
})
// Get all data
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 });
}
});
// Get data by ID
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 });
}
});
// Insert new data
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 });
}
});
// Update data by ID
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 });
}
});
// Delete data by ID
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 });
}
});
// Start the server
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}`);
}
}); |