UNPKG

@lomray/microservice-users

Version:

Users microservice based on NodeJS & inverted json.

40 lines (36 loc) 1.29 kB
'use strict'; var tslib = require('tslib'); var microserviceHelpers = require('@lomray/microservice-helpers'); var classValidator = require('class-validator'); var typeorm = require('typeorm'); var user = require('../../repositories/user.js'); class CheckUsernameInput { } tslib.__decorate([ classValidator.IsString(), classValidator.IsNotEmpty(), tslib.__metadata("design:type", String) ], CheckUsernameInput.prototype, "username", void 0); class CheckUsernameOutput { } tslib.__decorate([ classValidator.IsBoolean(), tslib.__metadata("design:type", Boolean) ], CheckUsernameOutput.prototype, "isUnique", void 0); /** * Check if username is unique */ const checkUsername = microserviceHelpers.Endpoint.custom(() => ({ input: CheckUsernameInput, output: CheckUsernameOutput, description: 'Check if username is unique', }), ({ username }) => tslib.__awaiter(void 0, void 0, void 0, function* () { const userRepository = typeorm.getCustomRepository(user); const user$1 = yield userRepository.findOne({ username }, { select: ['id'], withDeleted: true }); return { isUnique: !user$1, }; })); exports.CheckUsernameInput = CheckUsernameInput; exports.CheckUsernameOutput = CheckUsernameOutput; exports.checkUsername = checkUsername;