UNPKG

e-commercee

Version:

This package contains a backend of what would be the logic of a e-commercee software, the architecture used is made in 3 layers

125 lines 5.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DAdministrator = void 0; const Administrator_1 = require("../../shared/entity/Administrator"); const dataexception_1 = require("../../shared/exceptions/dataexception"); const Conection_1 = require("../Conection"); class DAdministrator { constructor() { } static getInstance() { if (!DAdministrator.instancia) { DAdministrator.instancia = new DAdministrator(); } return DAdministrator.instancia; } async addAdmin(dtadmin) { try { let cn = await Conection_1.Conexion.uri().connect(); const collection = cn.db("ECommerce").collection("Admin"); const result = await collection.insertOne(dtadmin); cn.close(); } catch (e) { throw new dataexception_1.DataException("Admin could not be added" + e.message); } } async getAdminbyusername(username) { let admobj = null; try { let cn = await Conection_1.Conexion.uri().connect(); const collection = cn.db("ECommerce").collection("Admin"); const Admin = await collection.findOne({ _username: username }); if (Admin == null) { return null; } admobj = new Administrator_1.Administrator(Admin._salt, Admin._identitycard, Admin._completename, Admin._password, Admin._username, Admin._position); return admobj; cn.close(); } catch (e) { throw new dataexception_1.DataException("Client could not be searched"); } } async getAdmin(idcard) { let admobj = null; try { let cn = await Conection_1.Conexion.uri().connect(); const collection = cn.db("ECommerce").collection("Admin"); const Admin = await collection.findOne({ _identitycard: idcard }); if (Admin == null) { return null; } admobj = new Administrator_1.Administrator(Admin._salt, Admin._identitycard, Admin._completename, Admin._password, Admin._username, Admin._position); return admobj; cn.close(); } catch (e) { throw new dataexception_1.DataException("Admin could not be searched"); } } async loginAdmin(username, password) { let admobj = null; try { let cn = await Conection_1.Conexion.uri().connect(); const collection = cn.db("ECommerce").collection("Admin"); const Admin = await collection.findOne({ _username: username, _password: password }); if (Admin == null) { return null; } admobj = new Administrator_1.Administrator(Admin._salt, Admin._identitycard, Admin._completename, Admin._password, Admin._username, Admin._position); return admobj; cn.close(); } catch (e) { throw new dataexception_1.DataException("Client could not be searched"); } } async updateAdmin(dtadmin) { try { let cn = await Conection_1.Conexion.uri().connect(); let query = { _identitycard: dtadmin.identitycard }; var newvalues = { $set: { _completename: dtadmin.completename, _password: dtadmin.password, _salt: dtadmin.salt, _position: dtadmin.position, } }; const coladvert = cn.db("ECommerce").collection("Admin"); const result = await coladvert.updateOne(query, newvalues); cn.close(); } catch (e) { throw new dataexception_1.DataException("Admin could not be updated" + e.message); } } async deleteAdmin(dtadmin) { try { let cn = await Conection_1.Conexion.uri().connect(); let query = { _identitycard: dtadmin.identitycard }; const colcat = cn.db("ECommerce").collection("Admin"); const result = await colcat.deleteOne(query); cn.close(); } catch (e) { throw new dataexception_1.DataException("Admin could not be deleted" + e.message); } } async getAdmins() { try { let cn = await Conection_1.Conexion.uri().connect(); const collection = cn.db("ECommerce").collection("Admin"); const result = await collection.find({}).toArray(); let array = []; for (var Admin of result) { var admobj = new Administrator_1.Administrator(Admin._salt, Admin._identitycard, Admin._completename, Admin._password, Admin._username, Admin._position); array.push(admobj); } return array; cn.close(); } catch (e) { throw new dataexception_1.DataException("Admins could not be listed" + e.message); } } } exports.DAdministrator = DAdministrator; //# sourceMappingURL=DAdministrator.js.map