Completes Order Steps on Unity

This commit is contained in:
Fairuz
2021-08-05 10:52:26 +08:00
parent 503a550637
commit 06efb4c169
26 changed files with 208 additions and 78 deletions
@@ -30,12 +30,12 @@ class GetAccessToken
$this->apiKey = Config::get('unity.auth.api_key.key');
$this->cacheName = 'unity_access_token';
$this->cacheTime = Config::get('unity.access_token_cache');
$this->accessToken = $this->getAccessToken();
$this->accessToken = "";
}
public function execute(){
//if(!empty($this->getAccessToken())) return $this->getAccessToken();
if(!empty($this->getCachedAccessToken())) return $this->getCachedAccessToken();
if(empty($this->apiKey)){
$response = Http::post($this->getAccessTokenEndpoint, [
@@ -43,20 +43,22 @@ class GetAccessToken
'password' => $this->password ,
])->object();
$this->accessToken = $response->access_token;
}else{
$this->accessToken = $this->apiKey;
}
$this->cacheAccessToken();
//TODO: Throw error if access token not available
return $this->accessToken;
}
private function getAccessToken(){
$accessToken = $this->accessToken;
return Cache::remember($this->cacheName, $this->cacheTime, function () use ( $accessToken ) {
return $accessToken??'';
});
private function getCachedAccessToken(){
return Cache::store('file')->get($this->cacheName);
}
private function cacheAccessToken(){
Cache::store('file')->put($this->cacheName, $this->accessToken, $this->cacheTime);
}
}