-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
66 lines (53 loc) · 1.49 KB
/
app.js
File metadata and controls
66 lines (53 loc) · 1.49 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
const express = require('express')
const app = express()
const path = require('path')
const session = require('express-session')
app.set('view engine', 'ejs')
app.use(express.urlencoded({extended:true}))
app.use(express.static(path.join(__dirname,'public')))
const dias = 2
app.use(session({
secret: 'afuckingdifficulthash',
resave: false,
saveUninitialized:true,
cookie: {
maxAge: 1000 * 3600 * 24 * dias
}
}))
const passwords = {1:'h1ka70kebp3veo1mag1', 2:'malbolge', 3:'hakonlie', 4:'banana', 5:'bielgomes'}
const levels = {'chave':1, 'linguagem':2, 'webdesign':3, 'letras':4, 'morse':5}
app.get('/', (req, res)=>{
session.level = 1
res.render('home.ejs')
})
app.get('/fase', (req, res)=>{
let {id} = req.query
if(session.level >= levels[id]){
res.render(`fase${levels[id]}`)
}else{
res.render('error', {error_skip:true})
}
})
app.post('/fase', (req, res)=>{
let {id} = req.query
id_ = levels[id]
let {answ} = req.body
if(answ.toLowerCase() == passwords[id_]){
let prox_fase = id_ += 1
session.level = prox_fase
res.render(`fase${prox_fase}`)
}else{
res.redirect(`fase?id=${id}`)
}
})
app.get('/final', (req, res)=>{
if(session.level >= 6){
res.render('final')
}else{
res.render('error', {error_skip:true})
}
})
app.get('*', (req, res) =>{
res.render('error', {error_skip:false})
})
app.listen(process.env.PORT || 3000, ()=>{console.log('rodando')})