Pass at removing extraneous permissions table and using native MySQL JSON

This commit is contained in:
Dane Everitt 2020-03-22 16:56:00 -07:00
parent 23d594f655
commit 32f25170f1
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
7 changed files with 132 additions and 32 deletions

View file

@ -286,28 +286,4 @@ class Permission extends Validable
return collect(self::$deprecatedPermissions);
}
/**
* Find permission by permission node.
*
* @param \Illuminate\Database\Query\Builder $query
* @param string $permission
* @return \Illuminate\Database\Query\Builder
*/
public function scopePermission($query, $permission)
{
return $query->where('permission', $permission);
}
/**
* Filter permission by server.
*
* @param \Illuminate\Database\Query\Builder $query
* @param \Pterodactyl\Models\Server $server
* @return \Illuminate\Database\Query\Builder
*/
public function scopeServer($query, Server $server)
{
return $query->where('server_id', $server->id);
}
}

View file

@ -8,12 +8,12 @@ use Illuminate\Notifications\Notifiable;
* @property int $id
* @property int $user_id
* @property int $server_id
* @property array $permissions
* @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at
*
* @property \Pterodactyl\Models\User $user
* @property \Pterodactyl\Models\Server $server
* @property \Pterodactyl\Models\Permission[]|\Illuminate\Database\Eloquent\Collection $permissions
*/
class Subuser extends Validable
{
@ -45,8 +45,9 @@ class Subuser extends Validable
* @var array
*/
protected $casts = [
'user_id' => 'integer',
'server_id' => 'integer',
'user_id' => 'int',
'server_id' => 'int',
'permissions' => 'array',
];
/**
@ -55,6 +56,8 @@ class Subuser extends Validable
public static $validationRules = [
'user_id' => 'required|numeric|exists:users,id',
'server_id' => 'required|numeric|exists:servers,id',
'permissions' => 'nullable|array',
'permissions.*' => 'string',
];
/**