From 1c9815177eba7c5501db076f53d84ebea61bce37 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 5 Jun 2025 02:13:37 +0700 Subject: [PATCH] deploy vercel1 --- backend/app.js | 55 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/backend/app.js b/backend/app.js index d5551c3..9325ece 100644 --- a/backend/app.js +++ b/backend/app.js @@ -75,19 +75,34 @@ const express = require('express'); +const cors = require('cors'); +const path = require('path'); +const dotenv = require('dotenv'); const swaggerUi = require('swagger-ui-express'); const swaggerJsDoc = require('swagger-jsdoc'); +const userRoutes = require('../routes/userRoutes'); +const authRoutes = require('../routes/authRoutes'); +const gejalaRoutes = require('../routes/gejalaRoute'); +const hamaRoutes = require('../routes/hamaRoutes'); +const penyakitRoutes = require('../routes/penyakitRoutes'); +const ruleRoutes = require('../routes/ruleRoutes'); +const ruleHamaRoutes = require('../routes/ruleHamaRoutes'); +const diagnosaRoute = require('../routes/diagnosaRoutes'); +const historiRoutes = require('../routes/historiRoutes'); + +dotenv.config(); + const app = express(); -// Swagger Configuration +// Swagger config const swaggerOptions = { swaggerDefinition: { openapi: '3.0.0', info: { title: 'SIBAYAM API', version: '1.0.0', - description: 'Simple Swagger API Docs for Vercel', + description: 'API documentation for SIBAYAM', }, servers: [ { @@ -95,20 +110,48 @@ const swaggerOptions = { description: 'Deployed on Vercel', }, ], + components: { + securitySchemes: { + BearerAuth: { + type: 'http', + scheme: 'bearer', + bearerFormat: 'JWT', + }, + }, + }, }, - apis: [], // Kosongkan jika tidak ada dokumentasi route + apis: ['../routes/*.js'], }; const swaggerDocs = swaggerJsDoc(swaggerOptions); -// Route utama +// Middleware +app.use(cors()); +app.use(express.json()); + +// Static image folders +app.use('/image_hama', express.static(path.join(__dirname, '../image_hama'))); +app.use('/image_penyakit', express.static(path.join(__dirname, '../image_penyakit'))); + +// Routes app.get('/', (req, res) => { res.send('Backend API is running 👍'); }); -// Swagger route +app.use('/api/users', userRoutes); +app.use('/api/auth', authRoutes); +app.use('/api/gejala', gejalaRoutes); +app.use('/api/hama', hamaRoutes); +app.use('/api/penyakit', penyakitRoutes); +app.use('/api/rules_penyakit', ruleRoutes); +app.use('/api/rules_hama', ruleHamaRoutes); +app.use('/api/diagnosa', diagnosaRoute); +app.use('/api/histori', historiRoutes); + +// Swagger UI app.use('/api-sibayam', swaggerUi.serve, swaggerUi.setup(swaggerDocs)); -// Export agar bisa digunakan oleh Vercel (Wajib) +// Export for Vercel module.exports = app; +