@lomray/microservice-users
Version:
Users microservice based on NodeJS & inverted json.
40 lines (36 loc) • 1.29 kB
JavaScript
;
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;