124 lines
4.3 KiB
JavaScript
124 lines
4.3 KiB
JavaScript
// api_attachment_axxerion.js
|
|
// Voegt bijlagen toe aan Facilitor.
|
|
//
|
|
// $Revision$
|
|
// $Id$
|
|
//
|
|
|
|
safe = { // extracted from shared.inc
|
|
quoted_sql: function (tekst, maxlen) // maxlen is optioneel
|
|
{
|
|
if (tekst == null)
|
|
return "NULL";
|
|
if (!maxlen)
|
|
maxlen = 4000;
|
|
tekst = tekst.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]+/g, "?");
|
|
tekst = tekst.substr(0, maxlen);
|
|
return "'" + tekst.replace(/\'/g,"''") + "'"; // " syntax highlight correctie
|
|
}
|
|
}
|
|
|
|
function timestamp () {
|
|
var date = new Date();
|
|
var hours = date.getHours();
|
|
var days = date.getDay();
|
|
var minutes = date.getMinutes();
|
|
var ampm = hours >= 12 ? 'pm' : 'am';
|
|
hours = hours % 12;
|
|
hours = hours ? hours : 12; // the hour '0' should be '12'
|
|
minutes = minutes < 10 ? '0'+minutes : minutes;
|
|
var strTime = date + ' ' + hours + ':' + minutes + ' ' + ampm;
|
|
return strTime;
|
|
}
|
|
|
|
function strip_filename(naam) // geen 'lage' karakters en geen (back)slashes, *,%,<,>, '"', ':', ';' '?' and '|' of '+'
|
|
{
|
|
return naam.replace(/[\x00-\x1F|\/|\\|\*|\%\<\>\"\:\;\?\|\+]+/g, "_"); // " syntax highlight correctie
|
|
}
|
|
|
|
try {
|
|
var folder = WScript.Arguments(0); // folder
|
|
var url = WScript.Arguments(1); // url
|
|
folder = folder.replace(/\//g,"\\");
|
|
var v_timestamp = timestamp();
|
|
WScript.Echo("Start api_attachment_axxerion.js om " + v_timestamp);
|
|
var udlstr = 'File Name=../oracle.udl';
|
|
var Oracle = new ActiveXObject("ADODB.Connection");
|
|
Oracle.Open(udlstr);
|
|
|
|
// WScript.Echo("Initsession");
|
|
var sql = "BEGIN fac.initsession('NL'); END;";
|
|
Oracle.Execute(sql);
|
|
|
|
sql = "SELECT melding_key, "
|
|
+ " kenmerk_key, "
|
|
+ " impfile_id, "
|
|
+ " filenaam, "
|
|
+ " filenaam_org "
|
|
+ " FROM rabo_imp_bijlagen "
|
|
+ " WHERE verwerkt IS NULL "
|
|
+ " AND melding_key IS NOT NULL "
|
|
+ " AND kenmerk_key IS NOT NULL "
|
|
+ " AND aanmaak > SYSDATE -1 ";
|
|
//WScript.Echo("sql:" + sql);
|
|
var oRs = Oracle.Execute(sql);
|
|
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
|
|
|
while (!oRs.eof)
|
|
{
|
|
try
|
|
{
|
|
v_melding_key = oRs("melding_key").Value;
|
|
v_kenmerk_key = oRs("kenmerk_key").Value;
|
|
v_impfile_id = oRs("impfile_id").Value;
|
|
v_filename = folder + oRs("filenaam").Value;
|
|
v_filename_org = oRs("filenaam_org").Value;
|
|
v_filename_fclt = strip_filename(v_filename_org);
|
|
|
|
//var uploadURL = "http://rabo.facws001.sg.nl/branch20191/api2/issues/" + v_melding_key + "/attachments/" + v_kenmerk_key + "/";
|
|
var uploadURL = url + "/api2/issues/" + v_melding_key + "/attachments/" + v_kenmerk_key + "/";
|
|
|
|
var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP");
|
|
var SXH_PROXY_SET_PROXY = 2;
|
|
var objADOStream = new ActiveXObject("ADODB.Stream");
|
|
|
|
objADOStream.Open;
|
|
objADOStream.Type = 1;
|
|
WScript.Echo("File:" + v_filename);
|
|
WScript.Echo("Filename_org:" + v_filename_org);
|
|
WScript.Echo("URL:"+ uploadURL);
|
|
objADOStream.LoadFromFile(v_filename)
|
|
var arrbuffer = objADOStream.Read();
|
|
|
|
objXMLHTTP.open("POST", uploadURL + v_filename_org + "?format=json&pretty=1", false);
|
|
objXMLHTTP.setRequestHeader ("X-FACILITOR-API-Key", "SDzcgqY2KyFClxYVf3JCtOgVG3QUosbh");
|
|
objXMLHTTP.setRequestHeader ("Accept", "application/json");
|
|
|
|
objXMLHTTP.send(arrbuffer);
|
|
if (objXMLHTTP.status >= 200 && objXMLHTTP.status <= 299) // 201: successfully created
|
|
{
|
|
WScript.Echo("Ok " + objXMLHTTP.status);
|
|
obj = eval('(' + objXMLHTTP.responseText+ ')');
|
|
WScript.Echo("obj " + obj.message);
|
|
fso.DeleteFile(v_filename);
|
|
sql = "UPDATE rabo_imp_bijlagen SET verwerkt = SYSDATE WHERE impfile_id = " + safe.quoted_sql(v_impfile_id)
|
|
Oracle.Execute(sql);
|
|
}
|
|
else
|
|
{
|
|
WScript.Echo(objXMLHTTP.status);
|
|
}
|
|
WScript.Echo(objXMLHTTP.responseText);
|
|
}
|
|
catch (d)
|
|
{
|
|
WScript.Echo("Serieuze fout in loop api_attachment_axxerion.js: " + d.description)
|
|
}
|
|
oRs.MoveNext();
|
|
}
|
|
}
|
|
catch (e)
|
|
{
|
|
WScript.Echo("Serieuze fout in api_attachment_axxerion.js: " + e.description)
|
|
WScript.Quit(1);
|
|
} |