Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@steroidsjs/nest-notifier

Package Overview
Dependencies
Maintainers
8
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@steroidsjs/nest-notifier

Steroids Nest Notifier Module

latest
npmnpm
Version
0.3.0
Version published
Maintainers
8
Created
Source

nest-notifier

A module for Nest.js application that provides a set of providers for sending SMS, calls, email, push notifications. The following providers are currently available:

  • FirebasePushProvider
  • MailProvider
  • SmscCallProvider
  • SmscSmsProvider
  • SmscVoiceMessageProvider
  • SmsRuCallProvider
  • SmsRuSmsProvider

Getting started

Install package:

yarn add @steroidsjs/nest-notifier

Create Steroids.js Nest module, based on installed module. Add the necessary providers from the module to the providers array. Connect the NotifierService service and pass the connected providers to it.

import {Module} from '@steroidsjs/nest/infrastructure/decorators/Module';
import coreModule from '@steroidsjs/nest-notifier';
import {INotifierService} from '@steroidsjs/nest-modules/notifier/services/INotifierService';
import {ModuleHelper} from '@steroidsjs/nest/infrastructure/helpers/ModuleHelper';
import {NotifierService} from '@steroidsjs/nest-notifier/domain/services/NotifierService';
import {SmscSmsProvider} from '@steroidsjs/nest-notifier/domain/providers/SmscSmsProvider';
import {FirebasePushProvider} from '@steroidsjs/nest-notifier/domain/providers/FirebasePushProvider';
import {INotifierProviderService} from '@steroidsjs/nest-notifier/domain/interfaces/INotifierProviderService';
import {NotifierSendRequestService} from '@steroidsjs/nest-notifier/domain/services/NotifierSendRequestService';

@Module({
    ...coreModule,
    module: (config) => {
        const module = coreModule.module(config) as any;
        return {
            ...module,
            imports: [],
            providers: [
                ...module.providers,
                SmscSmsProvider,
                FirebasePushProvider,
                ModuleHelper.provide(NotifierService, INotifierService, [
                    INotifierProviderService,
                    NotifierSendRequestService,
                    [
                        SmscSmsProvider,
                        FirebasePushProvider,
                    ],
                ]),
            ],
            exports: [
                INotifierService,
            ],
        };
    },
})
export class NotifierModule {}

Set the environment variables required for the providers you have connected. You can look at the configuration file to determine the required variables. You can also define your own configuration file that implements the INotifierModuleConfig interface and add this file to the module.

Note: For FirebasePushProvider to work, you need to get the Firebase server key and specify the path to it in your OS environment variable GOOGLE_APPLICATION_CREDENTIALS.

Note: For MailProvider to work, you must also connect MailerModule from @nestjs-modules/mailer to your module

Generate and apply migrations:

yarn cli migrate:generate
yarn cli migrate

After setting up the module, inject INotifierService into the NestJS service you need and send a message using the send method:

export class AuthConfirmService {
    constructor(
        protected readonly notifierService: INotifierService,
    ) {}

    protected async sendCall(config: IAuthConfirmServiceConfig, phone: string) {
        const response = await this.notifierService.send({
            [NotifierProviderType.CALL]: {
                phone,
            } as INotifierCallOptions,
        });

        code = response[NotifierProviderType.CALL];

        return code;
    }
}

FAQs

Package last updated on 12 May 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts