1
+ const { pool} = require ( "../database" ) ;
2
+
3
+ async function getAlumnos ( 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 * FROM students WHERE student_id=?` ;
10
+ } else {
11
+ sql = `SELECT * FROM students;` ;
12
+ }
13
+
14
+ //-- Envío de los datos optenidos por la petición.
15
+ try {
16
+ const [ result ] = await pool . query ( sql , params ) ;
17
+ res . send ( result ) ;
18
+ } catch ( error ) {
19
+ res . send ( error )
20
+ }
21
+ }
22
+
23
+ async function addAlumno ( req , res ) {
24
+ //-- Obtenemos los datos del nuevo alumno por el body.
25
+ const { student_id, first_name, last_name, group_id, year} = req . body ;
26
+ //-- IMPORTANTE: Los parámetros deben ir colocados en el orden en el que se deben insertar en la
27
+ //-- peticion sql.
28
+ const params = [ student_id , first_name , last_name , group_id , year ] ;
29
+ let sql = `INSERT INTO students (student_id,first_name,last_name,group_id,year) VALUES (?,?,?,?,?);` ;
30
+
31
+ try {
32
+ const [ result ] = await pool . query ( sql , params ) ;
33
+ res . send ( result ) ;
34
+ } catch ( error ) {
35
+ res . send ( error )
36
+ }
37
+ }
38
+
39
+ async function editAlumno ( req , res ) {
40
+ const { student_id, first_name, last_name, group_id, year} = req . body ;
41
+ //-- IMPORTANTE: Los parámetros deben ir colocados en el orden en el que se deben insertar en la
42
+ //-- peticion sql.
43
+ const params = [
44
+ first_name ? first_name : null ,
45
+ last_name ? last_name : null ,
46
+ group_id ? group_id : null ,
47
+ year ? year : null ,
48
+ student_id
49
+ ] ;
50
+ let sql = `UPDATE students SET first_name = COALESCE(?,first_name),
51
+ last_name = COALESCE(?,last_name),
52
+ group_id = COALESCE(?,group_id),
53
+ year = COALESCE(?,year)
54
+ WHERE student_id = ?;` ;
55
+
56
+ try {
57
+ const [ result ] = await pool . query ( sql , params ) ;
58
+ res . send ( result ) ;
59
+ } catch ( error ) {
60
+ res . send ( error )
61
+ }
62
+ }
63
+
64
+ async function delAlumno ( req , res ) {
65
+ const { student_id} = req . body ;
66
+ const params = [ student_id ] ;
67
+ let sql = `DELETE FROM students WHERE student_id = ?;` ;
68
+
69
+ try {
70
+ const [ result ] = await pool . query ( sql , params ) ;
71
+ res . send ( result ) ;
72
+ } catch ( error ) {
73
+ res . send ( error )
74
+ }
75
+ }
76
+
77
+ module . exports = { getAlumnos, addAlumno, editAlumno, delAlumno } ;
0 commit comments