ProductDeleteController.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace Controllers;
  3. use Libs\ResponseLib;
  4. use Models\ProductModel;
  5. use Psr\Http\Message\ServerRequestInterface;
  6. class ProductDeleteController
  7. {
  8. private ProductModel $model;
  9. public function __construct()
  10. {
  11. $this->model = new ProductModel();
  12. }
  13. public function __invoke(ServerRequestInterface $request)
  14. {
  15. $body = json_decode((string)$request->getBody(), true) ?? [];
  16. $companyId = $body['company_id'] ?? null;
  17. $productName = $body['product_name'] ?? null; // Alterado para receber 'product_name'
  18. if (!$companyId || !$productName) { // Validação para 'product_name'
  19. return ResponseLib::sendFail("Missing company_id or product_name", [], "E_VALIDATE")->withStatus(400);
  20. }
  21. $deleted = $this->model->deleteProductByName( // Chamada ao novo método no model
  22. $productName,
  23. (int)$companyId
  24. );
  25. return $deleted ? ResponseLib::sendOk(['deleted' => true]) : ResponseLib::sendFail("Failed to Delete Product or Product Not Found", [], "E_DATABASE")->withStatus(403);
  26. }
  27. }