Files
jarganyszalon/backend/index.js
2026-02-09 10:54:51 +01:00

64 lines
1.6 KiB
JavaScript

const express = require('express');
const cors = require('cors');
const { Sequelize, Model, DataTypes } = require('sequelize');
const e = require('express');
const app = express();
const port = 3000;
app.use(cors());
app.use(express.json());
const sequelize = new Sequelize({
dialect: 'sqlite',
storage: './autoszalon.db'
});
//Auto model
class Auto extends Model { }
Auto.init({
marka: { type: DataTypes.STRING, allowNull: false },
tipus: { type: DataTypes.STRING, allowNull: false },
evjarat: { type: DataTypes.INTEGER, allowNull: false },
szin: { type: DataTypes.STRING, allowNull: true },
ar: { type: DataTypes.INTEGER, allowNull: false },
uzemanyag: { type: DataTypes.STRING, allowNull: true }
}, {
sequelize,
modelName: 'auto'
});
sequelize.sync().then(() => {
console.log('Adatbázis kapcsolódás sikeres');
}).catch((err) => {
console.log('Adatbázis kapcsolódás sikertelen');
});
app.get('/', (req, res) => {
res.send('Autoszalon backend')
})
app.get('/api/autok', async (req, res) => {
const autos = await Auto.findAll();
res.json(autos);
});
app.post('/api/autok', async (req, res) => {
const auto = await Auto.create(req.body);
res.json(auto);
});
app.delete('/api/autok/:id', async (req, res) => {
const id = req.params.id;
const auto = await Auto.findByPk(id);
if (auto) {
await auto.destroy();
res.json({ message: 'Autó törölve!' + id + 'id' });
} else {
res.status(404).json({ message: 'Autó nincs az adatbázisban' + id + 'id' });
}
});
app.listen(port, () => {
console.log(`Autoszalon app listening on port ${port}`)
})