@tiledesk/tiledesk-server 2.2.39 → 2.3.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 (45) hide show
  1. package/LICENSE +14 -657
  2. package/README.md +2 -0
  3. package/app.js +12 -0
  4. package/event/subscriptionEvent.js +11 -0
  5. package/models/subscriptionEvent.js +11 -0
  6. package/models/subscriptionLog.js +34 -0
  7. package/models/tagLibrary.js +42 -0
  8. package/package.json +2 -10
  9. package/pubmodules/activities/activityArchiver.js +295 -0
  10. package/pubmodules/activities/index.js +3 -0
  11. package/pubmodules/activities/models/activity.js +88 -0
  12. package/pubmodules/activities/routes/activity.js +710 -0
  13. package/pubmodules/activities/test/activityRoute.js +85 -0
  14. package/pubmodules/analytics/analytics.js +1719 -0
  15. package/pubmodules/analytics/index.js +3 -0
  16. package/pubmodules/canned/cannedResponse.js +51 -0
  17. package/pubmodules/canned/cannedResponseRoute.js +157 -0
  18. package/pubmodules/canned/index.js +3 -0
  19. package/pubmodules/pubModulesManager.js +104 -5
  20. package/pubmodules/trigger/default.js +271 -0
  21. package/pubmodules/trigger/event/actionEventEmitter.js +10 -0
  22. package/pubmodules/trigger/event/flowEventEmitter.js +10 -0
  23. package/pubmodules/trigger/event/triggerEventEmitter.js +10 -0
  24. package/pubmodules/trigger/index.js +3 -0
  25. package/pubmodules/trigger/models/trigger.js +149 -0
  26. package/pubmodules/trigger/rulesTrigger.js +1180 -0
  27. package/pubmodules/trigger/start.js +114 -0
  28. package/pubmodules/trigger/triggerRoute.js +150 -0
  29. package/routes/department.js +51 -0
  30. package/routes/group.js +140 -0
  31. package/routes/project.js +52 -0
  32. package/routes/subscription.js +140 -0
  33. package/routes/tag.js +138 -0
  34. package/services/faqService.js +1 -1
  35. package/services/modulesManager.js +7 -188
  36. package/services/subscriptionNotifier.js +485 -0
  37. package/template/email/assignedEmailMessage.html +1 -1
  38. package/template/email/assignedRequest.html +1 -1
  39. package/template/email/newMessage.html +1 -1
  40. package/template/email/passwordChanged.html +1 -1
  41. package/template/email/pooledEmailMessage.html +1 -1
  42. package/template/email/pooledRequest.html +1 -1
  43. package/template/email/resetPassword.html +2 -2
  44. package/template/email/ticket.html +1 -1
  45. package/views/messages.jade +1 -1
@@ -0,0 +1,149 @@
1
+ var mongoose = require('mongoose');
2
+ var Schema = mongoose.Schema;
3
+ // var TriggerEventSchema = require('./triggerEvent').schema;
4
+
5
+ // var ConditionSchema = require('./triggerCondition').schema;
6
+ // var ActionSchema = require('./triggerAction').schema;
7
+
8
+
9
+
10
+ var TriggerConditionSchema = new Schema({
11
+ key: { //ex: request.firsttext
12
+ type: String,
13
+ required: true
14
+ },
15
+ fact: { //ex: request.firsttext
16
+ type: String,
17
+ required: true
18
+ },
19
+ path: {
20
+ type: String,
21
+ required: false
22
+ },
23
+ operator: { //use ref to OperatorSchema
24
+ type: String,
25
+ required: true
26
+ },
27
+ // type: { unused
28
+ // type: String,
29
+ // required: false
30
+ // },
31
+ value: {
32
+ type: Object,
33
+ required: true
34
+ },
35
+ },{ _id : false });
36
+
37
+
38
+ var ConditionsSchema = new Schema({
39
+ all: [TriggerConditionSchema],
40
+ any: [TriggerConditionSchema]
41
+ });
42
+
43
+
44
+
45
+
46
+ var ActionSchema = new Schema({
47
+ key: { //ex: message.send
48
+ type: String,
49
+ required: true,
50
+ index:true
51
+ },
52
+ parameters: {
53
+ type: Object,
54
+ required: false
55
+ },
56
+ // name: {
57
+ // type: String,
58
+ // required: true
59
+ // },
60
+ // description: {
61
+ // type: String,
62
+ // required: false
63
+ // },
64
+
65
+ script: { //use ref
66
+ type: String,
67
+ required: false
68
+ },
69
+ });
70
+
71
+
72
+
73
+
74
+ var TriggerEventSchema = new Schema({
75
+ key: { //ex: request.create
76
+ type: String,
77
+ required: true,
78
+ index:true
79
+ },
80
+ name: {
81
+ type: String,
82
+ required: true
83
+ },
84
+ description: {
85
+ type: String,
86
+ required: false
87
+ },
88
+ });
89
+
90
+
91
+
92
+ var TriggerSchema = new Schema({
93
+ name: {
94
+ type: String,
95
+ required: true
96
+ },
97
+ description: {
98
+ type: String,
99
+ required: false
100
+ },
101
+ delay: {
102
+ type: Number,
103
+ select: true
104
+ },
105
+ // triggers: [TriggerSchema],
106
+ trigger: TriggerEventSchema,
107
+ conditions: ConditionsSchema,
108
+ actions: [ActionSchema],
109
+ enabled: {
110
+ type:Boolean,
111
+ required:true,
112
+ default:false,
113
+ index:true
114
+ },
115
+ id_project: {
116
+ type: String,
117
+ required: true,
118
+ index:true
119
+ },
120
+ code: {
121
+ type: String,
122
+ select: true
123
+ },
124
+ type: {
125
+ type: String, //internal per new_conversation e invite bot
126
+ select: true
127
+ },
128
+ version: {
129
+ type: Number,
130
+ select: true
131
+ },
132
+ createdBy: {
133
+ type: String,
134
+ required: true
135
+ },
136
+ updatedBy: {
137
+ type: String,
138
+ required: true
139
+ }
140
+ }, {
141
+ timestamps: true
142
+ }
143
+ );
144
+
145
+
146
+ // let query = {id_project: event.id_project, enabled:true, 'trigger.key':eventKey};
147
+ TriggerSchema.index({ id_project: 1, "trigger.key":1, enabled:1 });
148
+
149
+ module.exports = mongoose.model('trigger', TriggerSchema);