-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathRutas.js
89 lines (72 loc) · 2.82 KB
/
Rutas.js
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
"use strict";
const express = require('express');
const app = express();
const { Apuesta } = require("./Apuesta.js");
const { Porras } = require( "./Porras.js" );
const { FSDator } = require( "./FSDator.js" );
const porra = require("./Porra.js");
const dator = new FSDator("porras");
const porras = new Porras( dator );
const crea_id = porra.crea_id;
app.get('/', function(req, response) {
response.status(200).send( { status: "OK" } );
});
// Crea una porra
app.put('/porra/:competition/:year/:local/:visitante', function( req, response ) {
const nueva_porra = new porra.Porra(req.params.local,req.params.visitante,
req.params.competition, req.params.year );
porras.nueva( nueva_porra );
response.status(200).send( nueva_porra );
});
app.put('/apuesta/:menda/:competition/:year/:local/:goles_local/:visitante/:goles_visitante', function( req, response ) {
const ID = crea_id(req.params.local,req.params.visitante,
req.params.competition, req.params.year );
if ( !porras.porra(ID) ) {
response.status(404).send("No existe esa porra");
} else {
const esta_apuesta = porras.apuesta( porras.porra(ID), req.params.menda,
req.params.goles_local,
req.params.goles_visitante );
response.status(200).send( esta_apuesta );
}
});
// Establece el resultado de la porra
app.post('/porra/resultado/:competition/:year/:local/:goles_local/:visitante/:goles_visitante', function( req, response ) {
const ID = crea_id(req.params.local,req.params.visitante,
req.params.competition, req.params.year );
if ( !porras.porra(ID) ) {
response.status(404).send("No existe esa porra");
} else {
porras.resultado(ID, req.params.goles_local, req.params.goles_visitante );
response.status(200).send( porras.porra(ID) );
}
});
// Baja todas las porras que haya en un momento determinado
app.get('/porras', function(request, response) {
response.send( porras.todas() );
});
// Baja todas las apuestas de un partido determinado
app.get('/porra/:ID', function(request, response) {
const esta_porra_ID = request.params.ID;
if ( !porras.porra(esta_porra_ID ) ) {
response.status(404).send("No existe esa porra");
} else {
response.status(200).send( porras.porra(esta_porra_ID) );
}
});
// Recupera el ganador o ganadores de la porra
app.get('/porra/ganador/:competition/:year/:local/:visitante/', function( req, response ) {
const ID= crea_id(req.params.local,req.params.visitante,
req.params.competition, req.params.year );
if ( !porras.porra(ID) ) {
response.status(404).send("No existe esa porra");
} else {
if ( !porras.porra(ID).resultado ) {
response.status(404).send("No hay resultado para ese partido");
} else {
response.status(200).send( porras.ganadores( ID ) );
}
}
});
// Exporta la variable para poder hacer tests
module.exports = app;