false, 'ERROR' => 'missing_params', 'MESSAGE' => 'TaskTypeID is required']); } if ($businessID <= 0) { apiAbort(['OK' => false, 'ERROR' => 'missing_params', 'MESSAGE' => 'BusinessID is required']); } try { $qCheck = queryOne("SELECT ID, BusinessID FROM tt_TaskTypes WHERE ID = ?", [$taskTypeID]); if (!$qCheck) { apiAbort(['OK' => false, 'ERROR' => 'not_found', 'MESSAGE' => 'Task type not found']); } if ((int) ($qCheck['BusinessID'] ?? 0) !== $businessID) { apiAbort(['OK' => false, 'ERROR' => 'not_authorized', 'MESSAGE' => 'Task type does not belong to this business']); } queryTimed("DELETE FROM tt_TaskTypes WHERE ID = ? AND BusinessID = ?", [$taskTypeID, $businessID]); jsonResponse(['OK' => true, 'MESSAGE' => 'Task type deleted']); } catch (Exception $e) { jsonResponse(['OK' => false, 'ERROR' => 'server_error', 'MESSAGE' => $e->getMessage()]); }