Add error checking to the api caching
This commit is contained in:
parent
57903bdfcd
commit
d5f228f226
@ -56,6 +56,9 @@ class LodestoneApiService
|
||||
throw new Exception('Error:' . curl_error($ch));
|
||||
}
|
||||
curl_close($ch);
|
||||
return json_decode($result);
|
||||
$json = json_decode($result);
|
||||
if (property_exists($json, 'Error') && $json->Error === true)
|
||||
return null;
|
||||
return $json;
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,6 +13,10 @@ class LodestoneCacheService
|
||||
$character = LodestoneCache::where('type', LodestoneCacheType::character)->where('lodestoneId', $id)->first();
|
||||
if ($character !== null && $character->updated_at > $this->getCacheFreshTime()) return $character;
|
||||
$fetchedCharacter = $lodestoneApiService->getCharacterById($id);
|
||||
if ($fetchedCharacter === null) {
|
||||
if ($character === null) return abort(502);
|
||||
return $character;
|
||||
}
|
||||
$character = LodestoneCache::updateOrCreate([
|
||||
'type' => LodestoneCacheType::character,
|
||||
'lodestoneId' => $fetchedCharacter->Character->ID,
|
||||
@ -28,6 +32,10 @@ class LodestoneCacheService
|
||||
$character = LodestoneCache::where('type', LodestoneCacheType::character)->where('server', $server)->where('name', $name)->first();
|
||||
if ($character !== null && $character->updated_at > $this->getCacheFreshTime()) return $character;
|
||||
$fetchedCharacter = $lodestoneApiService->getCharacterByName($server, $name);
|
||||
if ($fetchedCharacter === null) {
|
||||
if ($character === null) return abort(502);
|
||||
return $character;
|
||||
}
|
||||
$character = LodestoneCache::updateOrCreate([
|
||||
'type' => LodestoneCacheType::character,
|
||||
'lodestoneId' => $fetchedCharacter->Character->ID,
|
||||
@ -43,6 +51,10 @@ class LodestoneCacheService
|
||||
$freeCompany = LodestoneCache::where('type', LodestoneCacheType::freeCompany)->where('lodestoneId', $id)->first();
|
||||
if ($freeCompany !== null && $freeCompany->updated_at > $this->getCacheFreshTime()) return $freeCompany;
|
||||
$fetchedFreeCompany = $lodestoneApiService->getFreeCompanyById($id);
|
||||
if ($fetchedFreeCompany === null) {
|
||||
if ($freeCompany === null) return abort(502);
|
||||
return $freeCompany;
|
||||
}
|
||||
$freeCompany = LodestoneCache::updateOrCreate([
|
||||
'type' => LodestoneCacheType::freeCompany,
|
||||
'lodestoneId' => $fetchedFreeCompany->FreeCompany->ID,
|
||||
@ -58,6 +70,10 @@ class LodestoneCacheService
|
||||
$freeCompany = LodestoneCache::where('type', LodestoneCacheType::freeCompany)->where('server', $server)->where('name', $name)->first();
|
||||
if ($freeCompany !== null && $freeCompany->updated_at > $this->getCacheFreshTime()) return $freeCompany;
|
||||
$fetchedFreeCompany = $lodestoneApiService->getFreeCompanyByName($server, $name);
|
||||
if ($fetchedFreeCompany === null) {
|
||||
if ($freeCompany === null) return abort(502);
|
||||
return $freeCompany;
|
||||
}
|
||||
$freeCompany = LodestoneCache::updateOrCreate([
|
||||
'type' => LodestoneCacheType::freeCompany,
|
||||
'lodestoneId' => $fetchedFreeCompany->FreeCompany->ID,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user