Files
unocial-api/app.js
2025-11-03 13:39:34 -06:00

52 lines
2.0 KiB
JavaScript

import express from 'express';
import cors from 'cors';
import indexRoutes from './routes/index.js';
import apiRoutes from './routes/api.js';
import userRoutes from './routes/user.js';
import postRoutes from './routes/posts.js';
import commentRoutes from './routes/comments.js';
import communityRoutes from './routes/communities.js';
import offerRoutes from './routes/offers.js';
const app = express();
const port = 3000;
app.use(express.json());
app.use(cors());
let corsOptions = {
origin: '*', // Reemplaza con el origen permitido
optionsSuccessStatus: 200 // Algunos navegadores (como IE11) requieren este estado
};
//app.get('/api/post/:postId', (req, res) => {
//
//})
/*
En este punto añadimos el sistema de usuarios
ENDPOINT HTTP REQ ACCIÓN RESTRICCIÓN
/api/signup - POST (Registrar nuevo usuario) Todo el mundo
/api/login - POST (Iniciar sesión) Todo el mundo
/api/user - GET (Ver perfil propio de usuario) Usuario
/api/user/:userId - PATCH (Modificar perfil) Usuario
/api/user/all - GET (Ver todos los usuarios) Todos los usuarios
/api/user/:userID - DELETE (Eliminar usuario) Administradores o Usuario.
*/
app.use('/', indexRoutes); // Rutas base
app.use('/api', apiRoutes); // Rutas de API
app.use('/api/user', userRoutes); // Rutas de usuarios
app.use('/api/post', postRoutes); // Rutas de posts
app.use('/api/comments', commentRoutes); // Rutas de comentarios
app.use('/uploads', express.static('uploads'));
app.use('/api/offers', express.static('uploads'));
app.use('/api/offers', offerRoutes); // Rutas de ofertas
app.use('/api/communities', communityRoutes); // Rutas de comunidades
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
console.log(`URL at: http://localhost:${port}`)
})