getByType($doc_type); $answer['success'] = 1; exit(json_encode($answer)); } if ($action === 'retrieve') { $id = (int)($data['id'] ?? 0); $row = $mgr->getById($id); if (!$row) throw new Exception('Formula not found.'); $answer['output'] = $row; $answer['success'] = 1; exit(json_encode($answer)); } if ($action === 'save') { $new_id = null; dbTransaction($pdo2, function($pdo) use ($data, $company_id, &$new_id) { $mgr = new AccountFormulaManager($pdo, $company_id); $new_id = $mgr->save($data); }); $answer['new_id'] = $new_id; $answer['success'] = 1; $answer['message'] = 'Formula saved.'; exit(json_encode($answer)); } if ($action === 'delete') { $id = (int)($data['id'] ?? 0); if ($id <= 0) throw new Exception('Missing formula id.'); $mgr->delete($id); $answer['success'] = 1; $answer['message'] = 'Formula disabled.'; exit(json_encode($answer)); } $answer['output'] = $mgr->getAll(); $answer['success'] = 1; } catch (PDOException $e) { $answer['message'] = 'Database error, please try again.'; http_response_code(500); } catch (Exception $e) { $answer['message'] = $e->getMessage(); http_response_code(400); } exit(json_encode($answer)); ?>