SHARE
TWEET

aaa

a guest May 23rd, 2019 117 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. gulp.task('import-csv', async function (cb) {
  2.     const fs = require('fs');
  3.     const generalDao = require('./dao/general-tool-dao');
  4.     const pwdtool = require('./tools/password-hash-tool');
  5.  
  6.     function endTask(err) {
  7.         require('./db').end();
  8.         cb(err);
  9.     }
  10.  
  11.     async function readCSV(file) {
  12.         const csvtojson = require("csvtojson");
  13.         return await csvtojson().fromFile(file);
  14.     }
  15.  
  16.     let argv = require('yargs').argv;
  17.     let std = argv.student;
  18.     let crse = argv.course;
  19.     let crse_prd = argv["course-period"];
  20.  
  21.     if (!std && !crse && !crse_prd) {
  22.         console.error("No se ha definido que archivo ni a que tabla se importará a la BD");
  23.         endTask();
  24.     }
  25.  
  26.     if (std) {
  27.         console.log("Importando Estudiantes...")
  28.         if (fs.existsSync(std)) {
  29.             let students = await readCSV(std);
  30.             for(let student of students){
  31.                 console.log("Insertando a estudiante: " + student.codigo);
  32.                 generalDao.save('student', {
  33.                     username: student.username,
  34.                     first_name: student.first_name,
  35.                     last_name: student.last_name,
  36.                     email: student.email,
  37.                     institution_id: student.institution_id,
  38.                     password: pwdtool.generateHashSync(student.codigo)
  39.                 }).then(function (res) {
  40.                     console.log(res);
  41.                     endTask();
  42.                 }).catch(function (err) {
  43.                     console.error(err);
  44.                     endTask();
  45.                 });
  46.                 break;
  47.             }
  48.         } else{
  49.             console.error("Archivo de estudiantes no existe o no es válido.");
  50.             endTask();
  51.         }
  52.     }
  53.  
  54.     if (crse) {
  55.         console.log("Importando Cursos...")
  56.         if (fs.existsSync(crse)) {
  57.             let courses = await readCSV(crse);
  58.             console.log('Courses', courses);
  59.             //TODO
  60.         } else{
  61.             console.error("Archivo de cursos no existe o no es válido.");
  62.             endTask();
  63.         }
  64.     }
  65.  
  66.     if (crse_prd) {
  67.         console.log("Importando Cursos Periodo...")
  68.         if (fs.existsSync(crse_prd)) {
  69.             let course_periods = await readCSV(crse_prd);
  70.             console.log('Course-Periods', course_periods);
  71.             //TODO
  72.         } else{
  73.             console.error("Archivo de cursos periodo no existe o no es válido.");
  74.             endTask();
  75.         }
  76.     }
  77.  
  78.     /*generalDao.save('user', {
  79.         username: process.env.ADMIN_USER || 'admin',
  80.         password: pwdtool.generateHashSync(process.env.ADMIN_PASSWORD || 'km2019i'),
  81.         profile_id: 'A',
  82.         state: '10'
  83.     }).then(function (res) {
  84.         console.log(res);
  85.         endTask();
  86.     }).catch(endTask);*/
  87.     endTask();
  88. });
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top