@pdfgeneratorapi/n8n-nodes-pdf-generator-api 0.2.5 โ 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.
- package/README.md +19 -0
- package/dist/credentials/PdfGeneratorApi.credentials.js +26 -12
- package/dist/credentials/PdfGeneratorApi.credentials.js.map +1 -1
- package/dist/nodes/PdfGeneratorApi/PdfGeneratorApi.node.js +123 -155
- package/dist/nodes/PdfGeneratorApi/PdfGeneratorApi.node.js.map +1 -1
- package/dist/package.json +1 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -5
package/README.md
CHANGED
|
@@ -128,6 +128,10 @@ Example form data:
|
|
|
128
128
|
- **URL**: Returns download URL (files stored for 30 days)
|
|
129
129
|
- **File**: Returns binary PDF data for direct download
|
|
130
130
|
|
|
131
|
+
### Supported Document Formats
|
|
132
|
+
- **PDF**: Full-featured PDF documents
|
|
133
|
+
- **HTML**: HTML documents for web display
|
|
134
|
+
|
|
131
135
|
### Error Handling
|
|
132
136
|
The node includes comprehensive error handling for:
|
|
133
137
|
- Authentication failures
|
|
@@ -147,6 +151,21 @@ For workflows that should continue on errors, enable "Continue on Fail" in node
|
|
|
147
151
|
* [Expression Language Documentation](https://support.pdfgeneratorapi.com/en/category/expression-language-q203pa/)
|
|
148
152
|
|
|
149
153
|
## Version history
|
|
154
|
+
|
|
155
|
+
### 0.3.0
|
|
156
|
+
- ๐ง **Breaking**: Removed ZIP and XLSX format support
|
|
157
|
+
- ๐ **Fixed**: Parameter name collisions that caused UI issues with action generation
|
|
158
|
+
- ๐ง **Improved**: File response handling
|
|
159
|
+
- โจ **New**: JSON parsing helper with consistent error handling across all user inputs
|
|
160
|
+
- ๐ **Fixed**: MIME type mappings for proper file downloads (PDF, HTML)
|
|
161
|
+
- ๐ **Fixed**: Resource/operation parameter extraction for proper n8n batch processing
|
|
162
|
+
- ๐ง **Improved**: PDF optimization stats
|
|
163
|
+
- ๐ก๏ธ **Security**: Enhanced input validation and error messaging
|
|
164
|
+
|
|
165
|
+
### 0.2.5 & 0.2.6
|
|
166
|
+
- ๐งน **Improved**: Removed debug code
|
|
167
|
+
- ๐ฆ **Optimized**: Improved credentials logic
|
|
168
|
+
|
|
150
169
|
### 0.2.3 & 0.2.4
|
|
151
170
|
- ๐งน **Cleanup**: Removed external dependencies
|
|
152
171
|
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.PdfGeneratorApi = void 0;
|
|
7
|
-
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
8
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
9
5
|
class PdfGeneratorApi {
|
|
10
6
|
constructor() {
|
|
@@ -85,16 +81,34 @@ class PdfGeneratorApi {
|
|
|
85
81
|
return requestOptions;
|
|
86
82
|
}
|
|
87
83
|
generateJWT(credentials) {
|
|
84
|
+
const crypto = require('crypto');
|
|
85
|
+
const header = {
|
|
86
|
+
'typ': 'JWT',
|
|
87
|
+
'alg': 'HS256'
|
|
88
|
+
};
|
|
88
89
|
const currentTimestamp = Math.floor(Date.now() / 1000);
|
|
89
|
-
const
|
|
90
|
-
iss: credentials.jwtIss,
|
|
91
|
-
sub: credentials.workspace,
|
|
92
|
-
exp: currentTimestamp + 60,
|
|
93
|
-
partner_id: 'n8n-node',
|
|
90
|
+
const data = {
|
|
91
|
+
'iss': credentials.jwtIss,
|
|
92
|
+
'sub': credentials.workspace,
|
|
93
|
+
'exp': currentTimestamp + 60,
|
|
94
|
+
'partner_id': 'n8n-node',
|
|
94
95
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
function base64url(source) {
|
|
97
|
+
let encodedSource = source.toString('base64');
|
|
98
|
+
encodedSource = encodedSource.replace(/=+$/, '');
|
|
99
|
+
encodedSource = encodedSource.replace(/\+/g, '-');
|
|
100
|
+
encodedSource = encodedSource.replace(/\//g, '_');
|
|
101
|
+
return encodedSource;
|
|
102
|
+
}
|
|
103
|
+
const stringifiedHeader = Buffer.from(JSON.stringify(header));
|
|
104
|
+
const encodedHeader = base64url(stringifiedHeader);
|
|
105
|
+
const stringifiedData = Buffer.from(JSON.stringify(data));
|
|
106
|
+
const encodedData = base64url(stringifiedData);
|
|
107
|
+
const token = `${encodedHeader}.${encodedData}`;
|
|
108
|
+
const signature = crypto.createHmac('sha256', credentials.jwtSecret).update(token).digest();
|
|
109
|
+
const encodedSignature = base64url(signature);
|
|
110
|
+
const signedToken = `${token}.${encodedSignature}`;
|
|
111
|
+
return signedToken;
|
|
98
112
|
}
|
|
99
113
|
}
|
|
100
114
|
exports.PdfGeneratorApi = PdfGeneratorApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PdfGeneratorApi.credentials.js","sourceRoot":"","sources":["../../credentials/PdfGeneratorApi.credentials.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PdfGeneratorApi.credentials.js","sourceRoot":"","sources":["../../credentials/PdfGeneratorApi.credentials.ts"],"names":[],"mappings":"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"}
|