@tiledesk/tiledesk-server 2.2.38 → 2.3.1-8.1

Sign up to get free protection for your applications and to get access to all the features.
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);