Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | import { Injectable, NotFoundException, BadRequestException } from '@nestjs/common'; import { InjectModel } from '@nestjs/mongoose'; import { Model } from 'mongoose'; import { InventoryItem } from '../schemas/item.schema'; @Injectable() export class ItemService { constructor( @InjectModel(InventoryItem.name) private readonly itemModel: Model<InventoryItem> ) {} async createItem(tenantId: string, data: any): Promise<InventoryItem> { const existing = await this.itemModel.findOne({ tenantId, itemCode: data.itemCode }).exec(); if (existing) { throw new BadRequestException(`Item with code ${data.itemCode} already exists`); } return this.itemModel.create({ ...data, tenantId, active: true, }); } async getItems(tenantId: string): Promise<InventoryItem[]> { return this.itemModel.find({ tenantId }).exec(); } async getItemByCode(tenantId: string, itemCode: string): Promise<InventoryItem> { const item = await this.itemModel.findOne({ tenantId, itemCode }).exec(); if (!item) throw new NotFoundException(`Item with code ${itemCode} not found`); return item; } } |