@tiledesk/tiledesk-server 2.3.78 → 2.3.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tiledesk/tiledesk-server",
3
3
  "description": "The Tiledesk server module",
4
- "version": "2.3.78",
4
+ "version": "2.3.80",
5
5
  "scripts": {
6
6
  "start": "node ./bin/www",
7
7
  "pretest": "mongodb-runner start",
@@ -44,7 +44,7 @@
44
44
  "@tiledesk/tiledesk-kaleyra-proxy": "^0.1.6",
45
45
  "@tiledesk/tiledesk-rasa-connector": "^1.0.10",
46
46
  "@tiledesk/tiledesk-tybot-connector": "^0.1.55",
47
- "@tiledesk/tiledesk-whatsapp-connector": "^0.1.30",
47
+ "@tiledesk/tiledesk-whatsapp-connector": "^0.1.31",
48
48
  "amqplib": "^0.5.5",
49
49
  "app-root-path": "^3.0.0",
50
50
  "bcrypt-nodejs": "0.0.3",
@@ -14,13 +14,13 @@ class Listener {
14
14
  }
15
15
 
16
16
  var port = process.env.CACHE_REDIS_PORT || 6379;
17
- winston.debug("-Redis port: "+ port);
17
+ winston.debug("Redis port: "+ port);
18
18
 
19
19
  var host = process.env.CACHE_REDIS_HOST || "127.0.0.1"
20
- winston.debug("-Redis host: "+ host);
20
+ winston.debug("Redis host: "+ host);
21
21
 
22
- var password = process.env.REDIS_PASSWORD;
23
- winston.debug("-Redis password: "+ password);
22
+ var password = process.env.CACHE_REDIS_PASSWORD;
23
+ winston.debug("Redis password: "+ password);
24
24
 
25
25
 
26
26
  let graph_url = process.env.META_GRAPH_URL || config.graphUrl || "https://graph.facebook.com/v14.0/"
package/routes/faq_kb.js CHANGED
@@ -212,6 +212,60 @@ router.post('/askbot', function (req, res) {
212
212
 
213
213
 
214
214
 
215
+ router.put('/:faq_kbid/publish', async (req, res) => {
216
+
217
+ let id_faq_kb = req.params.faq_kbid;
218
+ winston.debug('id_faq_kb: ' + id_faq_kb);
219
+
220
+ const api_url = process.env.API_URL || configGlobal.apiUrl;
221
+ winston.debug("fork --> base_url: " + api_url); // check if correct
222
+
223
+ let current_project_id = req.projectid;
224
+ winston.debug("current project id: " + current_project_id);
225
+
226
+ let token = req.headers.authorization;
227
+
228
+ let cs = req.app.get('chatbot_service')
229
+
230
+ try {
231
+ // fork(id_faq_kb, api_url, token, project_id)
232
+ let forked = await cs.fork(id_faq_kb, api_url, token, current_project_id);
233
+ // winston.debug("forked: ", forked)
234
+
235
+ let forkedChatBotId = forked.bot_id;
236
+ winston.debug("forkedChatBotId: "+forkedChatBotId);
237
+
238
+
239
+ let updatedForkedChabot = await Faq_kb.findByIdAndUpdate(forkedChatBotId, {trashed: true}, { new: true, upsert: true }).exec();
240
+ winston.debug("updatedForkedChabot: ",updatedForkedChabot);
241
+ botEvent.emit('faqbot.update', updatedForkedChabot);
242
+
243
+
244
+ const port = process.env.PORT || '3000';
245
+ const TILEBOT_ENDPOINT = process.env.TILEBOT_ENDPOINT || "http://localhost:" + port+ "/modules/tilebot/ext/";
246
+ winston.debug("TILEBOT_ENDPOINT: " + TILEBOT_ENDPOINT);
247
+
248
+ let updatedOriginalChabot = await Faq_kb.findByIdAndUpdate(id_faq_kb, {url:TILEBOT_ENDPOINT+forkedChatBotId}, { new: true, upsert: true }).exec();
249
+ winston.debug("updatedOriginalChabot: ",updatedOriginalChabot);
250
+
251
+ botEvent.emit('faqbot.update', updatedOriginalChabot);
252
+
253
+
254
+ return res.status(200).send({ message: "Chatbot published successfully", bot_id: forkedChatBotId });
255
+
256
+ } catch(e) {
257
+ winston.error("Error Unable publish chatbot: ", e);
258
+ return res.status(500).send({ success: false, message: "Unable publish chatbot" });
259
+ }
260
+
261
+
262
+
263
+
264
+ });
265
+
266
+
267
+
268
+
215
269
  router.put('/:faq_kbid', function (req, res) {
216
270
 
217
271
  winston.debug(req.body);
@@ -255,7 +309,7 @@ router.put('/:faq_kbid', function (req, res) {
255
309
  update.tags = req.body.tags;
256
310
  }
257
311
 
258
-
312
+
259
313
  Faq_kb.findByIdAndUpdate(req.params.faq_kbid, update, { new: true, upsert: true }, function (err, updatedFaq_kb) {
260
314
  if (err) {
261
315
  return res.status(500).send({ success: false, msg: 'Error updating object.' });
@@ -267,8 +321,6 @@ router.put('/:faq_kbid', function (req, res) {
267
321
  });
268
322
 
269
323
 
270
-
271
-
272
324
  router.patch('/:faq_kbid/attributes', function (req, res) {
273
325
  var data = req.body;
274
326
 
@@ -320,7 +372,7 @@ router.delete('/:faq_kbid', function (req, res) {
320
372
 
321
373
  winston.debug(req.body);
322
374
 
323
-
375
+
324
376
  Faq_kb.remove({ _id: req.params.faq_kbid }, function (err, faq_kb) {
325
377
  if (err) {
326
378
  return res.status(500).send({ success: false, msg: 'Error deleting object.' });
@@ -19,10 +19,16 @@ class BotSubscriptionNotifier {
19
19
 
20
20
  notify(bot,botWithSecret, payload) {
21
21
 
22
- winston.verbose("BotSubscriptionNotifier bot", bot.toObject(), 'payload', payload );
22
+ winston.verbose("BotSubscriptionNotifier bot", bot.toObject());
23
+ winston.debug("BotSubscriptionNotifier payload", payload );
23
24
 
24
25
  var url = bot.url;
25
26
 
27
+ if (bot.type == "tilebot" && payload.request && payload.request.attributes && payload.request.attributes.sourcePage && payload.request.attributes.sourcePage.indexOf("/assets/twp/index.html")>-1) {
28
+ url = url + "?forced_bot_id="+bot.id;
29
+ winston.verbose("BotSubscriptionNotifier it is a tilebot test page. Switch to current chabot id: "+ url);
30
+ }
31
+
26
32
  // if (url.startsWith("$ext_url")) {
27
33
  // // url = url.replace ("$res_bot_url", prendi da env)
28
34
  // }
@@ -8,6 +8,26 @@ class ChatbotService {
8
8
 
9
9
  }
10
10
 
11
+ async fork(id_faq_kb, api_url, token, project_id) {
12
+ winston.debug("[CHATBOT SERVICE] fork");
13
+
14
+ return await axios({
15
+ url: api_url + '/' + project_id + '/faq_kb/fork/'+id_faq_kb+"?projectid="+project_id+"&public=false",
16
+ headers: {
17
+ 'Content-Type': 'application/json',
18
+ 'Authorization': token
19
+ },
20
+ // data: chatbot,
21
+ method: 'POST'
22
+ }).then((resbody) => {
23
+ winston.debug("(CHATBOT SERVICE) fork resbody: ", resbody.data);
24
+ return resbody.data;
25
+ }).catch((err) => {
26
+ winston.error("(CHATBOT SERVICE) fork error " + err);
27
+ return err;
28
+ })
29
+
30
+ }
11
31
 
12
32
  async getBotById(id_faq_kb, published, api_url, chatbot_templates_api_url, token, project_id) {
13
33