Skip to content
Snippets Groups Projects
Commit 8ff3c5ad authored by Ramiro's avatar Ramiro
Browse files

Login feature, UserController, UserService, .gitignore

parent ed598695
No related branches found
No related tags found
No related merge requests found
Showing
with 4 additions and 427 deletions
MYSQL_USERNAME=root
MYSQL_PASSWORD=mysql
MYSQL_DB=repp_users
\ No newline at end of file
node_modules
dist/
.env
\ No newline at end of file
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = require("express");
const UserService_1 = __importDefault(require("../Services/UserService"));
const router = (0, express_1.Router)();
const list = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
try {
const users = yield UserService_1.default
.list(Number(req.query.limit), Number(req.query.offset));
return res.status(200).send(users);
}
catch (error) {
const e = error;
return res.status(400).json({ error: e.message });
}
});
const create = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
try {
const user = yield UserService_1.default.create(req.body);
return res.status(200).send(user);
}
catch (error) {
const e = error;
return res.status(400).json({ error: e.message });
}
});
const update = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
try {
const user = yield UserService_1.default.update(Number(req.params.id), req.body);
return res.status(200).send(user);
}
catch (error) {
const e = error;
return res.status(400).json({ error: e.message });
}
});
const password = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
try {
const user = yield UserService_1.default.password(Number(req.params.id), req.body);
return res.status(200).send(user);
}
catch (error) {
const e = error;
return res.status(400).json({ error: e.message });
}
});
const approve = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
try {
const user = yield UserService_1.default.approve(Number(req.params.id));
return res.status(200).send(user);
}
catch (error) {
const e = error;
return res.status(400).json({ error: e.message });
}
});
const cancel = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
try {
const user = yield UserService_1.default.cancel(Number(req.params.id));
return res.status(200).send(user);
}
catch (error) {
const e = error;
return res.status(400).json({ error: e.message });
}
});
const active = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
try {
const user = yield UserService_1.default.active(Number(req.params.id));
return res.status(200).send(user);
}
catch (error) {
const e = error;
return res.status(400).json({ error: e.message });
}
});
router.route('/')
.get(list)
.post(create);
router.route('/:id')
.put(update)
.patch(active);
router.route('/:id/password')
.put(password);
router.route('/:id/approve')
.put(approve);
router.route('/:id/active')
.patch(active);
router.route('/:id/cancel')
.put(cancel);
exports.default = router;
//# sourceMappingURL=UserCotroller.js.map
\ No newline at end of file
{"version":3,"file":"UserCotroller.js","sourceRoot":"","sources":["../../src/Controllers/UserCotroller.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserController = void 0;
const UserCotroller_1 = __importDefault(require("./UserCotroller"));
exports.UserController = UserCotroller_1.default;
//# sourceMappingURL=index.js.map
\ No newline at end of file
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Controllers/index.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA6C;AAG3C,yBAHK,uBAAc,CAGL"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=UserDTO.js.map
\ No newline at end of file
{"version":3,"file":"UserDTO.js","sourceRoot":"","sources":["../../src/DTOs/UserDTO.ts"],"names":[],"mappings":""}
\ No newline at end of file
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const bcrypt_1 = __importDefault(require("bcrypt"));
const index_enum_1 = require("../enums/index.enum");
const users_model_1 = require("../models/users.model");
const list = (limit, offset) => __awaiter(void 0, void 0, void 0, function* () {
let options = {};
if (limit && offset) {
options = {
limit,
offset,
};
}
return users_model_1.User.findAndCountAll(Object.assign({ attributes: [
'id', 'name', 'email', 'organization', 'type', 'status', 'active', 'createdAt',
], order: [
['createdAt', 'ASC'],
] }, options));
});
const create = (userDTO) => __awaiter(void 0, void 0, void 0, function* () {
return users_model_1.User.findOne({
where: {
email: userDTO.email,
},
}).then((user) => __awaiter(void 0, void 0, void 0, function* () {
if (user) {
throw new Error('email is taken');
}
else {
// se hace el checkeo antes porque luego se encripta
if (userDTO.password.length >= 6) {
const newUser = yield users_model_1.User.create({
name: userDTO.name,
email: userDTO.email,
organization: userDTO.organization,
password: bcrypt_1.default.hashSync(userDTO.password, 10),
type: index_enum_1.profiles.client,
status: index_enum_1.status.pending,
createdBy: 1,
createdAt: new Date(),
}).catch((error) => {
console.log(error);
throw new Error('create user error');
});
newUser.toJSON();
return newUser;
}
throw new Error('password too short');
}
})).catch((error) => {
console.log(error);
throw error;
});
});
const update = (userId, userDTO) => __awaiter(void 0, void 0, void 0, function* () {
return users_model_1.User.findOne({
attributes: [
'id', 'name', 'email',
],
where: {
id: userId,
},
}).then((user) => __awaiter(void 0, void 0, void 0, function* () {
if (!user) {
throw new Error('user not found');
}
else {
const emailUser = yield users_model_1.User.findOne({
where: {
email: userDTO.email,
},
});
if (!emailUser || emailUser.get('id') === user.get('id')) {
return user.update({
name: userDTO.name,
email: userDTO.email,
organization: userDTO.organization,
updatedAt: new Date(),
}).catch((error) => {
console.log(error);
throw new Error('user update error');
});
}
throw new Error('email in use');
}
})).catch((error) => {
console.log(error);
throw new Error('find user error');
});
});
const password = (userId, userDTO) => __awaiter(void 0, void 0, void 0, function* () {
return users_model_1.User.findOne({
attributes: [
'id', 'name', 'email',
],
where: {
id: userId,
},
}).then((user) => __awaiter(void 0, void 0, void 0, function* () {
if (!user) {
throw new Error('user not found');
}
else {
return user.update({
password: bcrypt_1.default.hashSync(userDTO.password, 10),
updatedAt: new Date(),
}).catch((error) => {
console.log(error);
throw new Error('user update error');
});
}
})).catch((error) => {
console.log(error);
throw new Error('find user error');
});
});
const approve = (userId) => __awaiter(void 0, void 0, void 0, function* () {
return users_model_1.User.findOne({
attributes: [
'id', 'name',
'email', 'type',
'createdAt',
],
where: {
id: userId,
},
}).then((user) => __awaiter(void 0, void 0, void 0, function* () {
if (!user) {
throw new Error('user not found');
}
else {
return user.update({
status: index_enum_1.status.approved,
updatedAt: new Date(),
}).catch((error) => {
console.log(error);
throw new Error('user update error');
});
}
})).catch((error) => {
console.log(error);
throw new Error('find user error');
});
});
const cancel = (userId) => __awaiter(void 0, void 0, void 0, function* () {
return users_model_1.User.findOne({
attributes: [
'id', 'name',
'email', 'type',
'createdAt',
],
where: {
id: userId,
},
}).then((user) => __awaiter(void 0, void 0, void 0, function* () {
if (!user) {
throw new Error('user not found');
}
else {
return user.update({
status: index_enum_1.status.pending,
updatedAt: new Date(),
}).catch((error) => {
console.log(error);
throw new Error('user update error');
});
}
})).catch((error) => {
console.log(error);
throw new Error('find user error');
});
});
const active = (userId) => __awaiter(void 0, void 0, void 0, function* () {
return users_model_1.User.findOne({
where: {
id: userId,
},
}).then((user) => __awaiter(void 0, void 0, void 0, function* () {
if (!user) {
throw new Error('user not found');
}
else {
return user.update({
active: !user.get('active'),
updatedAt: new Date(),
}).catch((error) => {
throw new Error('user update error');
});
}
})).catch((error) => {
console.log(error);
throw new Error('find user error');
});
});
exports.default = {
list,
create,
update,
password,
approve,
cancel,
active,
};
//# sourceMappingURL=UserService.js.map
\ No newline at end of file
{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../src/Services/UserService.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.development = void 0;
require('dotenv').config();
exports.development = {
username: process.env.MYSQL_USERNAME,
password: process.env.MYSQL_PASSWORD,
database: process.env.MYSQL_DB,
host: 'localhost',
dialect: 'mysql',
logging: false,
};
//# sourceMappingURL=config.js.map
\ No newline at end of file
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":";;;AAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAEd,QAAA,WAAW,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACpC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACpC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;IAC9B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,KAAK;CACf,CAAC"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.profiles = exports.status = void 0;
var status;
(function (status) {
status[status["pending"] = 0] = "pending";
status[status["approved"] = 1] = "approved";
status[status["rejected"] = 2] = "rejected";
})(status = exports.status || (exports.status = {}));
var profiles;
(function (profiles) {
profiles[profiles["unassigned"] = 0] = "unassigned";
profiles[profiles["administrator"] = 1] = "administrator";
profiles[profiles["client"] = 2] = "client";
})(profiles = exports.profiles || (exports.profiles = {}));
//# sourceMappingURL=index.enum.js.map
\ No newline at end of file
{"version":3,"file":"index.enum.js","sourceRoot":"","sources":["../../src/enums/index.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,yCAAO,CAAA;IACP,2CAAQ,CAAA;IACR,2CAAQ,CAAA;AACV,CAAC,EAJW,MAAM,GAAN,cAAM,KAAN,cAAM,QAIjB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,2CAAU,CAAA;AACZ,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB"}
\ No newline at end of file
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable no-console */
const express_1 = __importDefault(require("express"));
require("dotenv/config");
const cors_1 = __importDefault(require("cors"));
const swagger_jsdoc_1 = __importDefault(require("swagger-jsdoc"));
const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
const routes_1 = __importDefault(require("./routes"));
const app = (0, express_1.default)();
const PORT = process.env.PORT || 3000;
// swagger init
const swaggerOptions = {
swaggerDefinition: {
openapi: '3.0.0',
info: {
title: 'REPP Rest API',
version: '1.0.0',
description: '',
servers: ['http://localhost:3000'],
},
},
apis: ['src/routes.ts'],
};
const swaggerDocs = (0, swagger_jsdoc_1.default)(swaggerOptions);
// middlewares
app.use('/api-docs', swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerDocs));
app.use(express_1.default.json({
limit: '50mb',
}));
app.use(express_1.default.urlencoded({ extended: false }));
app.use((0, cors_1.default)({
origin: '*',
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
preflightContinue: false,
optionsSuccessStatus: 204,
}));
app.use(express_1.default.raw({
limit: '50mb',
}));
app.use(routes_1.default);
app.listen(PORT, () => {
console.log(`REPP Backend running here 👉 https://localhost:${PORT}`);
});
//# sourceMappingURL=index.js.map
\ No newline at end of file
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,+BAA+B;AAC/B,sDAA+C;AAC/C,yBAAuB;AACvB,gDAAwB;AACxB,kEAAsD;AACtD,4EAA2C;AAC3C,sDAA8B;AAE9B,MAAM,GAAG,GAAgB,IAAA,iBAAO,GAAE,CAAC;AACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;AAEtC,eAAe;AACf,MAAM,cAAc,GAAY;IAC9B,iBAAiB,EAAE;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,CAAC,uBAAuB,CAAC;SACnC;KACF;IACD,IAAI,EAAE,CAAC,eAAe,CAAC;CACxB,CAAC;AACF,MAAM,WAAW,GAAG,IAAA,uBAAY,EAAC,cAAc,CAAC,CAAC;AAEjD,cAAc;AACd,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,4BAAS,CAAC,KAAK,EAAE,4BAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAEpE,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM;CACd,CAAC,CAAC,CAAC;AACJ,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACjD,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,EAAC;IACX,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,gCAAgC;IACzC,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,GAAG;CAC1B,CAAC,CAAC,CAAC;AAEJ,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,GAAG,CAAC;IAClB,KAAK,EAAE,MAAM;CACd,CAAC,CAAC,CAAC;AAEJ,GAAG,CAAC,GAAG,CAAC,gBAAM,CAAC,CAAC;AAEhB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAS,EAAE;IAC1B,OAAO,CAAC,GAAG,CAAC,kDAAkD,IAAI,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC"}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=paginator.interface.js.map
\ No newline at end of file
{"version":3,"file":"paginator.interface.js","sourceRoot":"","sources":["../../src/interfaces/paginator.interface.ts"],"names":[],"mappings":""}
\ No newline at end of file
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=user.interface.js.map
\ No newline at end of file
{"version":3,"file":"user.interface.js","sourceRoot":"","sources":["../../src/interfaces/user.interface.ts"],"names":[],"mappings":""}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment