64 lines
1.6 KiB
JavaScript
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}`)
|
|
}) |