0.0.2 • Published 10 months ago

@redredgroup/nestjs-database-trigger v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

nestjs-database-trigger

NPM

npm version npm CircleCI Coverage Status

All Contributors

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!

0.0.2

10 months ago

0.0.1

10 months ago