response()->getContent(), true); } /** * @param null|string $json * @return array */ static function deserializeFilters(?string $json): array { return $json !== null ? collect(json_decode($json))->toArray() : []; } public static function getLHDNStateCodeByName($name) { $path = resource_path('data/lhdn/StateCodes.json'); if (!file_exists($path)) { return null; } $json = file_get_contents($path); $data = json_decode($json, true); if (!is_array($data)) { return null; } $name = strtolower(trim($name)); // Step 1: Try exact match foreach ($data as $item) { if ( isset($item['State']) && strtolower(trim($item['State'])) === $name ) { return $item['Code'] ?? null; } } // Step 2: Try partial match foreach ($data as $item) { if ( isset($item['State']) && str_contains(strtolower($item['State']), $name) ) { return $item['Code'] ?? null; } } return null; } public static function getLHDNMsicDescriptionByCode($code) { $path = resource_path('data/lhdn/MSICSubCategoryCodes.json'); if (!file_exists($path)) { return null; } $json = file_get_contents($path); $data = json_decode($json, true); if (!is_array($data)) { return null; } foreach ($data as $item) { if ( isset($item['Code']) && $item['Code'] === $code ) { return $item['Description'] ?? null; } } return null; } }