0.0.3 • Published 3 years ago

nestjs-database-trigger v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

nestjs-database-trigger

All Contributors

NPM

npm version npm CircleCI Coverage Status

Description

This is a SQL (currently support only PostgreSQL) database trigger module for NestJS which allow you to use decorators on SQL triggers.

Installation

$ npm install nestjs-database-trigger –-save

Example

app.module.ts

import { TriggerModule } from "nestjs-database-trigger";

TriggerModule.forRootAsync({
  imports: [UtilsModule],
  inject: [UtilsService],
  useFactory: async (utilsService: UtilsService) => ({
    connectionString: databaseUrl,
    tables: ["Notification"],
  }),
});

notification.service.ts

import { onTrigger } from "nestjs-database-trigger";

@Injectable()
export class NotificationService {
  constructor() {}

  @OnTrigger("Notification")
  async printout(payload: MessagePayload) {
    console.log(payload);
  }
}

Payload interface

interface MessagePayload<T = any> {
  table: string;
  action: "INSERT" | "UPDATE" | "DELETE";
  data: T | null;
  oldData: T | null;
}

Roadmap

We plan to support other SQL database in the future.

License

nestjs-database-trigger is MIT licensed.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!