diff --git a/dist/Controllers/UserCotroller.js b/dist/Controllers/UserCotroller.js index a1f9a2e78d21807583c13d28a0e93ea26478db52..6d3808b63b4a6107359b24f4b493c615a0e820e8 100644 --- a/dist/Controllers/UserCotroller.js +++ b/dist/Controllers/UserCotroller.js @@ -15,10 +15,54 @@ 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* () { +const listAll = (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)); + .listAll(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 listPending = (req, res) => __awaiter(void 0, void 0, void 0, function* () { + try { + const users = yield UserService_1.default + .listPending(Number(req.query.limit), Number(req.query.offset), String(req.query.search)); + return res.status(200).send(users); + } + catch (error) { + const e = error; + return res.status(400).json({ error: e.message }); + } +}); +const listApproved = (req, res) => __awaiter(void 0, void 0, void 0, function* () { + try { + const users = yield UserService_1.default + .listApproved(Number(req.query.limit), Number(req.query.offset), String(req.query.search)); + return res.status(200).send(users); + } + catch (error) { + const e = error; + return res.status(400).json({ error: e.message }); + } +}); +const listClients = (req, res) => __awaiter(void 0, void 0, void 0, function* () { + try { + const users = yield UserService_1.default + .listClients(Number(req.query.limit), Number(req.query.offset), String(req.query.search)); + return res.status(200).send(users); + } + catch (error) { + const e = error; + return res.status(400).json({ error: e.message }); + } +}); +const listAdmins = (req, res) => __awaiter(void 0, void 0, void 0, function* () { + try { + const users = yield UserService_1.default + .listAdmins(Number(req.query.limit), Number(req.query.offset), String(req.query.search)); return res.status(200).send(users); } catch (error) { @@ -76,6 +120,26 @@ const cancel = (req, res) => __awaiter(void 0, void 0, void 0, function* () { return res.status(400).json({ error: e.message }); } }); +const giveAdminPermission = (req, res) => __awaiter(void 0, void 0, void 0, function* () { + try { + const user = yield UserService_1.default.giveAdminPermission(Number(req.params.id)); + return res.status(200).send(user); + } + catch (error) { + const e = error; + return res.status(400).json({ error: e.message }); + } +}); +const removeAdminPermission = (req, res) => __awaiter(void 0, void 0, void 0, function* () { + try { + const user = yield UserService_1.default.removeAdminPermission(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)); @@ -87,8 +151,16 @@ const active = (req, res) => __awaiter(void 0, void 0, void 0, function* () { } }); router.route('/') - .get(list) + .get(listAll) .post(create); +router.route('/pending') + .get(listPending); +router.route('/approved') + .get(listApproved); +router.route('/clients') + .get(listClients); +router.route('/admins') + .get(listAdmins); router.route('/:id') .put(update) .patch(active); @@ -100,5 +172,9 @@ router.route('/:id/active') .patch(active); router.route('/:id/cancel') .put(cancel); +router.route('/:id/admin') + .put(giveAdminPermission); +router.route('/:id/client') + .put(removeAdminPermission); exports.default = router; //# sourceMappingURL=UserCotroller.js.map \ No newline at end of file diff --git a/dist/Controllers/UserCotroller.js.map b/dist/Controllers/UserCotroller.js.map index 3da79560394d4b1e1ca365c6523783ec9accd5eb..74fc9cdb8b4141253e4551e6d6c1e10b0ae2558c 100644 --- a/dist/Controllers/UserCotroller.js.map +++ b/dist/Controllers/UserCotroller.js.map @@ -1 +1 @@ -{"version":3,"file":"UserCotroller.js","sourceRoot":"","sources":["../../src/Controllers/UserCotroller.ts"],"names":[],"mappings":"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"} \ 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 diff --git a/dist/Services/UserService.js b/dist/Services/UserService.js index 4e818fdf6716ffbad19a50017615d5164a3d4281..7f24131b69f5353ea5e98ee7a51ee86a615a660c 100644 --- a/dist/Services/UserService.js +++ b/dist/Services/UserService.js @@ -13,11 +13,144 @@ var __importDefault = (this && this.__importDefault) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const bcrypt_1 = __importDefault(require("bcrypt")); +const sequelize_1 = require("sequelize"); 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* () { +const listPending = (limit, offset, search) => __awaiter(void 0, void 0, void 0, function* () { let options = {}; - if (limit && offset) { + if (limit >= 1 && offset >= 0) { + if (search && search !== '') { + options = { + where: { + status: index_enum_1.status.pending, + [sequelize_1.Op.or]: [ + { name: { [sequelize_1.Op.substring]: search } }, + { email: { [sequelize_1.Op.substring]: search } }, + ], + }, + limit, + offset, + }; + } + else { + options = { + where: { + status: index_enum_1.status.pending, + }, + limit, + offset, + }; + } + } + return users_model_1.User.findAndCountAll(Object.assign({ attributes: [ + 'id', 'name', 'email', 'organization', 'type', 'status', 'active', 'createdAt', + ], order: [ + ['createdAt', 'ASC'], + ] }, options)); +}); +const listApproved = (limit, offset, search) => __awaiter(void 0, void 0, void 0, function* () { + let options = {}; + if (limit >= 1 && offset >= 0) { + if (search && search !== '') { + options = { + where: { + status: index_enum_1.status.approved, + [sequelize_1.Op.or]: [ + { name: { [sequelize_1.Op.substring]: search } }, + { email: { [sequelize_1.Op.substring]: search } }, + ], + }, + limit, + offset, + }; + } + else { + options = { + where: { + status: index_enum_1.status.approved, + }, + limit, + offset, + }; + } + } + return users_model_1.User.findAndCountAll(Object.assign({ attributes: [ + 'id', 'name', 'email', 'organization', 'type', 'status', 'active', 'createdAt', + ], order: [ + ['createdAt', 'ASC'], + ] }, options)); +}); +const listClients = (limit, offset, search) => __awaiter(void 0, void 0, void 0, function* () { + let options = {}; + if (limit >= 1 && offset >= 0) { + if (search && search !== '') { + options = { + where: { + status: index_enum_1.status.approved, + type: index_enum_1.profiles.client, + [sequelize_1.Op.or]: [ + { name: { [sequelize_1.Op.substring]: search } }, + { email: { [sequelize_1.Op.substring]: search } }, + ], + }, + limit, + offset, + }; + } + else { + options = { + where: { + status: index_enum_1.status.approved, + type: index_enum_1.profiles.client, + }, + limit, + offset, + }; + } + } + return users_model_1.User.findAndCountAll(Object.assign({ attributes: [ + 'id', 'name', 'email', 'organization', 'type', 'status', 'active', 'createdAt', + ], order: [ + ['createdAt', 'ASC'], + ] }, options)); +}); +const listAdmins = (limit, offset, search) => __awaiter(void 0, void 0, void 0, function* () { + let options = {}; + if (limit >= 1 && offset >= 0) { + if (search && search !== '') { + options = { + where: { + status: index_enum_1.status.approved, + type: index_enum_1.profiles.administrator, + [sequelize_1.Op.or]: [ + { name: { [sequelize_1.Op.substring]: search } }, + { email: { [sequelize_1.Op.substring]: search } }, + ], + }, + limit, + offset, + }; + } + else { + options = { + where: { + status: index_enum_1.status.approved, + type: index_enum_1.profiles.administrator, + }, + limit, + offset, + }; + } + } + return users_model_1.User.findAndCountAll(Object.assign({ attributes: [ + 'id', 'name', 'email', 'organization', 'type', 'status', 'active', 'createdAt', + ], order: [ + ['createdAt', 'ASC'], + ] }, options)); +}); +const listAll = (limit, offset) => __awaiter(void 0, void 0, void 0, function* () { + let options = {}; + if (limit >= 1 && offset >= 0) { options = { limit, offset, @@ -171,6 +304,63 @@ const cancel = (userId) => __awaiter(void 0, void 0, void 0, function* () { else { return user.update({ status: index_enum_1.status.pending, + type: index_enum_1.profiles.client, + 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 giveAdminPermission = (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({ + type: index_enum_1.profiles.administrator, + 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 removeAdminPermission = (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({ + type: index_enum_1.profiles.client, updatedAt: new Date(), }).catch((error) => { console.log(error); @@ -205,12 +395,18 @@ const active = (userId) => __awaiter(void 0, void 0, void 0, function* () { }); }); exports.default = { - list, + listAll, + listPending, + listApproved, + listClients, + listAdmins, create, update, password, approve, cancel, active, + giveAdminPermission, + removeAdminPermission, }; //# sourceMappingURL=UserService.js.map \ No newline at end of file diff --git a/dist/Services/UserService.js.map b/dist/Services/UserService.js.map index 2edf6f5b6e5f58e238f45b4e70aedf2f0c34763b..fdc1ccdceef6b6d204df50c49515e354ebadaaea 100644 --- a/dist/Services/UserService.js.map +++ b/dist/Services/UserService.js.map @@ -1 +1 @@ -{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../src/Services/UserService.ts"],"names":[],"mappings":"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"} \ 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