Add new version in repository
This commit is contained in:
91
app/Repositories/Core/App/ApplicationClients.php
Normal file
91
app/Repositories/Core/App/ApplicationClients.php
Normal file
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repositories\Core\App;
|
||||
|
||||
use App\Models\Core\App\ApplicationClient;
|
||||
use App\Repositories\Clients;
|
||||
|
||||
class ApplicationClients
|
||||
{
|
||||
public static function associate($client_id, $applications_list)
|
||||
{
|
||||
$applications_existing = self::getApplicationsByClient($client_id);
|
||||
$applications_list = is_array($applications_list) ? $applications_list : array();
|
||||
|
||||
if (is_array($applications_existing)) {
|
||||
$applications_new = array_diff($applications_list, $applications_existing);
|
||||
$applications_to_delete = array_diff($applications_existing, $applications_list);
|
||||
} else {
|
||||
$applications_new = $applications_list;
|
||||
$applications_to_delete = [];
|
||||
}
|
||||
|
||||
$history_element_infos = (!empty($applications_new)) ? self::associateApplications($client_id, $applications_new) : false;
|
||||
$history_element_infos2 = (!empty($applications_to_delete)) ? self::dissociateApplications($client_id, $applications_to_delete) : false;
|
||||
|
||||
$data['nb'] = self::countByClient($client_id);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public static function countByClient($id)
|
||||
{
|
||||
return ApplicationClient::byClient($id)->count();
|
||||
}
|
||||
|
||||
public static function associateApplications($client_id, $applications)
|
||||
{
|
||||
$client_name = Clients::getName($client_id);
|
||||
foreach ($applications as $key => $application_id) {
|
||||
$application = Applications::get($application_id);
|
||||
if ($application) {
|
||||
self::associateApplication($client_id, $application_id);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function associateApplication($client_id, $application_id)
|
||||
{
|
||||
return ApplicationClient::create(['client_id' => $client_id, 'application_id' => $application_id, 'active' => true ]);
|
||||
}
|
||||
|
||||
public static function dissociateApplications($client_id, $applications)
|
||||
{
|
||||
$client_name = \App\Repositories\Clients::getName($client_id);
|
||||
foreach ($applications as $key => $application_id) {
|
||||
self::dissociateApplication($client_id, $application_id);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static function dissociateApplication($client_id, $application_id)
|
||||
{
|
||||
return ApplicationClient::byClient($client_id)->byApplication($application_id)->delete();
|
||||
}
|
||||
|
||||
public static function getByClient($id)
|
||||
{
|
||||
return ApplicationClient::byClient($id)->get()->toArray();
|
||||
}
|
||||
|
||||
public static function getByApplication($id)
|
||||
{
|
||||
return ApplicationClient::byApplication($id)->get()->toArray();
|
||||
}
|
||||
|
||||
public static function getClientsByApplication($id)
|
||||
{
|
||||
return ApplicationClient::byApplication($id)->get()->pluck('client_id')->toArray();
|
||||
}
|
||||
|
||||
public static function getApplicationsByClient($id)
|
||||
{
|
||||
return ApplicationClient::byClient($id)->get()->pluck('application_id')->toArray();
|
||||
}
|
||||
|
||||
public static function isActiveByName($name)
|
||||
{
|
||||
return (!Clients::isClient()) ? true : ApplicationClient::bySlug($name)->byClient(Clients::getId())->first()->active ?? false;
|
||||
}
|
||||
}
|
||||
56
app/Repositories/Core/App/ApplicationModules.php
Normal file
56
app/Repositories/Core/App/ApplicationModules.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
namespace App\Repositories\Core\App;
|
||||
|
||||
use App\Models\Core\App\ApplicationModule;
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
class ApplicationModules
|
||||
{
|
||||
public static function select_all()
|
||||
{
|
||||
return ApplicationModule::all()->toArray();
|
||||
}
|
||||
|
||||
public static function getOptions()
|
||||
{
|
||||
return ApplicationModule::pluck('name', 'id')->toArray();
|
||||
}
|
||||
|
||||
public static function edit($id)
|
||||
{
|
||||
return self::get($id)->toArray();
|
||||
}
|
||||
|
||||
public static function store($data)
|
||||
{
|
||||
$id = isset($data['id']) ? $data['id'] : false;
|
||||
return $id ? self::update($data, $id) : self::create($data);
|
||||
}
|
||||
|
||||
public static function create($data)
|
||||
{
|
||||
return ApplicationModule::create($data);
|
||||
}
|
||||
|
||||
public static function update($data, $id = false)
|
||||
{
|
||||
$id = $id ? $id : $data['id'];
|
||||
return self::get($id)->update($data);
|
||||
}
|
||||
|
||||
public static function destroy($id)
|
||||
{
|
||||
return ApplicationModule::destroy($id);
|
||||
}
|
||||
|
||||
public static function getName($id)
|
||||
{
|
||||
return self::get($id)->name;
|
||||
}
|
||||
|
||||
public static function get($id)
|
||||
{
|
||||
return ApplicationModule::findOrFail($id);
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repositories;
|
||||
namespace App\Repositories\Core\App;
|
||||
|
||||
use App\Models\Core\App\ApplicationPage;
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
class ApplicationPages
|
||||
{
|
||||
public static function getBySlug($application_id, $slug)
|
||||
|
||||
@@ -4,17 +4,57 @@ namespace App\Repositories\Core\App;
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
use App\Models\Application;
|
||||
|
||||
use App\Repositories\ApplicationPages;
|
||||
use App\Models\Core\App\Application;
|
||||
use App\Repositories\Core\App\ApplicationPages;
|
||||
use App\Repositories\Languages;
|
||||
|
||||
class Applications
|
||||
{
|
||||
public static function select_all()
|
||||
{
|
||||
return Application::all()->toArray();
|
||||
}
|
||||
|
||||
public static function getOptions()
|
||||
{
|
||||
return Application::pluck('name', 'id')->toArray();
|
||||
}
|
||||
|
||||
public static function edit($id)
|
||||
{
|
||||
return self::get($id)->toArray();
|
||||
}
|
||||
|
||||
public static function store($data)
|
||||
{
|
||||
$id = isset($data['id']) ? $data['id'] : false;
|
||||
return $id ? self::update($data, $id) : self::create($data);
|
||||
}
|
||||
|
||||
public static function create($data)
|
||||
{
|
||||
return Application::create($data);
|
||||
}
|
||||
|
||||
public static function update($data, $id = false)
|
||||
{
|
||||
$id = $id ? $id : $data['id'];
|
||||
return self::get($id)->update($data);
|
||||
}
|
||||
|
||||
public static function destroy($id)
|
||||
{
|
||||
return Application::destroy($id);
|
||||
}
|
||||
|
||||
public static function getName($id)
|
||||
{
|
||||
return self::get($id)->name;
|
||||
}
|
||||
|
||||
public static function get($id)
|
||||
{
|
||||
return Application::findOrFail($id)->toArray();
|
||||
return Application::findOrFail($id);
|
||||
}
|
||||
|
||||
public static function getCurrent()
|
||||
|
||||
Reference in New Issue
Block a user