@lomray/microservice-users
Version:
Users microservice based on NodeJS & inverted json.
30 lines (26 loc) • 998 B
JavaScript
;
var tslib = require('tslib');
var typeorm = require('typeorm');
var index = require('../../constants/index.js');
var profile = require('../../entities/profile.js');
/**
* Event handler for File from files microservice
*
* Listen events: remove
*
* Update user photo if user image removed
*/
const removed = ({ entity }) => tslib.__awaiter(void 0, void 0, void 0, function* () {
const { fileEntities } = entity;
// detect only related with user file entities
const usersEntities = (fileEntities === null || fileEntities === void 0 ? void 0 : fileEntities.filter(({ type, microservice }) => type === 'user' && microservice === index.MS_NAME)) || [];
if (!usersEntities.length) {
return false;
}
const repository = typeorm.getRepository(profile);
// remove photo
yield Promise.all(usersEntities.map(({ entityId }) => repository.update({ userId: entityId }, { photo: null })) ||
[]);
return true;
});
module.exports = removed;