bool SyncanoDataObject::details(int id){ SyncanoRequest request(getSyncanoClient()); SyncanoClient* client = getSyncanoClient(); if(id == -1){ id = this->getFieldValue("id").toInt(); } String neededFields = ""; for(int var = 0; var < masterClass->getFieldCount(); var++){ neededFields += masterClass->getFieldName(var); if( (var+1) != masterClass->getFieldCount()){ neededFields+=","; } } String returnedString = request.sendRequest("GET",client->getInstanceName()+F("/classes/")+masterClass->getClassName()+F("/objects/")+String(id)+F("/?fields=")+neededFields); neededFields = ""; if(returnedString != ""){ if(JSONdecode(returnedString)){ return true; } } return false; }
void SyncanoDataObject::remove() { SyncanoRequest request(getSyncanoClient()); SyncanoClient* client = getSyncanoClient(); request.sendRequest("DELETE",client->getInstanceName()+F("/classes/")+masterClass->getClassName()+F("/objects/")+this->getFieldValue("id")+"/"); delete fieldValue; fieldValue = new DataHolder [masterClass->getFieldCount()]; for(int i=0;i<masterClass->getFieldCount();i++){ this->setFieldValue(masterClass->getFieldName(i),"0"); } }
bool SyncanoDataObject::update() { SyncanoRequest request(getSyncanoClient()); SyncanoClient* client = getSyncanoClient(); String response = request.sendRequest("PATCH",client->getInstanceName()+F("/classes/")+masterClass->getClassName()+F("/objects/")+String(this->getFieldValue("id"))+"/",JSONencode()); if(getIntFromJsonDirty(response, "id") >= 0){ return true; } else{ return false; } }
bool SyncanoDataObject::add(){ SyncanoRequest request(getSyncanoClient()); SyncanoClient* client = getSyncanoClient(); String id = request.sendRequest("POST",client->getInstanceName()+F("/classes/")+masterClass->getClassName()+F("/objects/"),JSONencode()); this->setFieldValue("id",getIntFromJsonDirty(id, "id")); if(this->getFieldValue("id").toInt() >= 0 ){ return true; } return false; }
String SyncanoScriptRun(int scriptId,String JSON){ SyncanoRequest request(getSyncanoClient()); SyncanoClient* client = getSyncanoClient(); return request.sendRequest(SyncanoClient::HTTP::POST,client->getInstanceName()+"/snippets/scripts/"+scriptId+"/run/",JSON); }
String SyncanoEndpointScriptRun(String scriptName, String JSON){ SyncanoRequest request(getSyncanoClient()); SyncanoClient* client = getSyncanoClient(); return request.sendRequest(SyncanoClient::HTTP::POST,client->getInstanceName()+"/endpoints/scripts/"+scriptName+"/run/",JSON); }