0.0.16 • Published 3 years ago

elewis-nestjs-logging v0.0.16

Weekly downloads
18
License
MIT
Repository
-
Last release
3 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

3 years ago

0.0.10

3 years ago

0.0.11

3 years ago

0.0.12

3 years ago

0.0.13

3 years ago

0.0.14

3 years ago

0.0.15

3 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago