Lecture-3: NestJS Provider

Provider হল NestJS এর একটি Fundamental Concept। অনেক ধরণের Nest  class কে Provider হিসেবে ধরা হয়। যেমন : Service, repository, factories, helper  এবং আরো অনেক class। Best Practice হচ্ছে Controller  class  request  handle  করবে আর provider class কে complex task প্রদান করবে। 

আসুন আমরা এখন দেখবো কিভাবে একটি service  class  create  করবো এবং সেই class  কিভাবে আমরা controller  class এ ব্যবহার করবো।

import { Injectable } from '@nestjs/common';
import { Product } from './interfaces/product.interface';

@Injectable()
export class ProductService {
  private readonly products: Product[] = [];

  create(product: Product) {
    this.products.push(product);
  }

  findAll(): Product[] {
    return this.products;
  }
}

ProductService হচ্ছে একটি sample provider। এখানে আমি ২ টি method / function লিখেছি। একটার কাজ হল product create করা আরেকটির কাজ হল saved product list রিটার্ন করা।

Service class আমরা manually create করতে পারি আবার nest g service ProductService এই command use করেও create করতে পারি।

Provider Registration

সর্বশেষ কাজ হচ্ছে Service class টিকে provider হিসেবে Nest এ register করা যেন class টিকে অন্য class এ inject করা যায়। আমরা এটিকে app.module.ts module এর decorator array তে add করবো।

@Module({

  controllers: [AppController, ProductController],
  providers: [AppService, ProductService],
})
export class AppModule{
}

Leave a Reply