@lomray/microservice-users
Version:
Users microservice based on NodeJS & inverted json.
64 lines (60 loc) • 2.41 kB
JavaScript
;
var tslib = require('tslib');
var microserviceHelpers = require('@lomray/microservice-helpers');
var classValidator = require('class-validator');
var typeorm = require('typeorm');
var confirmCode = require('../../entities/confirm-code.js');
var user = require('../../repositories/user.js');
var changeLogin$1 = require('../../services/change-login.js');
var factory = require('../../services/confirm/factory.js');
class ChangeLoginInput {
}
tslib.__decorate([
classValidator.IsString(),
classValidator.IsNotEmpty(),
tslib.__metadata("design:type", String)
], ChangeLoginInput.prototype, "userId", void 0);
tslib.__decorate([
classValidator.IsString(),
classValidator.IsNotEmpty(),
tslib.__metadata("design:type", String)
], ChangeLoginInput.prototype, "login", void 0);
tslib.__decorate([
classValidator.IsEnum(factory.ConfirmBy),
tslib.__metadata("design:type", String)
], ChangeLoginInput.prototype, "confirmBy", void 0);
tslib.__decorate([
microserviceHelpers.IsType(['string', 'number']),
classValidator.IsNotEmpty(),
tslib.__metadata("design:type", Object)
], ChangeLoginInput.prototype, "confirmCode", void 0);
tslib.__decorate([
classValidator.IsObject(),
microserviceHelpers.IsUndefinable(),
tslib.__metadata("design:type", Object)
], ChangeLoginInput.prototype, "context", void 0);
class ChangeLoginOutput {
}
tslib.__decorate([
classValidator.IsBoolean(),
tslib.__metadata("design:type", Boolean)
], ChangeLoginOutput.prototype, "isChanged", void 0);
/**
* Change user login, e.g.: email, phone
*/
const changeLogin = microserviceHelpers.Endpoint.custom(() => ({ input: ChangeLoginInput, output: ChangeLoginOutput, description: 'Change user login' }), ({ userId, login, confirmBy, confirmCode: confirmCode$1, context }) => tslib.__awaiter(void 0, void 0, void 0, function* () {
const confirmService = factory.Factory.create(confirmBy, typeorm.getRepository(confirmCode), context);
const service = changeLogin$1.init({
userId,
login,
confirmBy,
isConfirmed: () => confirmService.verifyCode(login, confirmCode$1),
repository: typeorm.getCustomRepository(user),
});
return {
isChanged: Boolean(yield service.change()),
};
}));
exports.ChangeLoginInput = ChangeLoginInput;
exports.ChangeLoginOutput = ChangeLoginOutput;
exports.changeLogin = changeLogin;