1515 * @property int $node_id
1616 * @property string $name
1717 * @property string $description
18+ * @property string|null $status
1819 * @property bool $skip_scripts
19- * @property bool $suspended
2020 * @property int $owner_id
2121 * @property int $memory
2222 * @property int $swap
3030 * @property int $egg_id
3131 * @property string $startup
3232 * @property string $image
33- * @property int $installed
3433 * @property int $allocation_limit
3534 * @property int $database_limit
3635 * @property int $backup_limit
@@ -64,9 +63,9 @@ class Server extends Model
6463 */
6564 const RESOURCE_NAME = 'server ' ;
6665
67- const STATUS_INSTALLING = 0 ;
68- const STATUS_INSTALLED = 1 ;
69- const STATUS_INSTALL_FAILED = 2 ;
66+ const STATUS_INSTALLING = ' installing ' ;
67+ const STATUS_INSTALL_FAILED = ' install_failed ' ;
68+ const STATUS_SUSPENDED = ' suspended ' ;
7069
7170 /**
7271 * The table associated with the model.
@@ -82,6 +81,7 @@ class Server extends Model
8281 * @var array
8382 */
8483 protected $ attributes = [
84+ 'status ' => self ::STATUS_INSTALLING ,
8585 'oom_disabled ' => true ,
8686 ];
8787
@@ -104,7 +104,7 @@ class Server extends Model
104104 *
105105 * @var array
106106 */
107- protected $ guarded = ['id ' , ' installed ' , self ::CREATED_AT , self ::UPDATED_AT , 'deleted_at ' ];
107+ protected $ guarded = ['id ' , self ::CREATED_AT , self ::UPDATED_AT , 'deleted_at ' ];
108108
109109 /**
110110 * @var array
@@ -115,6 +115,7 @@ class Server extends Model
115115 'name ' => 'required|string|min:1|max:191 ' ,
116116 'node_id ' => 'required|exists:nodes,id ' ,
117117 'description ' => 'string ' ,
118+ 'status ' => 'nullable|string ' ,
118119 'memory ' => 'required|numeric|min:0 ' ,
119120 'swap ' => 'required|numeric|min:-1 ' ,
120121 'io ' => 'required|numeric|between:10,1000 ' ,
@@ -142,7 +143,6 @@ class Server extends Model
142143 protected $ casts = [
143144 'node_id ' => 'integer ' ,
144145 'skip_scripts ' => 'boolean ' ,
145- 'suspended ' => 'boolean ' ,
146146 'owner_id ' => 'integer ' ,
147147 'memory ' => 'integer ' ,
148148 'swap ' => 'integer ' ,
@@ -153,7 +153,6 @@ class Server extends Model
153153 'allocation_id ' => 'integer ' ,
154154 'nest_id ' => 'integer ' ,
155155 'egg_id ' => 'integer ' ,
156- 'installed ' => 'integer ' ,
157156 'database_limit ' => 'integer ' ,
158157 'allocation_limit ' => 'integer ' ,
159158 'backup_limit ' => 'integer ' ,
@@ -176,7 +175,12 @@ public function getAllocationMappings(): array
176175 */
177176 public function isInstalled (): bool
178177 {
179- return $ this ->installed === 1 ;
178+ return $ this ->status !== self ::STATUS_INSTALLING && $ this ->status !== self ::STATUS_INSTALL_FAILED ;
179+ }
180+
181+ public function isSuspended (): bool
182+ {
183+ return $ this ->status === self ::STATUS_SUSPENDED ;
180184 }
181185
182186 /**
0 commit comments