fix: error message and server time getting

This commit is contained in:
peaklabs-dev
2025-01-06 17:43:27 +01:00
parent 05113d8e06
commit 503d2b4866

View File

@@ -15,16 +15,16 @@ use Lcobucci\JWT\Token\Builder;
function generateGithubToken(GithubApp $source, string $type) function generateGithubToken(GithubApp $source, string $type)
{ {
$response = Http::get("{$source->api_url}/zen"); $response = Http::get("{$source->api_url}/zen");
$serverTime = now(); $serverTime = CarbonImmutable::now()->setTimezone('UTC');
$githubTime = Carbon::parse($response->header('date')); $githubTime = Carbon::parse($response->header('date'));
$timeDiff = abs($serverTime->diffInSeconds($githubTime)); $timeDiff = abs($serverTime->diffInSeconds($githubTime));
if ($timeDiff > 0) { if ($timeDiff > 0) {
throw new \Exception( throw new \Exception(
"System time is out of sync with GitHub API time:\n". 'System time is out of sync with GitHub API time:'.PHP_EOL.
"- System time: {$serverTime->format('Y-m-d H:i:s')} UTC\n". '- System time: '.$serverTime->format('Y-m-d H:i:s').' UTC'.PHP_EOL.
"- GitHub time: {$githubTime->format('Y-m-d H:i:s')} UTC\n". '- GitHub time: '.$githubTime->format('Y-m-d H:i:s').' UTC'.PHP_EOL.
"- Difference: {$timeDiff} seconds\n". '- Difference: '.$timeDiff.' seconds'.PHP_EOL.
'Please synchronize your system clock.' 'Please synchronize your system clock.'
); );
} }