import { inject, injectable } from "tsyringe"; import ItemRepository from "../domain/repositories/item.repository"; import DeleteItemService from "../domain/services/deleteItem.service"; import { DeleteItemAttr } from "../domain/types/item.type"; import Result from "../utils/result"; @injectable() export default class DeleteItemServiceImpl implements DeleteItemService { constructor( @inject("Items:ItemRepository") private itemRepository: ItemRepository, ) { } async run(payload: DeleteItemAttr): Promise> { const result = await this.itemRepository.delete(payload); return result ? Result.success(true) : Result.failure("No se pudo eliminar"); } }