Skip to content

Commit ef7d20a

Browse files
committed
Reworked token check logic
1 parent 2468f22 commit ef7d20a

File tree

2 files changed

+16
-32
lines changed

2 files changed

+16
-32
lines changed

app/Services/PloiAPI.php

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,22 +82,32 @@ private function handleError(Response $response): void
8282
{
8383
match ($response->status()) {
8484
404 => exit('Resource not found.'),
85-
422 => $this->handleValidationError($response),
85+
422, 403, 401 => $this->handleValidationError($response),
8686
default => $response
8787
};
8888
}
8989

9090
private function handleValidationError(Response $response): never
9191
{
92-
$errors = $response->json()['errors'];
92+
$error = $response->json()['error']
93+
?? $response->json()['errors']
94+
?? $response->json()['message']
95+
?? null;
96+
9397
$errorMessage = "\033[31m ==> \033[0m\033[1;37m";
9498

95-
foreach ($errors as $error) {
96-
$errorMessage .= is_array($error) ? Arr::first($error) : $error;
97-
$errorMessage .= ' ';
99+
if ($error === "Unauthenticated.") {
100+
$errorMessage .= "The given API key is incorrect. Use 'ploi:token --force' to set a new one.";
101+
} elseif (is_string($error)) {
102+
$errorMessage .= $error;
103+
} elseif (is_array($error)) {
104+
foreach ($error as $e) {
105+
$errorMessage .= is_array($e) ? Arr::first($e) : $e;
106+
$errorMessage .= ' ';
107+
}
98108
}
99109

100-
exit($errorMessage."\033[0m\n");
110+
exit($errorMessage . "\033[0m\n");
101111
}
102112

103113
private function mergeResponseData(array $existing, array $new): array

app/Traits/EnsureHasToken.php

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,33 +22,7 @@ protected function ensureHasToken()
2222
exit(1);
2323
}
2424

25-
if (!$this->validateToken()) {
26-
$this->info('Your ploi api token is invalid. Please set a valid token.');
27-
$this->call('ploi:token');
28-
exit(1);
29-
}
30-
3125
return true;
3226
}
3327

34-
protected function validateToken(): bool
35-
{
36-
$response = $this->ploi->checkUser();
37-
38-
if (empty($response) || !is_array($response)) {
39-
return false;
40-
}
41-
42-
$data = $response['data'] ?? [];
43-
44-
if (empty($data) || !is_array($data)) {
45-
return false;
46-
}
47-
48-
if (isset($data[0]['message']) && $data[0]['message'] === 'Unauthenticated.') {
49-
return false;
50-
}
51-
52-
return true;
53-
}
5428
}

0 commit comments

Comments
 (0)