Skip to content

Commit d6bd7e7

Browse files
committed
Fix casts on models; closes pterodactyl#49
1 parent fa6a535 commit d6bd7e7

File tree

10 files changed

+116
-0
lines changed

10 files changed

+116
-0
lines changed

app/Models/APIPermission.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@ class APIPermission extends Model
4242
*/
4343
protected $guarded = ['id'];
4444

45+
/**
46+
* Cast values to correct type.
47+
*
48+
* @var array
49+
*/
50+
protected $casts = [
51+
'key_id' => 'integer',
52+
];
53+
4554
/**
4655
* Disable timestamps for this table.
4756
*

app/Models/Allocation.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,15 @@ class Allocation extends Model
4242
*/
4343
protected $guarded = ['id', 'created_at', 'updated_at'];
4444

45+
/**
46+
* Cast values to correct type.
47+
*
48+
* @var array
49+
*/
50+
protected $casts = [
51+
'node' => 'integer',
52+
'port' => 'integer',
53+
'assigned_to' => 'integer',
54+
];
55+
4556
}

app/Models/Node.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,20 @@ class Node extends Model
4343
*/
4444
protected $hidden = ['daemonSecret'];
4545

46+
/**
47+
* Cast values to correct type.
48+
*
49+
* @var array
50+
*/
51+
protected $casts = [
52+
'public' => 'integer',
53+
'location' => 'integer',
54+
'memory' => 'integer',
55+
'disk' => 'integer',
56+
'daemonListen' => 'integer',
57+
'daemonSFTP' => 'integer',
58+
];
59+
4660
/**
4761
* Fields that are not mass assignable.
4862
*

app/Models/Permission.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,16 @@ class Permission extends Model
4242
*/
4343
protected $guarded = ['id', 'created_at', 'updated_at'];
4444

45+
/**
46+
* Cast values to correct type.
47+
*
48+
* @var array
49+
*/
50+
protected $casts = [
51+
'user_id' => 'integer',
52+
'server_id' => 'integer',
53+
];
54+
4555
public function scopePermission($query, $permission)
4656
{
4757
return $query->where('permission', $permission);

app/Models/Server.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,27 @@ class Server extends Model
5252
*/
5353
protected $guarded = ['id', 'installed', 'created_at', 'updated_at'];
5454

55+
/**
56+
* Cast values to correct type.
57+
*
58+
* @var array
59+
*/
60+
protected $casts = [
61+
'node' => 'integer',
62+
'active' => 'integer',
63+
'owner' => 'integer',
64+
'memory' => 'integer',
65+
'swap' => 'integer',
66+
'disk' => 'integer',
67+
'io' => 'integer',
68+
'cpu' => 'integer',
69+
'oom_disabled' => 'integer',
70+
'port' => 'integer',
71+
'service' => 'integer',
72+
'option' => 'integer',
73+
'installed' => 'integer',
74+
];
75+
5576
/**
5677
* @var array
5778
*/

app/Models/ServerVariables.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,14 @@ class ServerVariables extends Model
4242
*/
4343
protected $guarded = ['id', 'created_at', 'updated_at'];
4444

45+
/**
46+
* Cast values to correct type.
47+
*
48+
* @var array
49+
*/
50+
protected $casts = [
51+
'server_id' => 'integer',
52+
'variable_id' => 'integer',
53+
];
54+
4555
}

app/Models/ServiceOptions.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,13 @@ class ServiceOptions extends Model
3535
*/
3636
protected $table = 'service_options';
3737

38+
/**
39+
* Cast values to correct type.
40+
*
41+
* @var array
42+
*/
43+
protected $casts = [
44+
'parent_service' => 'integer',
45+
];
46+
3847
}

app/Models/ServiceVariables.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,16 @@ class ServiceVariables extends Model
3535
*/
3636
protected $table = 'service_variables';
3737

38+
/**
39+
* Cast values to correct type.
40+
*
41+
* @var array
42+
*/
43+
protected $casts = [
44+
'option_id' => 'integer',
45+
'user_viewable' => 'integer',
46+
'user_editable' => 'integer',
47+
'required' => 'integer',
48+
];
49+
3850
}

app/Models/Subuser.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,16 @@ class Subuser extends Model
5050
*/
5151
protected $guarded = ['id', 'created_at', 'updated_at'];
5252

53+
/**
54+
* Cast values to correct type.
55+
*
56+
* @var array
57+
*/
58+
protected $casts = [
59+
'user_id' => 'integer',
60+
'server_id' => 'integer',
61+
];
62+
5363
/**
5464
* @var mixed
5565
*/

app/Models/User.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,16 @@ class User extends Model implements AuthenticatableContract,
5757
*/
5858
protected $guarded = ['id', 'remeber_token', 'created_at', 'updated_at'];
5959

60+
/**
61+
* Cast values to correct type.
62+
*
63+
* @var array
64+
*/
65+
protected $casts = [
66+
'root_admin' => 'integer',
67+
'use_totp' => 'integer',
68+
];
69+
6070
/**
6171
* The attributes excluded from the model's JSON form.
6272
*

0 commit comments

Comments
 (0)