46 lines
1.1 KiB
PHP
46 lines
1.1 KiB
PHP
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace Engelsystem\Migrations;
|
||
|
|
||
|
use Engelsystem\Database\Migration\Migration;
|
||
|
|
||
|
class CreateApiPermissions extends Migration
|
||
|
{
|
||
|
/**
|
||
|
* Run the migration
|
||
|
*/
|
||
|
public function up(): void
|
||
|
{
|
||
|
$db = $this->schema->getConnection();
|
||
|
$db->table('privileges')->insert([
|
||
|
['name' => 'api', 'description' => 'Use the API'],
|
||
|
]);
|
||
|
$db->table('groups')->insert([
|
||
|
['id' => 40, 'name' => 'API'],
|
||
|
]);
|
||
|
|
||
|
$bureaucratGroup = 80;
|
||
|
$apiId = $db->table('privileges')->where('name', 'api')->first()->id;
|
||
|
$db->table('group_privileges')->insert([
|
||
|
['group_id' => $bureaucratGroup, 'privilege_id' => $apiId],
|
||
|
['group_id' => 40, 'privilege_id' => $apiId],
|
||
|
]);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Reverse the migration
|
||
|
*/
|
||
|
public function down(): void
|
||
|
{
|
||
|
$db = $this->schema->getConnection();
|
||
|
$db->table('privileges')
|
||
|
->where('name', 'api')
|
||
|
->delete();
|
||
|
$db->table('groups')
|
||
|
->where('id', 40)
|
||
|
->delete();
|
||
|
}
|
||
|
}
|