-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
82 lines (77 loc) · 3.18 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
'use strict';
var config = require("./config/config");
var spWeb = require("./models/sharepoint");
const mySQL = require("./models/mysql");
const Q = require('q');
//initiate sharepoint service
var getWeb = new spWeb();
getWeb.init();
//initiate mysql service
var sql = new mySQL();
sql.init();
sql.connect().then( connection => {
sql.readData( connection ).then( result => {
//console.dir(JSON.stringify(result));
getWeb.getContext( config.spSite ).then( ctx => {
let promises = [];
let updateResults = [];
for ( let item of result ) {
let update = getWeb.updateExpirationDate( item.siteURL, item.listId, item.subscriptionId ).then( updateResult => {
//console.dir( JSON.stringify(updateResult) );
//console.log( item.siteURL );
updateResults.push(updateResult);
}).catch( err => {
console.error( err );
});
promises.push(update);
} //end for loop sharepoint updates
//once all updates in SharePoint have been completed successfully, update the DB with the new values:
Q.all(promises).then( results => {
console.log("all promises resolved");
console.log( JSON.stringify(updateResults) );
sql.connect().then( connection => {
let dbPromises = [];
let dbUpdateResults = [];
for (let item of result) {
let dbUpdate = sql.updateExpiryDate( connection, item.listId, item.subscriptionId).then( dbUpdateResult => {
dbUpdateResults.push(dbUpdateResult);
}).catch( err => {
console.error( err );
});
dbPromises.push(dbUpdate);
} //end for loop db updates
//done updating DB, closing connection
Q.all(dbPromises).then( dbResults => {
console.log( JSON.stringify(dbUpdateResults) );
connection.end(
function (err) {
if (err) {
console.error(err);
} else {
console.log("Executed webhook update function successfully!");
}
});
}).catch( err => {
console.error( err );
connection.end(
function (err) {
if (err) {
console.error(err);
}
});
});
}).catch( err => {
console.error( err );
});
}).catch( err => {
console.error( err );
});
}).catch( err => {
console.error( err );
});
}).catch( err => {
console.error( err );
});
}).catch( err => {
console.error( err );
});