var engine = { version:'1.0.31', events:{ onResponse:null }, lib:{ jsonToFormData: function(json) { const formData = new FormData(); for (const key in json) { if (json.hasOwnProperty(key)) { formData.append(key, json[key]); } } return formData; }, requestFormData: function(url,p,method,payload,bAsync,callBackOk,callBackError){ var resp=''; /*fetch(this.replaceUrl(url,p), { method: method, body: this.jsonToFormData(p), async: bAsync, }) .then(data => { if (callBackOk) {callBackOk(data);} else{resp=data;} }) .catch(err => { if (callBackError) {callBackError( err );} else{resp=err;} });*/ $.ajax({ url: this.replaceUrl(url,p), method: method, async: bAsync, contentType: false, processData:false, data:this.jsonToFormData(p) }).done(function(data) { if(engine.events.onResponse) engine.events.onResponse(data); if (callBackOk) {callBackOk(data);} else{resp=data;} }).fail(function(err) { if (callBackError) {callBackError( err );} else{resp=err;} }); return resp; }, requestData: function(url,p,method,payload,bAsync,callBackOk,callBackError){ var resp=''; $.ajax({ url: this.replaceUrl(url,p), method: method, async: bAsync, contentType: "application/json; charset=utf-8", dataType: "json", data:payload }).done(function(data) { if(engine.events.onResponse) engine.events.onResponse(data); if (callBackOk) {callBackOk(data);} else{resp=data;} }).fail(function(err) { if (callBackError) {callBackError( err );} else{resp=err;} }); return resp; }, requestHtml: function(url,p,method,payload,bAsync,callBackOk,callBackError){ var resp=''; $.ajax({ url: this.replaceUrl(url,p), method: method, async: bAsync, //contentType: "application/json; charset=utf-8", //dataType: "html", data:payload }).done(function(data) { if (callBackOk) {callBackOk(data);} else{resp=data;} }).fail(function(err) { var error=err; if (err.statusText) error=err.statusText; if (callBackError) {callBackError( error );} else{resp=error;} }); return resp; }, replaceUrl:function(url,p) { for (var i in p) { if (p.hasOwnProperty(i)) { url = url.replaceAll('{' + i + '}', p[i]); } } return url; } }, content: { viewpage: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return {success:true, error:'',data: engine.lib.requestHtml("/content/page/{*path}?emptyLayout=true",p,"GET",null,bAsync,callBackOk,callBackError).responseText}; }, list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/content/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/content/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/content/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/content/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , city: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/city/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/city/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/city/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/city/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , customer: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/customer/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/customer/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/customer/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/customer/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , farmequipment: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, deletemedia: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/deletemedia",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, moveleftmedia: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/moveleftmedia",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, moverightmedia: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/moverightmedia",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getfilters: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/getfilters",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upload: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestFormData("/api/v1/farmequipment/media/upload",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, propertydefinitions: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/propertydefinitions",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, propertyvalues: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/propertyvalues",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getphoto: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/media/getphoto",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, changeposition: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/media/changeposition",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, setzoom: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/media/setzoom",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, settopleft: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipment/media/settopleft",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , farmequipmentinterest: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipmentinterest/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipmentinterest/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipmentinterest/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipmentinterest/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , farmequipmentlist: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/farmequipmentlist/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , province: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/province/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/province/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/province/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/province/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , token: { request: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/token",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, refresh: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/refreshtoken",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , grids: { executeaction: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/executeaction",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, savecolumnwidth: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/savecolumnwidth",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, savedefaultorder: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/savedefaultorder",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, savepagesize: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/savepagesize",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, saveconfig: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/saveconfig",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, savedata: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/savedata",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, deletedata: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/deletedata",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getdata: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/getdata",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getfilterdata: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/getfilterdata",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, applyfilter: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/applyfilter",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, clearfilters: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/clearfilters",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getconfig: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/getconfig",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getcolumndataselect: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/lib/grids/getcolumndataselect",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , company: { get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/company/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getdefault: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/company/getdefault",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/company/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getclientId: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/company/getclientId",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getclientsecret: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/company/getclientsecret",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, setplan: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/company/setplan",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/company/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , companyuser: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/companyuser",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , emailtemplate: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/emailtemplate/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/emailtemplate/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/emailtemplate/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, sendtest: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/emailtemplate/sendtest",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , event: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/event/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/event/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/event/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/event/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , files: { delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/file/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, newfolder: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/file/newfolder",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, dir: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/file/dir",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , form: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/form/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/form/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getbyname: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/form/getbyname",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/form/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , language: { texts: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/language/texts",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, cultures: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/language/cultures",p,"GET",null,bAsync,callBackOk,callBackError); }} , log: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/log/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, insert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/log/insert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , lookupcompany: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookupcompany/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, listgroups: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookupcompany/listgroups",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookupcompany/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookupcompany/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsertunique: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookupcompany/upsertunique",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookupcompany/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , lookup: { countries: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookup/countries",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, newid: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookup/newid",p,"GET",null,bAsync,callBackOk,callBackError); }, list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookup/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, listgroups: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookup/listgroups",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookup/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookup/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/lookup/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , message: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/message/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/message/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, contactlist: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/message",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, send: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/message/send",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, delete: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/message/delete",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, setread: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/message/setread",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , roles: { list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/roles/list",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, get: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/roles/get",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsert: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/roles/upsert",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, permissions: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/roles/permissions",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, permissionsavailable: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/roles/permissionsavailable",p,"GET",null,bAsync,callBackOk,callBackError); }, modulesbyplan: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/roles/plans",p,"GET",null,bAsync,callBackOk,callBackError); }} , system: { track: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/system/track",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , users: { sendTestEmail: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/sendTestEmail",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, setcompanydefault: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/setcompanydefault",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, getcompanydefault: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/getcompanydefault",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, me: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/me",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, list: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, upsertme: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/upsertme",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, listinvited: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/listinvited",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, invite: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/invite",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, inviteconfirm: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/inviteconfirm",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, invitecancell: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/invitecancell",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, remove: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/remove",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, setrole: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/setrole",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, login: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/login",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, registeremail: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/registeremail",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, sendcode: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/sendcode",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, registercode: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/registercode",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, forgotpassword: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/forgotpassword",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, changepassword: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/changepassword",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, confirmpasswordchange: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/confirmpasswordchange",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, add: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/add",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, confirmpasswordcode: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/confirmpasswordcode",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, photo: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/users/photo/{iduser}/{filename?}",p,"GET",null,bAsync,callBackOk,callBackError); }, setdevice: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/setdevice",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} , me: { setlanguage: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestData("/api/v1/user/me/setlanguage",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }, setphoto: function(p, callBackOk,callBackError,async){ var bAsync=false; if (async) bAsync=true; if(!(callBackOk)) bAsync=false; if (!(p)) p={}; return engine.lib.requestFormData("/api/v1/user/me/setphoto",p,"POST",JSON.stringify(p),bAsync,callBackOk,callBackError); }} };