import { Controller } from '@nestjs/common' ; import { MessagePattern } from '@nestjs/microservices' ; import { ItemEntity } from '@infrastructure/entities' ; import { CreateItemDto , GetItemsDto , UpdateItemDto } from '../dtos' ; import { ItemService } from '../services' ; @ Controller ( 'item' ) export class ItemController { constructor ( private readonly itemService ) { } @ MessagePattern ( { role : 'item' , cmd : 'get-by-id' } ) async getItemById ( id ) { return this . itemService . getItemById ( id ) ; } @ MessagePattern ( { role : 'item' , cmd : 'get-many' } ) async getItems ( getItemsDto ) { return this . itemService . getItems ( getItemsDto ) ; } @ MessagePattern ( { role : 'item' , cmd : 'create' } ) async createItem ( createItemDto ) { return this . itemService . createItem ( createItemDto ) ; } @ MessagePattern ( { role : 'item' , cmd : 'update' } ) async updateItem ( updateItemDto ) { return this . itemService . updateItem ( updateItemDto ) ; } @ MessagePattern ( { role : 'item' , cmd : 'delete-by-id' } ) async deleteItemById ( id ) { return this . itemService . deleteItemById ( id ) ; } }