1
1
const { pool} = require ( "../database" ) ;
2
2
3
- const getMedia = ( req , res ) => {
4
- console . log ( 'Obtenemos la nota media de un alumno' ) ;
3
+ async function getMedia ( req , res ) {
4
+ const params = [ req . query . id ] ;
5
+ let sql ;
6
+ //-- comprobar si existe una id de alumno. Si existe se pide ese alumno
7
+ //-- sino se piden todos.
8
+ if ( req . query . id != undefined ) {
9
+ sql = `SELECT AVG(mark) AS nota_media_del_Alumno FROM marks WHERE student_id=?` ;
10
+ }
11
+
12
+ //-- Envío de los datos optenidos por la petición.
13
+ try {
14
+ const [ result ] = await pool . query ( sql , params ) ;
15
+ res . send ( result ) ;
16
+ } catch ( error ) {
17
+ res . send ( error )
18
+ }
5
19
}
6
20
7
- const getAsignaturasAlumnos = ( req , res ) => {
8
- console . log ( 'Obtenemos los alumnos y las asignaturas a las que estan apuntados' ) ;
21
+ async function getAsignaturasAlumnos ( req , res ) {
22
+ const params = [ req . query . id ] ;
23
+ let sql ;
24
+ //-- comprobar si existe una id de alumno. Si existe se pide ese alumno
25
+ //-- sino se piden todos.
26
+ if ( req . query . id != undefined ) {
27
+ sql = `SELECT first_name, last_name, title FROM students AS s INNER JOIN subjects AS sub ON (s.group_id=sub.subject_id) WHERE student_id=?` ;
28
+ } else {
29
+ sql = `SELECT first_name, last_name, title FROM students AS s INNER JOIN subjects AS sub ON (s.group_id=sub.subject_id);` ;
30
+ }
31
+
32
+ //-- Envío de los datos optenidos por la petición.
33
+ try {
34
+ const [ result ] = await pool . query ( sql , params ) ;
35
+ res . send ( result ) ;
36
+ } catch ( error ) {
37
+ res . send ( error )
38
+ }
9
39
}
10
40
11
- const getAsignaturasProfesores = ( req , res ) => {
12
- console . log ( 'Obtenemos los profesores y las asignaturas que imparten' ) ;
41
+ async function getAsignaturasProfesores ( req , res ) {
42
+ const params = [ req . query . id ] ;
43
+ let sql ;
44
+ //-- comprobar si existe una id de alumno. Si existe se pide ese alumno
45
+ //-- sino se piden todos.
46
+ if ( req . query . id != undefined ) {
47
+ sql = `SELECT first_name AS teacher_name, last_name AS teacher_lastname, sub.title AS subjects FROM teachers AS t
48
+ JOIN subject_teacher AS st ON t.teacher_id=st.teacher_id
49
+ JOIN subjects AS sub ON st.subject_id=sub.subject_id
50
+ WHERE t.teacher_id = ?
51
+ GROUP BY first_name, last_name, sub.title;` ;
52
+ } else {
53
+ sql = `SELECT first_name AS teacher_name, last_name AS teacher_lastname, sub.title AS subjects FROM teachers AS t
54
+ JOIN subject_teacher AS st ON t.teacher_id=st.teacher_id
55
+ JOIN subjects AS sub ON st.subject_id=sub.subject_id
56
+ GROUP BY first_name, last_name, sub.title;` ;
57
+ }
58
+
59
+ //-- Envío de los datos optenidos por la petición.
60
+ try {
61
+ const [ result ] = await pool . query ( sql , params ) ;
62
+ res . send ( result ) ;
63
+ } catch ( error ) {
64
+ res . send ( error )
65
+ }
13
66
}
14
67
15
68
module . exports = { getMedia, getAsignaturasAlumnos, getAsignaturasProfesores } ;
0 commit comments