@tiledesk/tiledesk-server 2.2.38 → 2.3.1-8.1

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.
Files changed (97) hide show
  1. package/CHANGELOG.md +121 -0
  2. package/LICENSE +14 -657
  3. package/README.md +36 -21
  4. package/app.js +35 -62
  5. package/channels/chat21/chat21Handler.js +18 -3
  6. package/channels/chat21/chat21WebHook.js +31 -15
  7. package/channels/chat21/package-lock.json +663 -706
  8. package/channels/chat21/package.json +2 -2
  9. package/config/labels/widget.json +320 -0
  10. package/deploy.sh +2 -0
  11. package/event/botEvent.js +1 -1
  12. package/event/subscriptionEvent.js +11 -0
  13. package/fonts/Roboto-Italic.ttf +0 -0
  14. package/fonts/Roboto-Medium.ttf +0 -0
  15. package/fonts/Roboto-MediumItalic.ttf +0 -0
  16. package/fonts/Roboto-Regular.ttf +0 -0
  17. package/middleware/ipFilter.js +220 -0
  18. package/middleware/passport.js +11 -2
  19. package/models/lead.js +2 -0
  20. package/models/project.js +10 -0
  21. package/models/project_user.js +4 -0
  22. package/models/request.js +50 -12
  23. package/models/subscriptionLog.js +34 -0
  24. package/models/tagLibrary.js +42 -0
  25. package/package.json +6 -11
  26. package/pubmodules/activities/activityArchiver.js +314 -0
  27. package/pubmodules/activities/index.js +3 -0
  28. package/pubmodules/activities/models/activity.js +88 -0
  29. package/pubmodules/activities/routes/activity.js +710 -0
  30. package/pubmodules/activities/test/activityRoute.js +85 -0
  31. package/pubmodules/analytics/analytics.js +1719 -0
  32. package/pubmodules/analytics/index.js +3 -0
  33. package/pubmodules/canned/cannedResponse.js +55 -0
  34. package/pubmodules/canned/cannedResponseRoute.js +163 -0
  35. package/pubmodules/canned/index.js +3 -0
  36. package/pubmodules/emailNotification/requestNotification.js +215 -28
  37. package/pubmodules/events/eventRoute.js +37 -7
  38. package/pubmodules/messageActions/messageActionsInterceptor.js +4 -2
  39. package/pubmodules/pubModulesManager.js +140 -7
  40. package/pubmodules/rasa/index.js +8 -1
  41. package/pubmodules/rasa/listener.js +30 -9
  42. package/pubmodules/rules/conciergeBot.js +4 -4
  43. package/pubmodules/scheduler/tasks/closeAgentUnresponsiveRequestTask.js +3 -1
  44. package/pubmodules/scheduler/tasks/closeBotUnresponsiveRequestTask.js +5 -3
  45. package/pubmodules/tilebot/index.js +11 -0
  46. package/pubmodules/tilebot/listener.js +69 -0
  47. package/pubmodules/trigger/default.js +271 -0
  48. package/pubmodules/trigger/event/actionEventEmitter.js +10 -0
  49. package/pubmodules/trigger/event/flowEventEmitter.js +10 -0
  50. package/pubmodules/trigger/event/triggerEventEmitter.js +10 -0
  51. package/pubmodules/trigger/index.js +3 -0
  52. package/pubmodules/trigger/models/trigger.js +149 -0
  53. package/pubmodules/trigger/rulesTrigger.js +1181 -0
  54. package/pubmodules/trigger/start.js +118 -0
  55. package/pubmodules/trigger/triggerRoute.js +150 -0
  56. package/routes/auth.js +7 -2
  57. package/routes/department.js +51 -0
  58. package/routes/faq.js +7 -0
  59. package/routes/faq_kb.js +1 -1
  60. package/routes/group.js +140 -0
  61. package/routes/lead.js +24 -1
  62. package/routes/message.js +6 -3
  63. package/routes/project.js +118 -0
  64. package/routes/project_user.js +9 -0
  65. package/routes/public-request.js +280 -2
  66. package/routes/request.js +124 -17
  67. package/routes/subscription.js +140 -0
  68. package/routes/tag.js +138 -0
  69. package/routes/user-request.js +3 -2
  70. package/routes/users.js +1 -1
  71. package/routes/widget.js +80 -3
  72. package/routes/widgetLoader.js +31 -0
  73. package/services/banUserNotifier.js +86 -0
  74. package/services/emailService.js +189 -11
  75. package/services/faqBotHandler.js +2 -2
  76. package/services/faqBotSupport.js +0 -1
  77. package/services/faqService.js +2 -2
  78. package/services/geoService.js +30 -4
  79. package/services/leadService.js +2 -0
  80. package/services/modulesManager.js +16 -182
  81. package/services/requestService.js +364 -6
  82. package/services/subscriptionNotifier.js +485 -0
  83. package/template/email/assignedEmailMessage.html +1 -1
  84. package/template/email/assignedRequest.html +1 -1
  85. package/template/email/newMessage.html +1 -1
  86. package/template/email/newMessageFollower.html +236 -0
  87. package/template/email/passwordChanged.html +1 -1
  88. package/template/email/pooledEmailMessage.html +1 -1
  89. package/template/email/pooledRequest.html +1 -1
  90. package/template/email/resetPassword.html +2 -2
  91. package/template/email/ticket.html +1 -1
  92. package/test/cannedRoute.js +166 -0
  93. package/test/messageRoute.js +69 -0
  94. package/test/requestService.js +3 -1
  95. package/utils/orgUtil.js +3 -3
  96. package/views/messages.jade +2 -2
  97. package/websocket/webSocketServer.js +23 -5
@@ -0,0 +1,88 @@
1
+ var mongoose = require('mongoose');
2
+ var Schema = mongoose.Schema;
3
+
4
+ // https://getstream.io/blog/designing-activity-stream-newsfeed-w3c-spec/
5
+ // {
6
+ // "@context": "http://www.w3.org/ns/activitystreams",
7
+ // "type": "added",
8
+ // "published": "2015-02-10T15:04:55Z",
9
+ // "actor": {
10
+ // "type": "Person",
11
+ // "id": "http://www.test.example/jack",
12
+ // "name": "Jack Hill",
13
+ // "url": "http://example.org/jack",
14
+ // "image": {
15
+ // "type": "Link",
16
+ // "href": "http://example.org/jack/profile.jpg",
17
+ // "mediaType": "image/jpeg"
18
+ // }
19
+ // },
20
+ // "object" : {
21
+ // "id": "http://www.test.example/jack/hill_photos/the_hill1.jpg",
22
+ // "type": "Photo",
23
+ // "label": "Great Photo of The Hill"
24
+ // },
25
+ // "target" : {
26
+ // "id": "http://example.org/jack/albums/great_hill_pics",
27
+ // "type": "OrderedCollection",
28
+ // "name": "Great Hill Pics"
29
+ // }
30
+ // }
31
+
32
+ //actor: {type:"user", id: event.req.user.id, name: event.req.user.fullName },
33
+ var ActorActivitySchema = new Schema({
34
+ type: {
35
+ type: String,
36
+ required: true,
37
+ index:true
38
+ },
39
+ id: {
40
+ type: String,
41
+ required: true,
42
+ index:true
43
+ },
44
+ name: {
45
+ type: String,
46
+ required: false
47
+ },
48
+ });
49
+
50
+ var ActivitySchema = new Schema({
51
+
52
+ actor: {
53
+ // type: String,
54
+ type: ActorActivitySchema,
55
+ required: true,
56
+ //index: true //error saving activity Btree::insert: key too large to index, failing heroku_hwhg3xtx.activities.$target_1 2359 { : { object: { __v: 0, updatedAt: new Date(1555407053615), createdAt: new Date(1555407053615), request_id: "support-group-Lc_Tz_hoCZ9REHC9FbY", requester_id: "5c8a38012d8e6d0017bce22a", first_text: "test 81", department: ObjectId('5b8eb48b5ca4d300141fb2cb'), sourcePage: "https://www.tiledesk.com/", language: "it",
57
+ },
58
+ verb: {
59
+ type: String,
60
+ required: true,
61
+ index: true
62
+ },
63
+
64
+ actionObj: {
65
+ type: Object,
66
+ required: false
67
+ },
68
+ target: {
69
+ // type: String,
70
+ type: Object,
71
+ required: true,
72
+ // index: true
73
+ },
74
+ // summary A natural language summarization of the object encoded as HTML. Multiple language tagged summaries may be provided.
75
+ // summaryMap https://www.w3.org/TR/activitystreams-vocabulary/#dfn-summary
76
+ id_project: {
77
+ type: String,
78
+ required: true,
79
+ index: true
80
+ }
81
+ },{
82
+ timestamps: true
83
+ }
84
+ );
85
+
86
+ // TODO metti indice per query è lentina
87
+
88
+ module.exports = mongoose.model('activity', ActivitySchema);