[L6] Update composer dependencies to support L6

Drops all of the eloquence requirements, this is going to break a shit load of code, needs to happen tired of this package always holding us back.

Quite confident in my ability to write custom code to do the basic validation we need.

Searching should be a fun nightmare to deal with later...
This commit is contained in:
Dane Everitt 2019-09-04 21:00:34 -07:00
parent 901515e94b
commit 08bdc9705f
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
25 changed files with 125 additions and 685 deletions

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Allocation extends Model implements CleansAttributes, ValidableContract
class Allocation extends Validable
{
use Eloquence, Validable;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.

View file

@ -2,17 +2,10 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Pterodactyl\Services\Acl\Api\AdminAcl;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class ApiKey extends Model implements CleansAttributes, ValidableContract
class ApiKey extends Validable
{
use Eloquence, Validable;
/**
* Different API keys that can exist on the system.
*/

View file

@ -2,16 +2,11 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Znck\Eloquent\Traits\BelongsToThrough;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class DaemonKey extends Model implements CleansAttributes, ValidableContract
class DaemonKey extends Validable
{
use BelongsToThrough, Eloquence, Validable;
use BelongsToThrough;
/**
* @var string

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Database extends Model implements CleansAttributes, ValidableContract
class Database extends Validable
{
use Eloquence, Validable;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class DatabaseHost extends Model implements CleansAttributes, ValidableContract
class DatabaseHost extends Validable
{
use Eloquence, Validable;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Egg extends Model implements CleansAttributes, ValidableContract
class Egg extends Validable
{
use Eloquence, Validable;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class EggVariable extends Model implements CleansAttributes, ValidableContract
class EggVariable extends Validable
{
use Eloquence, Validable;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Location extends Model implements CleansAttributes, ValidableContract
class Location extends Validable
{
use Eloquence, Validable;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Nest extends Model implements CleansAttributes, ValidableContract
class Nest extends Validable
{
use Eloquence, Validable;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.

View file

@ -2,16 +2,11 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Node extends Model implements CleansAttributes, ValidableContract
class Node extends Validable
{
use Eloquence, Notifiable, Validable;
use Notifiable;
/**
* The resource name for this model when it is transformed into an

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Pack extends Model implements CleansAttributes, ValidableContract
class Pack extends Validable
{
use Eloquence, Validable;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Permission extends Model implements CleansAttributes, ValidableContract
class Permission extends Validable
{
use Eloquence, Validable;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Schedule extends Model implements CleansAttributes, ValidableContract
class Schedule extends Validable
{
use Eloquence, Validable;
/**
* The resource name for this model when it is transformed into an
* API representation using fractal.

View file

@ -3,13 +3,8 @@
namespace Pterodactyl\Models;
use Schema;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
use Znck\Eloquent\Traits\BelongsToThrough;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
/**
* @property int $id
@ -55,9 +50,9 @@ use Sofa\Eloquence\Contracts\Validable as ValidableContract;
* @property \Pterodactyl\Models\DaemonKey $key
* @property \Pterodactyl\Models\DaemonKey[]|\Illuminate\Support\Collection $keys
*/
class Server extends Model implements CleansAttributes, ValidableContract
class Server extends Validable
{
use BelongsToThrough, Eloquence, Notifiable, Validable;
use BelongsToThrough, Notifiable;
/**
* The resource name for this model when it is transformed into an

View file

@ -1,11 +1,4 @@
<?php
/**
* Pterodactyl - Panel
* Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>.
*
* This software is licensed under the terms of the MIT license.
* https://opensource.org/licenses/MIT
*/
namespace Pterodactyl\Models;

View file

@ -2,16 +2,8 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Setting extends Model implements CleansAttributes, ValidableContract
class Setting extends Validable
{
use Eloquence, Validable;
/**
* The table associated with the model.
*

View file

@ -2,16 +2,11 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Subuser extends Model implements CleansAttributes, ValidableContract
class Subuser extends Validable
{
use Eloquence, Notifiable, Validable;
use Notifiable;
/**
* The resource name for this model when it is transformed into an

View file

@ -2,16 +2,11 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Illuminate\Database\Eloquent\Model;
use Znck\Eloquent\Traits\BelongsToThrough;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
class Task extends Model implements CleansAttributes, ValidableContract
class Task extends Validable
{
use BelongsToThrough, Eloquence, Validable;
use BelongsToThrough;
/**
* The resource name for this model when it is transformed into an

View file

@ -1,11 +1,4 @@
<?php
/**
* Pterodactyl - Panel
* Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>.
*
* This software is licensed under the terms of the MIT license.
* https://opensource.org/licenses/MIT
*/
namespace Pterodactyl\Models;

View file

@ -2,34 +2,25 @@
namespace Pterodactyl\Models;
use Sofa\Eloquence\Eloquence;
use Sofa\Eloquence\Validable;
use Pterodactyl\Rules\Username;
use Illuminate\Support\Collection;
use Illuminate\Validation\Rules\In;
use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;
use Sofa\Eloquence\Contracts\CleansAttributes;
use Illuminate\Auth\Passwords\CanResetPassword;
use Pterodactyl\Traits\Helpers\AvailableLanguages;
use Illuminate\Foundation\Auth\Access\Authorizable;
use Sofa\Eloquence\Contracts\Validable as ValidableContract;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Pterodactyl\Notifications\SendPasswordReset as ResetPasswordNotification;
class User extends Model implements
class User extends Validable implements
AuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract,
CleansAttributes,
ValidableContract
CanResetPasswordContract
{
use Authenticatable, Authorizable, AvailableLanguages, CanResetPassword, Eloquence, Notifiable, Validable {
gatherRules as eloquenceGatherRules;
}
use Authenticatable, Authorizable, AvailableLanguages, CanResetPassword, Notifiable;
const USER_LEVEL_USER = 0;
const USER_LEVEL_ADMIN = 1;
@ -171,7 +162,6 @@ class User extends Model implements
*/
protected static function gatherRules()
{
$rules = self::eloquenceGatherRules();
$rules['language'][] = new In(array_keys((new self)->getAvailableLanguages()));
$rules['username'][] = new Username;

40
app/Models/Validable.php Normal file
View file

@ -0,0 +1,40 @@
<?php
namespace Pterodactyl\Models;
use Illuminate\Database\Eloquent\Model;
abstract class Validable extends Model
{
/**
* @var array
*/
protected static $applicationRules = [];
/**
* @var array
*/
protected static $dataIntegrityRules = [];
/**
* Listen for the model saving event and fire off the validation
* function before it is saved.
*/
protected static function boot()
{
parent::boot();
static::saving(function (Validable $model) {
return $model->validate();
});
}
/**
* @todo implement custom logic once L6 is done
* @return bool
*/
public function validate()
{
return true;
}
}