@sinoia/hubdoc-tools 1.3.1 → 1.3.3
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/dist/api/api/chunked-uploads-api.d.ts +214 -0
- package/dist/api/api/chunked-uploads-api.d.ts.map +1 -0
- package/dist/api/api/chunked-uploads-api.js +420 -0
- package/dist/api/api/chunked-uploads-api.js.map +1 -0
- package/dist/api/api.d.ts +1 -0
- package/dist/api/api.d.ts.map +1 -1
- package/dist/api/api.js +1 -0
- package/dist/api/api.js.map +1 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.d.ts +19 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.js +20 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.d.ts +17 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.d.ts +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.d.ts +17 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.d.ts +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.d.ts +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.d.ts +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.d.ts +17 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.d.ts +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.d.ts +17 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.d.ts +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.d.ts +17 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.js +16 -0
- package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.js.map +1 -0
- package/dist/api/models/chunked-upload-chunk-response.d.ts +46 -0
- package/dist/api/models/chunked-upload-chunk-response.d.ts.map +1 -0
- package/dist/api/models/chunked-upload-chunk-response.js +21 -0
- package/dist/api/models/chunked-upload-chunk-response.js.map +1 -0
- package/dist/api/models/chunked-upload-complete-request.d.ts +21 -0
- package/dist/api/models/chunked-upload-complete-request.d.ts.map +1 -0
- package/dist/api/models/chunked-upload-complete-request.js +16 -0
- package/dist/api/models/chunked-upload-complete-request.js.map +1 -0
- package/dist/api/models/chunked-upload-complete-response.d.ts +37 -0
- package/dist/api/models/chunked-upload-complete-response.d.ts.map +1 -0
- package/dist/api/models/chunked-upload-complete-response.js +20 -0
- package/dist/api/models/chunked-upload-complete-response.js.map +1 -0
- package/dist/api/models/chunked-upload-mutation.d.ts +47 -0
- package/dist/api/models/chunked-upload-mutation.d.ts.map +1 -0
- package/dist/api/models/chunked-upload-mutation.js +16 -0
- package/dist/api/models/chunked-upload-mutation.js.map +1 -0
- package/dist/api/models/chunked-upload-session-response.d.ts +33 -0
- package/dist/api/models/chunked-upload-session-response.d.ts.map +1 -0
- package/dist/api/models/chunked-upload-session-response.js +16 -0
- package/dist/api/models/chunked-upload-session-response.js.map +1 -0
- package/dist/api/models/chunked-upload-status-response.d.ts +54 -0
- package/dist/api/models/chunked-upload-status-response.d.ts.map +1 -0
- package/dist/api/models/chunked-upload-status-response.js +25 -0
- package/dist/api/models/chunked-upload-status-response.js.map +1 -0
- package/dist/api/models/chunked-upload.d.ts +98 -0
- package/dist/api/models/chunked-upload.d.ts.map +1 -0
- package/dist/api/models/chunked-upload.js +25 -0
- package/dist/api/models/chunked-upload.js.map +1 -0
- package/dist/api/models/index.d.ts +19 -0
- package/dist/api/models/index.d.ts.map +1 -1
- package/dist/api/models/index.js +19 -0
- package/dist/api/models/index.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +7 -3
- package/dist/commands/import.js.map +1 -1
- package/dist/services/chunked-uploader.d.ts +83 -0
- package/dist/services/chunked-uploader.d.ts.map +1 -0
- package/dist/services/chunked-uploader.js +321 -0
- package/dist/services/chunked-uploader.js.map +1 -0
- package/dist/services/hubdoc-api.d.ts +5 -2
- package/dist/services/hubdoc-api.d.ts.map +1 -1
- package/dist/services/hubdoc-api.js +49 -12
- package/dist/services/hubdoc-api.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/csv.d.ts +6 -1
- package/dist/utils/csv.d.ts.map +1 -1
- package/dist/utils/csv.js +30 -1
- package/dist/utils/csv.js.map +1 -1
- package/package.json +2 -1
- package/plugins/alfresco/index.ts +518 -0
- package/plugins/alfresco/plugin.json +12 -0
- package/plugins/aws-s3/index.ts +471 -0
- package/plugins/aws-s3/plugin.json +12 -0
- package/plugins/azure-blob/index.ts +420 -0
- package/plugins/azure-blob/plugin.json +12 -0
- package/plugins/box/index.ts +495 -0
- package/plugins/box/plugin.json +12 -0
- package/plugins/core/README.md +122 -0
- package/plugins/core/TESTING.md +155 -0
- package/plugins/core/index.ts +510 -0
- package/plugins/core/plugin.json +26 -0
- package/plugins/dropbox/index.ts +451 -0
- package/plugins/dropbox/plugin.json +12 -0
- package/plugins/filesystem/index.ts +360 -0
- package/plugins/filesystem/plugin.json +12 -0
- package/plugins/googledrive/index.ts +463 -0
- package/plugins/googledrive/plugin.json +12 -0
- package/plugins/nuxeo/index.ts +512 -0
- package/plugins/nuxeo/plugin.json +12 -0
- package/plugins/onedrive/TESTING.md +197 -0
- package/plugins/onedrive/index.ts +447 -0
- package/plugins/onedrive/plugin.json +12 -0
- package/plugins/opentext/index.ts +542 -0
- package/plugins/opentext/plugin.json +12 -0
- package/plugins/sharepoint/index.ts +509 -0
- package/plugins/sharepoint/plugin.json +12 -0
|
@@ -0,0 +1,321 @@
|
|
|
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
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.ChunkedUploader = void 0;
|
|
40
|
+
const axios_1 = __importDefault(require("axios"));
|
|
41
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
42
|
+
const crypto = __importStar(require("crypto"));
|
|
43
|
+
const fs = __importStar(require("fs-extra"));
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const chunked_uploads_api_1 = require("../api/api/chunked-uploads-api");
|
|
46
|
+
const configuration_1 = require("../api/configuration");
|
|
47
|
+
/**
|
|
48
|
+
* Service for uploading large files using chunked upload API
|
|
49
|
+
* Based on the frontend implementation in corex
|
|
50
|
+
*/
|
|
51
|
+
class ChunkedUploader {
|
|
52
|
+
constructor(baseURL, accessToken) {
|
|
53
|
+
// Create axios client for binary chunk uploads
|
|
54
|
+
this.axiosClient = axios_1.default.create({
|
|
55
|
+
baseURL,
|
|
56
|
+
headers: {
|
|
57
|
+
'Authorization': `Bearer ${accessToken}`
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
// Create API client for session management
|
|
61
|
+
const config = new configuration_1.Configuration({
|
|
62
|
+
basePath: baseURL,
|
|
63
|
+
accessToken
|
|
64
|
+
});
|
|
65
|
+
this.api = new chunked_uploads_api_1.ChunkedUploadsApi(config);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check if file should use chunked upload
|
|
69
|
+
*/
|
|
70
|
+
static shouldUseChunkedUpload(fileSize) {
|
|
71
|
+
return fileSize > ChunkedUploader.UPLOAD_THRESHOLD;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Upload a file using chunked upload
|
|
75
|
+
*/
|
|
76
|
+
async uploadFile(options) {
|
|
77
|
+
const { filePath, workspaceId, folderId, metadata, chunkSize, onProgress } = options;
|
|
78
|
+
try {
|
|
79
|
+
// Check file exists
|
|
80
|
+
if (!await fs.pathExists(filePath)) {
|
|
81
|
+
throw new Error(`File not found: ${filePath}`);
|
|
82
|
+
}
|
|
83
|
+
// Get file stats
|
|
84
|
+
const stats = await fs.stat(filePath);
|
|
85
|
+
const fileSize = stats.size;
|
|
86
|
+
const filename = path.basename(filePath);
|
|
87
|
+
const contentType = this.getContentType(filePath);
|
|
88
|
+
console.log(chalk_1.default.blue(`📦 Preparing chunked upload for ${filename} (${this.formatBytes(fileSize)})`));
|
|
89
|
+
// Step 1: Initialize upload session
|
|
90
|
+
const session = await this.initializeSession(filename, fileSize, contentType, chunkSize || ChunkedUploader.DEFAULT_CHUNK_SIZE, workspaceId, folderId, metadata);
|
|
91
|
+
console.log(chalk_1.default.cyan(` Session created: ${session.upload_id} (${session.total_chunks} chunks)`));
|
|
92
|
+
// Step 2: Prepare chunks
|
|
93
|
+
const chunks = this.prepareChunks(fileSize, session.chunk_size);
|
|
94
|
+
// Step 3: Upload chunks with progress tracking
|
|
95
|
+
const uploadProgress = {
|
|
96
|
+
uploadId: session.upload_id,
|
|
97
|
+
filename,
|
|
98
|
+
uploadedChunks: 0,
|
|
99
|
+
totalChunks: session.total_chunks,
|
|
100
|
+
progress: 0,
|
|
101
|
+
uploadedBytes: 0,
|
|
102
|
+
totalBytes: fileSize,
|
|
103
|
+
status: 'processing'
|
|
104
|
+
};
|
|
105
|
+
await this.uploadChunksWithPool(filePath, session.upload_id, chunks, uploadProgress, onProgress);
|
|
106
|
+
// Step 4: Calculate MD5 checksum (optional but recommended)
|
|
107
|
+
console.log(chalk_1.default.cyan(` Calculating checksum...`));
|
|
108
|
+
const checksum = await this.calculateMD5(filePath);
|
|
109
|
+
// Step 5: Complete the upload
|
|
110
|
+
console.log(chalk_1.default.cyan(` Finalizing upload...`));
|
|
111
|
+
const result = await this.completeUpload(session.upload_id, checksum);
|
|
112
|
+
console.log(chalk_1.default.green(`✅ Chunked upload completed: ${filename}`));
|
|
113
|
+
uploadProgress.status = 'completed';
|
|
114
|
+
uploadProgress.progress = 100;
|
|
115
|
+
if (onProgress) {
|
|
116
|
+
onProgress(uploadProgress);
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
success: true,
|
|
120
|
+
uploadId: session.upload_id,
|
|
121
|
+
objectKey: result.object_key
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
console.error(chalk_1.default.red(`❌ Chunked upload failed: ${error.message}`));
|
|
126
|
+
return {
|
|
127
|
+
success: false,
|
|
128
|
+
uploadId: '',
|
|
129
|
+
error: error.message
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Initialize chunked upload session
|
|
135
|
+
*/
|
|
136
|
+
async initializeSession(filename, fileSize, contentType, chunkSize, workspaceId, folderId, metadata) {
|
|
137
|
+
try {
|
|
138
|
+
const response = await this.api.apiV1DocumentsChunkedUploadsPost({
|
|
139
|
+
filename,
|
|
140
|
+
file_size: fileSize,
|
|
141
|
+
content_type: contentType,
|
|
142
|
+
chunk_size: chunkSize,
|
|
143
|
+
workspace_id: workspaceId,
|
|
144
|
+
documents_folder_id: folderId,
|
|
145
|
+
metadata
|
|
146
|
+
});
|
|
147
|
+
if (!response.data.success || !response.data.data) {
|
|
148
|
+
throw new Error('Failed to create upload session');
|
|
149
|
+
}
|
|
150
|
+
return response.data.data;
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
throw new Error(`Failed to initialize upload session: ${error.message}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Prepare chunks for upload
|
|
158
|
+
*/
|
|
159
|
+
prepareChunks(fileSize, chunkSize) {
|
|
160
|
+
const chunks = [];
|
|
161
|
+
let offset = 0;
|
|
162
|
+
let index = 1; // 1-indexed for API
|
|
163
|
+
while (offset < fileSize) {
|
|
164
|
+
const end = Math.min(offset + chunkSize, fileSize);
|
|
165
|
+
chunks.push({
|
|
166
|
+
index,
|
|
167
|
+
start: offset,
|
|
168
|
+
end,
|
|
169
|
+
size: end - offset,
|
|
170
|
+
retryCount: 0
|
|
171
|
+
});
|
|
172
|
+
offset = end;
|
|
173
|
+
index++;
|
|
174
|
+
}
|
|
175
|
+
return chunks;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Upload chunks with concurrent pool
|
|
179
|
+
*/
|
|
180
|
+
async uploadChunksWithPool(filePath, uploadId, chunks, progress, onProgress) {
|
|
181
|
+
const maxConcurrent = ChunkedUploader.MAX_CONCURRENT_UPLOADS;
|
|
182
|
+
const pool = [];
|
|
183
|
+
for (const chunk of chunks) {
|
|
184
|
+
// Wait if pool is full
|
|
185
|
+
if (pool.length >= maxConcurrent) {
|
|
186
|
+
await Promise.race(pool);
|
|
187
|
+
}
|
|
188
|
+
// Start chunk upload
|
|
189
|
+
const uploadPromise = this.uploadChunk(filePath, uploadId, chunk)
|
|
190
|
+
.then(() => {
|
|
191
|
+
progress.uploadedChunks++;
|
|
192
|
+
progress.uploadedBytes += chunk.size;
|
|
193
|
+
progress.progress = Number(((progress.uploadedChunks / progress.totalChunks) * 100).toFixed(2));
|
|
194
|
+
if (onProgress) {
|
|
195
|
+
onProgress({ ...progress });
|
|
196
|
+
}
|
|
197
|
+
console.log(chalk_1.default.gray(` Chunk ${chunk.index}/${chunks.length} uploaded (${progress.progress.toFixed(1)}%)`));
|
|
198
|
+
})
|
|
199
|
+
.catch((error) => {
|
|
200
|
+
throw new Error(`Chunk ${chunk.index} upload failed: ${error.message}`);
|
|
201
|
+
})
|
|
202
|
+
.finally(() => {
|
|
203
|
+
// Remove from pool when done
|
|
204
|
+
const index = pool.indexOf(uploadPromise);
|
|
205
|
+
if (index > -1) {
|
|
206
|
+
pool.splice(index, 1);
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
pool.push(uploadPromise);
|
|
210
|
+
}
|
|
211
|
+
// Wait for all remaining chunks
|
|
212
|
+
await Promise.all(pool);
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Upload a single chunk with retry
|
|
216
|
+
*/
|
|
217
|
+
async uploadChunk(filePath, uploadId, chunk) {
|
|
218
|
+
let lastError = null;
|
|
219
|
+
for (let attempt = 0; attempt <= ChunkedUploader.MAX_RETRY_PER_CHUNK; attempt++) {
|
|
220
|
+
try {
|
|
221
|
+
// Read chunk data from file
|
|
222
|
+
const buffer = Buffer.alloc(chunk.size);
|
|
223
|
+
const fd = await fs.open(filePath, 'r');
|
|
224
|
+
try {
|
|
225
|
+
await fs.read(fd, buffer, 0, chunk.size, chunk.start);
|
|
226
|
+
}
|
|
227
|
+
finally {
|
|
228
|
+
await fs.close(fd);
|
|
229
|
+
}
|
|
230
|
+
// Upload chunk
|
|
231
|
+
await this.axiosClient.patch(`/api/v1/documents/chunked_uploads/${uploadId}/chunks/${chunk.index}`, buffer, {
|
|
232
|
+
headers: {
|
|
233
|
+
'Content-Type': 'application/octet-stream'
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
return; // Success
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
lastError = error;
|
|
240
|
+
if (attempt < ChunkedUploader.MAX_RETRY_PER_CHUNK) {
|
|
241
|
+
console.log(chalk_1.default.yellow(` ⚠️ Chunk ${chunk.index} failed, retrying (${attempt + 1}/${ChunkedUploader.MAX_RETRY_PER_CHUNK})...`));
|
|
242
|
+
await this.sleep(1000 * (attempt + 1)); // Exponential backoff
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
throw lastError || new Error('Upload failed after retries');
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Complete the chunked upload
|
|
250
|
+
*/
|
|
251
|
+
async completeUpload(uploadId, checksum) {
|
|
252
|
+
try {
|
|
253
|
+
const response = await this.api.apiV1DocumentsChunkedUploadsIdCompletePost(uploadId, { checksum });
|
|
254
|
+
if (!response.data.success || !response.data.data) {
|
|
255
|
+
throw new Error('Failed to complete upload');
|
|
256
|
+
}
|
|
257
|
+
return response.data.data;
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
throw new Error(`Failed to complete upload: ${error.message}`);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Calculate MD5 checksum of file (in base64)
|
|
265
|
+
*/
|
|
266
|
+
async calculateMD5(filePath) {
|
|
267
|
+
return new Promise((resolve, reject) => {
|
|
268
|
+
const hash = crypto.createHash('md5');
|
|
269
|
+
const stream = fs.createReadStream(filePath);
|
|
270
|
+
stream.on('data', (data) => hash.update(data));
|
|
271
|
+
stream.on('end', () => resolve(hash.digest('base64')));
|
|
272
|
+
stream.on('error', reject);
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Get content type from file extension
|
|
277
|
+
*/
|
|
278
|
+
getContentType(filePath) {
|
|
279
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
280
|
+
const mimeTypes = {
|
|
281
|
+
'.pdf': 'application/pdf',
|
|
282
|
+
'.doc': 'application/msword',
|
|
283
|
+
'.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
284
|
+
'.xls': 'application/vnd.ms-excel',
|
|
285
|
+
'.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
286
|
+
'.ppt': 'application/vnd.ms-powerpoint',
|
|
287
|
+
'.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
|
288
|
+
'.jpg': 'image/jpeg',
|
|
289
|
+
'.jpeg': 'image/jpeg',
|
|
290
|
+
'.png': 'image/png',
|
|
291
|
+
'.gif': 'image/gif',
|
|
292
|
+
'.zip': 'application/zip',
|
|
293
|
+
'.txt': 'text/plain',
|
|
294
|
+
'.csv': 'text/csv'
|
|
295
|
+
};
|
|
296
|
+
return mimeTypes[ext] || 'application/octet-stream';
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Format bytes to human readable
|
|
300
|
+
*/
|
|
301
|
+
formatBytes(bytes) {
|
|
302
|
+
if (bytes === 0)
|
|
303
|
+
return '0 Bytes';
|
|
304
|
+
const k = 1024;
|
|
305
|
+
const sizes = ['Bytes', 'KB', 'MB', 'GB'];
|
|
306
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
307
|
+
return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + ' ' + sizes[i];
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Sleep for ms
|
|
311
|
+
*/
|
|
312
|
+
sleep(ms) {
|
|
313
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
exports.ChunkedUploader = ChunkedUploader;
|
|
317
|
+
ChunkedUploader.DEFAULT_CHUNK_SIZE = 5 * 1024 * 1024; // 5MB
|
|
318
|
+
ChunkedUploader.MAX_CONCURRENT_UPLOADS = 5;
|
|
319
|
+
ChunkedUploader.MAX_RETRY_PER_CHUNK = 2;
|
|
320
|
+
ChunkedUploader.UPLOAD_THRESHOLD = 10 * 1024 * 1024; // 10MB
|
|
321
|
+
//# sourceMappingURL=chunked-uploader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunked-uploader.js","sourceRoot":"","sources":["../../src/services/chunked-uploader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Workspace } from '../api/models';
|
|
2
2
|
import { DocumentMapping, HubDocBulkUpload, HubDocConfig, HubDocDocument, HubDocFolder, ImportResult } from '../types';
|
|
3
|
+
import { ChunkedUploadProgress } from './chunked-uploader';
|
|
3
4
|
export declare class HubDocApiService {
|
|
4
5
|
private client;
|
|
5
6
|
private config;
|
|
@@ -11,6 +12,7 @@ export declare class HubDocApiService {
|
|
|
11
12
|
private groupsApi;
|
|
12
13
|
private usersApi;
|
|
13
14
|
private permissionManager;
|
|
15
|
+
private chunkedUploader;
|
|
14
16
|
private folderCache;
|
|
15
17
|
constructor(config: HubDocConfig);
|
|
16
18
|
testConnection(): Promise<boolean>;
|
|
@@ -32,8 +34,9 @@ export declare class HubDocApiService {
|
|
|
32
34
|
findWorkspace(labelToFind: string): Promise<Workspace | null>;
|
|
33
35
|
createBulkUpload(totalFiles: number, folderId?: string, workspaceId?: string, autoClassify?: boolean, source?: string): Promise<HubDocBulkUpload>;
|
|
34
36
|
getBulkUploadStatus(bulkUploadId: string): Promise<HubDocBulkUpload>;
|
|
35
|
-
uploadDocument(filePath: string, folderId: string | undefined, mapping: DocumentMapping, bulkUploadId?: string, workspaceId?: string): Promise<HubDocDocument>;
|
|
36
|
-
|
|
37
|
+
uploadDocument(filePath: string, folderId: string | undefined, mapping: DocumentMapping, bulkUploadId?: string, workspaceId?: string, onProgress?: (progress: ChunkedUploadProgress) => void): Promise<HubDocDocument>;
|
|
38
|
+
private formatBytes;
|
|
39
|
+
importDocument(mapping: DocumentMapping, bulkUploadId?: string, onProgress?: (progress: ChunkedUploadProgress) => void): Promise<ImportResult>;
|
|
37
40
|
getGroups(): Promise<any[]>;
|
|
38
41
|
getUsers(): Promise<any[]>;
|
|
39
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubdoc-api.d.ts","sourceRoot":"","sources":["../../src/services/hubdoc-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"hubdoc-api.d.ts","sourceRoot":"","sources":["../../src/services/hubdoc-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAmB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,eAAe,CAAkB;IAIzC,OAAO,CAAC,WAAW,CAAwC;gBAE/C,MAAM,EAAE,YAAY;IAsB1B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAUlC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiBrF,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IASzF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoBhG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YA4B9F,wBAAwB;IA+CtC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAKxB;;;OAGG;IACG,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAexD,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IASrC,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IA0B7D,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,GAAE,OAAe,EAC7B,MAAM,GAAE,MAAuB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAyBtB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IASpE,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,eAAe,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI,GACrD,OAAO,CAAC,cAAc,CAAC;IA8G1B,OAAO,CAAC,WAAW;IAQb,cAAc,CAClB,OAAO,EAAE,eAAe,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI,GACrD,OAAO,CAAC,YAAY,CAAC;IAgElB,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAS3B,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;CAQjC"}
|
|
@@ -11,6 +11,7 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
11
11
|
const path_1 = __importDefault(require("path"));
|
|
12
12
|
const permission_manager_1 = require("./permission-manager");
|
|
13
13
|
const api_client_1 = require("../api-client");
|
|
14
|
+
const chunked_uploader_1 = require("./chunked-uploader");
|
|
14
15
|
class HubDocApiService {
|
|
15
16
|
constructor(config) {
|
|
16
17
|
// Cache for folders to avoid duplicates during batch imports
|
|
@@ -28,6 +29,7 @@ class HubDocApiService {
|
|
|
28
29
|
this.groupsApi = new api_1.GroupsApi(apiConfig, config.apiUrl, this.client);
|
|
29
30
|
this.usersApi = new api_1.UsersApi(apiConfig, config.apiUrl, this.client);
|
|
30
31
|
this.permissionManager = new permission_manager_1.PermissionManager(apiConfig, this.client);
|
|
32
|
+
this.chunkedUploader = new chunked_uploader_1.ChunkedUploader(config.apiUrl, config.token || '');
|
|
31
33
|
}
|
|
32
34
|
async testConnection() {
|
|
33
35
|
try {
|
|
@@ -214,20 +216,47 @@ class HubDocApiService {
|
|
|
214
216
|
throw new Error(`Failed to get bulk upload status: ${error.message}`);
|
|
215
217
|
}
|
|
216
218
|
}
|
|
217
|
-
async uploadDocument(filePath, folderId, mapping, bulkUploadId, workspaceId) {
|
|
219
|
+
async uploadDocument(filePath, folderId, mapping, bulkUploadId, workspaceId, onProgress) {
|
|
218
220
|
if (!await fs_extra_1.default.pathExists(filePath)) {
|
|
219
221
|
throw new Error(`File not found: ${filePath}`);
|
|
220
222
|
}
|
|
221
|
-
// Use FormData for proper multipart/form-data encoding in Node.js
|
|
222
|
-
// The generated client uses Blob API which doesn't work correctly with Node.js streams/buffers
|
|
223
|
-
const formData = new form_data_1.default();
|
|
224
|
-
const fileStream = fs_extra_1.default.createReadStream(filePath);
|
|
225
223
|
// Normalize filename to NFC to handle accented characters consistently across platforms
|
|
226
224
|
const fileName = path_1.default.basename(filePath).normalize('NFC');
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
225
|
+
// Check file size to determine upload method
|
|
226
|
+
const stats = await fs_extra_1.default.stat(filePath);
|
|
227
|
+
const fileSize = stats.size;
|
|
228
|
+
const useChunkedUpload = chunked_uploader_1.ChunkedUploader.shouldUseChunkedUpload(fileSize);
|
|
229
|
+
let chunkedUploadId;
|
|
230
|
+
if (useChunkedUpload) {
|
|
231
|
+
// Use chunked upload for large files
|
|
232
|
+
console.log(chalk_1.default.blue(` 📦 Using chunked upload for large file (${this.formatBytes(fileSize)})`));
|
|
233
|
+
const uploadResult = await this.chunkedUploader.uploadFile({
|
|
234
|
+
filePath,
|
|
235
|
+
workspaceId,
|
|
236
|
+
folderId,
|
|
237
|
+
metadata: mapping.metadata,
|
|
238
|
+
onProgress
|
|
239
|
+
});
|
|
240
|
+
if (!uploadResult.success) {
|
|
241
|
+
throw new Error(`Chunked upload failed: ${uploadResult.error}`);
|
|
242
|
+
}
|
|
243
|
+
chunkedUploadId = uploadResult.uploadId;
|
|
244
|
+
console.log(chalk_1.default.green(` ✅ Chunked upload completed: ${uploadResult.uploadId}`));
|
|
245
|
+
}
|
|
246
|
+
// Create document using direct upload or chunked_upload_id
|
|
247
|
+
const formData = new form_data_1.default();
|
|
248
|
+
if (chunkedUploadId) {
|
|
249
|
+
// Reference the chunked upload
|
|
250
|
+
formData.append('chunked_upload_id', chunkedUploadId);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
// Direct upload for small files
|
|
254
|
+
const fileStream = fs_extra_1.default.createReadStream(filePath);
|
|
255
|
+
formData.append('uploaded_file', fileStream, {
|
|
256
|
+
filename: fileName,
|
|
257
|
+
contentType: 'application/octet-stream'
|
|
258
|
+
});
|
|
259
|
+
}
|
|
231
260
|
// Only add folder_id if provided
|
|
232
261
|
if (folderId) {
|
|
233
262
|
formData.append('documents_folder_id', folderId);
|
|
@@ -272,7 +301,15 @@ class HubDocApiService {
|
|
|
272
301
|
throw new Error(`Failed to upload document "${fileName}": ${error.message}`);
|
|
273
302
|
}
|
|
274
303
|
}
|
|
275
|
-
|
|
304
|
+
formatBytes(bytes) {
|
|
305
|
+
if (bytes === 0)
|
|
306
|
+
return '0 Bytes';
|
|
307
|
+
const k = 1024;
|
|
308
|
+
const sizes = ['Bytes', 'KB', 'MB', 'GB'];
|
|
309
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
310
|
+
return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + ' ' + sizes[i];
|
|
311
|
+
}
|
|
312
|
+
async importDocument(mapping, bulkUploadId, onProgress) {
|
|
276
313
|
const result = {
|
|
277
314
|
success: false,
|
|
278
315
|
filePath: mapping.filePath
|
|
@@ -308,8 +345,8 @@ class HubDocApiService {
|
|
|
308
345
|
console.log(chalk_1.default.gray(` → No workspace or folder specified, using default folder`));
|
|
309
346
|
folder = await this.findOrCreateFolder('Imported Documents', workspaceId);
|
|
310
347
|
}
|
|
311
|
-
// Upload document with bulk_upload_id
|
|
312
|
-
const document = await this.uploadDocument(mapping.filePath, folder?.id, mapping, bulkUploadId, workspaceId);
|
|
348
|
+
// Upload document with bulk_upload_id and progress callback
|
|
349
|
+
const document = await this.uploadDocument(mapping.filePath, folder?.id, mapping, bulkUploadId, workspaceId, onProgress);
|
|
313
350
|
result.success = true;
|
|
314
351
|
result.document = document;
|
|
315
352
|
const folderDisplay = folder?.name || 'Workspace Root';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubdoc-api.js","sourceRoot":"","sources":["../../src/services/hubdoc-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hubdoc-api.js","sourceRoot":"","sources":["../../src/services/hubdoc-api.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3E,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAGxD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;AACtC,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAGlB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE;QACZ,IAAI,CAAC,EAAE;YACL,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;QACF,KAAK,CAAC,EAAE;YACN,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;KACH,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/E,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxG,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7F,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAClG,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACtH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C"}
|
package/dist/utils/csv.d.ts
CHANGED
|
@@ -52,7 +52,12 @@ export declare class CsvManager {
|
|
|
52
52
|
/**
|
|
53
53
|
* Update the status of a specific mapping in the CSV file
|
|
54
54
|
*/
|
|
55
|
-
updateMappingStatus(csvFilePath: string, filePath: string, status: 'pending' | 'processing' | 'completed' | 'failed', documentId?: string, error?: string, bulkUploadId?: string): Promise<void>;
|
|
55
|
+
updateMappingStatus(csvFilePath: string, filePath: string, status: 'pending' | 'processing' | 'completed' | 'failed', documentId?: string, error?: string, bulkUploadId?: string, progress?: number): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Update the progress of a specific mapping in the CSV file
|
|
58
|
+
* This is optimized for frequent updates during chunked uploads
|
|
59
|
+
*/
|
|
60
|
+
updateMappingProgress(csvFilePath: string, filePath: string, progress: number): Promise<void>;
|
|
56
61
|
/**
|
|
57
62
|
* Update all mappings with a bulk upload ID
|
|
58
63
|
*/
|
package/dist/utils/csv.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../src/utils/csv.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,qBAAa,UAAU;IACf,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../src/utils/csv.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,qBAAa,UAAU;IACf,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CzF,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;YA4DrD,WAAW;IAUzB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAiDrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4B3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,YAAY;IAWpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAkFxB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,MAAM;IAoBzE;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAmB/C;;OAEG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,EACzD,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAyBhB;;;OAGG;IACG,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAqBhB;;OAEG;IACG,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjG;;OAEG;YACW,mBAAmB;IAoCjC;;OAEG;IACH;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAa/B"}
|