1.0.36 • Published 3 months ago

nats-generate-service v1.0.36

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

Description

Nest:Auto generate a service to pika.

Running the app

$ nest new [project-name]
$ npm i pick-a-generate-service
$ cd project-name/src
$ touch index.ts

ADD in index.ts :

import {reGenerateService} from 'pick-a-generate-service'
reGenerateService()

RUN npx ts-node index.ts

Create new service

ADD a new .env file

NatsServerDB="nats://localhost:4222"
NatsServerEvent="nats://localhost:4222"
ElasticServer='http://0.0.0.0:9200'
GRPC_URI='localhost:5556'
port='4444'

In utils folder:

  • Create a new file named grpc.clientoptions.ts and add the following code to
import { ClientOptions ,Transport} from '@nestjs/microservices';
import { loader, packages, paths } from './protopaths';

export const grpcClientOptions: ClientOptions = {
    transport: Transport.GRPC,
    options: {
        url: process.env.GRPC_URI,
        package: packages,
        protoPath: paths,
        loader: loader,
    },
};
  • Create a new file named nats.clientoptions.ts and add the following code to
import { ClientOptions ,Transport} from '@nestjs/microservices';

export const NatsClientOptions: ClientOptions = {
    transport: Transport.NATS,
    options: {
        servers: [process.env.NatsServerEvent],
    },

};

REWRITE app.module.ts

import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { [Service]Module } from './services/[service]/[service].module';

@Module({
  imports: [ ConfigModule.forRoot({
    isGlobal: true,
  }),[Service]Module
  ],
  controllers: [],
  providers: [],
})

export class AppModule {}

REWRITE main.ts

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { MicroserviceOptions } from '@nestjs/microservices';
import { NatsClientOptions } from './utils/nats.clientoption';


async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.connectMicroservice<MicroserviceOptions>(grpcClientOptions );
  app.connectMicroservice<MicroserviceOptions>(NatsClientOptions);
  await app.startAllMicroservices();
  await app.listen(process.env.port)

}
bootstrap();