UNPKG

@lomray/microservice-users

Version:

Users microservice based on NodeJS & inverted json.

50 lines (46 loc) 2.02 kB
'use strict'; var tslib = require('tslib'); var microserviceHelpers = require('@lomray/microservice-helpers'); var classTransformer = require('class-transformer'); var classValidator = require('class-validator'); var classValidatorJsonschema = require('class-validator-jsonschema'); var typeorm = require('typeorm'); var idProvider = require('../../constants/id-provider.js'); var user = require('../../entities/user.js'); var factory = require('../../services/identity-provider/factory.js'); class GetUserByTokenIdentityProviderInput { } tslib.__decorate([ classValidator.IsEnum(idProvider), tslib.__metadata("design:type", String) ], GetUserByTokenIdentityProviderInput.prototype, "provider", void 0); tslib.__decorate([ classValidatorJsonschema.JSONSchema({ description: 'User identity provider token or code. E.g: auth.getToken()', }), classValidator.IsString(), classValidator.IsNotEmpty(), tslib.__metadata("design:type", String) ], GetUserByTokenIdentityProviderInput.prototype, "token", void 0); class GetUserByTokenIdentityProviderOutput { } tslib.__decorate([ microserviceHelpers.IsMeta(), classTransformer.Type(() => user), microserviceHelpers.IsUndefinable(), tslib.__metadata("design:type", user) ], GetUserByTokenIdentityProviderOutput.prototype, "user", void 0); /** * Returns user by identity token */ const getUserByToken = microserviceHelpers.Endpoint.custom(() => ({ input: GetUserByTokenIdentityProviderInput, output: GetUserByTokenIdentityProviderOutput, description: 'Returns user by identity token', }), ({ provider, token }) => tslib.__awaiter(void 0, void 0, void 0, function* () { const service = factory.create(provider, token, typeorm.getManager()); return { user: yield service.getUserByToken() }; })); exports.GetUserByTokenIdentityProviderInput = GetUserByTokenIdentityProviderInput; exports.GetUserByTokenIdentityProviderOutput = GetUserByTokenIdentityProviderOutput; exports.getUserByToken = getUserByToken;