const mongoose = require('mongoose'); const fsp = require("fs/promises"); const fs = require("fs"); const path = require("path"); const service = require('../config/services'); const { type } = require('os'); const log = require('../middlewares/log'); /*function plantillaUsuarios(usuario, listUsuarios){ if(usuario != ""){ this.usuario = usuario; } if(listUsuarios != ""){ this.listUsuarios = listUsuarios; } }*/ var compartidosController = {}; compartidosController.listaUsuarios = async function (req, res) { let usuarios = {usuarios: []}; fs.readdirSync(path.join(__dirname, '../UsuariosRegistrados/')).forEach(file => { usuarios.usuarios.push(file); }); log.serverActionInfo(req,"Listar los usuarios de la aplicación"); return res.status(200).send(usuarios); }; compartidosController.listaCompartidos = async function (req, res) { //let nombre = req.query.usuario; let nombre = req.usuario; let ficheros = {ficheros: []}; fs.readdirSync(path.join(__dirname, '../ArchivosCompartidos/Usuarios/' + nombre + '/')).forEach(file => { if(file.split('-')[1].split('.')[0] === nombre){ ficheros.ficheros.push(file); } }); log.serverActionInfo(req,"Listar los archivos compartidos"); return res.status(200).send(ficheros); }; compartidosController.listaCompartidosConmigo = async function (req, res) { //let nombre = req.query.usuario; let nombre = req.usuario; let ficheros = {ficheros: []}; fs.readdirSync(path.join(__dirname, '../ArchivosCompartidos/Usuarios/' + nombre + '/')).forEach(file => { if(file.split('-')[1].split('.')[0] !== nombre){ ficheros.ficheros.push(file); } }); log.serverActionInfo(req,"Listar los archivos compartidos conmigo"); return res.status(200).send(ficheros); }; compartidosController.guardarArchivoCompartido = async function (req, res) { let ficheroCompartido=req.body.ficheroCompartido; let objetoContraseñas=req.body.contraseñas; //let usuario=req.body.usuario; let usuario = req.usuario; if(!fs.existsSync(path.join(__dirname, '../ArchivosCompartidos/Usuarios/' + usuario))){ log.errorMensaje(req,"No existe la carpeta archivos compartidos del usuario"); return res.status(200).send({result:null,error:"No existe la carpeta archivos compartidos del usuario"}); } try{ let id = fs.readFileSync('ArchivosCompartidos/id.txt', 'utf-8'); let idNuevo = parseInt(id); idNuevo ++; await fsp.writeFile('ArchivosCompartidos/id.txt', idNuevo.toString()); await fsp.writeFile('ArchivosCompartidos/Ficheros/' + id + '-' + usuario + '.enc', ficheroCompartido); for (const propiedad in objetoContraseñas) { await fsp.writeFile('ArchivosCompartidos/Usuarios/' + propiedad + '/' + id + '-' + usuario + '.enc', objetoContraseñas[propiedad]); } log.serverActionInfo(req,"Archivo compartido guardado"); res.status(200).send({result:{status:'Archivo compartido correctamente'},error:null}); }catch (err){ console.log(err); log.errorMensaje(req,"Error al compartir archivo"); res.status(200).send({result:null,error:"Error al compartir archivo"}); } }; compartidosController.obtenerPublicas = async function (req, res) { let publicas = {}; for(let i = 0; i