@couleetech/n8n-nodes-enlightenedmsp 1.2.4 → 1.2.5

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.
@@ -17,6 +17,8 @@ SearchTicketGraphql.SEARCH_TICKETS_QUERY = `
17
17
  $assignedResourceID: NumberProp
18
18
  $queueID: NumberProp
19
19
  $dueDateTime: TimeQueryProp
20
+ $createDate: TimeQueryProp
21
+ $completedDate: TimeQueryProp
20
22
  $archived: BooleanProp
21
23
  $order: SortTicketsArgs
22
24
  ) {
@@ -29,6 +31,8 @@ SearchTicketGraphql.SEARCH_TICKETS_QUERY = `
29
31
  assignedResourceID: $assignedResourceID
30
32
  queueID: $queueID
31
33
  dueDateTime: $dueDateTime
34
+ createDate: $createDate
35
+ completedDate: $completedDate
32
36
  archived: $archived
33
37
  order: $order
34
38
  ) {
@@ -40,9 +44,10 @@ SearchTicketGraphql.SEARCH_TICKETS_QUERY = `
40
44
  description
41
45
  priority
42
46
  dueDateTime
47
+ createDate
48
+ completedDate
43
49
  assignedResourceID
44
50
  queueID
45
- completedDate
46
51
  resolution
47
52
  }
48
53
  totalCount
@@ -133,6 +138,58 @@ class SearchTicket {
133
138
  },
134
139
  ],
135
140
  },
141
+ {
142
+ displayName: 'Created Date Range',
143
+ name: 'createDateRange',
144
+ type: 'fixedCollection',
145
+ default: {},
146
+ options: [
147
+ {
148
+ displayName: 'Date Range',
149
+ name: 'dateRange',
150
+ values: [
151
+ {
152
+ displayName: 'From',
153
+ name: 'from',
154
+ type: 'dateTime',
155
+ default: '',
156
+ },
157
+ {
158
+ displayName: 'To',
159
+ name: 'to',
160
+ type: 'dateTime',
161
+ default: '',
162
+ },
163
+ ],
164
+ },
165
+ ],
166
+ },
167
+ {
168
+ displayName: 'Completed Date Range',
169
+ name: 'completedDateRange',
170
+ type: 'fixedCollection',
171
+ default: {},
172
+ options: [
173
+ {
174
+ displayName: 'Date Range',
175
+ name: 'dateRange',
176
+ values: [
177
+ {
178
+ displayName: 'From',
179
+ name: 'from',
180
+ type: 'dateTime',
181
+ default: '',
182
+ },
183
+ {
184
+ displayName: 'To',
185
+ name: 'to',
186
+ type: 'dateTime',
187
+ default: '',
188
+ },
189
+ ],
190
+ },
191
+ ],
192
+ },
136
193
  {
137
194
  displayName: 'Include Archived',
138
195
  name: 'archived',
@@ -140,6 +197,39 @@ class SearchTicket {
140
197
  default: false,
141
198
  description: 'Whether to include archived tickets',
142
199
  },
200
+ {
201
+ displayName: 'Sort By',
202
+ name: 'sortBy',
203
+ type: 'options',
204
+ options: [
205
+ {
206
+ name: 'Ticket Number',
207
+ value: 'ticketNumber',
208
+ },
209
+ {
210
+ name: 'Due Date',
211
+ value: 'dueDateTime',
212
+ },
213
+ {
214
+ name: 'Created Date',
215
+ value: 'createDate',
216
+ },
217
+ {
218
+ name: 'Completed Date',
219
+ value: 'completedDate',
220
+ },
221
+ {
222
+ name: 'Priority',
223
+ value: 'priority',
224
+ },
225
+ {
226
+ name: 'Status',
227
+ value: 'status',
228
+ },
229
+ ],
230
+ default: 'ticketNumber',
231
+ description: 'Field to sort results by',
232
+ },
143
233
  {
144
234
  displayName: 'Sort Order',
145
235
  name: 'sortOrder',
@@ -187,7 +277,10 @@ class SearchTicket {
187
277
  const assignedResourceID = this.getNodeParameter('assignedResourceID', i);
188
278
  const queueID = this.getNodeParameter('queueID', i);
189
279
  const dueDateRange = this.getNodeParameter('dueDateRange', i);
280
+ const createDateRange = this.getNodeParameter('createDateRange', i);
281
+ const completedDateRange = this.getNodeParameter('completedDateRange', i);
190
282
  const archived = this.getNodeParameter('archived', i);
283
+ const sortBy = this.getNodeParameter('sortBy', i);
191
284
  const sortOrder = this.getNodeParameter('sortOrder', i);
192
285
  const page = this.getNodeParameter('page', i);
193
286
  const limit = this.getNodeParameter('limit', i);
@@ -200,7 +293,7 @@ class SearchTicket {
200
293
  assignedResourceID: assignedResourceID ? { eq: assignedResourceID } : undefined,
201
294
  queueID: queueID ? { eq: queueID } : undefined,
202
295
  archived: { eq: archived },
203
- order: { ticketNumber: sortOrder },
296
+ order: { [sortBy]: sortOrder },
204
297
  };
205
298
  if (dueDateRange === null || dueDateRange === void 0 ? void 0 : dueDateRange.dateRange) {
206
299
  variables.dueDateTime = {
@@ -208,6 +301,18 @@ class SearchTicket {
208
301
  lte: new Date(dueDateRange.dateRange.to),
209
302
  };
210
303
  }
304
+ if (createDateRange === null || createDateRange === void 0 ? void 0 : createDateRange.dateRange) {
305
+ variables.createDate = {
306
+ gte: new Date(createDateRange.dateRange.from),
307
+ lte: new Date(createDateRange.dateRange.to),
308
+ };
309
+ }
310
+ if (completedDateRange === null || completedDateRange === void 0 ? void 0 : completedDateRange.dateRange) {
311
+ variables.completedDate = {
312
+ gte: new Date(completedDateRange.dateRange.from),
313
+ lte: new Date(completedDateRange.dateRange.to),
314
+ };
315
+ }
211
316
  const result = await graphqlClient.searchTickets(variables);
212
317
  returnData.push({
213
318
  json: result.findAutotaskTicketsPaginated,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@couleetech/n8n-nodes-enlightenedmsp",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "n8n node for EnlightenedMSP ticketing and workflow automation",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
@@ -29,7 +29,8 @@
29
29
  "format": "prettier nodes credentials --write",
30
30
  "lint": "eslint nodes credentials",
31
31
  "lintfix": "eslint nodes credentials --fix",
32
- "prepublishOnly": "npm run build && npm run lint"
32
+ "prepublishOnly": "npm run build && npm run lint",
33
+ "test": "jest"
33
34
  },
34
35
  "files": [
35
36
  "dist"
@@ -60,15 +61,18 @@
60
61
  },
61
62
  "devDependencies": {
62
63
  "@types/express": "^4.17.17",
64
+ "@types/jest": "^29.5.14",
63
65
  "@types/request-promise-native": "~1.0.18",
64
66
  "@typescript-eslint/eslint-plugin": "5.45",
65
67
  "@typescript-eslint/parser": "~5.45",
66
68
  "eslint": "^8.57.1",
67
69
  "eslint-plugin-n8n-nodes-base": "^1.16.3",
68
70
  "gulp": "^4.0.2",
71
+ "jest": "^29.7.0",
69
72
  "n8n-core": "^1.14.1",
70
73
  "n8n-workflow": "^1.48.0",
71
74
  "prettier": "^2.7.1",
75
+ "ts-jest": "^29.2.5",
72
76
  "typescript": "~4.8.4"
73
77
  },
74
78
  "dependencies": {