validateroutemslib
TypeScript icon, indicating that this package has built-in type declarations

1.0.38 • Public • Published

validate route micro service library (validateroutemslib)

Installation

This is a Node.js module available through the npm registry. Installation is done using the npm install command:

$ npm install validateroutemslib

Usage

import-module

Import library Module, with 'url' in initialize, and Guards your module project.

import { Global, Module } from '@nestjs/common';
import { ValidateService } from 'application/use-cases/validate/validate.service';
import { ValidateRouteMsLibModule, EvaAuthGuard, EvaRoleGuard } from 'validateroutemslib';
import { APP_GUARD } from '@nestjs/core';
import * as dotenv from 'dotenv';
dotenv.config();

@Module({
  imports: [ValidateRouteMsLibModule.initialize('url')],
  providers: [
    {
      provide: APP_GUARD,
      useClass: EvaAuthGuard,
    },
    {
      provide: APP_GUARD,
      useClass: EvaRoleGuard,
    },
  ]
})
export class ValidateModule {}

Create decorator

create-roles-decorator

Create file with decorator.

roles.decorator

import { SetMetadata } from '@nestjs/common';

export const Roles = (...roles: string[]) => SetMetadata('roles', roles);

Example

example-controller

Import '@UseGuards()' guards decorator to validate token. If you want includes privileges add @Roles('ROLES')

import { UseGuards, Get, Param } from '@nestjs/common';
import { Roles } from '@/shared/decorators/roles/roles.decorator';
import { User } from '@shared/decorators/user/user.decorator';
import { EvaRole } from 'validateroutemslib';

@Get(':postId')
@Roles(EvaRole.Super) // optional
@UseGuards()
async getPostById(
    @User() user,
    @Param('postId') postId: number,
): Promise<any> {
  return this.postService.getPostById(user, postId);
}

/validateroutemslib/

    Package Sidebar

    Install

    npm i validateroutemslib

    Weekly Downloads

    2

    Version

    1.0.38

    License

    ISC

    Unpacked Size

    107 kB

    Total Files

    21

    Last publish

    Collaborators

    • gustavocgb
    • lucaslitra1