const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const itemSchema = new Schema({
itemName: String,
quantity: Number,
category: String,
location: String,
lastUpdated: { type: Date, default: Date.now }
});
const Item = mongoose.model('Item', itemSchema);
require('dotenv').config();
const mongoose = require('mongoose');
const express = require('express');
const app = express();
app.use(express.json());
const PORT = process.env.PORT || 3000;
// Establish a database connection
mongoose.connect('mongodb://localhost:27017', { useNewUrlParser: true, useUnifiedTopology: true });
// Database connection events
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
console.log("We're connected to the database!");
});
// Define a warehouse item schema
const itemSchema = new mongoose.Schema({
itemName: String,
quantity: Number,
category: String,
location: String,
lastUpdated: { type: Date, default: Date.now }
});
// Create a model from the schema
const Item = mongoose.model('Item', itemSchema);
// Set up routes
// Create a POST route to add a new item
app.post('/items', async (req, res) => {
try {
const newItem = new Item(req.body);
const result = await newItem.save();
res.status(201).send(result);
} catch (error) {
res.status(500).send(error.message);
}
});
// Create a GET route to fetch all items
app.get('/items', async (req, res) => {
try {
const items = await Item.find({});
res.status(200).send(items);
} catch (error) {
res.status(500).send(error.message);
}
});
// Start the server
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
PORT=3000
MONGODB_URI=your_mongodb_connection_string