From 758d3f0d58d9bd91abc7490ca95d26ba8967011d Mon Sep 17 00:00:00 2001
From: Vytor Calixto <vytorcalixto@gmail.com>
Date: Wed, 22 Mar 2017 10:52:48 -0300
Subject: [PATCH] Add conversion from ids to names in /enrollment

Conversion added to gender, period and ethnic group
---
 src/libs/routes/enrollment.js | 60 ++++++++++++++++++++++++++++++++++-
 1 file changed, 59 insertions(+), 1 deletion(-)

diff --git a/src/libs/routes/enrollment.js b/src/libs/routes/enrollment.js
index 0782b8bb..55fcfa6e 100644
--- a/src/libs/routes/enrollment.js
+++ b/src/libs/routes/enrollment.js
@@ -276,6 +276,64 @@ enrollmentApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
     .order('matricula.ano_censo')
     .where('matricula.tipo=0 OR matricula.tipo=1 OR matricula.tipo=2 OR matricula.tipo=3');
     next();
-}, query, response('enrollment'));
+}, query, (req, res, next) => {
+    // ids to strings
+    req.result.forEach((result) => {
+        if(typeof result.gender_id !== 'undefined') {
+            switch (result.gender_id) {
+                case 1:
+                    result.gender_name = 'Masculino';
+                    break;
+                case 2:
+                    result.gender_name = 'Feminino';
+                    break;
+            }
+            delete result.gender_id;
+        }
+        if(typeof result.ethnic_group_id !== 'undefined') {
+            switch (result.ethnic_group) {
+                case 0:
+                    result.ethnic_group_name = 'Não declarada';
+                    break;
+                case 1:
+                    result.ethnic_group_name = 'Branca';
+                    break;
+                case 2:
+                    result.ethnic_group_name = 'Preta';
+                    break;
+                case 3:
+                    result.ethnic_group_name = 'Parda';
+                    break;
+                case 4:
+                    result.ethnic_group_name = 'Amarela';
+                    break;
+                case 5:
+                    result.ethnic_group_name = 'Indígena';
+                    break;
+                default:
+                    result.ethnic_group_name = 'Não declarada';
+                    break;
+            }
+            delete result.ethnic_group_id;
+        }
+        if(typeof result.period_id !== 'undefined') {
+            switch (result.period_id) {
+                case 1:
+                    result.period_name = 'Diurno';
+                    break;
+                case 2:
+                    result.period_name = 'Noturno';
+                    break;
+                case 3:
+                    result.period_name = 'Integral';
+                    break;
+                default:
+                    result.period_name = 'Indefinido';
+                    break;
+            }
+            delete result.period_id;
+        }
+    });
+}, response('enrollment'));
 
 module.exports = enrollmentApp;
-- 
GitLab