Bot
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
"use strict";
|
||||
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
||||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||
};
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
||||
return function (target, key) { decorator(target, key, paramIndex); }
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UsersController = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const swagger_1 = require("@nestjs/swagger");
|
||||
const jwt_auth_guard_1 = require("../../../../core/auth/guards/jwt-auth.guard");
|
||||
const permission_guard_1 = require("../../../authorization/presentation/guards/permission.guard");
|
||||
const permission_decorator_1 = require("../../../authorization/presentation/decorators/permission.decorator");
|
||||
const find_user_handler_1 = require("../../application/handlers/find-user.handler");
|
||||
const find_users_handler_1 = require("../../application/handlers/find-users.handler");
|
||||
const create_user_handler_1 = require("../../application/handlers/create-user.handler");
|
||||
const update_user_handler_1 = require("../../application/handlers/update-user.handler");
|
||||
const delete_user_handler_1 = require("../../application/handlers/delete-user.handler");
|
||||
const create_user_dto_1 = require("../dto/create-user.dto");
|
||||
const update_user_dto_1 = require("../dto/update-user.dto");
|
||||
let UsersController = class UsersController {
|
||||
createUserHandler;
|
||||
findUserHandler;
|
||||
findUsersHandler;
|
||||
updateUserHandler;
|
||||
deleteUserHandler;
|
||||
constructor(createUserHandler, findUserHandler, findUsersHandler, updateUserHandler, deleteUserHandler) {
|
||||
this.createUserHandler = createUserHandler;
|
||||
this.findUserHandler = findUserHandler;
|
||||
this.findUsersHandler = findUsersHandler;
|
||||
this.updateUserHandler = updateUserHandler;
|
||||
this.deleteUserHandler = deleteUserHandler;
|
||||
}
|
||||
sanitizeUser(user) {
|
||||
if (!user)
|
||||
return user;
|
||||
if (Array.isArray(user)) {
|
||||
return user.map(u => {
|
||||
const { password, ...rest } = u;
|
||||
return rest;
|
||||
});
|
||||
}
|
||||
const { password, ...rest } = user;
|
||||
return rest;
|
||||
}
|
||||
async create(dto) {
|
||||
const data = await this.createUserHandler.execute(dto);
|
||||
return {
|
||||
success: true,
|
||||
data: this.sanitizeUser(data),
|
||||
meta: {},
|
||||
};
|
||||
}
|
||||
async getById(id) {
|
||||
const data = await this.findUserHandler.execute(id);
|
||||
return {
|
||||
success: true,
|
||||
data: this.sanitizeUser(data),
|
||||
meta: {},
|
||||
};
|
||||
}
|
||||
async getAll() {
|
||||
const data = await this.findUsersHandler.execute();
|
||||
return {
|
||||
success: true,
|
||||
data: this.sanitizeUser(data),
|
||||
meta: {},
|
||||
};
|
||||
}
|
||||
async update(id, dto) {
|
||||
const data = await this.updateUserHandler.execute(id, dto);
|
||||
return {
|
||||
success: true,
|
||||
data: this.sanitizeUser(data),
|
||||
meta: {},
|
||||
};
|
||||
}
|
||||
async delete(id) {
|
||||
await this.deleteUserHandler.execute(id);
|
||||
return {
|
||||
success: true,
|
||||
data: null,
|
||||
meta: {},
|
||||
};
|
||||
}
|
||||
};
|
||||
exports.UsersController = UsersController;
|
||||
__decorate([
|
||||
(0, common_1.Post)(),
|
||||
(0, permission_decorator_1.Permissions)('USER_CREATE'),
|
||||
(0, swagger_1.ApiOperation)({ summary: 'Create user' }),
|
||||
__param(0, (0, common_1.Body)()),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", [create_user_dto_1.CreateUserDto]),
|
||||
__metadata("design:returntype", Promise)
|
||||
], UsersController.prototype, "create", null);
|
||||
__decorate([
|
||||
(0, common_1.Get)(':id'),
|
||||
(0, permission_decorator_1.Permissions)('USER_READ'),
|
||||
(0, swagger_1.ApiOperation)({ summary: 'Get user by id' }),
|
||||
__param(0, (0, common_1.Param)('id')),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", [String]),
|
||||
__metadata("design:returntype", Promise)
|
||||
], UsersController.prototype, "getById", null);
|
||||
__decorate([
|
||||
(0, common_1.Get)(),
|
||||
(0, permission_decorator_1.Permissions)('USER_READ_ADMIN'),
|
||||
(0, swagger_1.ApiOperation)({ summary: 'Get All User' }),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", []),
|
||||
__metadata("design:returntype", Promise)
|
||||
], UsersController.prototype, "getAll", null);
|
||||
__decorate([
|
||||
(0, common_1.Patch)(':id'),
|
||||
(0, permission_decorator_1.Permissions)('USER_UPDATE'),
|
||||
(0, swagger_1.ApiOperation)({ summary: 'Update User' }),
|
||||
__param(0, (0, common_1.Param)('id')),
|
||||
__param(1, (0, common_1.Body)()),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", [String, update_user_dto_1.UpdateUserDto]),
|
||||
__metadata("design:returntype", Promise)
|
||||
], UsersController.prototype, "update", null);
|
||||
__decorate([
|
||||
(0, common_1.Delete)(':id'),
|
||||
(0, permission_decorator_1.Permissions)('USER_DELETE'),
|
||||
(0, swagger_1.ApiOperation)({ summary: 'Delete user by id' }),
|
||||
__param(0, (0, common_1.Param)('id')),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", [String]),
|
||||
__metadata("design:returntype", Promise)
|
||||
], UsersController.prototype, "delete", null);
|
||||
exports.UsersController = UsersController = __decorate([
|
||||
(0, swagger_1.ApiTags)('Users'),
|
||||
(0, common_1.Controller)('api/v1/users'),
|
||||
(0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard, permission_guard_1.PermissionGuard),
|
||||
__metadata("design:paramtypes", [create_user_handler_1.CreateUserHandler,
|
||||
find_user_handler_1.FindUserHandler,
|
||||
find_users_handler_1.FindUsersHandler,
|
||||
update_user_handler_1.UpdateUserHandler,
|
||||
delete_user_handler_1.DeleteUserHandler])
|
||||
], UsersController);
|
||||
//# sourceMappingURL=users.controller.js.map
|
||||
Reference in New Issue
Block a user