0.0.16 • Published 4 years ago

elewis-nestjs-logging v0.0.16

Weekly downloads
18
License
MIT
Repository
-
Last release
4 years ago

Common security modules

Overview

!!! This is an expermental module !!!

Provides a logging interceptor to log method entry and exit points along with timings. Uses winston logger under the bonnet.

Install

npm install elewis-nestjs-logging

Types

  • AuthGuard
  • RolesGuard

Usage

import { LoggingInterceptor } from 'elewis-nestjs-logging';
import {
  Controller,
  Get,
  Post,
  Body,
  Inject,
  Headers,
  UseGuards,
  UseInterceptors,
} from '@nestjs/common';
import { CreateAgreementDto } from './dto/create-agreement.dto';
import { AgreementsService } from './agreements.service';
import { Agreement } from './interfaces/agreement.interface';
import { Logger } from 'winston';
import { LoggingInterceptor } from 'elewis-nestjs-logging';
//import { LoggingTimer } from '../logging.intereceptor.decorator';
import { AuthGuard, RolesGuard, Roles  } from 'elewis-nestjs-security';

@Controller('agreements')
@UseInterceptors(LoggingInterceptor)
export class AgreementsController {
  constructor(
    private readonly agreementsService: AgreementsService,
    @Inject('winston') private readonly logger: Logger,
  ) {}

  @Post()
  async create(
    @Body() createAgreementDto: CreateAgreementDto,
    @Headers('Authorization') authorzation: string,
  ) {
    this.agreementsService.create(createAgreementDto);
  }

  @Get()
  @UseGuards(AuthGuard)
  @Roles('admin')
  //  @LoggingTimer('test')
  async findAll(
    @Headers('Authorization') authorzation: string,
  ): Promise<Agreement[]> {
    return this.agreementsService.findAll();
  }
}
0.0.16

4 years ago

0.0.10

4 years ago

0.0.11

4 years ago

0.0.12

4 years ago

0.0.13

4 years ago

0.0.14

4 years ago

0.0.15

4 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago