34 lines
		
	
	
		
			874 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			874 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use Storage\Session;
 | |
| 
 | |
| use Taxus\{ Privilege, Taxus, PermissionGrantInterface, DefaultPermissionGrant };
 | |
| 
 | |
| use Psr\Http\Message\ServerRequestInterface;
 | |
| 
 | |
| use function DI\{ create, get, add };
 | |
| 
 | |
| return [
 | |
|     Taxus::class => function ($c) {
 | |
|         $taxus = new Taxus( ... $c->get('taxus.gates') );
 | |
| 
 | |
|         $list = [];
 | |
| 
 | |
|         foreach($c->get(Lean\Lean::class)->getTaxusPrivileges() as $key => $privilege) {
 | |
|             foreach($privilege as $name => $description) {
 | |
|                 $list[] = [ new Privilege($name, $description), $key ];
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         $taxus->add(... $list);
 | |
| 
 | |
|         return $taxus;
 | |
|     },
 | |
| 
 | |
|     'taxus.gates' => add([
 | |
|         get(PermissionGrantInterface::class),
 | |
|     ]),
 | |
| 
 | |
|     PermissionGrantInterface::class => create(%NAMESPACE%\PrivilegeGrantAccess::class)->constructor(get(ServerRequestInterface::class), get(Session::class)),
 | |
| ];
 |