Files
sysadm/src/server/library/sysadm-update.h
Ken Moore 311bd579f3 API CHANGE:
Two new actions for the sysadm/update class: "listlogs" and "readlogs";

REST Request (example):
-------------------------------
PUT /sysadm/update
{
   "action" : "listlogs"
}

WebSocket Request:
-------------------------------
{
   "namespace" : "sysadm",
   "name" : "update",
   "args" : {
      "action" : "listlogs"
   },
   "id" : "fooid"
}

Response:
-------------------------------
{
  "args": {
    "listlogs": {
      "pc-updatemanager.log": {
        "finished": "1484127618",
        "name": "pc-updatemanager.log",
        "started": "1484127618"
      },
      "pc-updatemanager.log.prev": {
        "finished": "1484109171",
        "name": "pc-updatemanager.log.prev",
        "started": "1484109171"
      }
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}

===================================

REST Request (example):
-------------------------------
PUT /sysadm/update
{
   "logs" : [
      "pc-updatemanager.log"
   ],
   "action" : "readlogs"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "namespace" : "sysadm",
   "name" : "update",
   "args" : {
      "logs" : [
         "pc-updatemanager.log"
      ],
      "action" : "readlogs"
   }
}

Response:
-------------------------------
{
  "args": {
    "readlogs": {
      "pc-updatemanager.log": "pc-updatemanager: Tue Jan 10 23:32:51 EST 2017\nChecking for updates to ports-mgmt/pkg..\nUpdating the package repo database...\nCleaning old pkg upgrade cache...\n<Shortened For Example>\nDetermine new BE name...\nCleanup mounts..."
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-01-12 12:57:40 -05:00

38 lines
955 B
C++

//===========================================
// PC-BSD source code
// Copyright (c) 2015, PC-BSD Software/iXsystems
// Available under the 3-clause BSD license
// See the LICENSE file for full details
//===========================================
#ifndef __PCBSD_LIB_UTILS_UPDATER_H
#define __PCBSD_LIB_UTILS_UPDATER_H
#include <QJsonObject>
#include "sysadm-global.h"
namespace sysadm{
class Update{
public:
//Time stamps
static QDateTime lastFullCheck();
static QDateTime rebootRequiredSince();
//Listing routines
static QJsonObject checkUpdates(bool fast = false);
static QJsonObject listBranches();
//Start/stop update routine
static QJsonObject startUpdate(QJsonObject);
static QJsonObject stopUpdate();
//Read/write update settings
static QJsonObject readSettings();
static QJsonObject writeSettings(QJsonObject);
//List/Read update logs
static QJsonObject listLogs();
static QJsonObject readLog(QJsonObject);
};
}
#endif