const express = require("express");
const bodyParser = require("body-parser");
const cors = require("cors");
require("dotenv").config();




const verificaLicenta = require("./middleware/verificaLicenta");
const LoginRoutes = require("./rute/Logare");
const ProduseRoutes = require("./rute/Produse");
const StocRoutes = require("./rute/Stoc");
const BonuriRoutes = require("./rute/Bonuri");
const OperatiiRoutes = require("./rute/OperatiiBon");
const FurnizoriRoutes = require("./rute/Furnizori");
const NecesarProduseRoutes = require("./rute/NecesarProduse");
const SoldRoutes = require("./rute/Sold");
const RaportGestiuneRoutes = require("./rute/RaportGestiune");
const ReceptieRoutes = require("./rute/Receptie");
const FirmaRoutes = require("./rute/Firma");
const DocumentRoutes = require("./rute/Document");
const CoteTvaRoutes = require("./rute/CoteTva");
const OperatiiSertarRoutes = require("./rute/OperatiiSertar");
const EditReceptieRoutes = require("./rute/EditReceptie");
const LicentaRoutes = require("./rute/Licenta");
const GraficeRoutes = require("./rute/Grafice");
const ReturFurnizoriRoutes = require("./rute/ReturFurnizori");
const GarantieSgrRoutes = require("./rute/GarantieSgr");
const PlatiRoutes = require("./rute/Plati");
const PosRoutes = require("./rute/Pos");
const AvizeRoutes = require("./rute/avize");
const DelegatRoutes = require("./rute/Delegat");
const RegistruDeCasaRoutes = require("./rute/RegistruCasa");
const FisaProdusRoutes = require("./rute/FisaProdus");
const FacturiRoutes = require("./rute/facturi");
const ChitanteRoutes = require("./rute/Chitante");
const InventarRoutes = require("./rute/inventar");
const CantarRoutes = require("./rute/Cantar"); // Importă ruta pentru cântar
const SpvRoutes = require("./rute/Spv"); // Importă ruta pentru cântar
const PromotiiRoutes = require("./rute/Promotii"); // Importă ruta pentru cântar
const UtilizatoriRoutes = require("./rute/Utilizatori"); // Importă ruta pentru cântar
const SeriiDocumenteRoutes = require("./rute/SeriiDocumente"); // Importă ruta pentru cântar
const ReteteRoutes = require("./rute/Retete"); // Importă ruta pentru cântar
const TermenValabilitateRoutes = require("./rute/TermenValabilitate"); // Importă ruta pentru cântar
const ExportSagaRoutes = require("./rute/ExportSaga"); // Importă ruta pentru cântar
const GestiuniRoutes = require("./rute/Gestiuni"); // Importă ruta pentru cântar
const StocuriInitialeRoutes = require('./rute/StocuriInitiale');
const jwt = require('jsonwebtoken');

const app = express();

// Middleware
app.use(cors());
app.use(bodyParser.json({ limit: '50mb' }));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true }));







 

// Rute API existente
app.use("/api/products", ProduseRoutes);  // Rutele pentru Produse
app.use("/api/login", LoginRoutes);      // Rutele pentru Logare
app.use("/api/stoc", StocRoutes);      // Rutele pentru Logare
app.use("/api/bon",  BonuriRoutes);      // Rutele pentru Bonuri
app.use("/api/operatibon", OperatiiRoutes);      // Rutele pentru Operatii Bonuri
app.use("/api/furnizori", FurnizoriRoutes);      // Rutele pentru Furnizori
app.use("/api/necesar", NecesarProduseRoutes);      // Rutele pentru Necesare Produse
app.use("/api/sold", SoldRoutes);      // Rutele pentru Solduri
app.use("/api/raport_gestiune", RaportGestiuneRoutes);      // Rutele pentru Raport Gestiune
app.use("/api/receptie", ReceptieRoutes);      // Rutele pentru Receptie
app.use("/api/firma", FirmaRoutes);      // Rutele pentru Firma
app.use("/api/document", DocumentRoutes);      // Rutele pentru Documente
app.use("/api/coteTva", CoteTvaRoutes);      // Rutele pentru Cote Tva
app.use("/api/operatii-sertar", OperatiiSertarRoutes);      // Rutele pentru Operatii Sertar
app.use("/api/edit-receptie", EditReceptieRoutes);      // Rutele pentru Editare Receptie
app.use("/api/licenta", LicentaRoutes);     
app.use("/api/grafice", GraficeRoutes); 
app.use("/api/retur", ReturFurnizoriRoutes);
app.use("/api/garantie-sgr", GarantieSgrRoutes);           
app.use("/api/plati", PlatiRoutes); 
app.use("/api/pos", PosRoutes); 
app.use("/api/avize", AvizeRoutes); 
app.use("/api/delegat", DelegatRoutes);
app.use("/api/registrucasa", RegistruDeCasaRoutes); 
app.use("/api/fisaprodus", FisaProdusRoutes);
app.use("/api/factura", FacturiRoutes); 
app.use("/api/chitante", ChitanteRoutes); 
app.use("/api/cantar", CantarRoutes); // Adăugăm ruta cântarului
app.use("/api/spv", SpvRoutes);
app.use("/api/promotii", PromotiiRoutes);
app.use("/api/utilizatori", UtilizatoriRoutes);
app.use("/api/serii-documente", SeriiDocumenteRoutes);
app.use("/api/retete", ReteteRoutes);
app.use("/api/termen-valabilitate", TermenValabilitateRoutes);
app.use("/api/export-saga", ExportSagaRoutes);
app.use("/api/gestiuni", GestiuniRoutes);
app.use("/api/inventar", InventarRoutes);
app.use("/api/stocuri-initiale", StocuriInitialeRoutes);
// Pornire server
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => {
    console.log(`Serverul rulează pe portul ${PORT}`);
});
