-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
116 lines (90 loc) · 3.55 KB
/
app.js
File metadata and controls
116 lines (90 loc) · 3.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
const express = require('express');
const bodyParser = require('body-parser');
const path = require('path');
var session = require('express-session');
const cookieParser = require('cookie-parser');
const csrf = require('csurf');
const { auth } = require('express-openid-connect');
const csrfProtection = csrf();
const { requiresAuth } = require('express-openid-connect');
const PDF = require('pdfkit');
const fs = require('fs');
const multer = require('multer');
//=====//
const { expressjwt: jwt } = require('express-jwt');
const jwtAuthz = require('express-jwt-authz');
const jwksRsa = require('jwks-rsa');
//====//
const guard = require("express-jwt-permissions");
// const config = {
// authRequired: false,
// auth0Logout: true,
// secret: 'a long, randomly-generated string stored in env',
// baseURL: 'localhost:3000',
// clientID: 'VrY5U6QWknSE0ioauNNrG2gRuT2cHZc2',
// issuerBaseURL: 'https://dev-3du5p0pi.us.auth0.com',
// secret: 'uqyewfincosppÁEO{PWOjkoañseklmññikñhup',
// };
const config = {
authRequired: false,
auth0Logout: true,
secret: 'a long, randomly-generated string stored in env',
baseURL: 'http://35.226.122.38:8080',
clientID: '8auvzODUBeQN95tGqRcCWm2rDvW2ksqK',
issuerBaseURL: 'https://dev-wrm9w-qh.us.auth0.com'
};
const app = express();
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);
app.set('views', 'views');
app.use(express.static(path.join(__dirname, 'public')));
const fileStorage = multer.diskStorage({
destination: (request, file, callback) => {
//'uploads': Es el directorio del servidor donde se subirán los archivos
callback(null, 'public/project_images');
},
filename: (request, file, callback) => {
//aquí configuramos el nombre que queremos que tenga el archivo en el servidor,
//para que no haya problema si se suben 2 archivos con el mismo nombre concatenamos el timestamp
callback(null, Date.now() + '-' +file.originalname);
},
});
app.use(multer({ storage: fileStorage }).single('archivo'));
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.use(cookieParser());
app.use(session({
secret: 'skbfssopgdwkpgpoejgjoewgewnhgwiogowipwjifiwejfwiofrjwoi',
resave: false,
saveUninitialized: false,
}));
// auth router attaches /login, /logout, and /callback routes to the baseURL
app.use(auth(config));
// req.isAuthenticated is provided from the auth router
app.get('/', (req, res) => {
res.send(req.oidc.isAuthenticated() ? 'Logged in' : 'Logged out');
});
app.use(csrfProtection);
app.use((request, response, next) => {
response.locals.csrfToken = request.csrfToken();
next();
});
const rutas_usuario = require('./routes/user.routes.js');
app.use('/user', requiresAuth(), rutas_usuario);
const rutas_colab = require('./routes/colaboradores.routes.js');
app.use('/colaboradores',requiresAuth(), rutas_colab);
const rutas_proyectos = require('./routes/proyectos.routes.js');
app.use('/proyectos',requiresAuth(), rutas_proyectos);
const rutas_reportes = require('./routes/reportes.routes.js');
app.use('/reportes', requiresAuth(), rutas_reportes);
const rutas_tareas = require('./routes/tareas.routes.js');
const { response } = require('express');
app.use('/tareas', rutas_tareas);
app.use((request, response, next) => {
response.status(404);
response.send('<h1>Error 404: El recurso solicitado no existe</h1>');
});
app.get("/logout",(req, response, next) => {
response.render(path.join(__dirname,"views","logout.ejs"));
});
app.listen(8080);