UNPKG

@lomray/microservice-users

Version:

Users microservice based on NodeJS & inverted json.

64 lines (60 loc) 2.41 kB
'use strict'; 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;