n8n-nodes-autotask 0.2.1 → 0.3.0

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 (52) hide show
  1. package/README.md +256 -256
  2. package/dist/nodes/Autotask/helpers/cache/init.js +14 -3
  3. package/dist/nodes/Autotask/helpers/cache/init.js.map +1 -1
  4. package/dist/nodes/Autotask/helpers/cache/service.js +9 -0
  5. package/dist/nodes/Autotask/helpers/cache/service.js.map +1 -1
  6. package/dist/nodes/Autotask/helpers/entity/picklist.js +41 -16
  7. package/dist/nodes/Autotask/helpers/entity/picklist.js.map +1 -1
  8. package/dist/nodes/Autotask/helpers/entity-values/value-helper.d.ts +1 -1
  9. package/dist/nodes/Autotask/helpers/entity-values/value-helper.js +8 -7
  10. package/dist/nodes/Autotask/helpers/entity-values/value-helper.js.map +1 -1
  11. package/dist/nodes/Autotask/helpers/resource-operations.helper.js +7 -1
  12. package/dist/nodes/Autotask/helpers/resource-operations.helper.js.map +1 -1
  13. package/dist/nodes/Autotask/operations/base/field-processor.d.ts +4 -0
  14. package/dist/nodes/Autotask/operations/base/field-processor.js +132 -0
  15. package/dist/nodes/Autotask/operations/base/field-processor.js.map +1 -1
  16. package/dist/nodes/Autotask/operations/base/get-many-advanced.operation.js +12 -0
  17. package/dist/nodes/Autotask/operations/base/get-many-advanced.operation.js.map +1 -1
  18. package/dist/nodes/Autotask/operations/base/get-many.js +13 -0
  19. package/dist/nodes/Autotask/operations/base/get-many.js.map +1 -1
  20. package/dist/nodes/Autotask/operations/base/get-operation.js +14 -1
  21. package/dist/nodes/Autotask/operations/base/get-operation.js.map +1 -1
  22. package/dist/nodes/Autotask/operations/common/picklist-labels/description.d.ts +3 -0
  23. package/dist/nodes/Autotask/operations/common/picklist-labels/description.js +31 -0
  24. package/dist/nodes/Autotask/operations/common/picklist-labels/description.js.map +1 -0
  25. package/dist/nodes/Autotask/operations/common/picklist-labels/index.d.ts +2 -0
  26. package/dist/nodes/Autotask/operations/common/picklist-labels/index.js +7 -0
  27. package/dist/nodes/Autotask/operations/common/picklist-labels/index.js.map +1 -0
  28. package/dist/nodes/Autotask/resources/companies/description.js +1 -1
  29. package/dist/nodes/Autotask/resources/companies/description.js.map +1 -1
  30. package/dist/nodes/Autotask/resources/companyNotes/description.js +1 -1
  31. package/dist/nodes/Autotask/resources/companyNotes/description.js.map +1 -1
  32. package/dist/nodes/Autotask/resources/contacts/description.js +16 -14
  33. package/dist/nodes/Autotask/resources/contacts/description.js.map +1 -1
  34. package/dist/nodes/Autotask/resources/products/description.js +1 -1
  35. package/dist/nodes/Autotask/resources/products/description.js.map +1 -1
  36. package/dist/nodes/Autotask/resources/projectCharges/description.js +1 -1
  37. package/dist/nodes/Autotask/resources/projectCharges/description.js.map +1 -1
  38. package/dist/nodes/Autotask/resources/projectNotes/description.js +1 -1
  39. package/dist/nodes/Autotask/resources/projectNotes/description.js.map +1 -1
  40. package/dist/nodes/Autotask/resources/projectPhases/description.js +1 -1
  41. package/dist/nodes/Autotask/resources/projectPhases/description.js.map +1 -1
  42. package/dist/nodes/Autotask/resources/projects/description.js +1 -1
  43. package/dist/nodes/Autotask/resources/projects/description.js.map +1 -1
  44. package/dist/nodes/Autotask/resources/ticketNotes/description.js +1 -1
  45. package/dist/nodes/Autotask/resources/ticketNotes/description.js.map +1 -1
  46. package/dist/nodes/Autotask/resources/tickets/description.js +1 -1
  47. package/dist/nodes/Autotask/resources/tickets/description.js.map +1 -1
  48. package/dist/nodes/Autotask/resources/timeEntries/description.js +1 -1
  49. package/dist/nodes/Autotask/resources/timeEntries/description.js.map +1 -1
  50. package/dist/package.json +1 -1
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +1 -1
package/README.md CHANGED
@@ -1,256 +1,256 @@
1
- # n8n-nodes-autotask
2
-
3
- ![n8n-nodes-autotask](https://img.shields.io/badge/n8n--nodes--autotask-0.2.0-blue)
4
- ![License](https://img.shields.io/badge/license-MIT-green)
5
-
6
- This is an n8n community node for integrating with Autotask PSA. It provides a comprehensive set of operations to interact with Autotask entities through their REST API.
7
-
8
- ![Overview of n8n-nodes-autotask](./overview.gif)
9
-
10
- [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
11
-
12
- [Installation](#installation)
13
- [Authentication](#authentication)
14
- [Features](#features)
15
- [Usage](#usage)
16
- [Configuration](#configuration)
17
- [Limitations](#limitations)
18
- [Troubleshooting](#troubleshooting)
19
- [Resources](#resources)
20
- [License](#license)
21
-
22
- ## Installation
23
-
24
- Follow these steps to install this node:
25
-
26
- ```bash
27
- # Install with npm
28
- npm install n8n-nodes-autotask
29
-
30
- # Install with pnpm
31
- pnpm install n8n-nodes-autotask
32
- ```
33
-
34
- **Requirements:**
35
- - n8n version 1.0.0 or later
36
- - Node.js version 18.10 or later
37
- - pnpm version 9.1 or later (if using pnpm)
38
-
39
- ## Authentication
40
-
41
- To use this node, you need to have API access to your Autotask instance. Follow these steps to set up authentication:
42
-
43
- 1. In Autotask, go to **Admin > API User Security**
44
- 2. Create or select an API user
45
- 3. Note the API Integration Code, Username, and Secret
46
- 4. In n8n, create a new credential of type **Autotask API**
47
- 5. Enter your API Integration Code, Username, and Secret
48
- 6. Select your Autotask zone
49
- 7. Select your timezone (affects how dates and times are displayed and entered)
50
- 8. Configure caching options as needed (this will cache dynamically fetched field picklists)
51
-
52
- ## Features
53
-
54
- ### Supported Resources
55
-
56
- The node supports the following Autotask resources:
57
-
58
- | Resource | Description |
59
- |----------|-------------|
60
- | Billing Code | Manage billing codes for time entries and charges |
61
- | Company | Manage organisations in Autotask |
62
- | Company Note | Manage notes attached to companies |
63
- | Contact | Manage contacts associated with companies |
64
- | Product | Manage products in the catalogue |
65
- | Project | Manage projects |
66
- | Project Charge | Manage charges associated with projects |
67
- | Project Note | Manage notes attached to projects |
68
- | Project Phase | Manage phases within projects |
69
- | Project Task | Manage tasks within projects |
70
- | Resource | Manage staff resources |
71
- | Search Filter | Build advanced search filters |
72
- | Ticket | Manage service tickets |
73
- | Ticket History | View historical changes to tickets |
74
- | Ticket Note | Manage notes attached to tickets |
75
- | Time Entry | Manage time entries for billing |
76
-
77
- ### Operations
78
-
79
- For most resources, the following operations are available:
80
-
81
- - **Create**: Add new records
82
- - **Read**: Retrieve a single record by ID
83
- - **Update**: Modify existing records
84
- - **Delete**: Remove records
85
- - **Get Many**: Retrieve multiple records with basic filtering options. This operation allows you to:
86
- - Filter records using simple field conditions (equals)
87
- - Filtering on User Defined Fields (UDFs)
88
- - Automatically paginate through large result sets
89
- - Choose to get all results or limit to a specific number (1-500)
90
- - Set a maximum number of records to return when not retrieving all records
91
- - **Get Many Advanced**: Build complex queries with multiple filter conditions and logical operators. This operation provides:
92
- - Support for complex AND/OR logic in filters
93
- - Nested condition groups for sophisticated queries
94
- - Filtering on User Defined Fields (UDFs)
95
- - Advanced operators like contains, beginsWith, endsWith, exists, notExists
96
- - Support for IN and NOT IN operators with multiple values
97
- - Choose to get all results or limit to a specific number (1-500)
98
- - Set a maximum number of records to return when not retrieving all records
99
- - **Count**: Get the number of matching records
100
- - **Get Entity Info**: Retrieve metadata about the entity
101
- - **Get Field Info**: Retrieve field definitions for the selected entity
102
-
103
- ### Advanced Features
104
-
105
- - **Resource Mapping**: Dynamically map fields based on entity definitions
106
- - **Advanced Filtering**: Build complex queries with multiple conditions
107
- - **File-based Caching**: Improved performance with persistent caching that can be shared between workflows and runs
108
- - **Timezone Handling**: Automatic conversion between local time and UTC
109
-
110
- ## Usage
111
-
112
- ### Basic Example: Creating a Ticket
113
-
114
- 1. Add an **Autotask** node to your workflow
115
- 2. Select **Ticket** as the resource
116
- 3. Select **Create** as the operation
117
- 4. Configure the required fields (Title, Status, etc.)
118
- 5. Connect to a trigger or previous node
119
- 6. Execute the workflow
120
-
121
- ### Intermediate Example: Querying Projects with Filters
122
-
123
- 1. Add an **Autotask** node to your workflow
124
- 2. Select **Project** as the resource
125
- 3. Select **Get Many** as the operation
126
- 4. Add filter conditions (e.g., Status equals "Active")
127
- 5. Choose whether to retrieve all results or limit the number:
128
- - Toggle "Get All" to true to retrieve all matching records
129
- - Toggle "Get All" to false and set "Max Records" (1-500) to limit the results
130
- 6. Connect to a trigger or previous node
131
- 7. Execute the workflow
132
-
133
- ### Advanced Example: Complex Filtering with Get Many Advanced
134
-
135
- 1. Add an **Autotask** node to your workflow
136
- 2. Select **Ticket** as the resource
137
- 3. Select **Get Many Advanced** as the operation
138
- 4. Build a complex filter, for example:
139
- ```json
140
- {
141
- "op": "and",
142
- "items": [
143
- {
144
- "field": "Status",
145
- "op": "notEqual",
146
- "value": 5
147
- },
148
- {
149
- "op": "or",
150
- "items": [
151
- {
152
- "field": "Priority",
153
- "op": "Equal",
154
- "value": 6
155
- },
156
- {
157
- "field": "DueDateTime",
158
- "op": "lessThan",
159
- "value": "{{ $now.plus(3, 'days').toLocal()}}"
160
- }
161
- ]
162
- }
163
- ]
164
- }
165
- ```
166
- 5. Choose whether to retrieve all results or limit the number:
167
- - Toggle "Get All" to true to retrieve all matching records
168
- - Toggle "Get All" to false and set "Max Records" (1-500) to limit the results
169
- 6. Execute the workflow to retrieve tickets that are not complete AND either have priority 6 OR are due within the next 3 days
170
-
171
- ### Advanced Example: Working with Parent-Child Relationships
172
-
173
- Many Autotask entities have parent-child relationships (e.g., Companies and Contacts). To work with these:
174
-
175
- 1. First, retrieve or create the parent entity
176
- 2. Use the parent entity's ID in the child entity operations
177
- 3. For example, to create a Contact for a Company:
178
- - First node: Get or create the Company
179
- - Second node: Create a Contact with the Company ID
180
-
181
- ## Configuration
182
-
183
- ### Caching Options
184
-
185
- The node includes an enhanced file-based caching system to improve performance by reducing API calls:
186
-
187
- - **Enable Field Caching**: Toggle caching on/off
188
- - **Cache TTL**: How long to cache field values (in seconds)
189
- - **Cache Entity Info**: Whether to cache entity information and field definitions
190
- - **Entity Info TTL**: How long to cache entity information
191
- - **Cache Reference Fields**: Whether to cache reference field values
192
- - **Reference Fields TTL**: How long to cache reference field values
193
- - **Cache Picklists**: Whether to cache picklist values
194
- - **Picklists TTL**: How long to cache picklist values
195
- - **File-based Cache**: Cache is stored in files that can be shared between workflows and runs
196
- - **Cache Directory**: Optional path to a directory where cache files will be stored
197
-
198
- ### Timezone Handling
199
-
200
- All dates and times in the Autotask API are in UTC. The node automatically converts between your selected timezone and UTC:
201
-
202
- - When creating or updating records, local times are converted to UTC
203
- - When retrieving records, UTC times are converted to your local timezone
204
- - The timezone is configured in the credentials
205
-
206
- ## Limitations
207
-
208
- ### API Limits
209
-
210
- - Maximum 500 records per page in query results
211
- - Maximum 50 pages per query operation
212
- - Maximum 500 OR conditions in filters
213
- - Maximum 1 User Defined Field per query
214
-
215
- ### Entity-Specific Limitations
216
-
217
- - Some entities may not support all operations (e.g., Project Phases cannot be deleted)
218
- - Parent-child relationships require specific handling
219
- - Some fields may be read-only or have specific validation rules
220
-
221
- ### Performance Considerations
222
-
223
- - Large queries may be slow and should be optimised with filters
224
- - Complex workflows with many API calls may hit rate limits
225
-
226
- ## Troubleshooting
227
-
228
- ### Common Issues
229
-
230
- - **Authentication Errors**: Verify your API credentials and ensure the API user has appropriate permissions
231
- - **Field Validation Errors**: Check field requirements in the Autotask API documentation
232
- - **Rate Limiting**: If you encounter rate limiting, reduce the frequency of API calls or implement retry logic
233
-
234
- ### Reporting Bugs
235
-
236
- If you encounter any bugs or issues with this integration:
237
-
238
- 1. Check the [GitHub Issues](https://github.com/msoukhomlinov/n8n-nodes-autotask/issues) to see if the problem has already been reported
239
- 2. If not, please submit a new issue with:
240
- - A clear description of the problem
241
- - Steps to reproduce the issue
242
- - Expected vs actual behaviour
243
- - Your environment details (n8n version, Node.js version)
244
- - Any relevant error messages or screenshots
245
-
246
- Bug reports should be submitted via GitHub at: https://github.com/msoukhomlinov/n8n-nodes-autotask/issues
247
-
248
- ## Resources
249
-
250
- - [Autotask API Documentation](https://ww6.autotask.net/help/developerhelp/Content/APIs/REST/REST_API_Home.htm)
251
- - [n8n Documentation](https://docs.n8n.io/)
252
- - [GitHub Repository](https://github.com/msoukhomlinov/n8n-nodes-autotask)
253
-
254
- ## License
255
-
256
- [MIT](LICENSE)
1
+ # n8n-nodes-autotask
2
+
3
+ ![n8n-nodes-autotask](https://img.shields.io/badge/n8n--nodes--autotask-0.2.0-blue)
4
+ ![License](https://img.shields.io/badge/license-MIT-green)
5
+
6
+ This is an n8n community node for integrating with Autotask PSA. It provides a comprehensive set of operations to interact with Autotask entities through their REST API.
7
+
8
+ ![Overview of n8n-nodes-autotask](./overview.gif)
9
+
10
+ [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
11
+
12
+ [Installation](#installation)
13
+ [Authentication](#authentication)
14
+ [Features](#features)
15
+ [Usage](#usage)
16
+ [Configuration](#configuration)
17
+ [Limitations](#limitations)
18
+ [Troubleshooting](#troubleshooting)
19
+ [Resources](#resources)
20
+ [License](#license)
21
+
22
+ ## Installation
23
+
24
+ Follow these steps to install this node:
25
+
26
+ ```bash
27
+ # Install with npm
28
+ npm install n8n-nodes-autotask
29
+
30
+ # Install with pnpm
31
+ pnpm install n8n-nodes-autotask
32
+ ```
33
+
34
+ **Requirements:**
35
+ - n8n version 1.0.0 or later
36
+ - Node.js version 18.10 or later
37
+ - pnpm version 9.1 or later (if using pnpm)
38
+
39
+ ## Authentication
40
+
41
+ To use this node, you need to have API access to your Autotask instance. Follow these steps to set up authentication:
42
+
43
+ 1. In Autotask, go to **Admin > API User Security**
44
+ 2. Create or select an API user
45
+ 3. Note the API Integration Code, Username, and Secret
46
+ 4. In n8n, create a new credential of type **Autotask API**
47
+ 5. Enter your API Integration Code, Username, and Secret
48
+ 6. Select your Autotask zone
49
+ 7. Select your timezone (affects how dates and times are displayed and entered)
50
+ 8. Configure caching options as needed (this will cache dynamically fetched field picklists)
51
+
52
+ ## Features
53
+
54
+ ### Supported Resources
55
+
56
+ The node supports the following Autotask resources:
57
+
58
+ | Resource | Description |
59
+ |----------|-------------|
60
+ | Billing Code | Manage billing codes for time entries and charges |
61
+ | Company | Manage organisations in Autotask |
62
+ | Company Note | Manage notes attached to companies |
63
+ | Contact | Manage contacts associated with companies |
64
+ | Product | Manage products in the catalogue |
65
+ | Project | Manage projects |
66
+ | Project Charge | Manage charges associated with projects |
67
+ | Project Note | Manage notes attached to projects |
68
+ | Project Phase | Manage phases within projects |
69
+ | Project Task | Manage tasks within projects |
70
+ | Resource | Manage staff resources |
71
+ | Search Filter | Build advanced search filters |
72
+ | Ticket | Manage service tickets |
73
+ | Ticket History | View historical changes to tickets |
74
+ | Ticket Note | Manage notes attached to tickets |
75
+ | Time Entry | Manage time entries for billing |
76
+
77
+ ### Operations
78
+
79
+ For most resources, the following operations are available:
80
+
81
+ - **Create**: Add new records
82
+ - **Read**: Retrieve a single record by ID
83
+ - **Update**: Modify existing records
84
+ - **Delete**: Remove records
85
+ - **Get Many**: Retrieve multiple records with basic filtering options. This operation allows you to:
86
+ - Filter records using simple field conditions (equals)
87
+ - Filtering on User Defined Fields (UDFs)
88
+ - Automatically paginate through large result sets
89
+ - Choose to get all results or limit to a specific number (1-500)
90
+ - Set a maximum number of records to return when not retrieving all records
91
+ - **Get Many Advanced**: Build complex queries with multiple filter conditions and logical operators. This operation provides:
92
+ - Support for complex AND/OR logic in filters
93
+ - Nested condition groups for sophisticated queries
94
+ - Filtering on User Defined Fields (UDFs)
95
+ - Advanced operators like contains, beginsWith, endsWith, exists, notExists
96
+ - Support for IN and NOT IN operators with multiple values
97
+ - Choose to get all results or limit to a specific number (1-500)
98
+ - Set a maximum number of records to return when not retrieving all records
99
+ - **Count**: Get the number of matching records
100
+ - **Get Entity Info**: Retrieve metadata about the entity
101
+ - **Get Field Info**: Retrieve field definitions for the selected entity
102
+
103
+ ### Advanced Features
104
+
105
+ - **Resource Mapping**: Dynamically map fields based on entity definitions
106
+ - **Advanced Filtering**: Build complex queries with multiple conditions
107
+ - **File-based Caching**: Improved performance with persistent caching that can be shared between workflows and runs
108
+ - **Timezone Handling**: Automatic conversion between local time and UTC
109
+
110
+ ## Usage
111
+
112
+ ### Basic Example: Creating a Ticket
113
+
114
+ 1. Add an **Autotask** node to your workflow
115
+ 2. Select **Ticket** as the resource
116
+ 3. Select **Create** as the operation
117
+ 4. Configure the required fields (Title, Status, etc.)
118
+ 5. Connect to a trigger or previous node
119
+ 6. Execute the workflow
120
+
121
+ ### Intermediate Example: Querying Projects with Filters
122
+
123
+ 1. Add an **Autotask** node to your workflow
124
+ 2. Select **Project** as the resource
125
+ 3. Select **Get Many** as the operation
126
+ 4. Add filter conditions (e.g., Status equals "Active")
127
+ 5. Choose whether to retrieve all results or limit the number:
128
+ - Toggle "Get All" to true to retrieve all matching records
129
+ - Toggle "Get All" to false and set "Max Records" (1-500) to limit the results
130
+ 6. Connect to a trigger or previous node
131
+ 7. Execute the workflow
132
+
133
+ ### Advanced Example: Complex Filtering with Get Many Advanced
134
+
135
+ 1. Add an **Autotask** node to your workflow
136
+ 2. Select **Ticket** as the resource
137
+ 3. Select **Get Many Advanced** as the operation
138
+ 4. Build a complex filter, for example:
139
+ ```json
140
+ {
141
+ "op": "and",
142
+ "items": [
143
+ {
144
+ "field": "Status",
145
+ "op": "notEqual",
146
+ "value": 5
147
+ },
148
+ {
149
+ "op": "or",
150
+ "items": [
151
+ {
152
+ "field": "Priority",
153
+ "op": "Equal",
154
+ "value": 6
155
+ },
156
+ {
157
+ "field": "DueDateTime",
158
+ "op": "lessThan",
159
+ "value": "{{ $now.plus(3, 'days').toLocal()}}"
160
+ }
161
+ ]
162
+ }
163
+ ]
164
+ }
165
+ ```
166
+ 5. Choose whether to retrieve all results or limit the number:
167
+ - Toggle "Get All" to true to retrieve all matching records
168
+ - Toggle "Get All" to false and set "Max Records" (1-500) to limit the results
169
+ 6. Execute the workflow to retrieve tickets that are not complete AND either have priority 6 OR are due within the next 3 days
170
+
171
+ ### Advanced Example: Working with Parent-Child Relationships
172
+
173
+ Many Autotask entities have parent-child relationships (e.g., Companies and Contacts). To work with these:
174
+
175
+ 1. First, retrieve or create the parent entity
176
+ 2. Use the parent entity's ID in the child entity operations
177
+ 3. For example, to create a Contact for a Company:
178
+ - First node: Get or create the Company
179
+ - Second node: Create a Contact with the Company ID
180
+
181
+ ## Configuration
182
+
183
+ ### Caching Options
184
+
185
+ The node includes an enhanced file-based caching system to improve performance by reducing API calls:
186
+
187
+ - **Enable Field Caching**: Toggle caching on/off
188
+ - **Cache TTL**: How long to cache field values (in seconds)
189
+ - **Cache Entity Info**: Whether to cache entity information and field definitions
190
+ - **Entity Info TTL**: How long to cache entity information
191
+ - **Cache Reference Fields**: Whether to cache reference field values
192
+ - **Reference Fields TTL**: How long to cache reference field values
193
+ - **Cache Picklists**: Whether to cache picklist values
194
+ - **Picklists TTL**: How long to cache picklist values
195
+ - **File-based Cache**: Cache is stored in files that can be shared between workflows and runs
196
+ - **Cache Directory**: Optional path to a directory where cache files will be stored
197
+
198
+ ### Timezone Handling
199
+
200
+ All dates and times in the Autotask API are in UTC. The node automatically converts between your selected timezone and UTC:
201
+
202
+ - When creating or updating records, local times are converted to UTC
203
+ - When retrieving records, UTC times are converted to your local timezone
204
+ - The timezone is configured in the credentials
205
+
206
+ ## Limitations
207
+
208
+ ### API Limits
209
+
210
+ - Maximum 500 records per page in query results
211
+ - Maximum 50 pages per query operation
212
+ - Maximum 500 OR conditions in filters
213
+ - Maximum 1 User Defined Field per query
214
+
215
+ ### Entity-Specific Limitations
216
+
217
+ - Some entities may not support all operations (e.g., Project Phases cannot be deleted)
218
+ - Parent-child relationships require specific handling
219
+ - Some fields may be read-only or have specific validation rules
220
+
221
+ ### Performance Considerations
222
+
223
+ - Large queries may be slow and should be optimised with filters
224
+ - Complex workflows with many API calls may hit rate limits
225
+
226
+ ## Troubleshooting
227
+
228
+ ### Common Issues
229
+
230
+ - **Authentication Errors**: Verify your API credentials and ensure the API user has appropriate permissions
231
+ - **Field Validation Errors**: Check field requirements in the Autotask API documentation
232
+ - **Rate Limiting**: If you encounter rate limiting, reduce the frequency of API calls or implement retry logic
233
+
234
+ ### Reporting Bugs
235
+
236
+ If you encounter any bugs or issues with this integration:
237
+
238
+ 1. Check the [GitHub Issues](https://github.com/msoukhomlinov/n8n-nodes-autotask/issues) to see if the problem has already been reported
239
+ 2. If not, please submit a new issue with:
240
+ - A clear description of the problem
241
+ - Steps to reproduce the issue
242
+ - Expected vs actual behaviour
243
+ - Your environment details (n8n version, Node.js version)
244
+ - Any relevant error messages or screenshots
245
+
246
+ Bug reports should be submitted via GitHub at: https://github.com/msoukhomlinov/n8n-nodes-autotask/issues
247
+
248
+ ## Resources
249
+
250
+ - [Autotask API Documentation](https://ww6.autotask.net/help/developerhelp/Content/APIs/REST/REST_API_Home.htm)
251
+ - [n8n Documentation](https://docs.n8n.io/)
252
+ - [GitHub Repository](https://github.com/msoukhomlinov/n8n-nodes-autotask)
253
+
254
+ ## License
255
+
256
+ [MIT](LICENSE)
@@ -2,12 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initializeCache = initializeCache;
4
4
  const service_1 = require("./service");
5
+ let lastCacheState = {};
5
6
  async function initializeCache(context) {
6
7
  try {
7
8
  const credentials = await context.getCredentials('autotaskApi');
8
- if (credentials.cacheEnabled) {
9
+ const credentialsId = credentials.Username || 'default';
10
+ const cacheEnabled = credentials.cacheEnabled;
11
+ if (!cacheEnabled && lastCacheState.enabled === true) {
12
+ console.debug('Cache disabled in credentials, clearing all cache instances');
13
+ service_1.CacheService.clearAllInstances();
14
+ }
15
+ lastCacheState = {
16
+ credentialsId,
17
+ enabled: cacheEnabled,
18
+ };
19
+ if (cacheEnabled) {
9
20
  return service_1.CacheService.getInstance({
10
- enabled: credentials.cacheEnabled,
21
+ enabled: cacheEnabled,
11
22
  ttl: credentials.cacheTTL,
12
23
  entityInfo: {
13
24
  enabled: credentials.cacheEntityInfo,
@@ -21,7 +32,7 @@ async function initializeCache(context) {
21
32
  enabled: credentials.cachePicklists,
22
33
  ttl: credentials.cachePicklistsTTL,
23
34
  },
24
- }, credentials.Username || 'default', credentials.cacheDirectory, credentials.cacheMaxSize);
35
+ }, credentialsId, credentials.cacheDirectory, credentials.cacheMaxSize);
25
36
  }
26
37
  }
27
38
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/cache/init.ts"],"names":[],"mappings":";;AAMA,0CAgCC;AArCD,uCAAyC;AAKlC,KAAK,UAAU,eAAe,CACpC,OAAmE;IAEnE,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,CAAmC,CAAC;QAClG,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;YAC9B,OAAO,sBAAY,CAAC,WAAW,CAC9B;gBACC,OAAO,EAAE,WAAW,CAAC,YAAuB;gBAC5C,GAAG,EAAE,WAAW,CAAC,QAAkB;gBACnC,UAAU,EAAE;oBACX,OAAO,EAAE,WAAW,CAAC,eAA0B;oBAC/C,GAAG,EAAE,WAAW,CAAC,kBAA4B;iBAC7C;gBACD,eAAe,EAAE;oBAChB,OAAO,EAAE,WAAW,CAAC,oBAA+B;oBACpD,GAAG,EAAE,WAAW,CAAC,iBAA2B;iBAC5C;gBACD,SAAS,EAAE;oBACV,OAAO,EAAE,WAAW,CAAC,cAAyB;oBAC9C,GAAG,EAAE,WAAW,CAAC,iBAA2B;iBAC5C;aACD,EACA,WAAW,CAAC,QAAmB,IAAI,SAAS,EAC7C,WAAW,CAAC,cAAwB,EACpC,WAAW,CAAC,YAAsB,CAClC,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/cache/init.ts"],"names":[],"mappings":";;AAYA,0CA+CC;AA1DD,uCAAyC;AAGzC,IAAI,cAAc,GAGd,EAAE,CAAC;AAKA,KAAK,UAAU,eAAe,CACpC,OAAmE;IAEnE,IAAI,CAAC;QACJ,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,CAAmC,CAAC;QAClG,MAAM,aAAa,GAAI,WAAW,CAAC,QAAmB,IAAI,SAAS,CAAC;QACpE,MAAM,YAAY,GAAG,WAAW,CAAC,YAAuB,CAAC;QAGzD,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC7E,sBAAY,CAAC,iBAAiB,EAAE,CAAC;QAClC,CAAC;QAGD,cAAc,GAAG;YAChB,aAAa;YACb,OAAO,EAAE,YAAY;SACrB,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YAClB,OAAO,sBAAY,CAAC,WAAW,CAC9B;gBACC,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,WAAW,CAAC,QAAkB;gBACnC,UAAU,EAAE;oBACX,OAAO,EAAE,WAAW,CAAC,eAA0B;oBAC/C,GAAG,EAAE,WAAW,CAAC,kBAA4B;iBAC7C;gBACD,eAAe,EAAE;oBAChB,OAAO,EAAE,WAAW,CAAC,oBAA+B;oBACpD,GAAG,EAAE,WAAW,CAAC,iBAA2B;iBAC5C;gBACD,SAAS,EAAE;oBACV,OAAO,EAAE,WAAW,CAAC,cAAyB;oBAC9C,GAAG,EAAE,WAAW,CAAC,iBAA2B;iBAC5C;aACD,EACD,aAAa,EACb,WAAW,CAAC,cAAwB,EACpC,WAAW,CAAC,YAAsB,CAClC,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -288,6 +288,15 @@ class CacheService {
288
288
  instance.clear().catch(error => {
289
289
  console.warn('Failed to clear cache instance:', error);
290
290
  });
291
+ if (instance.filePath && fs.existsSync(instance.filePath)) {
292
+ try {
293
+ fs.unlinkSync(instance.filePath);
294
+ console.debug(`Deleted cache file: ${instance.filePath}`);
295
+ }
296
+ catch (error) {
297
+ console.warn(`Failed to delete cache file ${instance.filePath}:`, error);
298
+ }
299
+ }
291
300
  }
292
301
  CacheService.instances.clear();
293
302
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/cache/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/cache/service.ts"],"names":[],"mappings":"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"}