consolidated getLocation function
changed the function that retrieves a single location to decide what to get based on the variable type, so it doesn't need to be two seperate functions
This commit is contained in:
parent
573054e7d8
commit
1382976549
3 changed files with 13 additions and 7 deletions
|
@ -20,7 +20,7 @@ class AppServiceProvider extends ServiceProvider
|
||||||
});
|
});
|
||||||
|
|
||||||
$this->app->bind(UpdateService::class, function ($app) {
|
$this->app->bind(UpdateService::class, function ($app) {
|
||||||
return new UpdateService(new Location());
|
return new UpdateService(new LocationRepository(new Location()));
|
||||||
});
|
});
|
||||||
|
|
||||||
$this->app->bind(MaintenanceService::class, function ($app) {
|
$this->app->bind(MaintenanceService::class, function ($app) {
|
||||||
|
|
|
@ -34,9 +34,13 @@ class LocationRepository
|
||||||
return $results;
|
return $results;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getLocation($uuid)
|
public function getLocation($type)
|
||||||
{
|
{
|
||||||
return $this->model::where("uuid", $uuid)->first();
|
if (!is_string($type) || (preg_match('/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/', $type) !== 1)) {
|
||||||
|
return $this->model::where("url", $type)->first();
|
||||||
|
} else {
|
||||||
|
return $this->model::where("uuid", $type)->first();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getActiveLocations()
|
public function getActiveLocations()
|
||||||
|
|
|
@ -3,17 +3,19 @@
|
||||||
namespace App\Services;
|
namespace App\Services;
|
||||||
|
|
||||||
use App\Models\Location;
|
use App\Models\Location;
|
||||||
|
use App\Repositories\LocationRepository;
|
||||||
use App\Models\Source;
|
use App\Models\Source;
|
||||||
use Ramsey\Uuid\Uuid;
|
use Ramsey\Uuid\Uuid;
|
||||||
|
|
||||||
class UpdateService
|
class UpdateService
|
||||||
{
|
{
|
||||||
protected $model;
|
|
||||||
private $limit = 15;
|
private $limit = 15;
|
||||||
|
protected $model;
|
||||||
|
protected $locationRepository;
|
||||||
|
|
||||||
public function __construct(Location $model)
|
public function __construct(LocationRepository $locationRepository)
|
||||||
{
|
{
|
||||||
$this->model = $model;
|
$this->locationRepository = $locationRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function locations()
|
public function locations()
|
||||||
|
@ -126,7 +128,7 @@ class UpdateService
|
||||||
//once the unified list is created, update current entries or create fresh ones
|
//once the unified list is created, update current entries or create fresh ones
|
||||||
|
|
||||||
foreach ($unified as $item) {
|
foreach ($unified as $item) {
|
||||||
$location = Location::where("url", $item['url'])->first();
|
$location = $this->locationRepository->getLocation($item['url']);
|
||||||
if ($location) {
|
if ($location) {
|
||||||
++$duplicates;
|
++$duplicates;
|
||||||
//update block count for existing item
|
//update block count for existing item
|
||||||
|
|
Loading…
Reference in a new issue