import { Injectable, NotFoundException } from '@nestjs/common'; export interface Item { id: number; name: string; description: string; } @Injectable() export class ItemsService { private readonly store = new Map(); private counter = 1; findAll(): Item[] { return [...this.store.values()]; } create(name: string, description = ''): Item { const item: Item = { id: this.counter++, name, description }; this.store.set(item.id, item); return item; } findOne(id: number): Item { const item = this.store.get(id); if (!item) throw new NotFoundException(`Item ${id} not found`); return item; } update(id: number, name?: string, description?: string): Item { const item = this.findOne(id); const updated: Item = { id, name: name ?? item.name, description: description ?? item.description, }; this.store.set(id, updated); return updated; } remove(id: number): { deleted: number } { this.store.delete(id); return { deleted: id }; } }