* Device Backups können nun automatisch übers Tool getriggert werden Zeiterfassung Update * Vorbereitung für ZA Buchungen
67 lines
2.3 KiB
PHP
67 lines
2.3 KiB
PHP
<?php
|
|
|
|
class DeviceApicontroller extends mfBaseApicontroller
|
|
{
|
|
protected function init()
|
|
{
|
|
$db = $this->db(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
|
$this->addRoute("/device/getDevices", "getDevices", "GET");
|
|
$this->addRoute("/device/updateDevices", "updateDevices", "POST");
|
|
|
|
}
|
|
|
|
protected function getDevices()
|
|
{
|
|
$devices = DeviceModel::getAll();
|
|
foreach ($devices as $key => $device) {
|
|
$deviceReturn[$key]['id'] = $device->id;
|
|
$deviceReturn[$key]['name'] = $device->name;
|
|
$deviceReturn[$key]['ip'] = $device->ip;
|
|
$deviceReturn[$key]['snmp_version'] = $device->snmp_version;
|
|
$deviceReturn[$key]['serial'] = $device->serial;
|
|
$deviceReturn[$key]['last_config_backup'] = $device->last_config_backup;
|
|
$deviceReturn[$key]['manufactor'] = $device->devicetype->devicemanufactor->name;
|
|
$deviceReturn[$key]['autobackup'] = $device->autobackup;
|
|
|
|
}
|
|
|
|
return mfResponse::Ok($deviceReturn);
|
|
|
|
}
|
|
|
|
protected function updateDevices()
|
|
{
|
|
$id = $this->post['id'];
|
|
$changeArray[] = 'last_config_backup';
|
|
if ($id) {
|
|
$device = new Device($id);
|
|
if (!$device->id) {
|
|
return mfResponse::BadRequest(['message' => "Device not found"]);
|
|
}
|
|
$data = [];
|
|
foreach ($this->post as $keychanges => $changes) {
|
|
if (in_array($keychanges, $changeArray)) {
|
|
if ($changes == "null" || empty($changes)) {
|
|
$data[$keychanges] = NULL;
|
|
} else {
|
|
$data[$keychanges] = $changes;
|
|
}
|
|
}
|
|
}
|
|
if (!empty($data)) {
|
|
$device->update($data);
|
|
$device->save();
|
|
$result['message'] = 'Device update success';
|
|
$result['updates'] = implode(",", array_keys($data));
|
|
return mfResponse::Ok($result);
|
|
} else {
|
|
return mfResponse::BadRequest(['message' => "Keine Update Felder angegeben"]);
|
|
}
|
|
|
|
} else {
|
|
return mfResponse::BadRequest(['message' => "Device id nicht angegeben"]);
|
|
}
|
|
|
|
}
|
|
|
|
} |