mirror of
https://github.com/Telecominfraproject/wlan-cloud-ucentralfms.git
synced 2025-11-03 04:08:03 +00:00
48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
//
|
|
// Created by stephane bourque on 2021-05-09.
|
|
//
|
|
|
|
#include "RESTAPI_firmwaresHandler.h"
|
|
#include "uStorageService.h"
|
|
|
|
void RESTAPI_firmwaresHandler::handleRequest(Poco::Net::HTTPServerRequest& Request, Poco::Net::HTTPServerResponse& Response) {
|
|
if (!ContinueProcessing(Request, Response))
|
|
return;
|
|
|
|
if (!IsAuthorized(Request, Response))
|
|
return;
|
|
|
|
ParseParameters(Request);
|
|
if(Request.getMethod()==Poco::Net::HTTPRequest::HTTP_GET)
|
|
DoGet(Request, Response);
|
|
else
|
|
BadRequest(Response);
|
|
|
|
}
|
|
|
|
void RESTAPI_firmwaresHandler::DoGet(Poco::Net::HTTPServerRequest& Request, Poco::Net::HTTPServerResponse& Response) {
|
|
try {
|
|
auto Offset = GetParameter("offset", 0);
|
|
auto Limit = GetParameter("limit", 100);
|
|
|
|
std::vector<uCentral::Objects::Firmware> List;
|
|
if (uCentral::Storage::GetFirmwares(Offset, Limit, List)) {
|
|
|
|
Poco::JSON::Array ObjectArray;
|
|
|
|
for(const auto &i:List) {
|
|
Poco::JSON::Object Obj;
|
|
i.to_json(Obj);
|
|
ObjectArray.add(Obj);
|
|
}
|
|
Poco::JSON::Object RetObj;
|
|
RetObj.set("firmwares",ObjectArray);
|
|
ReturnObject(RetObj,Response);
|
|
return;
|
|
}
|
|
} catch(const Poco::Exception &E) {
|
|
Logger_.log(E);
|
|
}
|
|
BadRequest(Response);
|
|
}
|