Improve rate limiting

This commit is contained in:
David Bomba 2024-08-25 07:39:14 +10:00
parent 3569cef5dd
commit 656a115eba
9 changed files with 7 additions and 176 deletions

View File

@ -1,37 +0,0 @@
<?php
namespace App\Import\Transformer\Quickbooks;
use Illuminate\Support\Arr;
trait CommonTrait
{
protected $model;
public function getString($data, $field)
{
return Arr::get($data, $field);
}
public function getCreateTime($data, $field = null)
{
return $this->parseDateOrNull($data, 'MetaData.CreateTime');
}
public function getLastUpdatedTime($data, $field = null)
{
return $this->parseDateOrNull($data, 'MetaData.LastUpdatedTime');
}
public function transform($data)
{
$transformed = [];
foreach ($this->fillable as $key => $field) {
$transformed[$key] = is_null((($v = $this->getString($data, $field)))) ? null : (method_exists($this, ($method = "get{$field}")) ? call_user_func([$this, $method], $data, $field) : $this->getString($data, $field));
}
return $this->model->fillable(array_keys($this->fillable))->fill($transformed)->toArray() + ['company_id' => $this->company->id ] ;
}
}

View File

@ -81,7 +81,7 @@ class RouteServiceProvider extends ServiceProvider
if (Ninja::isSelfHost()) { if (Ninja::isSelfHost()) {
return Limit::none(); return Limit::none();
} else { } else {
return Limit::perMinute(25)->by($request->ip()); return Limit::perMinute(10)->by($request->ip());
} }
}); });

View File

@ -55,9 +55,6 @@ class SdkWrapper
public function company() public function company()
{ {
nlog("getting company info");
// nlog($this->sdk->getAccessToken());
return $this->sdk->getCompanyInfo(); return $this->sdk->getCompanyInfo();
} }
/* /*
@ -124,8 +121,6 @@ class SdkWrapper
*/ */
public function setAccessToken(OAuth2AccessToken $token): self public function setAccessToken(OAuth2AccessToken $token): self
{ {
// $this->sdk = $this->sdk->updateOAuth2Token($token);
$this->token = $token; $this->token = $token;
return $this; return $this;

View File

@ -10,24 +10,14 @@
* @license https://www.elastic.co/licensing/elastic-license * @license https://www.elastic.co/licensing/elastic-license
*/ */
namespace App\Import\Transformer\Quickbooks; namespace App\Services\Import\Quickbooks\Transformers;
use App\Import\Transformer\Quickbooks\CommonTrait;
use App\Import\Transformer\BaseTransformer;
use App\Models\Client as Model;
use App\Models\ClientContact;
use App\Import\ImportException;
use Illuminate\Support\Str;
/** /**
* Class ClientTransformer. * Class ClientTransformer.
*/ */
class ClientTransformer extends BaseTransformer class ClientTransformer
{ {
use CommonTrait {
transform as preTransform;
}
private $fillable = [ private $fillable = [
'name' => 'CompanyName', 'name' => 'CompanyName',
'phone' => 'PrimaryPhone.FreeFormNumber', 'phone' => 'PrimaryPhone.FreeFormNumber',
@ -44,20 +34,12 @@ class ClientTransformer extends BaseTransformer
'public_notes' => 'Notes' 'public_notes' => 'Notes'
]; ];
public function __construct($company) public function __invoke($qb_data)
{ {
parent::__construct($company); return $this->transform($qb_data);
$this->model = new Model();
} }
/**
* Transforms a Customer array into a ClientContact model.
*
* @param array $data
* @return array|bool
*/
public function transform($data) public function transform($data)
{ {
$transformed_data = []; $transformed_data = [];

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@
] ]
}, },
"resources/js/app.js": { "resources/js/app.js": {
"file": "assets/app-e0713224.js", "file": "assets/app-234e3402.js",
"imports": [ "imports": [
"_index-08e160a7.js", "_index-08e160a7.js",
"__commonjsHelpers-725317a4.js" "__commonjsHelpers-725317a4.js"