If a server has the "new" state and it is deleted, it will be permanent.
This commit is contained in:
@@ -48,6 +48,18 @@ class API_servers extends API
|
||||
public function updateServer()
|
||||
{
|
||||
|
||||
# if the server_state that is posted is 'deleted' check if the current server state is 'new' if so, delete it perm.
|
||||
if ($this->data['server_state'] == 'deleted') {
|
||||
$stmt = $GLOBALS['pdo']->prepare("SELECT server_state FROM servers WHERE server_vm_id = ? AND server_state = 'new'");
|
||||
$stmt->execute([$this->data['server_vm_id']]);
|
||||
|
||||
if ($stmt->fetch()) {
|
||||
$deleteStmt = $GLOBALS['pdo']->prepare("DELETE FROM servers WHERE server_vm_id = ? AND server_state = 'new'");
|
||||
$deleteStmt->execute([$this->data['server_vm_id']]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($this->data['company_uuid'])) {
|
||||
if (strlen($this->data['company_uuid']) == 0) {
|
||||
$this->data['company_uuid'] = NULL;
|
||||
@@ -84,7 +96,7 @@ class API_servers extends API
|
||||
if (array_key_exists($field, $this->data)) {
|
||||
$insertFields[] = $field;
|
||||
$insertValues[] = ":$field";
|
||||
$bindParams[":$field"] = $this->data[$field]; // can be NULL
|
||||
$bindParams[":$field"] = $this->data[$field];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,8 +127,6 @@ class API_servers extends API
|
||||
if (!$stmt->execute($bindParams)) {
|
||||
$this->apiOutput(400, ['error' => "Failed to insert server into database"]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private function validateLicenseData($server_vm_id, $server_licenses)
|
||||
@@ -255,15 +265,4 @@ class API_servers extends API
|
||||
|
||||
$this->updateServer();
|
||||
}
|
||||
|
||||
public function deleteServer()
|
||||
{
|
||||
$query = "DELETE FROM servers WHERE server_uuid = ?";
|
||||
$stmt = $this->prepareStatement($query);
|
||||
$stmt->bind_param('s', $this->data['server_uuid']);
|
||||
$this->executeStatement($stmt);
|
||||
$stmt->close();
|
||||
|
||||
$this->apiOutput(200, ['success' => 'Server removed']);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user