diff --git a/coverage/Console/Commands/ClearDatabase.php.html b/coverage/Console/Commands/ClearDatabase.php.html deleted file mode 100644 index 6e778ec..0000000 --- a/coverage/Console/Commands/ClearDatabase.php.html +++ /dev/null @@ -1,215 +0,0 @@ - - -
- -- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- CRAP | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
ClearDatabase | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- 2 | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
handle | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 2 | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
<?php | |
namespace BristolSU\Playground\Console\Commands; | |
use Illuminate\Console\Command; | |
use Illuminate\Support\Facades\DB; | |
/** | |
* Command to reset the playground to an initial state, not including user information. | |
*/ | |
class ClearDatabase extends Command | |
{ | |
/** | |
* The name and signature of the console command. | |
* | |
* @var string | |
*/ | |
protected $signature = 'clear:database'; | |
/** | |
* The console command description. | |
* | |
* @var string | |
*/ | |
protected $description = 'Clear the database of all non-authentication related tables'; | |
/** | |
* The tables to clear when run | |
* | |
* @var array | |
*/ | |
public $tables = [ | |
'action_instance_fields', | |
'action_instances', | |
'activities', | |
'activity_instances', | |
'completion_condition_instances', | |
'connection_instances', | |
'filter_instances', | |
'model_permissions', | |
'module_instance_services', | |
'module_permissions', | |
'module_instances', | |
'module_instance_settings', | |
'module_instance_permissions', | |
'logics', | |
]; | |
/** | |
* Truncate all tables in the tables array | |
* | |
* @return void | |
*/ | |
public function handle() | |
{ | |
foreach($this->tables as $table) { | |
DB::table($table)->truncate(); | |
} | |
} | |
} |
Class | -Coverage | -
---|
Class | -CRAP | -
---|
Method | -Coverage | -
---|
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ClearDatabase.php | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 50.00% |
- 1 / 2 |
- CRAP | -
-
-
- |
- 75.00% |
- 3 / 4 |
-
Kernel | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 50.00% |
- 1 / 2 |
- 2.06 | -
-
-
- |
- 75.00% |
- 3 / 4 |
-
schedule | -
-
-
- |
- 0.00% |
- 0 / 1 |
- 2 | -
-
-
- |
- 0.00% |
- 0 / 1 |
- |||
commands | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
<?php | |
namespace BristolSU\Playground\Console; | |
use Illuminate\Console\Scheduling\Schedule; | |
use Illuminate\Foundation\Console\Kernel as ConsoleKernel; | |
class Kernel extends ConsoleKernel | |
{ | |
/** | |
* The Artisan commands provided by your application. | |
* | |
* @var array | |
*/ | |
protected $commands = [ | |
// | |
]; | |
/** | |
* Define the application's command schedule. | |
* | |
* @param \Illuminate\Console\Scheduling\Schedule $schedule | |
* @return void | |
*/ | |
protected function schedule(Schedule $schedule) | |
{ | |
} | |
/** | |
* Register the commands for the application. | |
* | |
* @return void | |
*/ | |
protected function commands() | |
{ | |
$this->load(__DIR__.'/Commands'); | |
require base_path('routes/console.php'); | |
} | |
} |
Class | -Coverage | -
---|---|
BristolSU\Playground\Console\Kernel | 75% |
Class | -CRAP | -
---|
Method | -Coverage | -
---|---|
schedule | 0% |
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 85.71% |
- 6 / 7 |
-
-
-
- |
- 66.67% |
- 2 / 3 |
-
-
-
- |
- 50.00% |
- 1 / 2 |
-
Commands | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
Kernel.php | -
-
-
- |
- 75.00% |
- 3 / 4 |
-
-
-
- |
- 50.00% |
- 1 / 2 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 2 |
- CRAP | -
-
-
- |
- 75.00% |
- 9 / 12 |
-
Handler | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 2 |
- 3.14 | -
-
-
- |
- 75.00% |
- 9 / 12 |
-
report | -
-
-
- |
- 0.00% |
- 0 / 1 |
- 2 | -
-
-
- |
- 0.00% |
- 0 / 2 |
- |||
render | -
-
-
- |
- 0.00% |
- 0 / 1 |
- 2.00 | -
-
-
- |
- 90.00% |
- 9 / 10 |
-
<?php | |
namespace BristolSU\Playground\Exceptions; | |
use BristolSU\Support\ActivityInstance\Contracts\ActivityInstanceResolver; | |
use BristolSU\Support\ActivityInstance\Contracts\DefaultActivityInstanceGenerator; | |
use BristolSU\Support\ActivityInstance\Exceptions\NotInActivityInstanceException; | |
use BristolSU\Support\Authentication\Contracts\ResourceIdGenerator; | |
use BristolSU\Support\Authorization\Exception\ActivityRequiresGroup; | |
use BristolSU\Support\Authorization\Exception\ActivityRequiresRole; | |
use BristolSU\Support\Authorization\Exception\ActivityRequiresUser; | |
use Exception; | |
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; | |
use Illuminate\Http\Request; | |
use Illuminate\Http\Response; | |
class Handler extends ExceptionHandler | |
{ | |
/** | |
* A list of the exception types that are not reported. | |
* | |
* @var array | |
*/ | |
protected $dontReport = [ | |
// | |
]; | |
/** | |
* A list of the inputs that are never flashed for validation exceptions. | |
* | |
* @var array | |
*/ | |
protected $dontFlash = [ | |
'password', | |
'password_confirmation', | |
]; | |
/** | |
* Report or log an exception. | |
* | |
* @param Exception $exception | |
* @return void | |
* @throws Exception | |
*/ | |
public function report(Exception $exception) | |
{ | |
parent::report($exception); | |
} | |
/** | |
* Render an exception into an HTTP response. | |
* | |
* - Logs into an activity instance if exception is NotInActivityInstanceException | |
* | |
* @param Request $request | |
* @param Exception $exception | |
* @return Response | |
* @throws ActivityRequiresGroup | |
* @throws ActivityRequiresRole | |
* @throws ActivityRequiresUser | |
*/ | |
public function render($request, Exception $exception) | |
{ | |
if ($exception instanceof NotInActivityInstanceException) { | |
$activity = $request->route('activity_slug'); | |
$activityInstance = app(DefaultActivityInstanceGenerator::class) | |
->generate( | |
$activity, | |
$activity->activity_for, | |
app(ResourceIdGenerator::class)->fromString($activity->activity_for) | |
); | |
app(ActivityInstanceResolver::class)->setActivityInstance($activityInstance); | |
return redirect()->to($request->url()); | |
} | |
return parent::render($request, $exception); | |
} | |
} |
Class | -Coverage | -
---|---|
BristolSU\Playground\Exceptions\Handler | 75% |
Class | -CRAP | -
---|---|
BristolSU\Playground\Exceptions\Handler | 3 |
Method | -Coverage | -
---|---|
report | 0% |
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 75.00% |
- 9 / 12 |
-
-
-
- |
- 0.00% |
- 0 / 2 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
Handler.php | -
-
-
- |
- 75.00% |
- 9 / 12 |
-
-
-
- |
- 0.00% |
- 0 / 2 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
Class | -Coverage | -
---|
Class | -CRAP | -
---|
Method | -Coverage | -
---|
Method | -CRAP | -
---|
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- CRAP | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
serveStatic | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
<?php | |
if (!function_exists('serveStatic')) { | |
/** | |
* Create URLs to represent static assets in an s3 bucket | |
* | |
* @param string $filename Name of the file to serve | |
* @return string Full URL of the asset | |
*/ | |
function serveStatic($filename) | |
{ | |
return 'https://' | |
.config('filesystems.static_content.url').'/' | |
.config('filesystems.static_content.bucket').'/' | |
.config('filesystems.static_content.folder').'/'.$filename; | |
} | |
} |
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- - | n/a |
- 0 / 0 |
-
helpers.php | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- - | n/a |
- 0 / 0 |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
- CRAP | -
-
-
- |
- 100.00% |
- 9 / 9 |
-
ConnectionController | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
- 3 | -
-
-
- |
- 100.00% |
- 9 / 9 |
-
store | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 5 / 5 |
- |||
test | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 2 | -
-
-
- |
- 100.00% |
- 4 / 4 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Api; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use BristolSU\Support\Connection\Connection; | |
use BristolSU\Support\Connection\Contracts\ConnectionRepository; | |
use BristolSU\Support\Connection\Contracts\ConnectorFactory; | |
use Illuminate\Http\Request; | |
use Illuminate\Support\Facades\Response; | |
/** | |
* Routes around managing connections. | |
*/ | |
class ConnectionController extends Controller | |
{ | |
/** | |
* Create a new connection | |
* | |
* Parameters given should be | |
* [ | |
* 'name' => 'Name for the connection', | |
* 'description' => 'Description for the connection', | |
* 'alias' => 'Alias of the connector to use', | |
* 'settings' => [] // Array of settings to use in the connector | |
* ] | |
* | |
* @param Request $request Request object | |
* @param ConnectionRepository $connectionRepository Repository with which to create the connection | |
* | |
* @return Connection New connection | |
*/ | |
public function store(Request $request, ConnectionRepository $connectionRepository) | |
{ | |
return $connectionRepository->create([ | |
'name' => $request->input('name'), | |
'description' => $request->input('description'), | |
'alias' => $request->input('alias'), | |
'settings' => $request->input('settings', []) | |
]); | |
} | |
/** | |
* Test a connection | |
* | |
* @param Connection $connection Connection to test | |
* @param ConnectorFactory $connectorFactory Factory to retrieve and build a connector | |
* | |
* @return \Illuminate\Http\JsonResponse ['result' => true/false] | |
*/ | |
public function test(Connection $connection, ConnectorFactory $connectorFactory) | |
{ | |
$connector = $connectorFactory->createFromConnection($connection); | |
if($connector->test()) { | |
return Response::json(['result' => true], 200); | |
} | |
return Response::json(['result' => false], 200); | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
- CRAP | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
ModuleController | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
- 2 | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
index | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
- |||
show | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Api; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use BristolSU\Support\Module\Contracts\Module; | |
use BristolSU\Support\Module\Contracts\ModuleRepository; | |
/** | |
* Endpoints for getting information about registered modules | |
*/ | |
class ModuleController extends Controller | |
{ | |
/** | |
* Get all registered modules from the SDK | |
* | |
* @return \Illuminate\Support\Collection|Module[] | |
*/ | |
public function index() | |
{ | |
return collect(app(ModuleRepository::class)->all())->map(function(Module $module) { | |
return $module->toArray(); | |
}); | |
} | |
/** | |
* Get information about a specific module | |
* | |
* @param Module $module Module to return | |
* @return Module Module | |
*/ | |
public function show(Module $module) | |
{ | |
return $module; | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
- CRAP | -
-
-
- |
- 100.00% |
- 8 / 8 |
-
ModuleInstancePermissionController | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
- 3 | -
-
-
- |
- 100.00% |
- 8 / 8 |
-
index | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
- |||
store | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 4 / 4 |
- |||
update | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Api; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use BristolSU\Playground\Support\Permissions\ModulePermission; | |
use BristolSU\Support\ModuleInstance\ModuleInstance; | |
use Illuminate\Http\Request; | |
use Illuminate\Support\Collection; | |
/** | |
* Endpoints for managing module permissions. | |
*/ | |
class ModuleInstancePermissionController extends Controller | |
{ | |
/** | |
* Get all module instance permissions for a specific module instance | |
* | |
* @param ModuleInstance $moduleInstance Module instance the permissions should belong to | |
* @return Collection|ModulePermission[] | |
*/ | |
public function index(ModuleInstance $moduleInstance) | |
{ | |
return ModulePermission::where('module_instance_id', $moduleInstance->id())->get(); | |
} | |
/** | |
* Create a new module permission | |
* | |
* [ | |
* 'ability' => 'module.view', | |
* 'result' => true/false | |
* ] | |
* @param ModuleInstance $moduleInstance Module instance the permission belongs to | |
* @param Request $request Request object | |
* | |
* @return ModulePermission | |
*/ | |
public function store(ModuleInstance $moduleInstance, Request $request) | |
{ | |
return ModulePermission::create([ | |
'ability' => $request->input('ability'), | |
'result' => $request->input('result'), | |
'module_instance_id' => $moduleInstance->id() | |
]); | |
} | |
/** | |
* Update a module permission result | |
* | |
* [ | |
* 'result' => true/false | |
* ] | |
* | |
* @param ModuleInstance $moduleInstance Module instance the module permission belongs to | |
* @param ModulePermission $modulePermission The module permission to update | |
* @param Request $request The request object | |
* @return ModulePermission Updated module permission | |
*/ | |
public function update(ModuleInstance $moduleInstance, ModulePermission $modulePermission, Request $request) | |
{ | |
$modulePermission->result = $request->input('result', $modulePermission->result); | |
$modulePermission->save(); | |
return $modulePermission; | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 4 / 4 |
- CRAP | -
-
-
- |
- 100.00% |
- 9 / 9 |
-
ModuleInstanceServiceController | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 4 / 4 |
- 4 | -
-
-
- |
- 100.00% |
- 9 / 9 |
-
index | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
- |||
store | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 3 / 3 |
- |||
update | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 3 / 3 |
- |||
destroy | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Api; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use BristolSU\Support\ModuleInstance\Connection\ModuleInstanceService; | |
use BristolSU\Support\ModuleInstance\ModuleInstance; | |
use Illuminate\Http\Request; | |
/** | |
* Handles managing module instance services | |
*/ | |
class ModuleInstanceServiceController extends Controller | |
{ | |
/** | |
* Get all module instance services for a module instance | |
* | |
* @param ModuleInstance $moduleInstance Module instance the services should belong to | |
* @return mixed | |
*/ | |
public function index(ModuleInstance $moduleInstance) | |
{ | |
return $moduleInstance->moduleInstanceServices; | |
} | |
/** | |
* Create a new module instance service | |
* | |
* Needs | |
* [ | |
* 'service' => 'service_alias', | |
* 'connection_id' => 1 // ID of the connection. | |
* ] | |
* | |
* @param ModuleInstance $moduleInstance Module instance the service belongs to | |
* @param Request $request Request object | |
* | |
* @return ModuleInstanceService | |
*/ | |
public function store(ModuleInstance $moduleInstance, Request $request) | |
{ | |
return $moduleInstance->moduleInstanceServices()->create([ | |
'service' => $request->input('service'), | |
'connection_id' => $request->input('connection_id'), | |
]); | |
} | |
/** | |
* Update a module instance service | |
* | |
* Pass the connection_id to change it. | |
* | |
* @param ModuleInstance $moduleInstance | |
* @param ModuleInstanceService $moduleInstanceService | |
* @param Request $request | |
* @return ModuleInstanceService | |
*/ | |
public function update(ModuleInstance $moduleInstance, ModuleInstanceService $moduleInstanceService, Request $request) | |
{ | |
$moduleInstanceService->connection_id = $request->input('connection_id', $moduleInstanceService->connection_id); | |
$moduleInstanceService->save(); | |
return $moduleInstanceService; | |
} | |
/** | |
* Delete a module instance service | |
* | |
* @param ModuleInstance $moduleInstance Module instance the service belongs to | |
* @param ModuleInstanceService $moduleInstanceService Module instance service to delete | |
* | |
* @throws \Exception If can't be deleted. | |
*/ | |
public function destroy(ModuleInstance $moduleInstance, ModuleInstanceService $moduleInstanceService) | |
{ | |
$moduleInstanceService->delete(); | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
- CRAP | -
-
-
- |
- 100.00% |
- 7 / 7 |
-
ModuleInstanceSettingController | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
- 3 | -
-
-
- |
- 100.00% |
- 7 / 7 |
-
index | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
- |||
store | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 3 / 3 |
- |||
update | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Api; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use BristolSU\Support\ModuleInstance\ModuleInstance; | |
use BristolSU\Support\ModuleInstance\Settings\ModuleInstanceSetting; | |
use Illuminate\Http\Request; | |
/** | |
* Handle module instance settings | |
*/ | |
class ModuleInstanceSettingController extends Controller | |
{ | |
/** | |
* Get all module instance settings belonging to a module. | |
* | |
* @param ModuleInstance $moduleInstance Module instance the setting belongs to | |
* @return ModuleInstanceSetting | |
*/ | |
public function index(ModuleInstance $moduleInstance) | |
{ | |
return $moduleInstance->moduleInstanceSettings; | |
} | |
/** | |
* Create a new module instance setting | |
* | |
* Needs | |
* [ | |
* 'key' => 'setting-key', | |
* 'value' => 'setting-value' | |
* ] | |
* | |
* @param ModuleInstance $moduleInstance Module instance the setting should belong to | |
* @param Request $request Request object | |
* | |
* @return ModuleInstanceSetting | |
*/ | |
public function store(ModuleInstance $moduleInstance, Request $request) | |
{ | |
return $moduleInstance->moduleInstanceSettings()->create([ | |
'key' => $request->input('key'), | |
'value' => $request->input('value'), | |
]); | |
} | |
/** | |
* Update a module instance setting value | |
* | |
* Pass ['value' => 'new-value'] to update a value | |
* | |
* @param ModuleInstance $moduleInstance Module instance the setting belongs to | |
* @param ModuleInstanceSetting $moduleInstanceSetting The setting to update | |
* @param Request $request Request object | |
* @return ModuleInstanceSetting The update setting | |
*/ | |
public function update(ModuleInstance $moduleInstance, ModuleInstanceSetting $moduleInstanceSetting, Request $request) | |
{ | |
$moduleInstanceSetting->value = $request->input('value', $moduleInstanceSetting->value); | |
$moduleInstanceSetting->save(); | |
return $moduleInstanceSetting; | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
- CRAP | -
-
-
- |
- 100.00% |
- 7 / 7 |
-
ModuleModuleInstanceController | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
- 3 | -
-
-
- |
- 100.00% |
- 7 / 7 |
-
store | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 3 / 3 |
- |||
index | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
- |||
destroy | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Api; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use BristolSU\Playground\Support\Module\ModuleInstanceFactory; | |
use BristolSU\Support\Module\Contracts\Module; | |
use BristolSU\Support\ModuleInstance\Contracts\ModuleInstanceRepository; | |
use BristolSU\Support\ModuleInstance\ModuleInstance; | |
use Illuminate\Http\Request; | |
/** | |
* Handle module instances of a specific module | |
*/ | |
class ModuleModuleInstanceController extends Controller | |
{ | |
/** | |
* Create a new module instance. | |
* | |
* Accepts ['name' => ''] as a string for the name of the module instance. The rest of the module and activity are | |
* randomly generated from the logged in user. | |
* | |
* @param Request $request Request object | |
* @param Module $module The module the instance should belong to | |
* @return ModuleInstance New module instance | |
*/ | |
public function store(Request $request, Module $module) | |
{ | |
return (new ModuleInstanceFactory())->createModuleInstance( | |
$module, $request->input('name') | |
)->load('activity'); | |
} | |
/** | |
* Get all module instances belonging to a given module | |
* | |
* @param Module $module Module the module instances should belong to | |
* @param ModuleInstanceRepository $repository Module instance repository for retrieving module instances | |
* @return \BristolSU\Support\ModuleInstance\Contracts\ModuleInstance[]|\Illuminate\Support\Collection | |
*/ | |
public function index(Module $module, ModuleInstanceRepository $repository) | |
{ | |
return $repository->allWithAlias($module->getAlias())->map(function(ModuleInstance $module) { | |
return $module->load('activity'); | |
}); | |
} | |
/** | |
* Delete a module instance | |
* | |
* @param Module $module Module the instance belongs to | |
* @param ModuleInstance $moduleInstance The module instance | |
* | |
* @throws \Exception If the module instance can't be deleted | |
*/ | |
public function destroy(Module $module, ModuleInstance $moduleInstance) | |
{ | |
$moduleInstance->delete(); | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- CRAP | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
ServiceConnectionController | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
index | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Api; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use BristolSU\Support\Connection\Connection; | |
use BristolSU\Support\Connection\Contracts\ConnectionRepository; | |
/** | |
* Manage connections belonging to specific services | |
*/ | |
class ServiceConnectionController extends Controller | |
{ | |
/** | |
* Get all connections belonging to a service | |
* | |
* @param string $service Service the connections should belong to | |
* @param ConnectionRepository $connectionRepository Repository to get connections from | |
* | |
* @return \Illuminate\Support\Collection|Connection[] | |
*/ | |
public function index(string $service, ConnectionRepository $connectionRepository) | |
{ | |
return collect($connectionRepository->getAllForService($service))->values(); | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- CRAP | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
ServiceConnectorController | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
index | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Api; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use BristolSU\Support\Connection\Contracts\Connector; | |
use BristolSU\Support\Connection\Contracts\ConnectorRepository; | |
use BristolSU\Support\Connection\RegisteredConnector; | |
/** | |
* Manage all connectors belonging to a specific service | |
*/ | |
class ServiceConnectorController extends Controller | |
{ | |
/** | |
* Get all connectors for a service | |
* | |
* @param string $service Service the connectors should belong to | |
* @param ConnectorRepository $connectorRepository Repository to get the connectors from | |
* @return \Illuminate\Support\Collection|RegisteredConnector[] | |
*/ | |
public function index($service, ConnectorRepository $connectorRepository) | |
{ | |
return collect($connectorRepository->forService($service))->values(); | |
} | |
} |
Class | -Coverage | -
---|
Class | -CRAP | -
---|
Method | -Coverage | -
---|
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 100.00% |
- 45 / 45 |
-
-
-
- |
- 100.00% |
- 19 / 19 |
-
-
-
- |
- 100.00% |
- 8 / 8 |
-
ConnectionController.php | -
-
-
- |
- 100.00% |
- 9 / 9 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ModuleController.php | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ModuleInstancePermissionController.php | -
-
-
- |
- 100.00% |
- 8 / 8 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ModuleInstanceServiceController.php | -
-
-
- |
- 100.00% |
- 9 / 9 |
-
-
-
- |
- 100.00% |
- 4 / 4 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ModuleInstanceSettingController.php | -
-
-
- |
- 100.00% |
- 7 / 7 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ModuleModuleInstanceController.php | -
-
-
- |
- 100.00% |
- 7 / 7 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ServiceConnectionController.php | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ServiceConnectorController.php | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
- CRAP | -
-
-
- |
- 0.00% |
- 0 / 2 |
-
ConfirmPasswordController | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
- 2 | -
-
-
- |
- 0.00% |
- 0 / 2 |
-
__construct | -
-
-
- |
- 0.00% |
- 0 / 1 |
- 2 | -
-
-
- |
- 0.00% |
- 0 / 2 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Auth; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use Illuminate\Foundation\Auth\ConfirmsPasswords; | |
class ConfirmPasswordController extends Controller | |
{ | |
/* | |
|-------------------------------------------------------------------------- | |
| Confirm Password Controller | |
|-------------------------------------------------------------------------- | |
| | |
| This controller is responsible for handling password confirmations and | |
| uses a simple trait to include the behavior. You're free to explore | |
| this trait and override any functions that require customization. | |
| | |
*/ | |
use ConfirmsPasswords; | |
/** | |
* Where to redirect users when the intended url fails. | |
* | |
* @var string | |
*/ | |
protected $redirectTo = '/'; | |
/** | |
* Create a new controller instance. | |
* | |
* @return void | |
*/ | |
public function __construct() | |
{ | |
$this->middleware('auth'); | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
ForgotPasswordController | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Auth; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use Illuminate\Foundation\Auth\SendsPasswordResetEmails; | |
class ForgotPasswordController extends Controller | |
{ | |
/* | |
|-------------------------------------------------------------------------- | |
| Password Reset Controller | |
|-------------------------------------------------------------------------- | |
| | |
| This controller is responsible for handling password reset emails and | |
| includes a trait which assists in sending these notifications from | |
| your application to your users. Feel free to explore this trait. | |
| | |
*/ | |
use SendsPasswordResetEmails; | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
- CRAP | -
-
-
- |
- 0.00% |
- 0 / 2 |
-
LoginController | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
- 2 | -
-
-
- |
- 0.00% |
- 0 / 2 |
-
__construct | -
-
-
- |
- 0.00% |
- 0 / 1 |
- 2 | -
-
-
- |
- 0.00% |
- 0 / 2 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Auth; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use Illuminate\Foundation\Auth\AuthenticatesUsers; | |
class LoginController extends Controller | |
{ | |
/* | |
|-------------------------------------------------------------------------- | |
| Login Controller | |
|-------------------------------------------------------------------------- | |
| | |
| This controller handles authenticating users for the application and | |
| redirecting them to your home screen. The controller uses a trait | |
| to conveniently provide its functionality to your applications. | |
| | |
*/ | |
use AuthenticatesUsers; | |
/** | |
* Where to redirect users after login. | |
* | |
* @var string | |
*/ | |
protected $redirectTo = '/'; | |
/** | |
* Create a new controller instance. | |
* | |
* @return void | |
*/ | |
public function __construct() | |
{ | |
$this->middleware('guest')->except('logout'); | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
- CRAP | -
-
-
- |
- 100.00% |
- 16 / 16 |
-
RegisterController | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
- 3 | -
-
-
- |
- 100.00% |
- 16 / 16 |
-
__construct | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
- |||
validator | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
- |||
create | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 12 / 12 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Auth; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use BristolSU\Playground\User; | |
use BristolSU\ControlDB\Contracts\Repositories\DataUser; | |
use BristolSU\Support\User\Contracts\UserRepository; | |
use Illuminate\Foundation\Auth\RegistersUsers; | |
use Illuminate\Support\Carbon; | |
use Illuminate\Support\Facades\Hash; | |
use Illuminate\Support\Facades\Validator; | |
class RegisterController extends Controller | |
{ | |
/* | |
|-------------------------------------------------------------------------- | |
| Register Controller | |
|-------------------------------------------------------------------------- | |
| | |
| This controller handles the registration of new users as well as their | |
| validation and creation. By default this controller uses a trait to | |
| provide this functionality without requiring any additional code. | |
| | |
*/ | |
use RegistersUsers; | |
/** | |
* Where to redirect users after registration. | |
* | |
* @var string | |
*/ | |
protected $redirectTo = '/'; | |
/** | |
* Create a new controller instance. | |
* | |
* @return void | |
*/ | |
public function __construct() | |
{ | |
$this->middleware('guest'); | |
} | |
/** | |
* Get a validator for an incoming registration request. | |
* | |
* @param array $data | |
* @return \Illuminate\Contracts\Validation\Validator | |
*/ | |
protected function validator(array $data) | |
{ | |
return Validator::make($data, [ | |
'first_name' => ['required', 'string', 'max:255'], | |
'last_name' => ['required', 'string', 'max:255'], | |
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], | |
'password' => ['required', 'string', 'min:5', 'confirmed'], | |
]); | |
} | |
/** | |
* Create a new user instance after a valid registration. | |
* | |
* @param array $data | |
* @return \BristolSU\Support\User\User | |
*/ | |
protected function create(array $data) | |
{ | |
$dataUser = app(DataUser::class)->create($data['first_name'], $data['last_name'], $data['email']); | |
$controlUser = app(\BristolSU\ControlDB\Contracts\Repositories\User::class)->create($dataUser->id()); | |
// TODO Edit when database user is better | |
$databaseUser = app(UserRepository::class)->create([ | |
'forename' => $data['first_name'], | |
'surname' => $data['last_name'], | |
'email' => $data['email'], | |
'student_id' => '', | |
'control_id' => $controlUser->id() | |
]); | |
$databaseUser->email_verified_at = Carbon::now(); | |
$databaseUser->password = Hash::make($data['password']); | |
$databaseUser->save(); | |
return $databaseUser; | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
ResetPasswordController | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Auth; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use Illuminate\Foundation\Auth\ResetsPasswords; | |
class ResetPasswordController extends Controller | |
{ | |
/* | |
|-------------------------------------------------------------------------- | |
| Password Reset Controller | |
|-------------------------------------------------------------------------- | |
| | |
| This controller is responsible for handling password reset requests | |
| and uses a simple trait to include this behavior. You're free to | |
| explore this trait and override any methods you wish to tweak. | |
| | |
*/ | |
use ResetsPasswords; | |
/** | |
* Where to redirect users after resetting their password. | |
* | |
* @var string | |
*/ | |
protected $redirectTo = '/'; | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
- CRAP | -
-
-
- |
- 0.00% |
- 0 / 4 |
-
VerificationController | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
- 2 | -
-
-
- |
- 0.00% |
- 0 / 4 |
-
__construct | -
-
-
- |
- 0.00% |
- 0 / 1 |
- 2 | -
-
-
- |
- 0.00% |
- 0 / 4 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers\Auth; | |
use BristolSU\Playground\Http\Controllers\Controller; | |
use Illuminate\Foundation\Auth\VerifiesEmails; | |
class VerificationController extends Controller | |
{ | |
/* | |
|-------------------------------------------------------------------------- | |
| Email Verification Controller | |
|-------------------------------------------------------------------------- | |
| | |
| This controller is responsible for handling email verification for any | |
| user that recently registered with the application. Emails may also | |
| be re-sent if the user didn't receive the original email message. | |
| | |
*/ | |
use VerifiesEmails; | |
/** | |
* Where to redirect users after verification. | |
* | |
* @var string | |
*/ | |
protected $redirectTo = '/'; | |
/** | |
* Create a new controller instance. | |
* | |
* @return void | |
*/ | |
public function __construct() | |
{ | |
$this->middleware('auth'); | |
$this->middleware('signed')->only('verify'); | |
$this->middleware('throttle:6,1')->only('verify', 'resend'); | |
} | |
} |
Class | -Coverage | -
---|---|
BristolSU\Playground\Http\Controllers\Auth\ConfirmPasswordController | 0% |
BristolSU\Playground\Http\Controllers\Auth\LoginController | 0% |
BristolSU\Playground\Http\Controllers\Auth\VerificationController | 0% |
Class | -CRAP | -
---|
Method | -Coverage | -
---|---|
__construct | 0% |
__construct | 0% |
__construct | 0% |
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 66.67% |
- 16 / 24 |
-
-
-
- |
- 50.00% |
- 3 / 6 |
-
-
-
- |
- 25.00% |
- 1 / 4 |
-
ConfirmPasswordController.php | -
-
-
- |
- 0.00% |
- 0 / 2 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
ForgotPasswordController.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
LoginController.php | -
-
-
- |
- 0.00% |
- 0 / 2 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
RegisterController.php | -
-
-
- |
- 100.00% |
- 16 / 16 |
-
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ResetPasswordController.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
VerificationController.php | -
-
-
- |
- 0.00% |
- 0 / 4 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
Controller | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers; | |
use Illuminate\Foundation\Auth\Access\AuthorizesRequests; | |
use Illuminate\Foundation\Bus\DispatchesJobs; | |
use Illuminate\Foundation\Validation\ValidatesRequests; | |
use Illuminate\Routing\Controller as BaseController; | |
class Controller extends BaseController | |
{ | |
use AuthorizesRequests, DispatchesJobs, ValidatesRequests; | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- CRAP | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
HomeController | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
index | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
<?php | |
namespace BristolSU\Playground\Http\Controllers; | |
use Illuminate\Contracts\View\Factory; | |
use Illuminate\View\View; | |
/** | |
* Show the home page | |
*/ | |
class HomeController extends Controller | |
{ | |
/** | |
* Show the homepage | |
* | |
* @return View|Factory | |
*/ | |
public function index() | |
{ | |
return view('pages.module.index'); | |
} | |
} |
Class | -Coverage | -
---|---|
BristolSU\Playground\Http\Controllers\Auth\ConfirmPasswordController | 0% |
BristolSU\Playground\Http\Controllers\Auth\LoginController | 0% |
BristolSU\Playground\Http\Controllers\Auth\VerificationController | 0% |
Class | -CRAP | -
---|
Method | -Coverage | -
---|---|
__construct | 0% |
__construct | 0% |
__construct | 0% |
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 88.57% |
- 62 / 70 |
-
-
-
- |
- 88.46% |
- 23 / 26 |
-
-
-
- |
- 76.92% |
- 10 / 13 |
-
Api | -
-
-
- |
- 100.00% |
- 45 / 45 |
-
-
-
- |
- 100.00% |
- 19 / 19 |
-
-
-
- |
- 100.00% |
- 8 / 8 |
-
Auth | -
-
-
- |
- 66.67% |
- 16 / 24 |
-
-
-
- |
- 50.00% |
- 3 / 6 |
-
-
-
- |
- 25.00% |
- 1 / 4 |
-
Controller.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
HomeController.php | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
Kernel | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Http; | |
use Illuminate\Auth\Middleware\EnsureEmailIsVerified; | |
use Illuminate\Foundation\Http\Kernel as HttpKernel; | |
use Laravel\Passport\Http\Middleware\CreateFreshApiToken; | |
class Kernel extends HttpKernel | |
{ | |
/** | |
* The application's global HTTP middleware stack. | |
* | |
* These middleware are run during every request to your application. | |
* | |
* @var array | |
*/ | |
protected $middleware = [ | |
\BristolSU\Playground\Http\Middleware\TrustProxies::class, | |
\BristolSU\Playground\Http\Middleware\CheckForMaintenanceMode::class, | |
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, | |
\BristolSU\Playground\Http\Middleware\TrimStrings::class, | |
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, | |
]; | |
/** | |
* The application's route middleware groups. | |
* | |
* @var array | |
*/ | |
protected $middlewareGroups = [ | |
'web' => [ | |
\BristolSU\Playground\Http\Middleware\EncryptCookies::class, | |
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, | |
CreateFreshApiToken::class, | |
\Illuminate\Session\Middleware\StartSession::class, | |
// \Illuminate\Session\Middleware\AuthenticateSession::class, | |
\Illuminate\View\Middleware\ShareErrorsFromSession::class, | |
\BristolSU\Playground\Http\Middleware\VerifyCsrfToken::class, | |
\Illuminate\Routing\Middleware\SubstituteBindings::class, | |
], | |
'api' => [ | |
'throttle:60,1', | |
'bindings', | |
], | |
]; | |
/** | |
* The application's route middleware. | |
* | |
* These middleware may be assigned to groups or used individually. | |
* | |
* @var array | |
*/ | |
protected $routeMiddleware = [ | |
'auth' => \BristolSU\Playground\Http\Middleware\Authenticate::class, | |
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, | |
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, | |
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, | |
'can' => \Illuminate\Auth\Middleware\Authorize::class, | |
'guest' => \BristolSU\Playground\Http\Middleware\RedirectIfAuthenticated::class, | |
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, | |
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, | |
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, | |
'verified' => EnsureEmailIsVerified::class, | |
]; | |
/** | |
* The priority-sorted list of middleware. | |
* | |
* This forces non-global middleware to always be in the given order. | |
* | |
* @var array | |
*/ | |
protected $middlewarePriority = [ | |
\Illuminate\Session\Middleware\StartSession::class, | |
\Illuminate\View\Middleware\ShareErrorsFromSession::class, | |
\BristolSU\Playground\Http\Middleware\Authenticate::class, | |
\Illuminate\Routing\Middleware\ThrottleRequests::class, | |
\Illuminate\Session\Middleware\AuthenticateSession::class, | |
\Illuminate\Routing\Middleware\SubstituteBindings::class, | |
\Illuminate\Auth\Middleware\Authorize::class, | |
]; | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 75.00% |
- 3 / 4 |
- CRAP | -
-
-
- |
- 90.00% |
- 9 / 10 |
-
Authenticate | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 75.00% |
- 3 / 4 |
- 6.04 | -
-
-
- |
- 90.00% |
- 9 / 10 |
-
__construct | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
- |||
handle | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 2 | -
-
-
- |
- 100.00% |
- 3 / 3 |
- |||
unauthenticated | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
- |||
redirectTo | -
-
-
- |
- 0.00% |
- 0 / 1 |
- 2.15 | -
-
-
- |
- 66.67% |
- 2 / 3 |
-
<?php | |
namespace BristolSU\Playground\Http\Middleware; | |
use BristolSU\Support\User\Contracts\UserAuthentication; | |
use Illuminate\Auth\AuthenticationException; | |
use Illuminate\Http\Request; | |
/** | |
* Check a user is authenticated. | |
* | |
* Return an unauthenticated response if they are not | |
*/ | |
class Authenticate | |
{ | |
/** | |
* Holds the user authentication resolver | |
* | |
* @var UserAuthentication | |
*/ | |
private $userAuthentication; | |
/** | |
* @param UserAuthentication $userAuthentication Authentication to get the user from | |
*/ | |
public function __construct(UserAuthentication $userAuthentication) | |
{ | |
$this->userAuthentication = $userAuthentication; | |
} | |
/** | |
* Test if the user is authenticated | |
* | |
* @param Request $request Request object | |
* @param \Closure $next Next middleware callback | |
* @return mixed | |
* | |
* @throws AuthenticationException If not authenticated | |
*/ | |
public function handle(Request $request, \Closure $next) | |
{ | |
if($this->userAuthentication->getUser() === null) { | |
$this->unauthenticated($request); | |
} | |
return $next($request); | |
} | |
/** | |
* Handle an unauthenticated user. | |
* | |
* @param \Illuminate\Http\Request $request | |
* @param array $guards | |
* @return void | |
* | |
* @throws \Illuminate\Auth\AuthenticationException | |
*/ | |
protected function unauthenticated($request) | |
{ | |
throw new AuthenticationException( | |
'Unauthenticated.', [], $this->redirectTo($request) | |
); | |
} | |
/** | |
* Get the path the user should be redirected to when they are not authenticated. | |
* | |
* @param \Illuminate\Http\Request $request | |
* @return string|null | |
*/ | |
protected function redirectTo($request) | |
{ | |
if(!$request->expectsJson()) { | |
return route('login'); | |
} | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
CheckForMaintenanceMode | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Http\Middleware; | |
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode as Middleware; | |
/** | |
* Check if the playground is in maintenance mode | |
*/ | |
class CheckForMaintenanceMode extends Middleware | |
{ | |
/** | |
* The URIs that should be reachable while maintenance mode is enabled. | |
* | |
* @var array | |
*/ | |
protected $except = [ | |
// | |
]; | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
EncryptCookies | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Http\Middleware; | |
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware; | |
/** | |
* Encrypt cookies | |
*/ | |
class EncryptCookies extends Middleware | |
{ | |
/** | |
* The names of the cookies that should not be encrypted. | |
* | |
* @var array | |
*/ | |
protected $except = [ | |
// | |
]; | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
- CRAP | -
-
-
- |
- 100.00% |
- 5 / 5 |
-
RedirectIfAuthenticated | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
- 3 | -
-
-
- |
- 100.00% |
- 5 / 5 |
-
__construct | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
- |||
handle | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 2 | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
<?php | |
namespace BristolSU\Playground\Http\Middleware; | |
use BristolSU\Support\User\Contracts\UserAuthentication; | |
use BristolSU\Support\User\User; | |
use Illuminate\Http\Request; | |
/** | |
* Redirect to the homepage if authenticated in a guest route | |
*/ | |
class RedirectIfAuthenticated | |
{ | |
/** | |
* Holds the user authentication resolver | |
* | |
* @var UserAuthentication | |
*/ | |
private $userAuthentication; | |
/** | |
* @param UserAuthentication $userAuthentication Authentication to get the user from | |
*/ | |
public function __construct(UserAuthentication $userAuthentication) | |
{ | |
$this->userAuthentication = $userAuthentication; | |
} | |
/** | |
* Test if the user is authenticated | |
* | |
* @param Request $request Request object | |
* @param \Closure $next Next middleware callback | |
* @return mixed | |
*/ | |
public function handle(Request $request, \Closure $next) | |
{ | |
if($this->userAuthentication->getUser() instanceof User) { | |
return redirect('/'); | |
} | |
return $next($request); | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
TrimStrings | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Http\Middleware; | |
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware; | |
/** | |
* Trim strings | |
*/ | |
class TrimStrings extends Middleware | |
{ | |
/** | |
* The names of the attributes that should not be trimmed. | |
* | |
* @var array | |
*/ | |
protected $except = [ | |
'password', | |
'password_confirmation', | |
]; | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
TrustProxies | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Http\Middleware; | |
use Fideloper\Proxy\TrustProxies as Middleware; | |
use Illuminate\Http\Request; | |
/** | |
* Handle proxies | |
*/ | |
class TrustProxies extends Middleware | |
{ | |
/** | |
* The trusted proxies for this application. | |
* | |
* @var array|string | |
*/ | |
protected $proxies; | |
/** | |
* The headers that should be used to detect proxies. | |
* | |
* @var int | |
*/ | |
protected $headers = Request::HEADER_X_FORWARDED_ALL; | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
VerifyCsrfToken | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Http\Middleware; | |
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware; | |
/** | |
* Verify the given Csrf token | |
*/ | |
class VerifyCsrfToken extends Middleware | |
{ | |
/** | |
* Indicates whether the XSRF-TOKEN cookie should be set on the response. | |
* | |
* @var bool | |
*/ | |
protected $addHttpCookie = true; | |
/** | |
* The URIs that should be excluded from CSRF verification. | |
* | |
* @var array | |
*/ | |
protected $except = [ | |
// | |
]; | |
} |
Class | -Coverage | -
---|
Class | -CRAP | -
---|
Method | -Coverage | -
---|---|
redirectTo | 66% |
Method | -CRAP | -
---|---|
redirectTo | 2 |
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 93.33% |
- 14 / 15 |
-
-
-
- |
- 83.33% |
- 5 / 6 |
-
-
-
- |
- 50.00% |
- 1 / 2 |
-
Authenticate.php | -
-
-
- |
- 90.00% |
- 9 / 10 |
-
-
-
- |
- 75.00% |
- 3 / 4 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
CheckForMaintenanceMode.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
EncryptCookies.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
RedirectIfAuthenticated.php | -
-
-
- |
- 100.00% |
- 5 / 5 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
TrimStrings.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
TrustProxies.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
VerifyCsrfToken.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
Class | -Coverage | -
---|---|
BristolSU\Playground\Http\Controllers\Auth\ConfirmPasswordController | 0% |
BristolSU\Playground\Http\Controllers\Auth\LoginController | 0% |
BristolSU\Playground\Http\Controllers\Auth\VerificationController | 0% |
Class | -CRAP | -
---|
Method | -Coverage | -
---|---|
__construct | 0% |
__construct | 0% |
__construct | 0% |
redirectTo | 66% |
Method | -CRAP | -
---|---|
redirectTo | 2 |
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 89.41% |
- 76 / 85 |
-
-
-
- |
- 87.50% |
- 28 / 32 |
-
-
-
- |
- 73.33% |
- 11 / 15 |
-
Controllers | -
-
-
- |
- 88.57% |
- 62 / 70 |
-
-
-
- |
- 88.46% |
- 23 / 26 |
-
-
-
- |
- 76.92% |
- 10 / 13 |
-
Middleware | -
-
-
- |
- 93.33% |
- 14 / 15 |
-
-
-
- |
- 83.33% |
- 5 / 6 |
-
-
-
- |
- 50.00% |
- 1 / 2 |
-
Kernel.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
- CRAP | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
AppServiceProvider | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
- 2 | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
register | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
- |||
boot | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
-
<?php | |
namespace BristolSU\Playground\Providers; | |
use BristolSU\Playground\Support\Permissions\OverridePermissionTester; | |
use BristolSU\Support\Permissions\Facade\PermissionTester; | |
use Illuminate\Support\ServiceProvider; | |
/** | |
* App Service Provider | |
*/ | |
class AppServiceProvider extends ServiceProvider | |
{ | |
/** | |
* Register any application services. | |
* | |
* - Registers the overridden permission tester | |
* | |
* @return void | |
*/ | |
public function register() | |
{ | |
} | |
/** | |
* Bootstrap any application services. | |
* | |
* @return void | |
*/ | |
public function boot() | |
{ | |
PermissionTester::register(app(OverridePermissionTester::class), 0); | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- CRAP | -
-
-
- |
- 100.00% |
- 2 / 2 |
-
AuthServiceProvider | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
-
boot | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 2 / 2 |
-
<?php | |
namespace BristolSU\Playground\Providers; | |
use BristolSU\Support\Authentication\Contracts\Authentication; | |
use Illuminate\Support\ServiceProvider; | |
/** | |
* Authentication Service Provider | |
*/ | |
class AuthServiceProvider extends ServiceProvider | |
{ | |
/** | |
* Register any authentication / authorization services. | |
* | |
* - Bind the overridden authentication contract implementation | |
* | |
* @return void | |
*/ | |
public function boot() | |
{ | |
$this->app->bind(Authentication::class, \BristolSU\Playground\Support\Authentication\Authentication::class); | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
EventServiceProvider | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Providers; | |
use Illuminate\Auth\Events\Registered; | |
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; | |
/** | |
* Set up events | |
*/ | |
class EventServiceProvider extends ServiceProvider | |
{ | |
/** | |
* The event listener mappings for the application. | |
* | |
* @var array | |
*/ | |
protected $listen = [ | |
// Registered::class => [ | |
// SendEmailVerificationNotification::class, | |
// ], | |
]; | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 4 / 4 |
- CRAP | -
-
-
- |
- 100.00% |
- 18 / 18 |
-
RouteServiceProvider | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 4 / 4 |
- 4 | -
-
-
- |
- 100.00% |
- 18 / 18 |
-
boot | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 6 / 6 |
- |||
map | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 3 / 3 |
- |||
mapWebRoutes | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 4 / 4 |
- |||
mapApiRoutes | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 5 / 5 |
-
<?php | |
namespace BristolSU\Playground\Providers; | |
use BristolSU\Playground\Support\Permissions\ModulePermission; | |
use BristolSU\Support\ModuleInstance\ModuleInstance; | |
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; | |
use Illuminate\Support\Facades\Route; | |
/** | |
* Set up routing | |
*/ | |
class RouteServiceProvider extends ServiceProvider | |
{ | |
/** | |
* This namespace is applied to your controller routes. | |
* | |
* In addition, it is set as the URL generator's root namespace. | |
* | |
* @var string | |
*/ | |
protected $namespace = 'BristolSU\Playground\Http\Controllers'; | |
/** | |
* Boot routing | |
* | |
* - Route model binding for module permissions | |
* - Route model binding for module instance (without needing an activity) | |
* @return void | |
*/ | |
public function boot() | |
{ | |
Route::bind('module_permission_override', function($id) { | |
return ModulePermission::findOrFail($id); | |
}); | |
Route::bind('module_instance_override', function($slug) { | |
return ModuleInstance::where('slug', $slug)->firstOrFail(); | |
}); | |
parent::boot(); | |
} | |
/** | |
* Define the routes for the application. | |
* | |
* @return void | |
*/ | |
public function map() | |
{ | |
$this->mapApiRoutes(); | |
$this->mapWebRoutes(); | |
// | |
} | |
/** | |
* Define the "web" routes for the application. | |
* | |
* These routes all receive session state, CSRF protection, etc. | |
* | |
* @return void | |
*/ | |
protected function mapWebRoutes() | |
{ | |
Route::middleware('web') | |
->namespace($this->namespace) | |
->group(base_path('routes/web.php')); | |
} | |
/** | |
* Define the "api" routes for the application. | |
* | |
* These routes are typically stateless. | |
* | |
* @return void | |
*/ | |
protected function mapApiRoutes() | |
{ | |
Route::prefix('api') | |
->middleware('api') | |
->namespace($this->namespace) | |
->group(base_path('routes/api.php')); | |
} | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- CRAP | -
-
-
- |
- 100.00% |
- 4 / 4 |
-
ViewServiceProvider | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 4 / 4 |
-
boot | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 4 / 4 |
-
<?php | |
namespace BristolSU\Playground\Providers; | |
use Illuminate\Support\ServiceProvider; | |
use Laracasts\Utilities\JavaScript\JavaScriptFacade; | |
/** | |
* Set up the views | |
*/ | |
class ViewServiceProvider extends ServiceProvider | |
{ | |
/** | |
* Boot | |
* | |
* - Inject the app and api url into js | |
*/ | |
public function boot() | |
{ | |
JavaScriptFacade::put([ | |
'APP_URL' => config('app.url'), | |
'API_URL' => config('app.api_url') | |
]); | |
} | |
} |
Class | -Coverage | -
---|
Class | -CRAP | -
---|
Method | -Coverage | -
---|
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 100.00% |
- 27 / 27 |
-
-
-
- |
- 100.00% |
- 8 / 8 |
-
-
-
- |
- 100.00% |
- 4 / 4 |
-
AppServiceProvider.php | -
-
-
- |
- 100.00% |
- 3 / 3 |
-
-
-
- |
- 100.00% |
- 2 / 2 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
AuthServiceProvider.php | -
-
-
- |
- 100.00% |
- 2 / 2 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
EventServiceProvider.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
RouteServiceProvider.php | -
-
-
- |
- 100.00% |
- 18 / 18 |
-
-
-
- |
- 100.00% |
- 4 / 4 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ViewServiceProvider.php | -
-
-
- |
- 100.00% |
- 4 / 4 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 8 / 8 |
- CRAP | -
-
-
- |
- 100.00% |
- 13 / 13 |
-
Authentication | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 8 / 8 |
- 11 | -
-
-
- |
- 100.00% |
- 13 / 13 |
-
__construct | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 3 / 3 |
- |||
getUser | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 4 | -
-
-
- |
- 100.00% |
- 4 / 4 |
- |||
setUser | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
- |||
getGroup | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
- |||
getRole | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
- |||
setGroup | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
- |||
setRole | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
- |||
reset | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 1 | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
<?php | |
namespace BristolSU\Playground\Support\Authentication; | |
use BristolSU\Support\Authentication\Contracts\Authentication as AuthenticationContract; | |
use BristolSU\Support\User\Contracts\UserAuthentication; | |
use BristolSU\ControlDB\Contracts\Models\Group; | |
use BristolSU\ControlDB\Contracts\Models\Role; | |
use BristolSU\ControlDB\Contracts\Models\User; | |
use BristolSU\ControlDB\Contracts\Repositories\User as UserRepository; | |
use Illuminate\Contracts\Auth\Factory as AuthFactory; | |
/** | |
* Authentication contract that uses the database user | |
*/ | |
class Authentication implements AuthenticationContract | |
{ | |
/** | |
* Holds the database user authentication to get and set users from | |
* | |
* @var UserAuthentication | |
*/ | |
private $auth; | |
/** | |
* Resolves users | |
* | |
* @var UserRepository | |
*/ | |
private $userRepository; | |
/** | |
* @param UserAuthentication $auth UserAuthentication to get the logged in database user | |
* @param UserRepository $userRepository UserRepository to resolve users | |
*/ | |
public function __construct(UserAuthentication $auth, UserRepository $userRepository) | |
{ | |
$this->auth = $auth; | |
$this->userRepository = $userRepository; | |
} | |
/** | |
* Get the current user | |
* | |
* @return null|User User related to the databsae user | |
*/ | |
public function getUser(): ?User | |
{ | |
$user = $this->auth->getUser(); | |
if($user instanceof \BristolSU\Support\User\User && $user->exists) { | |
return $this->userRepository->getById($user->id); | |
} | |
return null; | |
} | |
/** | |
* Set a user | |
* | |
* This function does not provide a way to set users | |
* | |
* @param User $user New user | |
* @throws \Exception | |
*/ | |
public function setUser(User $user) | |
{ | |
throw new \Exception('No implementation'); | |
} | |
/** | |
* Get a group | |
* | |
* This function does not provide a way to get groups | |
* | |
* @throws \Exception | |
*/ | |
public function getGroup() | |
{ | |
throw new \Exception('No implementation'); | |
} | |
/** | |
* Get a role | |
* | |
* This function does not provide a way to get roles | |
* | |
* @throws \Exception | |
*/ | |
public function getRole() | |
{ | |
throw new \Exception('No implementation'); | |
} | |
/** | |
* Set a group | |
* | |
* This function does not provide a way to set groups | |
* | |
* @param Group $group New group | |
* @throws \Exception | |
*/ | |
public function setGroup(Group $group) | |
{ | |
throw new \Exception('No implementation'); | |
} | |
/** | |
* Set a role | |
* | |
* This function does not provide a way to set roles | |
* | |
* @param Role $role New role | |
* @throws \Exception | |
*/ | |
public function setRole(Role $role) | |
{ | |
throw new \Exception('No implementation'); | |
} | |
/** | |
* Reset | |
* | |
* This function does not provide a way to reset. To reset, reset the user authentication contract | |
* | |
* @throws \Exception | |
*/ | |
public function reset(): void | |
{ | |
} | |
} |
Class | -Coverage | -
---|
Class | -CRAP | -
---|
Method | -Coverage | -
---|
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 100.00% |
- 13 / 13 |
-
-
-
- |
- 100.00% |
- 8 / 8 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
Authentication.php | -
-
-
- |
- 100.00% |
- 13 / 13 |
-
-
-
- |
- 100.00% |
- 8 / 8 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
- CRAP | -
-
-
- |
- 92.31% |
- 24 / 26 |
-
ModuleInstanceFactory | -
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
- 3.00 | -
-
-
- |
- 92.31% |
- 24 / 26 |
-
createModuleInstance | -
-
-
- |
- 0.00% |
- 0 / 1 |
- 3.00 | -
-
-
- |
- 92.31% |
- 24 / 26 |
-
<?php | |
namespace BristolSU\Playground\Support\Module; | |
use BristolSU\Support\Activity\Activity; | |
use BristolSU\Support\Logic\Logic; | |
use BristolSU\Support\Module\Contracts\Module; | |
use BristolSU\Support\ModuleInstance\ModuleInstance; | |
use Illuminate\Support\Str; | |
/** | |
* Create a module instance class with dummy data. | |
*/ | |
class ModuleInstanceFactory | |
{ | |
/** | |
* Create a module instance and associated activity given a name | |
* | |
* @param Module $module Module to create the module instance with | |
* @param string $name Name to use throughout production | |
* @return ModuleInstance Created module instance | |
*/ | |
public function createModuleInstance(Module $module, string $name): ModuleInstance | |
{ | |
// Create logic | |
$logic = Logic::create([ | |
'name' => $name, | |
'description' => 'Logic.'. $module->getAlias() | |
]); | |
// Create an activity | |
$activitySlug = Str::random(25); | |
while(Activity::where('slug', $activitySlug)->count() > 0) { | |
$activitySlug = Str::random(25); | |
} | |
$activity = Activity::create([ | |
'name' => 'Activity '.$activitySlug, | |
'description' => 'Activity '.$activitySlug, | |
'slug' => $activitySlug, | |
'type' => 'open', | |
'activity_for' => 'user', | |
'for_logic' => $logic->id, | |
'admin_logic' => $logic->id, | |
]); | |
// Create a module instance | |
$moduleInstanceSlug = Str::random(25); | |
while(ModuleInstance::where('slug', $moduleInstanceSlug)->count() > 0) { | |
$moduleInstanceSlug = Str::random(25); | |
} | |
$moduleInstance = ModuleInstance::create([ | |
'alias' => $module->getAlias(), | |
'name' => $name, | |
'description' => 'Module instance for the ' . $module->getName() . ' module with an alias ' . $module->getAlias(), | |
'active' => $logic->id, | |
'visible' => $logic->id, | |
'slug' => $moduleInstanceSlug, | |
'activity_id' => $activity->id, | |
]); | |
return $moduleInstance; | |
} | |
} |
Class | -Coverage | -
---|
Class | -CRAP | -
---|
Method | -Coverage | -
---|
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 92.31% |
- 24 / 26 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
ModuleInstanceFactory.php | -
-
-
- |
- 92.31% |
- 24 / 26 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- CRAP | -- | n/a |
- 0 / 0 |
-
ModulePermission | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- 0 | -- | n/a |
- 0 / 0 |
-
<?php | |
namespace BristolSU\Playground\Support\Permissions; | |
use Illuminate\Database\Eloquent\Model; | |
/** | |
* Holds information about assigned permissions | |
*/ | |
class ModulePermission extends Model | |
{ | |
/** | |
* Fillable attributes | |
* | |
* - ability: The string that represents the permission | |
* - result: A boolean representing the result of the permission check | |
* - moduleInstanceId: ID of the module instance the permission belongs to | |
* | |
* @var array | |
*/ | |
protected $fillable = [ | |
'ability', | |
'result', | |
'module_instance_id' | |
]; | |
/** | |
* Attributes to cast | |
* | |
* @var array | |
*/ | |
protected $casts = [ | |
'result' => 'boolean' | |
]; | |
} |
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
- |||||||
Total | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- CRAP | -
-
-
- |
- 100.00% |
- 8 / 8 |
-
OverridePermissionTester | -
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
- 7 | -
-
-
- |
- 100.00% |
- 8 / 8 |
-
can | -
-
-
- |
- 100.00% |
- 1 / 1 |
- 7 | -
-
-
- |
- 100.00% |
- 8 / 8 |
-
<?php | |
namespace BristolSU\Playground\Support\Permissions; | |
use BristolSU\ControlDB\Contracts\Models\Group; | |
use BristolSU\ControlDB\Contracts\Models\Role; | |
use BristolSU\ControlDB\Contracts\Models\User; | |
use BristolSU\Support\ActivityInstance\Exceptions\NotInActivityInstanceException; | |
use BristolSU\Support\ModuleInstance\ModuleInstance; | |
use BristolSU\Support\Permissions\Contracts\Models\Permission; | |
use BristolSU\Support\Permissions\Contracts\Tester; | |
use Illuminate\Contracts\Container\BindingResolutionException; | |
use Illuminate\Database\Eloquent\ModelNotFoundException; | |
/** | |
* Playground permission tester | |
*/ | |
class OverridePermissionTester extends Tester | |
{ | |
/** | |
* Do the given credentials have the permission? | |
* | |
* @param Permission $permission Permission to test | |
* @param User|null $user User to test the permission against | |
* @param Group|null $group Group to test the permission against | |
* @param Role|null $role Role to test the permission against | |
* | |
* @return bool Result in the permissions table, or true if not found. | |
*/ | |
public function can(Permission $permission, ?User $user, ?Group $group, ?Role $role): ?bool | |
{ | |
try { | |
if(!app(ModuleInstance::class)->exists) { | |
return false; | |
} | |
$modulePermission = ModulePermission::where('module_instance_id', app(ModuleInstance::class)->id()) | |
->where('ability', $permission->getAbility()) | |
->firstOrFail(); | |
} catch (ModelNotFoundException $e) { | |
return true; | |
} | |
return $modulePermission->result; | |
} | |
} |
Class | -Coverage | -
---|
Class | -CRAP | -
---|
Method | -Coverage | -
---|
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 100.00% |
- 8 / 8 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
ModulePermission.php | -- | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
- - | n/a |
- 0 / 0 |
-
OverridePermissionTester.php | -
-
-
- |
- 100.00% |
- 8 / 8 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
Class | -Coverage | -
---|
Class | -CRAP | -
---|
Method | -Coverage | -
---|
Method | -CRAP | -
---|
- | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
- ||||||
Total | -
-
-
- |
- 95.74% |
- 45 / 47 |
-
-
-
- |
- 90.00% |
- 9 / 10 |
-
-
-
- |
- 66.67% |
- 2 / 3 |
-
Authentication | -
-
-
- |
- 100.00% |
- 13 / 13 |
-
-
-
- |
- 100.00% |
- 8 / 8 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
Module | -
-
-
- |
- 92.31% |
- 24 / 26 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
-
-
- |
- 0.00% |
- 0 / 1 |
-
Permissions | -
-
-
- |
- 100.00% |
- 8 / 8 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
-
-
- |
- 100.00% |
- 1 / 1 |
-
0)for(u=-1;++u","
"],col:[2,"
"],tr:[2,"","
"],td:[3,"
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n","