@sinoia/hubdoc-tools 1.0.4 → 1.2.1
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 +115 -34
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts +15 -0
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts.map +1 -0
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.js +37 -0
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.js.map +1 -0
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts +15 -0
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts.map +1 -0
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.js +54 -0
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.js.map +1 -0
- package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts +15 -0
- package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts.map +1 -0
- package/dist/__tests__/fixtures/plugins/test-plugin/index.js +34 -0
- package/dist/__tests__/fixtures/plugins/test-plugin/index.js.map +1 -0
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts +16 -0
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts.map +1 -0
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js +145 -0
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js.map +1 -0
- package/dist/api/api/authentication-api.d.ts +208 -0
- package/dist/api/api/authentication-api.d.ts.map +1 -0
- package/dist/api/api/authentication-api.js +385 -0
- package/dist/api/api/authentication-api.js.map +1 -0
- package/dist/api/api/bulk-uploads-api.d.ts +101 -0
- package/dist/api/api/bulk-uploads-api.d.ts.map +1 -0
- package/dist/api/api/bulk-uploads-api.js +195 -0
- package/dist/api/api/bulk-uploads-api.js.map +1 -0
- package/dist/api/api/contacts-api.d.ts +246 -0
- package/dist/api/api/contacts-api.d.ts.map +1 -0
- package/dist/api/api/contacts-api.js +465 -0
- package/dist/api/api/contacts-api.js.map +1 -0
- package/dist/api/api/documents-api.d.ts +267 -0
- package/dist/api/api/documents-api.d.ts.map +1 -0
- package/dist/api/api/documents-api.js +506 -0
- package/dist/api/api/documents-api.js.map +1 -0
- package/dist/api/api/folders-api.d.ts +255 -0
- package/dist/api/api/folders-api.d.ts.map +1 -0
- package/dist/api/api/folders-api.js +479 -0
- package/dist/api/api/folders-api.js.map +1 -0
- package/dist/api/api/groups-api.d.ts +246 -0
- package/dist/api/api/groups-api.d.ts.map +1 -0
- package/dist/api/api/groups-api.js +465 -0
- package/dist/api/api/groups-api.js.map +1 -0
- package/dist/api/api/permissions-api.d.ts +246 -0
- package/dist/api/api/permissions-api.d.ts.map +1 -0
- package/dist/api/api/permissions-api.js +465 -0
- package/dist/api/api/permissions-api.js.map +1 -0
- package/dist/api/api/workspaces-api.d.ts +213 -0
- package/dist/api/api/workspaces-api.d.ts.map +1 -0
- package/dist/api/api/workspaces-api.js +424 -0
- package/dist/api/api/workspaces-api.js.map +1 -0
- package/dist/api/api.d.ts +20 -0
- package/dist/api/api.d.ts.map +1 -0
- package/dist/api/api.js +38 -0
- package/dist/api/api.js.map +1 -0
- package/dist/api/base.d.ts +43 -0
- package/dist/api/base.d.ts.map +1 -0
- package/dist/api/base.js +49 -0
- package/dist/api/base.js.map +1 -0
- package/dist/api/common.d.ts +29 -0
- package/dist/api/common.d.ts.map +1 -0
- package/dist/api/common.js +109 -0
- package/dist/api/common.js.map +1 -0
- package/dist/api/configuration.d.ts +99 -0
- package/dist/api/configuration.d.ts.map +1 -0
- package/dist/api/configuration.js +49 -0
- package/dist/api/configuration.js.map +1 -0
- package/dist/api/index.d.ts +15 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +33 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/models/api-v1-documents-documents-post-request1.d.ts +34 -0
- package/dist/api/models/api-v1-documents-documents-post-request1.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-documents-post-request1.js +16 -0
- package/dist/api/models/api-v1-documents-documents-post-request1.js.map +1 -0
- package/dist/api/models/api-v1-documents-documents-post201-response.d.ts +17 -0
- package/dist/api/models/api-v1-documents-documents-post201-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-documents-post201-response.js +16 -0
- package/dist/api/models/api-v1-documents-documents-post201-response.js.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts +17 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js +16 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts +17 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js +16 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts +18 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js +16 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts +17 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts.map +1 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response.js +16 -0
- package/dist/api/models/api-v1-documents-folders-id-get200-response.js.map +1 -0
- package/dist/api/models/bulk-upload-mutation.d.ts +34 -0
- package/dist/api/models/bulk-upload-mutation.d.ts.map +1 -0
- package/dist/api/models/bulk-upload-mutation.js +16 -0
- package/dist/api/models/bulk-upload-mutation.js.map +1 -0
- package/dist/api/models/bulk-upload.d.ts +91 -0
- package/dist/api/models/bulk-upload.d.ts.map +1 -0
- package/dist/api/models/bulk-upload.js +23 -0
- package/dist/api/models/bulk-upload.js.map +1 -0
- package/dist/api/models/contact-mutation.d.ts +30 -0
- package/dist/api/models/contact-mutation.d.ts.map +1 -0
- package/dist/api/models/contact-mutation.js +16 -0
- package/dist/api/models/contact-mutation.js.map +1 -0
- package/dist/api/models/contact.d.ts +54 -0
- package/dist/api/models/contact.d.ts.map +1 -0
- package/dist/api/models/contact.js +16 -0
- package/dist/api/models/contact.js.map +1 -0
- package/dist/api/models/document-document-type.d.ts +19 -0
- package/dist/api/models/document-document-type.d.ts.map +1 -0
- package/dist/api/models/document-document-type.js +16 -0
- package/dist/api/models/document-document-type.js.map +1 -0
- package/dist/api/models/document-domain.d.ts +19 -0
- package/dist/api/models/document-domain.d.ts.map +1 -0
- package/dist/api/models/document-domain.js +16 -0
- package/dist/api/models/document-domain.js.map +1 -0
- package/dist/api/models/document-folder.d.ts +19 -0
- package/dist/api/models/document-folder.d.ts.map +1 -0
- package/dist/api/models/document-folder.js +16 -0
- package/dist/api/models/document-folder.js.map +1 -0
- package/dist/api/models/document-mutation.d.ts +50 -0
- package/dist/api/models/document-mutation.d.ts.map +1 -0
- package/dist/api/models/document-mutation.js +16 -0
- package/dist/api/models/document-mutation.js.map +1 -0
- package/dist/api/models/document.d.ts +73 -0
- package/dist/api/models/document.d.ts.map +1 -0
- package/dist/api/models/document.js +16 -0
- package/dist/api/models/document.js.map +1 -0
- package/dist/api/models/folder-mutation.d.ts +38 -0
- package/dist/api/models/folder-mutation.d.ts.map +1 -0
- package/dist/api/models/folder-mutation.js +16 -0
- package/dist/api/models/folder-mutation.js.map +1 -0
- package/dist/api/models/folder-parent.d.ts +19 -0
- package/dist/api/models/folder-parent.d.ts.map +1 -0
- package/dist/api/models/folder-parent.js +16 -0
- package/dist/api/models/folder-parent.js.map +1 -0
- package/dist/api/models/folder.d.ts +65 -0
- package/dist/api/models/folder.d.ts.map +1 -0
- package/dist/api/models/folder.js +16 -0
- package/dist/api/models/folder.js.map +1 -0
- package/dist/api/models/group-mutation.d.ts +26 -0
- package/dist/api/models/group-mutation.d.ts.map +1 -0
- package/dist/api/models/group-mutation.js +16 -0
- package/dist/api/models/group-mutation.js.map +1 -0
- package/dist/api/models/group.d.ts +38 -0
- package/dist/api/models/group.d.ts.map +1 -0
- package/dist/api/models/group.js +16 -0
- package/dist/api/models/group.js.map +1 -0
- package/dist/api/models/index.d.ts +35 -0
- package/dist/api/models/index.d.ts.map +1 -0
- package/dist/api/models/index.js +51 -0
- package/dist/api/models/index.js.map +1 -0
- package/dist/api/models/model-error.d.ts +26 -0
- package/dist/api/models/model-error.d.ts.map +1 -0
- package/dist/api/models/model-error.js +16 -0
- package/dist/api/models/model-error.js.map +1 -0
- package/dist/api/models/oauth-revoke-post200-response.d.ts +15 -0
- package/dist/api/models/oauth-revoke-post200-response.d.ts.map +1 -0
- package/dist/api/models/oauth-revoke-post200-response.js +16 -0
- package/dist/api/models/oauth-revoke-post200-response.js.map +1 -0
- package/dist/api/models/permission-actor.d.ts +20 -0
- package/dist/api/models/permission-actor.d.ts.map +1 -0
- package/dist/api/models/permission-actor.js +16 -0
- package/dist/api/models/permission-actor.js.map +1 -0
- package/dist/api/models/permission-mutation.d.ts +44 -0
- package/dist/api/models/permission-mutation.d.ts.map +1 -0
- package/dist/api/models/permission-mutation.js +22 -0
- package/dist/api/models/permission-mutation.js.map +1 -0
- package/dist/api/models/permission-permissible.d.ts +20 -0
- package/dist/api/models/permission-permissible.d.ts.map +1 -0
- package/dist/api/models/permission-permissible.js +16 -0
- package/dist/api/models/permission-permissible.js.map +1 -0
- package/dist/api/models/permission.d.ts +60 -0
- package/dist/api/models/permission.d.ts.map +1 -0
- package/dist/api/models/permission.js +22 -0
- package/dist/api/models/permission.js.map +1 -0
- package/dist/api/models/token-response.d.ts +41 -0
- package/dist/api/models/token-response.d.ts.map +1 -0
- package/dist/api/models/token-response.js +16 -0
- package/dist/api/models/token-response.js.map +1 -0
- package/dist/api/models/user.d.ts +18 -0
- package/dist/api/models/user.d.ts.map +1 -0
- package/dist/api/models/user.js +16 -0
- package/dist/api/models/user.js.map +1 -0
- package/dist/api/models/workspace-mutation-settings-validation.d.ts +26 -0
- package/dist/api/models/workspace-mutation-settings-validation.d.ts.map +1 -0
- package/dist/api/models/workspace-mutation-settings-validation.js +16 -0
- package/dist/api/models/workspace-mutation-settings-validation.js.map +1 -0
- package/dist/api/models/workspace-mutation-settings.d.ts +60 -0
- package/dist/api/models/workspace-mutation-settings.d.ts.map +1 -0
- package/dist/api/models/workspace-mutation-settings.js +16 -0
- package/dist/api/models/workspace-mutation-settings.js.map +1 -0
- package/dist/api/models/workspace-mutation.d.ts +44 -0
- package/dist/api/models/workspace-mutation.d.ts.map +1 -0
- package/dist/api/models/workspace-mutation.js +16 -0
- package/dist/api/models/workspace-mutation.js.map +1 -0
- package/dist/api/models/workspace-settings-validation.d.ts +26 -0
- package/dist/api/models/workspace-settings-validation.d.ts.map +1 -0
- package/dist/api/models/workspace-settings-validation.js +16 -0
- package/dist/api/models/workspace-settings-validation.js.map +1 -0
- package/dist/api/models/workspace-settings.d.ts +60 -0
- package/dist/api/models/workspace-settings.d.ts.map +1 -0
- package/dist/api/models/workspace-settings.js +16 -0
- package/dist/api/models/workspace-settings.js.map +1 -0
- package/dist/api/models/workspace.d.ts +62 -0
- package/dist/api/models/workspace.d.ts.map +1 -0
- package/dist/api/models/workspace.js +16 -0
- package/dist/api/models/workspace.js.map +1 -0
- package/dist/cli/handlers/command-handlers.d.ts +29 -0
- package/dist/cli/handlers/command-handlers.d.ts.map +1 -0
- package/dist/cli/handlers/command-handlers.js +261 -0
- package/dist/cli/handlers/command-handlers.js.map +1 -0
- package/dist/cli/handlers/engine-handlers.d.ts +15 -0
- package/dist/cli/handlers/engine-handlers.d.ts.map +1 -0
- package/dist/cli/handlers/engine-handlers.js +174 -0
- package/dist/cli/handlers/engine-handlers.js.map +1 -0
- package/dist/cli/interactive.d.ts +15 -0
- package/dist/cli/interactive.d.ts.map +1 -0
- package/dist/cli/interactive.js +234 -0
- package/dist/cli/interactive.js.map +1 -0
- package/dist/cli.js +31 -740
- package/dist/cli.js.map +1 -1
- package/dist/commands/export.d.ts +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +1 -1
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +5 -1
- package/dist/commands/import.js.map +1 -1
- package/dist/index.d.ts +27 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +63 -20
- package/dist/index.js.map +1 -1
- package/dist/services/hubdoc-api.d.ts +26 -6
- package/dist/services/hubdoc-api.d.ts.map +1 -1
- package/dist/services/hubdoc-api.js +194 -43
- package/dist/services/hubdoc-api.js.map +1 -1
- package/dist/services/hubdoc-export.d.ts +1 -1
- package/dist/services/hubdoc-export.d.ts.map +1 -1
- package/dist/services/hubdoc-export.js +1 -1
- package/dist/services/hubdoc-export.js.map +1 -1
- package/dist/services/oauth-token-service.d.ts +27 -14
- package/dist/services/oauth-token-service.d.ts.map +1 -1
- package/dist/services/oauth-token-service.js +147 -80
- package/dist/services/oauth-token-service.js.map +1 -1
- package/dist/services/plugin-import.d.ts +2 -2
- package/dist/services/plugin-import.d.ts.map +1 -1
- package/dist/services/plugin-import.js +2 -2
- package/dist/services/plugin-import.js.map +1 -1
- package/dist/services/plugin-manager.d.ts +6 -1
- package/dist/services/plugin-manager.d.ts.map +1 -1
- package/dist/services/plugin-manager.js +28 -2
- package/dist/services/plugin-manager.js.map +1 -1
- package/dist/types/index.d.ts +11 -37
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/config.d.ts +30 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +187 -40
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/csv.d.ts.map +1 -1
- package/dist/utils/csv.js +14 -3
- package/dist/utils/csv.js.map +1 -1
- package/package.json +23 -6
- package/.env.example +0 -23
- package/BAUTECH_HubDoc_Import.pptx +0 -0
- package/CHANGELOG.md +0 -134
- package/DEMO-DOCUMENTATION.html +0 -356
- package/DEMO-DOCUMENTATION.md +0 -411
- package/EXPORT-DOCUMENTATION.md +0 -333
- package/HUBDOC-API-V2.md +0 -248
- package/INSTALL.md +0 -175
- package/PACKAGING.md +0 -206
- package/PLUGINS.md +0 -328
- package/PRESENTATION-CLIENT.md +0 -100
- package/README-hubdoc-tool.md +0 -369
- package/README-npm.md +0 -238
- package/TESTING.md +0 -129
- package/config-examples/README.md +0 -36
- package/config-examples/alfresco-config.example.json +0 -8
- package/config-examples/azure-blob-config.example.json +0 -7
- package/config-examples/box-config.example.json +0 -5
- package/config-examples/nuxeo-config.example.json +0 -8
- package/config-examples/opentext-config.example.json +0 -7
- package/config-examples/s3-config.example.json +0 -8
- package/config-examples/sharepoint-config.example.json +0 -7
- package/demo/README.md +0 -199
- package/demo/demo-script.md +0 -284
- package/demo/generate-sample-csv.js +0 -351
- package/demo/mapping_bautech_15k.csv +0 -1
- package/demo/simulate-import.js +0 -273
- package/dist/commands/export-v2.d.ts +0 -45
- package/dist/commands/export-v2.d.ts.map +0 -1
- package/dist/commands/export-v2.js +0 -369
- package/dist/commands/export-v2.js.map +0 -1
- package/dist/commands/import-v2.d.ts +0 -32
- package/dist/commands/import-v2.d.ts.map +0 -1
- package/dist/commands/import-v2.js +0 -331
- package/dist/commands/import-v2.js.map +0 -1
- package/dist/services/hubdoc-api-v2.d.ts +0 -150
- package/dist/services/hubdoc-api-v2.d.ts.map +0 -1
- package/dist/services/hubdoc-api-v2.js +0 -418
- package/dist/services/hubdoc-api-v2.js.map +0 -1
- package/dist/services/hubdoc-client.d.ts +0 -246
- package/dist/services/hubdoc-client.d.ts.map +0 -1
- package/dist/services/hubdoc-client.js +0 -714
- package/dist/services/hubdoc-client.js.map +0 -1
- package/dist/services/hubdoc-export-service.d.ts +0 -90
- package/dist/services/hubdoc-export-service.d.ts.map +0 -1
- package/dist/services/hubdoc-export-service.js +0 -443
- package/dist/services/hubdoc-export-service.js.map +0 -1
- package/dist/services/hubdoc-export-v2.d.ts +0 -77
- package/dist/services/hubdoc-export-v2.d.ts.map +0 -1
- package/dist/services/hubdoc-export-v2.js +0 -329
- package/dist/services/hubdoc-export-v2.js.map +0 -1
- package/dist/services/hubdoc-import-service.d.ts +0 -64
- package/dist/services/hubdoc-import-service.d.ts.map +0 -1
- package/dist/services/hubdoc-import-service.js +0 -374
- package/dist/services/hubdoc-import-service.js.map +0 -1
- package/docs/README.md +0 -65
- package/docs/connectors/alfresco.md +0 -211
- package/docs/connectors/aws-s3.md +0 -187
- package/docs/connectors/azure-blob.md +0 -195
- package/docs/connectors/box.md +0 -115
- package/docs/connectors/nuxeo.md +0 -214
- package/docs/connectors/opentext.md +0 -234
- package/docs/connectors/sharepoint.md +0 -207
- package/documentation.html +0 -273
- package/jest.config.js +0 -15
- package/plugins/core/README.md +0 -122
- package/plugins/core/TESTING.md +0 -155
- package/plugins/core/plugin.json +0 -26
- package/plugins/dropbox/plugin.json +0 -12
- package/plugins/filesystem/plugin.json +0 -12
- package/plugins/googledrive/plugin.json +0 -12
- package/plugins/onedrive/TESTING.md +0 -197
- package/plugins/onedrive/plugin.json +0 -12
- package/scripts/build-windows-installer.ps1 +0 -132
- package/scripts/build-windows-installer.sh +0 -106
- package/scripts/prepare-publish.js +0 -62
- package/scripts/restore-package.js +0 -29
package/documentation.html
DELETED
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="fr">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>HubDoc Tool - Documentation</title>
|
|
7
|
-
<style>
|
|
8
|
-
body {
|
|
9
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
10
|
-
line-height: 1.6;
|
|
11
|
-
max-width: 900px;
|
|
12
|
-
margin: 0 auto;
|
|
13
|
-
padding: 20px;
|
|
14
|
-
color: #333;
|
|
15
|
-
}
|
|
16
|
-
h1, h2, h3 { color: #2c3e50; }
|
|
17
|
-
h1 { border-bottom: 3px solid #3498db; padding-bottom: 10px; }
|
|
18
|
-
h2 { border-bottom: 2px solid #ecf0f1; padding-bottom: 8px; margin-top: 2em; }
|
|
19
|
-
.command-box {
|
|
20
|
-
background: #2c3e50;
|
|
21
|
-
color: #ecf0f1;
|
|
22
|
-
padding: 15px;
|
|
23
|
-
border-radius: 8px;
|
|
24
|
-
font-family: 'Monaco', 'Consolas', monospace;
|
|
25
|
-
margin: 15px 0;
|
|
26
|
-
overflow-x: auto;
|
|
27
|
-
}
|
|
28
|
-
.step {
|
|
29
|
-
background: #f8f9fa;
|
|
30
|
-
border-left: 4px solid #3498db;
|
|
31
|
-
padding: 15px;
|
|
32
|
-
margin: 15px 0;
|
|
33
|
-
border-radius: 0 8px 8px 0;
|
|
34
|
-
}
|
|
35
|
-
.mapping-example {
|
|
36
|
-
background: #e8f5e8;
|
|
37
|
-
border: 1px solid #27ae60;
|
|
38
|
-
padding: 15px;
|
|
39
|
-
border-radius: 8px;
|
|
40
|
-
margin: 15px 0;
|
|
41
|
-
}
|
|
42
|
-
.workflow {
|
|
43
|
-
background: #fff3cd;
|
|
44
|
-
border: 1px solid #ffc107;
|
|
45
|
-
padding: 15px;
|
|
46
|
-
border-radius: 8px;
|
|
47
|
-
margin: 15px 0;
|
|
48
|
-
}
|
|
49
|
-
table {
|
|
50
|
-
border-collapse: collapse;
|
|
51
|
-
width: 100%;
|
|
52
|
-
margin: 15px 0;
|
|
53
|
-
}
|
|
54
|
-
th, td {
|
|
55
|
-
border: 1px solid #ddd;
|
|
56
|
-
padding: 12px;
|
|
57
|
-
text-align: left;
|
|
58
|
-
}
|
|
59
|
-
th { background-color: #f2f2f2; }
|
|
60
|
-
.emoji { font-size: 1.2em; }
|
|
61
|
-
</style>
|
|
62
|
-
</head>
|
|
63
|
-
<body>
|
|
64
|
-
|
|
65
|
-
<h1><span class="emoji">🔧</span> HubDoc Tool - Documentation</h1>
|
|
66
|
-
|
|
67
|
-
<p><strong>HubDoc Tool</strong> est un outil en ligne de commande Node.js pour l'import et l'export massif de documents avec HubDoc.</p>
|
|
68
|
-
|
|
69
|
-
<h2><span class="emoji">📥</span> Import de Documents</h2>
|
|
70
|
-
|
|
71
|
-
<p>L'import permet de transférer des documents depuis votre système de fichiers vers HubDoc avec une organisation personnalisée.</p>
|
|
72
|
-
|
|
73
|
-
<h3>🚀 Workflow d'Import</h3>
|
|
74
|
-
|
|
75
|
-
<div class="workflow">
|
|
76
|
-
<strong>Étapes :</strong><br>
|
|
77
|
-
1. <strong>Génération du mapping</strong> - Scan du répertoire et création du CSV<br>
|
|
78
|
-
2. <strong>Personnalisation</strong> - Édition du CSV pour définir l'organisation<br>
|
|
79
|
-
3. <strong>Import</strong> - Transfert des documents selon le mapping
|
|
80
|
-
</div>
|
|
81
|
-
|
|
82
|
-
<div class="step">
|
|
83
|
-
<h4>Étape 1 : Génération du Mapping CSV</h4>
|
|
84
|
-
<p>Scannez votre répertoire pour générer un fichier CSV de mapping :</p>
|
|
85
|
-
<div class="command-box">hubdoc-tool generate-mapping ./mes-documents</div>
|
|
86
|
-
<p>Cela crée un fichier <code>mapping.csv</code> avec tous les fichiers trouvés.</p>
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
<div class="step">
|
|
90
|
-
<h4>Étape 2 : Personnalisation du Mapping</h4>
|
|
91
|
-
<p>Éditez le fichier CSV pour définir :</p>
|
|
92
|
-
<ul>
|
|
93
|
-
<li><strong>Target Folder</strong> : Dossier de destination dans HubDoc</li>
|
|
94
|
-
<li><strong>Workspace</strong> : Projet associé (créé automatiquement si nécessaire)</li>
|
|
95
|
-
<li><strong>Domain</strong> : Domaine métier (BTP & Construction, Administration...)</li>
|
|
96
|
-
<li><strong>Plan Classement</strong> : Plan de classification (BTP_PROMOTION_IMMOBILIERE...)</li>
|
|
97
|
-
<li><strong>Permissions</strong> : Droits de lecture/écriture</li>
|
|
98
|
-
</ul>
|
|
99
|
-
</div>
|
|
100
|
-
|
|
101
|
-
<div class="mapping-example">
|
|
102
|
-
<h4>📋 Exemple de Mapping CSV :</h4>
|
|
103
|
-
<table>
|
|
104
|
-
<tr>
|
|
105
|
-
<th>File Path</th>
|
|
106
|
-
<th>Target Folder</th>
|
|
107
|
-
<th>Workspace</th>
|
|
108
|
-
<th>Domain</th>
|
|
109
|
-
<th>Read Permissions</th>
|
|
110
|
-
</tr>
|
|
111
|
-
<tr>
|
|
112
|
-
<td>./plans/facade.pdf</td>
|
|
113
|
-
<td>Technique/Plans Architecture</td>
|
|
114
|
-
<td>Les Jardins de Meudon</td>
|
|
115
|
-
<td>BTP & Construction</td>
|
|
116
|
-
<td>users:architecte1,chef-projet</td>
|
|
117
|
-
</tr>
|
|
118
|
-
<tr>
|
|
119
|
-
<td>./contrats/marche.pdf</td>
|
|
120
|
-
<td>Administrative/Marchés</td>
|
|
121
|
-
<td>Les Jardins de Meudon</td>
|
|
122
|
-
<td>Administration</td>
|
|
123
|
-
<td>groups:direction,juridique</td>
|
|
124
|
-
</tr>
|
|
125
|
-
</table>
|
|
126
|
-
</div>
|
|
127
|
-
|
|
128
|
-
<div class="step">
|
|
129
|
-
<h4>Étape 3 : Import des Documents</h4>
|
|
130
|
-
<p>Lancez l'import en utilisant le mapping personnalisé :</p>
|
|
131
|
-
<div class="command-box">hubdoc-tool import --mapping mapping.csv</div>
|
|
132
|
-
</div>
|
|
133
|
-
|
|
134
|
-
<h3>📚 Modes d'Import Disponibles</h3>
|
|
135
|
-
|
|
136
|
-
<div class="command-box">
|
|
137
|
-
# Mode interactif (assistant)
|
|
138
|
-
hubdoc-tool import --interactive
|
|
139
|
-
|
|
140
|
-
# Import direct (structure préservée)
|
|
141
|
-
hubdoc-tool import --direct ./mes-documents
|
|
142
|
-
|
|
143
|
-
# Import avec mapping personnalisé
|
|
144
|
-
hubdoc-tool import --mapping mon-mapping.csv
|
|
145
|
-
</div>
|
|
146
|
-
|
|
147
|
-
<hr>
|
|
148
|
-
|
|
149
|
-
<h2><span class="emoji">📤</span> Export de Documents</h2>
|
|
150
|
-
|
|
151
|
-
<p>L'export permet de télécharger des documents depuis HubDoc vers votre système de fichiers en recréant l'arborescence.</p>
|
|
152
|
-
|
|
153
|
-
<h3>🚀 Workflow d'Export</h3>
|
|
154
|
-
|
|
155
|
-
<div class="workflow">
|
|
156
|
-
<strong>Étapes :</strong><br>
|
|
157
|
-
1. <strong>Scan HubDoc</strong> - Génération du mapping des documents disponibles<br>
|
|
158
|
-
2. <strong>Personnalisation</strong> - Édition des chemins de destination<br>
|
|
159
|
-
3. <strong>Export</strong> - Téléchargement avec création de l'arborescence
|
|
160
|
-
</div>
|
|
161
|
-
|
|
162
|
-
<div class="step">
|
|
163
|
-
<h4>Étape 1 : Scan des Documents HubDoc</h4>
|
|
164
|
-
<p>Générez un mapping des documents disponibles :</p>
|
|
165
|
-
<div class="command-box">
|
|
166
|
-
# Scan complet
|
|
167
|
-
hubdoc-tool export --scan
|
|
168
|
-
|
|
169
|
-
# Scan filtré par projet
|
|
170
|
-
hubdoc-tool export --scan --project "Les Jardins de Meudon"
|
|
171
|
-
|
|
172
|
-
# Scan filtré par domaine
|
|
173
|
-
hubdoc-tool export --scan --domain "BTP & Construction"
|
|
174
|
-
</div>
|
|
175
|
-
<p>Cela crée un fichier <code>export-mapping.csv</code> avec tous les documents trouvés.</p>
|
|
176
|
-
</div>
|
|
177
|
-
|
|
178
|
-
<div class="step">
|
|
179
|
-
<h4>Étape 2 : Personnalisation des Chemins</h4>
|
|
180
|
-
<p>Éditez la colonne <strong>"Target Path (editable)"</strong> dans le CSV pour personnaliser l'arborescence de destination :</p>
|
|
181
|
-
</div>
|
|
182
|
-
|
|
183
|
-
<div class="mapping-example">
|
|
184
|
-
<h4>📋 Exemple d'Export Mapping :</h4>
|
|
185
|
-
<table>
|
|
186
|
-
<tr>
|
|
187
|
-
<th>Document Name</th>
|
|
188
|
-
<th>Projects</th>
|
|
189
|
-
<th>Target Path (editable)</th>
|
|
190
|
-
</tr>
|
|
191
|
-
<tr>
|
|
192
|
-
<td>plan_facade_nord.pdf</td>
|
|
193
|
-
<td>Les Jardins de Meudon:Technique/Plans</td>
|
|
194
|
-
<td>Projets 2024/Meudon/Plans Architecture</td>
|
|
195
|
-
</tr>
|
|
196
|
-
<tr>
|
|
197
|
-
<td>permis_construire.pdf</td>
|
|
198
|
-
<td>Les Jardins de Meudon:Administrative</td>
|
|
199
|
-
<td>Archives/Administratif/Permis</td>
|
|
200
|
-
</tr>
|
|
201
|
-
</table>
|
|
202
|
-
</div>
|
|
203
|
-
|
|
204
|
-
<div class="step">
|
|
205
|
-
<h4>Étape 3 : Export des Documents</h4>
|
|
206
|
-
<p>Lancez l'export en utilisant le mapping :</p>
|
|
207
|
-
<div class="command-box">
|
|
208
|
-
# Export avec mapping par défaut
|
|
209
|
-
hubdoc-tool export
|
|
210
|
-
|
|
211
|
-
# Export avec mapping personnalisé vers un dossier spécifique
|
|
212
|
-
hubdoc-tool export --mapping mon-export.csv --output ./mes-exports
|
|
213
|
-
</div>
|
|
214
|
-
</div>
|
|
215
|
-
|
|
216
|
-
<h3>📚 Commandes d'Export</h3>
|
|
217
|
-
|
|
218
|
-
<div class="command-box">
|
|
219
|
-
# Mode interactif
|
|
220
|
-
hubdoc-tool export --interactive
|
|
221
|
-
|
|
222
|
-
# Scan avec filtres
|
|
223
|
-
hubdoc-tool export --scan --project "Mon Projet" --mapping custom.csv
|
|
224
|
-
|
|
225
|
-
# Export vers dossier spécifique
|
|
226
|
-
hubdoc-tool export --output ./documents-exportes
|
|
227
|
-
</div>
|
|
228
|
-
|
|
229
|
-
<hr>
|
|
230
|
-
|
|
231
|
-
<h2><span class="emoji">⚙️</span> Le Rôle Central du Mapping CSV</h2>
|
|
232
|
-
|
|
233
|
-
<div class="mapping-example">
|
|
234
|
-
<h3>🎯 Pourquoi le Mapping ?</h3>
|
|
235
|
-
<p>Le fichier CSV de mapping est l'élément central qui vous permet de :</p>
|
|
236
|
-
<ul>
|
|
237
|
-
<li><strong>Contrôler précisément</strong> où vont les documents</li>
|
|
238
|
-
<li><strong>Organiser</strong> selon votre logique métier</li>
|
|
239
|
-
<li><strong>Définir les permissions</strong> adaptées à chaque document</li>
|
|
240
|
-
<li><strong>Prévisualiser</strong> l'organisation avant le transfert</li>
|
|
241
|
-
<li><strong>Réutiliser</strong> la configuration pour d'autres imports/exports</li>
|
|
242
|
-
</ul>
|
|
243
|
-
</div>
|
|
244
|
-
|
|
245
|
-
<h3>🔄 Flexibilité du Mapping</h3>
|
|
246
|
-
<p>Le mapping vous permet de :</p>
|
|
247
|
-
<ul>
|
|
248
|
-
<li><strong>Import</strong> : Transformer l'arborescence locale en organisation HubDoc</li>
|
|
249
|
-
<li><strong>Export</strong> : Réorganiser les documents HubDoc selon vos besoins</li>
|
|
250
|
-
<li><strong>Migrations</strong> : Faciliter les changements d'organisation</li>
|
|
251
|
-
</ul>
|
|
252
|
-
|
|
253
|
-
<hr>
|
|
254
|
-
|
|
255
|
-
<h2><span class="emoji">🛠️</span> Configuration Initiale</h2>
|
|
256
|
-
|
|
257
|
-
<div class="step">
|
|
258
|
-
<h4>Premier Usage</h4>
|
|
259
|
-
<p>Configurez l'accès à l'API HubDoc :</p>
|
|
260
|
-
<div class="command-box">hubdoc-tool config</div>
|
|
261
|
-
<p>L'assistant vous demandera :</p>
|
|
262
|
-
<ul>
|
|
263
|
-
<li><strong>URL de l'API</strong> : https://demo.hubdoc.sinoia.cloud/api/v1</li>
|
|
264
|
-
<li><strong>Token d'authentification</strong> : Votre token Bearer</li>
|
|
265
|
-
</ul>
|
|
266
|
-
</div>
|
|
267
|
-
|
|
268
|
-
<hr>
|
|
269
|
-
|
|
270
|
-
<p><em>HubDoc Tool v1.0.0 - Documentation fonctionnelle</em></p>
|
|
271
|
-
|
|
272
|
-
</body>
|
|
273
|
-
</html>
|
package/jest.config.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
preset: 'ts-jest',
|
|
3
|
-
testEnvironment: 'node',
|
|
4
|
-
roots: ['<rootDir>/src', '<rootDir>/tests'],
|
|
5
|
-
testMatch: ['**/__tests__/**/*.ts', '**/?(*.)+(spec|test).ts'],
|
|
6
|
-
transform: {
|
|
7
|
-
'^.+\\.ts$': 'ts-jest',
|
|
8
|
-
},
|
|
9
|
-
collectCoverageFrom: [
|
|
10
|
-
'src/**/*.ts',
|
|
11
|
-
'!src/**/*.d.ts',
|
|
12
|
-
],
|
|
13
|
-
coverageDirectory: 'coverage',
|
|
14
|
-
coverageReporters: ['text', 'lcov', 'html'],
|
|
15
|
-
};
|
package/plugins/core/README.md
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
# Core Plugin
|
|
2
|
-
|
|
3
|
-
Plugin pour importer des documents depuis le système Core vers HubDoc.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Ce plugin permet d'importer des documents stockés dans un système Core (Document Management System) vers HubDoc. Il utilise l'API REST de Core pour lister et télécharger les documents.
|
|
8
|
-
|
|
9
|
-
## Fonctionnalités
|
|
10
|
-
|
|
11
|
-
- **Scan** : Liste tous les documents disponibles dans Core avec pagination
|
|
12
|
-
- **Import** : Télécharge les documents vers un buffer local puis les transfère vers HubDoc
|
|
13
|
-
- **Authentification** : Support de l'authentification Bearer Token avec Core
|
|
14
|
-
- **Filtrage** : Support des filtres par taille, date, et type MIME
|
|
15
|
-
- **Métadonnées** : Préservation des métadonnées Core (tags, type, sous-type, etc.)
|
|
16
|
-
|
|
17
|
-
## Configuration
|
|
18
|
-
|
|
19
|
-
Le plugin nécessite les paramètres suivants :
|
|
20
|
-
|
|
21
|
-
### Paramètres obligatoires
|
|
22
|
-
|
|
23
|
-
- **baseUrl** : URL de base de l'API Core (ex: `https://your-core-instance.com`)
|
|
24
|
-
- **username** : Nom d'utilisateur pour l'authentification Core
|
|
25
|
-
- **password** : Mot de passe pour l'authentification Core
|
|
26
|
-
|
|
27
|
-
### Paramètres optionnels
|
|
28
|
-
|
|
29
|
-
- **bearerToken** : Token Bearer pré-obtenu (optionnel, sera récupéré automatiquement si non fourni)
|
|
30
|
-
- **tempDir** : Répertoire temporaire pour les fichiers buffer (par défaut : `{targetDir}/.temp`)
|
|
31
|
-
|
|
32
|
-
## Exemple de configuration
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"baseUrl": "https://my-core-instance.com",
|
|
37
|
-
"username": "myuser",
|
|
38
|
-
"password": "mypassword",
|
|
39
|
-
"tempDir": "/tmp/core-import"
|
|
40
|
-
}
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Stratégie d'import
|
|
44
|
-
|
|
45
|
-
Le plugin utilise une stratégie de buffer local pour l'import :
|
|
46
|
-
|
|
47
|
-
1. **Scan** : Liste les documents via `/api/d2/docs` avec pagination
|
|
48
|
-
2. **Fetch** : Récupère le détail de chaque document via `/api/d2/docs/{id}`
|
|
49
|
-
3. **Buffer** : Crée un fichier temporaire local avec le contenu du document
|
|
50
|
-
4. **Transfer** : Déplace le fichier vers le répertoire cible avec la structure appropriée
|
|
51
|
-
5. **Cleanup** : Supprime les fichiers temporaires
|
|
52
|
-
|
|
53
|
-
## Structure des documents
|
|
54
|
-
|
|
55
|
-
Les documents Core sont organisés selon cette structure :
|
|
56
|
-
```
|
|
57
|
-
{type}/{subtype}/{document_title}.txt
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
Exemples :
|
|
61
|
-
- `document/general/My_Document.txt`
|
|
62
|
-
- `html/report/Monthly_Report.txt`
|
|
63
|
-
- `unknown/general/Document_123.txt`
|
|
64
|
-
|
|
65
|
-
## Métadonnées préservées
|
|
66
|
-
|
|
67
|
-
Le plugin préserve les métadonnées suivantes de Core :
|
|
68
|
-
|
|
69
|
-
- **coreId** : ID unique du document dans Core
|
|
70
|
-
- **coreType** : Type de document Core
|
|
71
|
-
- **coreSubtype** : Sous-type de document Core
|
|
72
|
-
- **corePath** : Chemin original dans Core
|
|
73
|
-
- **tags** : Tags associés au document
|
|
74
|
-
- **hasAttachments** : Présence de pièces jointes
|
|
75
|
-
- **signed** : Statut de signature
|
|
76
|
-
- **percent** : Pourcentage de completion
|
|
77
|
-
- **note** : Note attribuée
|
|
78
|
-
- **body** : Extrait du contenu (500 premiers caractères)
|
|
79
|
-
|
|
80
|
-
## Limitations
|
|
81
|
-
|
|
82
|
-
- **Export non supporté** : L'export vers Core n'est pas implémenté car les documents doivent être gérés dans Core même
|
|
83
|
-
- **Contenu textuel uniquement** : Les documents sont extraits en format texte
|
|
84
|
-
- **Pièces jointes** : Les attachments Core ne sont pas téléchargés directement
|
|
85
|
-
|
|
86
|
-
## API Core utilisée
|
|
87
|
-
|
|
88
|
-
Le plugin utilise les endpoints suivants de l'API Core :
|
|
89
|
-
|
|
90
|
-
- `POST /api/token` : Authentification et récupération du token
|
|
91
|
-
- `GET /api/d2/docs` : Liste des documents avec pagination
|
|
92
|
-
- `GET /api/d2/docs/{id}` : Détail d'un document spécifique
|
|
93
|
-
|
|
94
|
-
## Gestion des erreurs
|
|
95
|
-
|
|
96
|
-
Le plugin gère les erreurs suivantes :
|
|
97
|
-
|
|
98
|
-
- **Erreurs d'authentification** : Token invalide ou expiré
|
|
99
|
-
- **Erreurs de pagination** : Pages manquantes ou inaccessibles
|
|
100
|
-
- **Erreurs de téléchargement** : Documents inaccessibles
|
|
101
|
-
- **Erreurs de filesystem** : Problèmes de buffer local
|
|
102
|
-
|
|
103
|
-
## Utilisation
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
# Configuration du plugin
|
|
107
|
-
hubdoc-tool connect core
|
|
108
|
-
|
|
109
|
-
# Scan des documents Core
|
|
110
|
-
hubdoc-tool plugin-scan core-connection
|
|
111
|
-
|
|
112
|
-
# Import vers HubDoc
|
|
113
|
-
hubdoc-tool plugin-import core-mapping.csv
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
## Exemple de mapping CSV généré
|
|
117
|
-
|
|
118
|
-
```csv
|
|
119
|
-
File Path,Target Folder,Workspace,Metadata (JSON),Permissions
|
|
120
|
-
document/general/My_Document.txt,Core Documents,Core Project,"{\"coreId\":\"123\",\"coreType\":\"document\"}",
|
|
121
|
-
html/report/Monthly_Report.txt,Core Reports,Core Project,"{\"coreId\":\"456\",\"coreType\":\"html\"}",
|
|
122
|
-
```
|
package/plugins/core/TESTING.md
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
# Guide de test du plugin Core
|
|
2
|
-
|
|
3
|
-
Ce guide vous permet de tester le plugin Core avec l'instance https://rec.plugandwork.fr.
|
|
4
|
-
|
|
5
|
-
## Prérequis
|
|
6
|
-
|
|
7
|
-
1. Token d'authentification Core valide
|
|
8
|
-
2. HubDoc Tools configuré
|
|
9
|
-
|
|
10
|
-
## Configuration de test
|
|
11
|
-
|
|
12
|
-
### 1. Créer un fichier de configuration
|
|
13
|
-
|
|
14
|
-
```json
|
|
15
|
-
{
|
|
16
|
-
"baseUrl": "https://rec.plugandwork.fr",
|
|
17
|
-
"bearerToken": "YOUR_BEARER_TOKEN_HERE",
|
|
18
|
-
"limit": 10
|
|
19
|
-
}
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### 2. Tester la connexion
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
# Lister les plugins disponibles
|
|
26
|
-
npm run dev -- plugins
|
|
27
|
-
|
|
28
|
-
# Vérifier que Core est bien listé
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### 3. Scanner les documents (test rapide)
|
|
32
|
-
|
|
33
|
-
Créer un script de test :
|
|
34
|
-
|
|
35
|
-
```javascript
|
|
36
|
-
// test-core.js
|
|
37
|
-
const fs = require('fs-extra');
|
|
38
|
-
const { register } = require('ts-node');
|
|
39
|
-
register({ transpileOnly: true, compilerOptions: { esModuleInterop: true } });
|
|
40
|
-
|
|
41
|
-
const CorePlugin = require('./plugins/core/index.ts').default;
|
|
42
|
-
|
|
43
|
-
async function test() {
|
|
44
|
-
const config = {
|
|
45
|
-
baseUrl: "https://rec.plugandwork.fr",
|
|
46
|
-
bearerToken: "YOUR_TOKEN",
|
|
47
|
-
limit: 5
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
const plugin = new CorePlugin();
|
|
51
|
-
|
|
52
|
-
console.log('Testing connection...');
|
|
53
|
-
const connected = await plugin.testConnection(config);
|
|
54
|
-
console.log('Connected:', connected);
|
|
55
|
-
|
|
56
|
-
if (connected) {
|
|
57
|
-
console.log('Scanning documents...');
|
|
58
|
-
const result = await plugin.scan(config);
|
|
59
|
-
console.log(`Found ${result.totalCount} documents`);
|
|
60
|
-
result.sources.slice(0, 3).forEach(doc => {
|
|
61
|
-
console.log(`- ${doc.name} (${doc.path})`);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
test().catch(console.error);
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
Puis exécuter :
|
|
70
|
-
```bash
|
|
71
|
-
node test-core.js
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Résultats attendus
|
|
75
|
-
|
|
76
|
-
### Scan réussi
|
|
77
|
-
- ✅ Connection: SUCCESS
|
|
78
|
-
- ✅ Documents trouvés avec métadonnées Core
|
|
79
|
-
- ✅ Limitation respectée (paramètre `limit`)
|
|
80
|
-
- ✅ Types de documents variés (file, contact, note, email, etc.)
|
|
81
|
-
|
|
82
|
-
### Structure des documents
|
|
83
|
-
- **Chemin** : `{type}/{subtype}/{title}.txt`
|
|
84
|
-
- **Métadonnées** : Core ID, type, tags, etc.
|
|
85
|
-
- **Types MIME** : text/plain par défaut
|
|
86
|
-
|
|
87
|
-
## Test d'intégration complète
|
|
88
|
-
|
|
89
|
-
### 1. Configuration d'une connexion
|
|
90
|
-
```bash
|
|
91
|
-
echo '{"baseUrl":"https://rec.plugandwork.fr","bearerToken":"YOUR_TOKEN","limit":10}' > core-config.json
|
|
92
|
-
npm run dev -- connect core --config core-config.json --name test-core
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### 2. Scan des documents
|
|
96
|
-
```bash
|
|
97
|
-
npm run dev -- plugin-scan test-core --output core-mapping.csv
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### 3. Vérification du mapping
|
|
101
|
-
```bash
|
|
102
|
-
head -10 core-mapping.csv
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Le fichier doit contenir :
|
|
106
|
-
- Colonnes : File Path, Target Folder, Workspace, Metadata (JSON), Permissions
|
|
107
|
-
- Métadonnées JSON avec Core ID, type, tags
|
|
108
|
-
- Chemins organisés par type Core
|
|
109
|
-
|
|
110
|
-
## Dépannage
|
|
111
|
-
|
|
112
|
-
### Token expiré
|
|
113
|
-
```
|
|
114
|
-
Error: Request failed with status code 401
|
|
115
|
-
```
|
|
116
|
-
→ Vérifier/renouveler le token Bearer
|
|
117
|
-
|
|
118
|
-
### URL incorrecte
|
|
119
|
-
```
|
|
120
|
-
Error: ENOTFOUND rec.plugandwork.fr
|
|
121
|
-
```
|
|
122
|
-
→ Vérifier l'URL de base
|
|
123
|
-
|
|
124
|
-
### Limite dépassée
|
|
125
|
-
```
|
|
126
|
-
Error: Too many requests
|
|
127
|
-
```
|
|
128
|
-
→ Augmenter les délais ou réduire la limit
|
|
129
|
-
|
|
130
|
-
## Performance
|
|
131
|
-
|
|
132
|
-
Avec limit=10 :
|
|
133
|
-
- Durée : ~1-2 secondes
|
|
134
|
-
- Documents : 10 maximum
|
|
135
|
-
- Pagination : 1 page
|
|
136
|
-
|
|
137
|
-
Avec limit=100 :
|
|
138
|
-
- Durée : ~5-10 secondes
|
|
139
|
-
- Documents : 100 maximum
|
|
140
|
-
- Pagination : Multiple pages
|
|
141
|
-
|
|
142
|
-
## Paramètres utiles
|
|
143
|
-
|
|
144
|
-
- **limit** : Nombre max de documents (utile pour tests)
|
|
145
|
-
- **tempDir** : Répertoire temporaire pour les buffers
|
|
146
|
-
- **bearerToken** : Token d'auth direct (évite username/password)
|
|
147
|
-
|
|
148
|
-
## Types de documents Core observés
|
|
149
|
-
|
|
150
|
-
- **file** : Fichiers généraux
|
|
151
|
-
- **contact** : Contacts/fiches client
|
|
152
|
-
- **note** : Notes internes
|
|
153
|
-
- **email** : Emails
|
|
154
|
-
- **task** : Tâches
|
|
155
|
-
- **doc** : Documents structurés
|
package/plugins/core/plugin.json
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "core",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Core document management system source plugin",
|
|
5
|
-
"author": "HubDoc Tools",
|
|
6
|
-
"main": "index.ts",
|
|
7
|
-
"dependencies": {
|
|
8
|
-
"axios": "^1.5.0",
|
|
9
|
-
"fs-extra": "^11.1.0"
|
|
10
|
-
},
|
|
11
|
-
"hubdocToolVersion": "^1.0.0",
|
|
12
|
-
"capabilities": {
|
|
13
|
-
"scan": true,
|
|
14
|
-
"import": true,
|
|
15
|
-
"export": false
|
|
16
|
-
},
|
|
17
|
-
"apiEndpoints": {
|
|
18
|
-
"authentication": "/api/token",
|
|
19
|
-
"documents": "/api/d2/docs",
|
|
20
|
-
"documentDetail": "/api/d2/docs/{id}"
|
|
21
|
-
},
|
|
22
|
-
"configuration": {
|
|
23
|
-
"required": ["baseUrl", "username", "password"],
|
|
24
|
-
"optional": ["bearerToken", "tempDir"]
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "filesystem",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Local filesystem document source plugin",
|
|
5
|
-
"author": "HubDoc Tools",
|
|
6
|
-
"main": "index.js",
|
|
7
|
-
"hubdocToolVersion": "^1.0.0",
|
|
8
|
-
"dependencies": {
|
|
9
|
-
"fs-extra": "^11.1.0",
|
|
10
|
-
"glob": "^10.3.0"
|
|
11
|
-
}
|
|
12
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "googledrive",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "Google Drive document source plugin",
|
|
5
|
-
"author": "HubDoc Tools",
|
|
6
|
-
"main": "index.js",
|
|
7
|
-
"hubdocToolVersion": "^1.0.0",
|
|
8
|
-
"dependencies": {
|
|
9
|
-
"googleapis": "^128.0.0",
|
|
10
|
-
"fs-extra": "^11.1.0"
|
|
11
|
-
}
|
|
12
|
-
}
|