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
JavaScript
;
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