- Updated CurrencyController to enhance API responses for currency and gold rates.
- Added metadata to the responses, including timestamps and the time since the last update, improving data context for users. - Enhanced method descriptions with relevant emojis for better readability and understanding. - Refactored response handling to ensure consistent JSON structure across all rate retrieval methods. - These changes improve the clarity and usability of the API, providing users with more informative responses.
This commit is contained in:
Regular → Executable
+63
-16
@@ -15,7 +15,7 @@ use Illuminate\Support\Facades\Storage;
|
||||
class CurrencyController extends Controller
|
||||
{
|
||||
/**
|
||||
* Dispatches all jobs to fetch currency and gold rates synchronously.
|
||||
* ⚙️ Dispatches all jobs to fetch currency and gold rates synchronously.
|
||||
*
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
@@ -39,26 +39,41 @@ class CurrencyController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all gold and currency rates
|
||||
* 🪙 💵 Retrieves all gold and currency rates
|
||||
*
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function getAllRates()
|
||||
{
|
||||
|
||||
// JSON dosyasından oku
|
||||
$jsonFile = 'merged/rates.json';
|
||||
if (Storage::exists($jsonFile)) {
|
||||
return response()->json(
|
||||
json_decode(Storage::get($jsonFile), true)
|
||||
);
|
||||
$data = json_decode(Storage::get($jsonFile), true);
|
||||
$currentDate = now(); // Şu anki tarih
|
||||
$updateDate = isset($data['Update_Date']) ? \Carbon\Carbon::parse($data['Update_Date']) : null;
|
||||
|
||||
if ($updateDate) {
|
||||
$minutesAgo = round($currentDate->diffInMinutes($updateDate), 2); // Kaç dakika önce alındığı
|
||||
$metaData = [ // Tarih bilgileri için alt dizi
|
||||
'Minutes_Ago' => $minutesAgo,
|
||||
'Current_Date' => $currentDate->toDateTimeString(),
|
||||
'Update_Date' => $updateDate->toDateTimeString(), // Update_Date burada kalacak
|
||||
];
|
||||
unset($data['Update_Date']); // Rates içerisindeki Update_Date elemanını kaldır
|
||||
$data = [
|
||||
'Meta_Data' => $metaData, // Tarih bilgileri alt dizisi
|
||||
'Rates' => $data, // Kur bilgileri alt dizisi
|
||||
];
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
return response()->json(['error' => 'Veri bulunamadı'], 404);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the current currency rates
|
||||
* 💵 Retrieves the current currency rates
|
||||
*
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
@@ -67,16 +82,32 @@ class CurrencyController extends Controller
|
||||
// JSON dosyasından oku
|
||||
$jsonFile = 'currency/today.json';
|
||||
if (Storage::exists($jsonFile)) {
|
||||
return response()->json(
|
||||
json_decode(Storage::get($jsonFile), true)
|
||||
);
|
||||
$data = json_decode(Storage::get($jsonFile), true);
|
||||
$currentDate = now(); // Şu anki tarih
|
||||
$updateDate = isset($data['Update_Date']) ? \Carbon\Carbon::parse($data['Update_Date']) : null;
|
||||
|
||||
if ($updateDate) {
|
||||
$minutesAgo = round($currentDate->diffInMinutes($updateDate), 2); // Kaç dakika önce alındığı
|
||||
$metaData = [ // Tarih bilgileri için alt dizi
|
||||
'Minutes_Ago' => $minutesAgo,
|
||||
'Current_Date' => $currentDate->toDateTimeString(),
|
||||
'Update_Date' => $updateDate->toDateTimeString(), // Update_Date burada kalacak
|
||||
];
|
||||
unset($data['Update_Date']); // Rates içerisindeki Update_Date elemanını kaldır
|
||||
$data = [
|
||||
'Meta_Data' => $metaData, // Tarih bilgileri alt dizisi
|
||||
'Rates' => $data, // Kur bilgileri alt dizisi
|
||||
];
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
return response()->json(['error' => 'Veri bulunamadı'], 404);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the current gold rates
|
||||
* 🪙 Retrieves the current gold rates
|
||||
*
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
@@ -85,16 +116,32 @@ class CurrencyController extends Controller
|
||||
// JSON dosyasından oku
|
||||
$jsonFile = 'gold/today.json';
|
||||
if (Storage::exists($jsonFile)) {
|
||||
return response()->json(
|
||||
json_decode(Storage::get($jsonFile), true)
|
||||
);
|
||||
$data = json_decode(Storage::get($jsonFile), true);
|
||||
$currentDate = now(); // Şu anki tarih
|
||||
$updateDate = isset($data['Update_Date']) ? \Carbon\Carbon::parse($data['Update_Date']) : null;
|
||||
|
||||
if ($updateDate) {
|
||||
$minutesAgo = round($currentDate->diffInMinutes($updateDate), 2); // Kaç dakika önce alındığı
|
||||
$metaData = [ // Tarih bilgileri için alt dizi
|
||||
'Minutes_Ago' => $minutesAgo,
|
||||
'Current_Date' => $currentDate->toDateTimeString(),
|
||||
'Update_Date' => $updateDate->toDateTimeString(), // Update_Date burada kalacak
|
||||
];
|
||||
unset($data['Update_Date']); // Rates içerisindeki Update_Date elemanını kaldır
|
||||
$data = [
|
||||
'Meta_Data' => $metaData, // Tarih bilgileri alt dizisi
|
||||
'Rates' => $data, // Kur bilgileri alt dizisi
|
||||
];
|
||||
}
|
||||
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
return response()->json(['error' => 'Veri bulunamadı'], 404);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the currency rate by its name
|
||||
* 🟰 💵 Retrieves the currency rate by its name
|
||||
*
|
||||
* @param string $currencyName
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
@@ -115,7 +162,7 @@ class CurrencyController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the gold rate by its name
|
||||
* 🟰 🪙 Retrieves the gold rate by its name
|
||||
*
|
||||
* @param string $goldName
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
|
||||
Reference in New Issue
Block a user