$message], $status_code); } // --------------------------------------------------------------------- // Validate Required Fields // Checks if specified Fields exist in the given Data Array and are // non-empty. Returns an Array of missing Field Names, or an empty // Array if all Fields are present. // --------------------------------------------------------------------- function validate_required($data, $fields) { $missing = []; foreach ($fields as $field) { // Checks if Fields exists in Data Array and are not empty if (!isset($data[$field]) || trim($data[$field]) === '') { $missing[] = $field; } } // Returns Array of missing Fields or emty Array return $missing; } // --------------------------------------------------------------------- // Get POST Input // Reads POST Parameters. Returns an associative Array. // Fallback to JSON Request Body if no POST Data is present. // --------------------------------------------------------------------- function get_input() { // Checks for standard POST Requests if (!empty($_POST)) { return array_map('trim', $_POST); } // Fall back for JSON POST Requests $json = file_get_contents('php://input'); $data = json_decode($json, true); if (is_array($data)) { return array_map('trim', $data); } return []; } // --------------------------------------------------------------------- // Get PDO Connection // Returns PDO Instance wrapped in a Function to prevent global // Variable Dependencies in Endpoint Files. // --------------------------------------------------------------------- function get_db() { global $pdo; if (!$pdo) { error_response('Database Connection failed.', 500); } return $pdo; }