From e66c2c2f9b5fa7bec35ad48efd3899b1af41b215 Mon Sep 17 00:00:00 2001
From: Hamer Iboshi <hamer.iboshi@gmail.com>
Date: Tue, 2 May 2017 10:26:08 -0300
Subject: [PATCH] Update the begining of my feature

---
 src/libs/middlewares/reqQueryFields.js | 12 ++++++++++++
 src/libs/routes/school.js              | 11 +++++++++++
 2 files changed, 23 insertions(+)

diff --git a/src/libs/middlewares/reqQueryFields.js b/src/libs/middlewares/reqQueryFields.js
index ca4e15e0..88405e01 100644
--- a/src/libs/middlewares/reqQueryFields.js
+++ b/src/libs/middlewares/reqQueryFields.js
@@ -210,6 +210,12 @@ class ReqQueryFields {
                         // Se o valor é um campo a ser incluído no SELECT
                         if(typeof field.field !== 'undefined' && field.field) {
                             log.debug('SELECT');
+                            // if (Array.isArray(value.tableField)) {
+                            //     value.tableField.forEach((f, i) => {
+                            //         req.sql.field(value.table+'.'+f, value.resultField[i] || f)
+                            //             .group(value.table+'.'+f);
+                            //     })
+                            // }
                             req.sql.field(value.table+'.'+value.tableField, value.resultField || value.tableField)
                                 .group(value.table+'.'+value.tableField)
                                 .order(value.table+'.'+value.tableField);
@@ -218,6 +224,12 @@ class ReqQueryFields {
                         if(typeof field.where !== 'undefined' && field.where) {
                             log.debug('WHERE');
                             // Valor do where
+
+                            //multiple where
+                            // if (Array.isArray(value.tableField)){
+                            //
+                            // }
+
                             let whereValue = param[k];
                             // Valor sempre vem como string, necessário fazer parse para o banco
                             if(value.where.type === 'integer') whereValue = parseInt(whereValue, 10);
diff --git a/src/libs/routes/school.js b/src/libs/routes/school.js
index 94b19a5c..05288f19 100644
--- a/src/libs/routes/school.js
+++ b/src/libs/routes/school.js
@@ -487,6 +487,17 @@ rqfCount.addField({
         type: 'boolean',
         field: 'local_func_predio_escolar'
     }
+}).addValue({
+    name: 'library_and_reading_room',
+    table: 'escola',
+    tableField: ['biblioteca', 'sala_leitura', 'biblioteca_sala_leitura'],
+    resultField: 'library_and_reading_room',
+    where: {
+        relation: '=',
+        type: 'boolean',
+        condition: 'or',
+        field: 'local_func_predio_escolar'
+    }
 });
 
 schoolApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
-- 
GitLab