n8n-nodes-autotask 0.1.0 → 0.2.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.
- package/README.md +21 -6
- package/dist/credentials/AutotaskApi.credentials.js +24 -0
- package/dist/credentials/AutotaskApi.credentials.js.map +1 -1
- package/dist/nodes/Autotask/Autotask.node.js +21 -5
- package/dist/nodes/Autotask/Autotask.node.js.map +1 -1
- package/dist/nodes/Autotask/constants/entities.js +3 -0
- package/dist/nodes/Autotask/constants/entities.js.map +1 -1
- package/dist/nodes/Autotask/constants/field.constants.js +1 -0
- package/dist/nodes/Autotask/constants/field.constants.js.map +1 -1
- package/dist/nodes/Autotask/helpers/cache/init.js +1 -1
- package/dist/nodes/Autotask/helpers/cache/init.js.map +1 -1
- package/dist/nodes/Autotask/helpers/cache/service.d.ts +7 -1
- package/dist/nodes/Autotask/helpers/cache/service.js +179 -20
- package/dist/nodes/Autotask/helpers/cache/service.js.map +1 -1
- package/dist/nodes/Autotask/helpers/entity/api.js +4 -2
- package/dist/nodes/Autotask/helpers/entity/api.js.map +1 -1
- package/dist/nodes/Autotask/helpers/http/request.js +2 -2
- package/dist/nodes/Autotask/helpers/http/request.js.map +1 -1
- package/dist/nodes/Autotask/helpers/resource-operations.helper.js +19 -2
- package/dist/nodes/Autotask/helpers/resource-operations.helper.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/get-many-advanced.operation.js +5 -0
- package/dist/nodes/Autotask/operations/base/get-many-advanced.operation.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/get-many.js +20 -12
- package/dist/nodes/Autotask/operations/base/get-many.js.map +1 -1
- package/dist/nodes/Autotask/operations/base/getFieldInfo.operation.d.ts +2 -3
- package/dist/nodes/Autotask/operations/base/getFieldInfo.operation.js +8 -17
- package/dist/nodes/Autotask/operations/base/getFieldInfo.operation.js.map +1 -1
- package/dist/nodes/Autotask/operations/common/entityInfo.execute.js +1 -1
- package/dist/nodes/Autotask/operations/common/entityInfo.execute.js.map +1 -1
- package/dist/nodes/Autotask/operations/common/get-many/description.d.ts +2 -0
- package/dist/nodes/Autotask/operations/common/get-many/description.js +35 -0
- package/dist/nodes/Autotask/operations/common/get-many/description.js.map +1 -0
- package/dist/nodes/Autotask/operations/common/get-many/index.d.ts +2 -0
- package/dist/nodes/Autotask/operations/common/get-many/index.js +6 -0
- package/dist/nodes/Autotask/operations/common/get-many/index.js.map +1 -0
- package/dist/nodes/Autotask/operations/common/get-many-advanced/description.js +29 -0
- package/dist/nodes/Autotask/operations/common/get-many-advanced/description.js.map +1 -1
- package/dist/nodes/Autotask/operations/common/get-many-advanced/index.d.ts +3 -2
- package/dist/nodes/Autotask/operations/common/get-many-advanced/index.js +6 -16
- package/dist/nodes/Autotask/operations/common/get-many-advanced/index.js.map +1 -1
- package/dist/nodes/Autotask/resources/billingCodes/description.d.ts +2 -0
- package/dist/nodes/Autotask/resources/billingCodes/description.js +89 -0
- package/dist/nodes/Autotask/resources/billingCodes/description.js.map +1 -0
- package/dist/nodes/Autotask/resources/billingCodes/execute.d.ts +2 -0
- package/dist/nodes/Autotask/resources/billingCodes/execute.js +65 -0
- package/dist/nodes/Autotask/resources/billingCodes/execute.js.map +1 -0
- package/dist/nodes/Autotask/resources/billingCodes/index.d.ts +2 -0
- package/dist/nodes/Autotask/resources/billingCodes/index.js +19 -0
- package/dist/nodes/Autotask/resources/billingCodes/index.js.map +1 -0
- package/dist/nodes/Autotask/resources/definitions.js +15 -0
- package/dist/nodes/Autotask/resources/definitions.js.map +1 -1
- package/dist/nodes/Autotask/resources/ticketHistories/description.d.ts +2 -0
- package/dist/nodes/Autotask/resources/ticketHistories/description.js +96 -0
- package/dist/nodes/Autotask/resources/ticketHistories/description.js.map +1 -0
- package/dist/nodes/Autotask/resources/ticketHistories/execute.d.ts +2 -0
- package/dist/nodes/Autotask/resources/ticketHistories/execute.js +117 -0
- package/dist/nodes/Autotask/resources/ticketHistories/execute.js.map +1 -0
- package/dist/nodes/Autotask/resources/ticketHistories/index.d.ts +2 -0
- package/dist/nodes/Autotask/resources/ticketHistories/index.js +8 -0
- package/dist/nodes/Autotask/resources/ticketHistories/index.js.map +1 -0
- package/dist/nodes/Autotask/resources/ticketNotes/description.d.ts +2 -0
- package/dist/nodes/Autotask/resources/ticketNotes/description.js +96 -0
- package/dist/nodes/Autotask/resources/ticketNotes/description.js.map +1 -0
- package/dist/nodes/Autotask/resources/ticketNotes/execute.d.ts +2 -0
- package/dist/nodes/Autotask/resources/ticketNotes/execute.js +77 -0
- package/dist/nodes/Autotask/resources/ticketNotes/execute.js.map +1 -0
- package/dist/nodes/Autotask/resources/ticketNotes/index.d.ts +2 -0
- package/dist/nodes/Autotask/resources/ticketNotes/index.js +19 -0
- package/dist/nodes/Autotask/resources/ticketNotes/index.js.map +1 -0
- package/dist/nodes/Autotask/types/base/entities.d.ts +1 -0
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# n8n-nodes-autotask
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|

|
|
5
5
|
|
|
6
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.
|
|
@@ -57,6 +57,7 @@ The node supports the following Autotask resources:
|
|
|
57
57
|
|
|
58
58
|
| Resource | Description |
|
|
59
59
|
|----------|-------------|
|
|
60
|
+
| Billing Code | Manage billing codes for time entries and charges |
|
|
60
61
|
| Company | Manage organisations in Autotask |
|
|
61
62
|
| Company Note | Manage notes attached to companies |
|
|
62
63
|
| Contact | Manage contacts associated with companies |
|
|
@@ -69,6 +70,8 @@ The node supports the following Autotask resources:
|
|
|
69
70
|
| Resource | Manage staff resources |
|
|
70
71
|
| Search Filter | Build advanced search filters |
|
|
71
72
|
| Ticket | Manage service tickets |
|
|
73
|
+
| Ticket History | View historical changes to tickets |
|
|
74
|
+
| Ticket Note | Manage notes attached to tickets |
|
|
72
75
|
| Time Entry | Manage time entries for billing |
|
|
73
76
|
|
|
74
77
|
### Operations
|
|
@@ -83,12 +86,16 @@ For most resources, the following operations are available:
|
|
|
83
86
|
- Filter records using simple field conditions (equals)
|
|
84
87
|
- Filtering on User Defined Fields (UDFs)
|
|
85
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
|
|
86
91
|
- **Get Many Advanced**: Build complex queries with multiple filter conditions and logical operators. This operation provides:
|
|
87
92
|
- Support for complex AND/OR logic in filters
|
|
88
93
|
- Nested condition groups for sophisticated queries
|
|
89
94
|
- Filtering on User Defined Fields (UDFs)
|
|
90
95
|
- Advanced operators like contains, beginsWith, endsWith, exists, notExists
|
|
91
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
|
|
92
99
|
- **Count**: Get the number of matching records
|
|
93
100
|
- **Get Entity Info**: Retrieve metadata about the entity
|
|
94
101
|
- **Get Field Info**: Retrieve field definitions for the selected entity
|
|
@@ -97,7 +104,7 @@ For most resources, the following operations are available:
|
|
|
97
104
|
|
|
98
105
|
- **Resource Mapping**: Dynamically map fields based on entity definitions
|
|
99
106
|
- **Advanced Filtering**: Build complex queries with multiple conditions
|
|
100
|
-
- **Caching**:
|
|
107
|
+
- **File-based Caching**: Improved performance with persistent caching that can be shared between workflows and runs
|
|
101
108
|
- **Timezone Handling**: Automatic conversion between local time and UTC
|
|
102
109
|
|
|
103
110
|
## Usage
|
|
@@ -117,8 +124,11 @@ For most resources, the following operations are available:
|
|
|
117
124
|
2. Select **Project** as the resource
|
|
118
125
|
3. Select **Get Many** as the operation
|
|
119
126
|
4. Add filter conditions (e.g., Status equals "Active")
|
|
120
|
-
5.
|
|
121
|
-
|
|
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
|
|
122
132
|
|
|
123
133
|
### Advanced Example: Complex Filtering with Get Many Advanced
|
|
124
134
|
|
|
@@ -153,7 +163,10 @@ For most resources, the following operations are available:
|
|
|
153
163
|
]
|
|
154
164
|
}
|
|
155
165
|
```
|
|
156
|
-
5.
|
|
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
|
|
157
170
|
|
|
158
171
|
### Advanced Example: Working with Parent-Child Relationships
|
|
159
172
|
|
|
@@ -169,7 +182,7 @@ Many Autotask entities have parent-child relationships (e.g., Companies and Cont
|
|
|
169
182
|
|
|
170
183
|
### Caching Options
|
|
171
184
|
|
|
172
|
-
The node includes
|
|
185
|
+
The node includes an enhanced file-based caching system to improve performance by reducing API calls:
|
|
173
186
|
|
|
174
187
|
- **Enable Field Caching**: Toggle caching on/off
|
|
175
188
|
- **Cache TTL**: How long to cache field values (in seconds)
|
|
@@ -179,6 +192,8 @@ The node includes a caching system to improve performance by reducing API calls:
|
|
|
179
192
|
- **Reference Fields TTL**: How long to cache reference field values
|
|
180
193
|
- **Cache Picklists**: Whether to cache picklist values
|
|
181
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
|
|
182
197
|
|
|
183
198
|
### Timezone Handling
|
|
184
199
|
|
|
@@ -232,6 +232,30 @@ class AutotaskApi {
|
|
|
232
232
|
},
|
|
233
233
|
},
|
|
234
234
|
},
|
|
235
|
+
{
|
|
236
|
+
displayName: 'Cache Directory',
|
|
237
|
+
name: 'cacheDirectory',
|
|
238
|
+
type: 'string',
|
|
239
|
+
default: './cache/autotask',
|
|
240
|
+
description: 'Directory to store cache files (relative or absolute path)',
|
|
241
|
+
displayOptions: {
|
|
242
|
+
show: {
|
|
243
|
+
cacheEnabled: [true],
|
|
244
|
+
},
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
displayName: 'Maximum Cache Size (MB)',
|
|
249
|
+
name: 'cacheMaxSize',
|
|
250
|
+
type: 'number',
|
|
251
|
+
default: 100,
|
|
252
|
+
description: 'Maximum size of the cache in megabytes (0 for unlimited)',
|
|
253
|
+
displayOptions: {
|
|
254
|
+
show: {
|
|
255
|
+
cacheEnabled: [true],
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
},
|
|
235
259
|
];
|
|
236
260
|
this.authenticate = {
|
|
237
261
|
type: 'generic',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutotaskApi.credentials.js","sourceRoot":"","sources":["../../credentials/AutotaskApi.credentials.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AutotaskApi.credentials.js","sourceRoot":"","sources":["../../credentials/AutotaskApi.credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Autotask = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
4
5
|
const execute_1 = require("./resources/projectTasks/execute");
|
|
5
6
|
const execute_2 = require("./resources/projects/execute");
|
|
6
7
|
const execute_3 = require("./resources/companies/execute");
|
|
@@ -12,7 +13,10 @@ const execute_8 = require("./resources/projectPhases/execute");
|
|
|
12
13
|
const execute_9 = require("./resources/projectCharges/execute");
|
|
13
14
|
const execute_10 = require("./resources/products/execute");
|
|
14
15
|
const execute_11 = require("./resources/tickets/execute");
|
|
15
|
-
const execute_12 = require("./resources/
|
|
16
|
+
const execute_12 = require("./resources/ticketNotes/execute");
|
|
17
|
+
const execute_13 = require("./resources/ticketHistories/execute");
|
|
18
|
+
const execute_14 = require("./resources/timeEntries/execute");
|
|
19
|
+
const execute_15 = require("./resources/billingCodes/execute");
|
|
16
20
|
const searchFilter_1 = require("./resources/searchFilter");
|
|
17
21
|
const resourceMapper_1 = require("./helpers/resourceMapper");
|
|
18
22
|
const definitions_1 = require("./resources/definitions");
|
|
@@ -27,7 +31,10 @@ const description_8 = require("./resources/projectPhases/description");
|
|
|
27
31
|
const description_9 = require("./resources/projectCharges/description");
|
|
28
32
|
const description_10 = require("./resources/products/description");
|
|
29
33
|
const description_11 = require("./resources/tickets/description");
|
|
30
|
-
const description_12 = require("./resources/
|
|
34
|
+
const description_12 = require("./resources/ticketNotes/description");
|
|
35
|
+
const description_13 = require("./resources/ticketHistories/description");
|
|
36
|
+
const description_14 = require("./resources/timeEntries/description");
|
|
37
|
+
const description_15 = require("./resources/billingCodes/description");
|
|
31
38
|
const resource_operations_helper_1 = require("./helpers/resource-operations.helper");
|
|
32
39
|
class Autotask {
|
|
33
40
|
constructor() {
|
|
@@ -70,7 +77,10 @@ class Autotask {
|
|
|
70
77
|
...(0, resource_operations_helper_1.addOperationsToResource)(description_1.projectTaskFields, { resourceName: 'task' }),
|
|
71
78
|
...(0, resource_operations_helper_1.addOperationsToResource)(description_5.resourceFields, { resourceName: 'resource' }),
|
|
72
79
|
...(0, resource_operations_helper_1.addOperationsToResource)(description_11.ticketFields, { resourceName: 'ticket' }),
|
|
73
|
-
...(0, resource_operations_helper_1.addOperationsToResource)(description_12.
|
|
80
|
+
...(0, resource_operations_helper_1.addOperationsToResource)(description_12.ticketNoteFields, { resourceName: 'ticketNote' }),
|
|
81
|
+
...(0, resource_operations_helper_1.addOperationsToResource)(description_13.ticketHistoryFields, { resourceName: 'TicketHistory' }),
|
|
82
|
+
...(0, resource_operations_helper_1.addOperationsToResource)(description_14.timeEntryFields, { resourceName: 'timeEntry' }),
|
|
83
|
+
...description_15.billingCodeFields,
|
|
74
84
|
...searchFilter_1.searchFilterDescription,
|
|
75
85
|
...searchFilter_1.searchFilterOperations,
|
|
76
86
|
],
|
|
@@ -86,6 +96,8 @@ class Autotask {
|
|
|
86
96
|
async execute() {
|
|
87
97
|
const resource = this.getNodeParameter('resource', 0);
|
|
88
98
|
switch (resource) {
|
|
99
|
+
case 'billingCode':
|
|
100
|
+
return execute_15.executeBillingCodeOperation.call(this);
|
|
89
101
|
case 'company':
|
|
90
102
|
return execute_3.executeCompanyOperation.call(this);
|
|
91
103
|
case 'companyNote':
|
|
@@ -110,10 +122,14 @@ class Autotask {
|
|
|
110
122
|
return searchFilter_1.build.call(this);
|
|
111
123
|
case 'ticket':
|
|
112
124
|
return execute_11.executeTicketOperation.call(this);
|
|
125
|
+
case 'ticketNote':
|
|
126
|
+
return execute_12.executeTicketNoteOperation.call(this);
|
|
127
|
+
case 'TicketHistory':
|
|
128
|
+
return execute_13.executeTicketHistoryOperation.call(this);
|
|
113
129
|
case 'timeEntry':
|
|
114
|
-
return
|
|
130
|
+
return execute_14.executeTimeEntryOperation.call(this);
|
|
115
131
|
default:
|
|
116
|
-
throw new
|
|
132
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Resource ${resource} is not supported`);
|
|
117
133
|
}
|
|
118
134
|
}
|
|
119
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autotask.node.js","sourceRoot":"","sources":["../../../nodes/Autotask/Autotask.node.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Autotask.node.js","sourceRoot":"","sources":["../../../nodes/Autotask/Autotask.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.AUTOTASK_ENTITIES = void 0;
|
|
|
4
4
|
exports.getEntityMetadata = getEntityMetadata;
|
|
5
5
|
const entity_types_1 = require("../types/base/entity-types");
|
|
6
6
|
exports.AUTOTASK_ENTITIES = [
|
|
7
|
+
{ name: 'BillingCode', operations: { [entity_types_1.OperationType.QUERY]: 'self', [entity_types_1.OperationType.COUNT]: 'self' } },
|
|
7
8
|
{ name: 'Company', operations: { [entity_types_1.OperationType.CREATE]: 'self', [entity_types_1.OperationType.UPDATE]: 'self', [entity_types_1.OperationType.QUERY]: 'self', [entity_types_1.OperationType.DELETE]: 'self', [entity_types_1.OperationType.COUNT]: 'self' } },
|
|
8
9
|
{ name: 'CompanyAttachment', childOf: 'Company', subname: 'Attachment', isAttachment: true, operations: { [entity_types_1.OperationType.CREATE]: 'parent', [entity_types_1.OperationType.DELETE]: 'parent' } },
|
|
9
10
|
{ name: 'CompanyNote', childOf: 'Company', subname: 'Notes', parentIdField: 'companyID', operations: { [entity_types_1.OperationType.CREATE]: 'parent', [entity_types_1.OperationType.UPDATE]: 'parent', [entity_types_1.OperationType.QUERY]: 'self', [entity_types_1.OperationType.COUNT]: 'self' } },
|
|
@@ -25,6 +26,8 @@ exports.AUTOTASK_ENTITIES = [
|
|
|
25
26
|
{ name: 'ProductWebhookField', childOf: 'ProductWebhook', subname: 'Field', parentChain: ['Product', 'ProductWebhook'], operations: { [entity_types_1.OperationType.CREATE]: 'parent', [entity_types_1.OperationType.DELETE]: 'parent' } },
|
|
26
27
|
{ name: 'ProductWebhookUdfField', childOf: 'ProductWebhook', subname: 'UdfField', parentChain: ['Product', 'ProductWebhook'], operations: { [entity_types_1.OperationType.CREATE]: 'parent', [entity_types_1.OperationType.DELETE]: 'parent' } },
|
|
27
28
|
{ name: 'Ticket', operations: { [entity_types_1.OperationType.CREATE]: 'self', [entity_types_1.OperationType.UPDATE]: 'self', [entity_types_1.OperationType.QUERY]: 'self', [entity_types_1.OperationType.COUNT]: 'self', [entity_types_1.OperationType.READ]: 'self' }, hasUserDefinedFields: true },
|
|
29
|
+
{ name: 'TicketNote', childOf: 'Ticket', subname: 'Notes', parentIdField: 'ticketID', operations: { [entity_types_1.OperationType.CREATE]: 'parent', [entity_types_1.OperationType.UPDATE]: 'parent', [entity_types_1.OperationType.QUERY]: 'self', [entity_types_1.OperationType.COUNT]: 'self' } },
|
|
30
|
+
{ name: 'TicketHistory', operations: { [entity_types_1.OperationType.QUERY]: 'self', [entity_types_1.OperationType.COUNT]: 'self', [entity_types_1.OperationType.READ]: 'self' }, noPluralize: true },
|
|
28
31
|
{ name: 'TimeEntry', operations: { [entity_types_1.OperationType.CREATE]: 'self', [entity_types_1.OperationType.UPDATE]: 'self', [entity_types_1.OperationType.QUERY]: 'self', [entity_types_1.OperationType.DELETE]: 'self', [entity_types_1.OperationType.COUNT]: 'self' }, hasUserDefinedFields: true },
|
|
29
32
|
{ name: 'TimeEntryAttachment', childOf: 'TimeEntry', subname: 'Attachment', isAttachment: true, operations: { [entity_types_1.OperationType.CREATE]: 'parent', [entity_types_1.OperationType.DELETE]: 'parent' } },
|
|
30
33
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../../nodes/Autotask/constants/entities.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../../nodes/Autotask/constants/entities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.constants.js","sourceRoot":"","sources":["../../../../nodes/Autotask/constants/field.constants.ts"],"names":[],"mappings":";;;AAMa,QAAA,iCAAiC,GAAmD;IAChG,UAAU,EAAE;QACX,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;QACrC,YAAY,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;QAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAiB;KAC1C;IAID,SAAS,EAAE;QACV,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;QACrC,YAAY,EAAE,OAAO;QACrB,SAAS,EAAE,GAAG;KACd;IACD,QAAQ,EAAE;QACT,UAAU,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC;QACrC,SAAS,EAAE,KAAK;KAChB;IACD,SAAS,EAAE;QACV,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,YAAY,EAAE,CAAC,eAAe,CAAC;KAC/B;CACQ,CAAC;AAKE,QAAA,0BAA0B,GAAG;IAEzC,aAAa;IAGb,OAAO;IACP,UAAU;IACV,uBAAuB;IACvB,QAAQ;CACC,CAAC;AAQE,QAAA,qBAAqB,GAAG;IAEpC,OAAO,EAAE,CAAC;IAEV,QAAQ,EAAE,CAAC;IAEX,UAAU,EAAE,CAAC;CACJ,CAAC;AAQE,QAAA,gBAAgB,GAAG;IAE/B,MAAM,EAAE,QAAQ;IAEhB,MAAM,EAAE,QAAQ;IAEhB,OAAO,EAAE,SAAS;IAElB,IAAI,EAAE,MAAM;IAEZ,QAAQ,EAAE,UAAU;IAEpB,IAAI,EAAE,MAAM;CACH,CAAC;AAQE,QAAA,cAAc,GAAG;IAE7B,MAAM,EAAE,CAAC;IAET,MAAM,EAAE,CAAC;IAET,QAAQ,EAAE,CAAC;IAEX,OAAO,EAAE,CAAC;IAEV,IAAI,EAAE,CAAC;CACE,CAAC;AAOE,QAAA,mBAAmB,GAAG;IAElC,OAAO,EAAE,CAAC;IAEV,QAAQ,EAAE,CAAC;IAEX,UAAU,EAAE,CAAC;CACJ,CAAC;AAQE,QAAA,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAU,CAAC;AAQlD,QAAA,mBAAmB,GAAG;IAOlC,OAAO,EAAE;QACR,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,SAAS;KACf;IAOD,GAAG,EAAE;QACJ,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;KACZ;CACQ,CAAC;AAaE,QAAA,yBAAyB,GAA6B;IAClE,MAAM,EAAE,CAAC,WAAW,CAAC;IACrB,SAAS,EAAE,CAAC,WAAW,CAAC;IACxB,aAAa,EAAE,CAAC,WAAW,CAAC;IAC5B,aAAa,EAAE,CAAC,WAAW,CAAC;IAC5B,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,QAAQ,EAAE,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"field.constants.js","sourceRoot":"","sources":["../../../../nodes/Autotask/constants/field.constants.ts"],"names":[],"mappings":";;;AAMa,QAAA,iCAAiC,GAAmD;IAChG,UAAU,EAAE;QACX,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;QACrC,YAAY,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;QAC7B,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAiB;KAC1C;IAID,SAAS,EAAE;QACV,UAAU,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;QACrC,YAAY,EAAE,OAAO;QACrB,SAAS,EAAE,GAAG;KACd;IACD,QAAQ,EAAE;QACT,UAAU,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC;QACrC,SAAS,EAAE,KAAK;KAChB;IACD,SAAS,EAAE;QACV,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,YAAY,EAAE,CAAC,eAAe,CAAC;KAC/B;CACQ,CAAC;AAKE,QAAA,0BAA0B,GAAG;IAEzC,aAAa;IAGb,OAAO;IACP,UAAU;IACV,uBAAuB;IACvB,QAAQ;CACC,CAAC;AAQE,QAAA,qBAAqB,GAAG;IAEpC,OAAO,EAAE,CAAC;IAEV,QAAQ,EAAE,CAAC;IAEX,UAAU,EAAE,CAAC;CACJ,CAAC;AAQE,QAAA,gBAAgB,GAAG;IAE/B,MAAM,EAAE,QAAQ;IAEhB,MAAM,EAAE,QAAQ;IAEhB,OAAO,EAAE,SAAS;IAElB,IAAI,EAAE,MAAM;IAEZ,QAAQ,EAAE,UAAU;IAEpB,IAAI,EAAE,MAAM;CACH,CAAC;AAQE,QAAA,cAAc,GAAG;IAE7B,MAAM,EAAE,CAAC;IAET,MAAM,EAAE,CAAC;IAET,QAAQ,EAAE,CAAC;IAEX,OAAO,EAAE,CAAC;IAEV,IAAI,EAAE,CAAC;CACE,CAAC;AAOE,QAAA,mBAAmB,GAAG;IAElC,OAAO,EAAE,CAAC;IAEV,QAAQ,EAAE,CAAC;IAEX,UAAU,EAAE,CAAC;CACJ,CAAC;AAQE,QAAA,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAU,CAAC;AAQlD,QAAA,mBAAmB,GAAG;IAOlC,OAAO,EAAE;QACR,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,SAAS;KACf;IAOD,GAAG,EAAE;QACJ,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,SAAS;QACZ,CAAC,EAAE,SAAS;KACZ;CACQ,CAAC;AAaE,QAAA,yBAAyB,GAA6B;IAClE,MAAM,EAAE,CAAC,WAAW,CAAC;IACrB,SAAS,EAAE,CAAC,WAAW,CAAC;IACxB,aAAa,EAAE,CAAC,WAAW,CAAC;IAC5B,aAAa,EAAE,CAAC,WAAW,CAAC;IAC5B,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,QAAQ,EAAE,CAAC,WAAW,CAAC;IACvB,YAAY,EAAE,CAAC,UAAU,CAAC;CAEjB,CAAC"}
|
|
@@ -21,7 +21,7 @@ async function initializeCache(context) {
|
|
|
21
21
|
enabled: credentials.cachePicklists,
|
|
22
22
|
ttl: credentials.cachePicklistsTTL,
|
|
23
23
|
},
|
|
24
|
-
}, credentials.Username || 'default');
|
|
24
|
+
}, credentials.Username || 'default', credentials.cacheDirectory, credentials.cacheMaxSize);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../nodes/Autotask/helpers/cache/init.ts"],"names":[],"mappings":";;AAMA,
|
|
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"}
|
|
@@ -19,16 +19,22 @@ export declare class CacheService {
|
|
|
19
19
|
private cache;
|
|
20
20
|
private config;
|
|
21
21
|
private namespace;
|
|
22
|
+
private filePath?;
|
|
23
|
+
private maxSizeMB?;
|
|
22
24
|
private metrics;
|
|
23
25
|
private constructor();
|
|
24
|
-
|
|
26
|
+
private sanitizeCredentialId;
|
|
27
|
+
static getInstance(config: ICacheConfig, credentialsId: string, cacheDir?: string, maxSizeMB?: number): CacheService;
|
|
25
28
|
private static configsMatch;
|
|
26
29
|
static clearInstances(): void;
|
|
30
|
+
checkSize(): Promise<number>;
|
|
31
|
+
private cleanupIfNeeded;
|
|
27
32
|
get<T>(key: string): Promise<T | undefined>;
|
|
28
33
|
set(key: string, value: unknown, ttl?: number): Promise<void>;
|
|
29
34
|
delete(key: string): Promise<boolean>;
|
|
30
35
|
clear(): Promise<void>;
|
|
31
36
|
getEntityInfoKey(entityType: string): string;
|
|
37
|
+
getFieldsKey(entityType: string, fieldType: string): string;
|
|
32
38
|
getReferenceKey(entityType: string): string;
|
|
33
39
|
getPicklistKey(entityType: string, fieldName: string): string;
|
|
34
40
|
isEntityInfoEnabled(): boolean;
|
|
@@ -1,27 +1,112 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
39
|
exports.CacheService = void 0;
|
|
7
40
|
const keyv_1 = __importDefault(require("keyv"));
|
|
41
|
+
const keyv_file_1 = __importDefault(require("keyv-file"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const fs = __importStar(require("fs"));
|
|
8
44
|
class CacheService {
|
|
9
|
-
constructor(config, credentialsId) {
|
|
45
|
+
constructor(config, credentialsId, cacheDir, maxSizeMB) {
|
|
10
46
|
this.metrics = { hits: 0, misses: 0 };
|
|
11
47
|
this.config = config;
|
|
12
48
|
this.namespace = `autotask:${credentialsId}`;
|
|
13
|
-
this.
|
|
14
|
-
|
|
15
|
-
|
|
49
|
+
this.maxSizeMB = maxSizeMB;
|
|
50
|
+
try {
|
|
51
|
+
if (cacheDir) {
|
|
52
|
+
const absoluteCacheDir = path.isAbsolute(cacheDir)
|
|
53
|
+
? cacheDir
|
|
54
|
+
: path.resolve(process.cwd(), cacheDir);
|
|
55
|
+
const credentialDir = path.join(absoluteCacheDir, this.sanitizeCredentialId(credentialsId));
|
|
56
|
+
fs.mkdirSync(credentialDir, { recursive: true });
|
|
57
|
+
const filePath = path.join(credentialDir, 'cache.json');
|
|
58
|
+
this.cache = new keyv_1.default({
|
|
59
|
+
namespace: this.namespace,
|
|
60
|
+
store: new keyv_file_1.default({
|
|
61
|
+
filename: filePath,
|
|
62
|
+
writeDelay: 100,
|
|
63
|
+
expiredCheckDelay: 24 * 60 * 60 * 1000
|
|
64
|
+
})
|
|
65
|
+
});
|
|
66
|
+
this.filePath = filePath;
|
|
67
|
+
console.debug(`Created file-based cache at ${filePath}`);
|
|
68
|
+
if (fs.existsSync(filePath)) {
|
|
69
|
+
try {
|
|
70
|
+
const stats = fs.statSync(filePath);
|
|
71
|
+
console.debug(`Cache file exists: ${filePath}, size: ${(stats.size / 1024).toFixed(2)} KB`);
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
console.warn(`Cache file exists but cannot be accessed: ${filePath}`, error);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
console.debug(`Cache file does not exist yet, will be created on first write: ${filePath}`);
|
|
79
|
+
try {
|
|
80
|
+
fs.accessSync(credentialDir, fs.constants.W_OK);
|
|
81
|
+
console.debug(`Cache directory is writable: ${credentialDir}`);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
console.warn(`Cache directory is not writable: ${credentialDir}`, error);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
throw new Error('Cache directory is required for file-based caching');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.error('Failed to create file-based cache:', error);
|
|
94
|
+
throw new Error(`Failed to initialize cache: ${error.message}`);
|
|
95
|
+
}
|
|
16
96
|
this.cache.on('error', (err) => console.error('Cache Error:', err));
|
|
17
97
|
console.debug(`Created new cache instance for ${credentialsId} with config:`, {
|
|
18
98
|
enabled: config.enabled,
|
|
19
99
|
entityInfo: config.entityInfo,
|
|
20
100
|
referenceFields: config.referenceFields,
|
|
21
101
|
picklists: config.picklists,
|
|
102
|
+
filePath: this.filePath,
|
|
103
|
+
maxSizeMB: this.maxSizeMB
|
|
22
104
|
});
|
|
23
105
|
}
|
|
24
|
-
|
|
106
|
+
sanitizeCredentialId(id) {
|
|
107
|
+
return id.replace(/[^a-zA-Z0-9]/g, '_');
|
|
108
|
+
}
|
|
109
|
+
static getInstance(config, credentialsId, cacheDir, maxSizeMB) {
|
|
25
110
|
const instanceKey = `${credentialsId}:${config.enabled}`;
|
|
26
111
|
const existingInstance = CacheService.instances.get(instanceKey);
|
|
27
112
|
if (existingInstance && !CacheService.configsMatch(existingInstance.config, config)) {
|
|
@@ -33,7 +118,7 @@ class CacheService {
|
|
|
33
118
|
}
|
|
34
119
|
if (!CacheService.instances.has(instanceKey)) {
|
|
35
120
|
console.debug(`Creating new cache instance for ${credentialsId}`);
|
|
36
|
-
CacheService.instances.set(instanceKey, new CacheService(config, credentialsId));
|
|
121
|
+
CacheService.instances.set(instanceKey, new CacheService(config, credentialsId, cacheDir, maxSizeMB));
|
|
37
122
|
}
|
|
38
123
|
else {
|
|
39
124
|
console.debug(`Reusing existing cache instance for ${credentialsId}`);
|
|
@@ -57,30 +142,101 @@ class CacheService {
|
|
|
57
142
|
static clearInstances() {
|
|
58
143
|
CacheService.instances.clear();
|
|
59
144
|
}
|
|
145
|
+
async checkSize() {
|
|
146
|
+
if (!this.filePath) {
|
|
147
|
+
return 0;
|
|
148
|
+
}
|
|
149
|
+
try {
|
|
150
|
+
if (!fs.existsSync(this.filePath)) {
|
|
151
|
+
console.debug(`Cache file does not exist yet when checking size: ${this.filePath}`);
|
|
152
|
+
return 0;
|
|
153
|
+
}
|
|
154
|
+
const stats = fs.statSync(this.filePath);
|
|
155
|
+
return stats.size / (1024 * 1024);
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
console.warn('Failed to check cache size:', error);
|
|
159
|
+
return 0;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
async cleanupIfNeeded() {
|
|
163
|
+
if (!this.maxSizeMB || this.maxSizeMB <= 0)
|
|
164
|
+
return;
|
|
165
|
+
const sizeMB = await this.checkSize();
|
|
166
|
+
if (sizeMB > this.maxSizeMB) {
|
|
167
|
+
console.debug(`Cache size (${sizeMB.toFixed(2)}MB) exceeds limit (${this.maxSizeMB}MB), cleaning up...`);
|
|
168
|
+
await this.clear();
|
|
169
|
+
}
|
|
170
|
+
}
|
|
60
171
|
async get(key) {
|
|
61
|
-
if (!this.config.enabled)
|
|
172
|
+
if (!this.config.enabled) {
|
|
173
|
+
console.debug(`Cache disabled, skipping get for key: ${key}`);
|
|
62
174
|
return undefined;
|
|
63
|
-
const value = await this.cache.get(key);
|
|
64
|
-
if (value !== undefined) {
|
|
65
|
-
this.metrics.hits++;
|
|
66
|
-
console.debug(`[${new Date().toISOString()}] Cache HIT for key: ${key}`);
|
|
67
175
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
176
|
+
const startTime = Date.now();
|
|
177
|
+
try {
|
|
178
|
+
const value = await this.cache.get(key);
|
|
179
|
+
const duration = Date.now() - startTime;
|
|
180
|
+
if (duration > 200) {
|
|
181
|
+
console.warn(`Slow cache get operation (${duration}ms) for key: ${key}`);
|
|
182
|
+
}
|
|
183
|
+
if (value !== undefined) {
|
|
184
|
+
this.metrics.hits++;
|
|
185
|
+
console.debug(`[${new Date().toISOString()}] Cache HIT for key: ${key} (${duration}ms)`);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
this.metrics.misses++;
|
|
189
|
+
console.debug(`[${new Date().toISOString()}] Cache MISS for key: ${key} (${duration}ms)`);
|
|
190
|
+
if (this.filePath && fs.existsSync(this.filePath)) {
|
|
191
|
+
try {
|
|
192
|
+
const fileContent = fs.readFileSync(this.filePath, 'utf8');
|
|
193
|
+
const hasKey = fileContent.includes(key);
|
|
194
|
+
console.debug(`Cache file check for key ${key}: ${hasKey ? 'Key exists in file but not retrieved' : 'Key not found in file'}`);
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
console.warn(`Failed to check cache file for key ${key}:`, error);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return value;
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
console.warn(`Cache get error for key ${key}:`, error);
|
|
205
|
+
return undefined;
|
|
71
206
|
}
|
|
72
|
-
return value;
|
|
73
207
|
}
|
|
74
208
|
async set(key, value, ttl) {
|
|
75
|
-
if (!this.config.enabled)
|
|
209
|
+
if (!this.config.enabled) {
|
|
210
|
+
console.debug(`Cache disabled, skipping set for key: ${key}`);
|
|
76
211
|
return;
|
|
212
|
+
}
|
|
77
213
|
if (value === undefined || value === null) {
|
|
78
214
|
console.debug(`Skipping cache set for key ${key} - value is undefined/null`);
|
|
79
215
|
return;
|
|
80
216
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
217
|
+
try {
|
|
218
|
+
await this.cleanupIfNeeded();
|
|
219
|
+
const effectiveTTL = (ttl !== null && ttl !== void 0 ? ttl : this.config.ttl) * 1000;
|
|
220
|
+
const startTime = Date.now();
|
|
221
|
+
try {
|
|
222
|
+
await this.cache.set(key, value, effectiveTTL);
|
|
223
|
+
const duration = Date.now() - startTime;
|
|
224
|
+
if (duration > 200) {
|
|
225
|
+
console.warn(`Slow cache set operation (${duration}ms) for key: ${key}`);
|
|
226
|
+
}
|
|
227
|
+
console.debug(`Cache SET for key: ${key}, TTL: ${effectiveTTL}ms (${duration}ms)`);
|
|
228
|
+
if (this.filePath && fs.existsSync(this.filePath)) {
|
|
229
|
+
const stats = fs.statSync(this.filePath);
|
|
230
|
+
console.debug(`Cache file after set: ${this.filePath}, size: ${(stats.size / 1024).toFixed(2)} KB`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
console.warn(`Cache set error for key ${key}:`, error);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
catch (error) {
|
|
238
|
+
console.warn(`Cache operation error for key ${key}:`, error);
|
|
239
|
+
}
|
|
84
240
|
}
|
|
85
241
|
async delete(key) {
|
|
86
242
|
return this.cache.delete(key);
|
|
@@ -89,7 +245,10 @@ class CacheService {
|
|
|
89
245
|
await this.cache.clear();
|
|
90
246
|
}
|
|
91
247
|
getEntityInfoKey(entityType) {
|
|
92
|
-
return
|
|
248
|
+
return `${entityType}:info`;
|
|
249
|
+
}
|
|
250
|
+
getFieldsKey(entityType, fieldType) {
|
|
251
|
+
return `${entityType}:fields:${fieldType}`;
|
|
93
252
|
}
|
|
94
253
|
getReferenceKey(entityType) {
|
|
95
254
|
if (!entityType) {
|