@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.
Files changed (341) hide show
  1. package/README.md +115 -34
  2. package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts +15 -0
  3. package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts.map +1 -0
  4. package/dist/__tests__/fixtures/plugins/connection-plugin/index.js +37 -0
  5. package/dist/__tests__/fixtures/plugins/connection-plugin/index.js.map +1 -0
  6. package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts +15 -0
  7. package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts.map +1 -0
  8. package/dist/__tests__/fixtures/plugins/scan-plugin/index.js +54 -0
  9. package/dist/__tests__/fixtures/plugins/scan-plugin/index.js.map +1 -0
  10. package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts +15 -0
  11. package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts.map +1 -0
  12. package/dist/__tests__/fixtures/plugins/test-plugin/index.js +34 -0
  13. package/dist/__tests__/fixtures/plugins/test-plugin/index.js.map +1 -0
  14. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts +16 -0
  15. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts.map +1 -0
  16. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js +145 -0
  17. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js.map +1 -0
  18. package/dist/api/api/authentication-api.d.ts +208 -0
  19. package/dist/api/api/authentication-api.d.ts.map +1 -0
  20. package/dist/api/api/authentication-api.js +385 -0
  21. package/dist/api/api/authentication-api.js.map +1 -0
  22. package/dist/api/api/bulk-uploads-api.d.ts +101 -0
  23. package/dist/api/api/bulk-uploads-api.d.ts.map +1 -0
  24. package/dist/api/api/bulk-uploads-api.js +195 -0
  25. package/dist/api/api/bulk-uploads-api.js.map +1 -0
  26. package/dist/api/api/contacts-api.d.ts +246 -0
  27. package/dist/api/api/contacts-api.d.ts.map +1 -0
  28. package/dist/api/api/contacts-api.js +465 -0
  29. package/dist/api/api/contacts-api.js.map +1 -0
  30. package/dist/api/api/documents-api.d.ts +267 -0
  31. package/dist/api/api/documents-api.d.ts.map +1 -0
  32. package/dist/api/api/documents-api.js +506 -0
  33. package/dist/api/api/documents-api.js.map +1 -0
  34. package/dist/api/api/folders-api.d.ts +255 -0
  35. package/dist/api/api/folders-api.d.ts.map +1 -0
  36. package/dist/api/api/folders-api.js +479 -0
  37. package/dist/api/api/folders-api.js.map +1 -0
  38. package/dist/api/api/groups-api.d.ts +246 -0
  39. package/dist/api/api/groups-api.d.ts.map +1 -0
  40. package/dist/api/api/groups-api.js +465 -0
  41. package/dist/api/api/groups-api.js.map +1 -0
  42. package/dist/api/api/permissions-api.d.ts +246 -0
  43. package/dist/api/api/permissions-api.d.ts.map +1 -0
  44. package/dist/api/api/permissions-api.js +465 -0
  45. package/dist/api/api/permissions-api.js.map +1 -0
  46. package/dist/api/api/workspaces-api.d.ts +213 -0
  47. package/dist/api/api/workspaces-api.d.ts.map +1 -0
  48. package/dist/api/api/workspaces-api.js +424 -0
  49. package/dist/api/api/workspaces-api.js.map +1 -0
  50. package/dist/api/api.d.ts +20 -0
  51. package/dist/api/api.d.ts.map +1 -0
  52. package/dist/api/api.js +38 -0
  53. package/dist/api/api.js.map +1 -0
  54. package/dist/api/base.d.ts +43 -0
  55. package/dist/api/base.d.ts.map +1 -0
  56. package/dist/api/base.js +49 -0
  57. package/dist/api/base.js.map +1 -0
  58. package/dist/api/common.d.ts +29 -0
  59. package/dist/api/common.d.ts.map +1 -0
  60. package/dist/api/common.js +109 -0
  61. package/dist/api/common.js.map +1 -0
  62. package/dist/api/configuration.d.ts +99 -0
  63. package/dist/api/configuration.d.ts.map +1 -0
  64. package/dist/api/configuration.js +49 -0
  65. package/dist/api/configuration.js.map +1 -0
  66. package/dist/api/index.d.ts +15 -0
  67. package/dist/api/index.d.ts.map +1 -0
  68. package/dist/api/index.js +33 -0
  69. package/dist/api/index.js.map +1 -0
  70. package/dist/api/models/api-v1-documents-documents-post-request1.d.ts +34 -0
  71. package/dist/api/models/api-v1-documents-documents-post-request1.d.ts.map +1 -0
  72. package/dist/api/models/api-v1-documents-documents-post-request1.js +16 -0
  73. package/dist/api/models/api-v1-documents-documents-post-request1.js.map +1 -0
  74. package/dist/api/models/api-v1-documents-documents-post201-response.d.ts +17 -0
  75. package/dist/api/models/api-v1-documents-documents-post201-response.d.ts.map +1 -0
  76. package/dist/api/models/api-v1-documents-documents-post201-response.js +16 -0
  77. package/dist/api/models/api-v1-documents-documents-post201-response.js.map +1 -0
  78. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts +17 -0
  79. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts.map +1 -0
  80. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js +16 -0
  81. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js.map +1 -0
  82. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts +17 -0
  83. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts.map +1 -0
  84. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js +16 -0
  85. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js.map +1 -0
  86. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts +18 -0
  87. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts.map +1 -0
  88. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js +16 -0
  89. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js.map +1 -0
  90. package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts +17 -0
  91. package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts.map +1 -0
  92. package/dist/api/models/api-v1-documents-folders-id-get200-response.js +16 -0
  93. package/dist/api/models/api-v1-documents-folders-id-get200-response.js.map +1 -0
  94. package/dist/api/models/bulk-upload-mutation.d.ts +34 -0
  95. package/dist/api/models/bulk-upload-mutation.d.ts.map +1 -0
  96. package/dist/api/models/bulk-upload-mutation.js +16 -0
  97. package/dist/api/models/bulk-upload-mutation.js.map +1 -0
  98. package/dist/api/models/bulk-upload.d.ts +91 -0
  99. package/dist/api/models/bulk-upload.d.ts.map +1 -0
  100. package/dist/api/models/bulk-upload.js +23 -0
  101. package/dist/api/models/bulk-upload.js.map +1 -0
  102. package/dist/api/models/contact-mutation.d.ts +30 -0
  103. package/dist/api/models/contact-mutation.d.ts.map +1 -0
  104. package/dist/api/models/contact-mutation.js +16 -0
  105. package/dist/api/models/contact-mutation.js.map +1 -0
  106. package/dist/api/models/contact.d.ts +54 -0
  107. package/dist/api/models/contact.d.ts.map +1 -0
  108. package/dist/api/models/contact.js +16 -0
  109. package/dist/api/models/contact.js.map +1 -0
  110. package/dist/api/models/document-document-type.d.ts +19 -0
  111. package/dist/api/models/document-document-type.d.ts.map +1 -0
  112. package/dist/api/models/document-document-type.js +16 -0
  113. package/dist/api/models/document-document-type.js.map +1 -0
  114. package/dist/api/models/document-domain.d.ts +19 -0
  115. package/dist/api/models/document-domain.d.ts.map +1 -0
  116. package/dist/api/models/document-domain.js +16 -0
  117. package/dist/api/models/document-domain.js.map +1 -0
  118. package/dist/api/models/document-folder.d.ts +19 -0
  119. package/dist/api/models/document-folder.d.ts.map +1 -0
  120. package/dist/api/models/document-folder.js +16 -0
  121. package/dist/api/models/document-folder.js.map +1 -0
  122. package/dist/api/models/document-mutation.d.ts +50 -0
  123. package/dist/api/models/document-mutation.d.ts.map +1 -0
  124. package/dist/api/models/document-mutation.js +16 -0
  125. package/dist/api/models/document-mutation.js.map +1 -0
  126. package/dist/api/models/document.d.ts +73 -0
  127. package/dist/api/models/document.d.ts.map +1 -0
  128. package/dist/api/models/document.js +16 -0
  129. package/dist/api/models/document.js.map +1 -0
  130. package/dist/api/models/folder-mutation.d.ts +38 -0
  131. package/dist/api/models/folder-mutation.d.ts.map +1 -0
  132. package/dist/api/models/folder-mutation.js +16 -0
  133. package/dist/api/models/folder-mutation.js.map +1 -0
  134. package/dist/api/models/folder-parent.d.ts +19 -0
  135. package/dist/api/models/folder-parent.d.ts.map +1 -0
  136. package/dist/api/models/folder-parent.js +16 -0
  137. package/dist/api/models/folder-parent.js.map +1 -0
  138. package/dist/api/models/folder.d.ts +65 -0
  139. package/dist/api/models/folder.d.ts.map +1 -0
  140. package/dist/api/models/folder.js +16 -0
  141. package/dist/api/models/folder.js.map +1 -0
  142. package/dist/api/models/group-mutation.d.ts +26 -0
  143. package/dist/api/models/group-mutation.d.ts.map +1 -0
  144. package/dist/api/models/group-mutation.js +16 -0
  145. package/dist/api/models/group-mutation.js.map +1 -0
  146. package/dist/api/models/group.d.ts +38 -0
  147. package/dist/api/models/group.d.ts.map +1 -0
  148. package/dist/api/models/group.js +16 -0
  149. package/dist/api/models/group.js.map +1 -0
  150. package/dist/api/models/index.d.ts +35 -0
  151. package/dist/api/models/index.d.ts.map +1 -0
  152. package/dist/api/models/index.js +51 -0
  153. package/dist/api/models/index.js.map +1 -0
  154. package/dist/api/models/model-error.d.ts +26 -0
  155. package/dist/api/models/model-error.d.ts.map +1 -0
  156. package/dist/api/models/model-error.js +16 -0
  157. package/dist/api/models/model-error.js.map +1 -0
  158. package/dist/api/models/oauth-revoke-post200-response.d.ts +15 -0
  159. package/dist/api/models/oauth-revoke-post200-response.d.ts.map +1 -0
  160. package/dist/api/models/oauth-revoke-post200-response.js +16 -0
  161. package/dist/api/models/oauth-revoke-post200-response.js.map +1 -0
  162. package/dist/api/models/permission-actor.d.ts +20 -0
  163. package/dist/api/models/permission-actor.d.ts.map +1 -0
  164. package/dist/api/models/permission-actor.js +16 -0
  165. package/dist/api/models/permission-actor.js.map +1 -0
  166. package/dist/api/models/permission-mutation.d.ts +44 -0
  167. package/dist/api/models/permission-mutation.d.ts.map +1 -0
  168. package/dist/api/models/permission-mutation.js +22 -0
  169. package/dist/api/models/permission-mutation.js.map +1 -0
  170. package/dist/api/models/permission-permissible.d.ts +20 -0
  171. package/dist/api/models/permission-permissible.d.ts.map +1 -0
  172. package/dist/api/models/permission-permissible.js +16 -0
  173. package/dist/api/models/permission-permissible.js.map +1 -0
  174. package/dist/api/models/permission.d.ts +60 -0
  175. package/dist/api/models/permission.d.ts.map +1 -0
  176. package/dist/api/models/permission.js +22 -0
  177. package/dist/api/models/permission.js.map +1 -0
  178. package/dist/api/models/token-response.d.ts +41 -0
  179. package/dist/api/models/token-response.d.ts.map +1 -0
  180. package/dist/api/models/token-response.js +16 -0
  181. package/dist/api/models/token-response.js.map +1 -0
  182. package/dist/api/models/user.d.ts +18 -0
  183. package/dist/api/models/user.d.ts.map +1 -0
  184. package/dist/api/models/user.js +16 -0
  185. package/dist/api/models/user.js.map +1 -0
  186. package/dist/api/models/workspace-mutation-settings-validation.d.ts +26 -0
  187. package/dist/api/models/workspace-mutation-settings-validation.d.ts.map +1 -0
  188. package/dist/api/models/workspace-mutation-settings-validation.js +16 -0
  189. package/dist/api/models/workspace-mutation-settings-validation.js.map +1 -0
  190. package/dist/api/models/workspace-mutation-settings.d.ts +60 -0
  191. package/dist/api/models/workspace-mutation-settings.d.ts.map +1 -0
  192. package/dist/api/models/workspace-mutation-settings.js +16 -0
  193. package/dist/api/models/workspace-mutation-settings.js.map +1 -0
  194. package/dist/api/models/workspace-mutation.d.ts +44 -0
  195. package/dist/api/models/workspace-mutation.d.ts.map +1 -0
  196. package/dist/api/models/workspace-mutation.js +16 -0
  197. package/dist/api/models/workspace-mutation.js.map +1 -0
  198. package/dist/api/models/workspace-settings-validation.d.ts +26 -0
  199. package/dist/api/models/workspace-settings-validation.d.ts.map +1 -0
  200. package/dist/api/models/workspace-settings-validation.js +16 -0
  201. package/dist/api/models/workspace-settings-validation.js.map +1 -0
  202. package/dist/api/models/workspace-settings.d.ts +60 -0
  203. package/dist/api/models/workspace-settings.d.ts.map +1 -0
  204. package/dist/api/models/workspace-settings.js +16 -0
  205. package/dist/api/models/workspace-settings.js.map +1 -0
  206. package/dist/api/models/workspace.d.ts +62 -0
  207. package/dist/api/models/workspace.d.ts.map +1 -0
  208. package/dist/api/models/workspace.js +16 -0
  209. package/dist/api/models/workspace.js.map +1 -0
  210. package/dist/cli/handlers/command-handlers.d.ts +29 -0
  211. package/dist/cli/handlers/command-handlers.d.ts.map +1 -0
  212. package/dist/cli/handlers/command-handlers.js +261 -0
  213. package/dist/cli/handlers/command-handlers.js.map +1 -0
  214. package/dist/cli/handlers/engine-handlers.d.ts +15 -0
  215. package/dist/cli/handlers/engine-handlers.d.ts.map +1 -0
  216. package/dist/cli/handlers/engine-handlers.js +174 -0
  217. package/dist/cli/handlers/engine-handlers.js.map +1 -0
  218. package/dist/cli/interactive.d.ts +15 -0
  219. package/dist/cli/interactive.d.ts.map +1 -0
  220. package/dist/cli/interactive.js +234 -0
  221. package/dist/cli/interactive.js.map +1 -0
  222. package/dist/cli.js +31 -740
  223. package/dist/cli.js.map +1 -1
  224. package/dist/commands/export.d.ts +1 -1
  225. package/dist/commands/export.d.ts.map +1 -1
  226. package/dist/commands/export.js +1 -1
  227. package/dist/commands/export.js.map +1 -1
  228. package/dist/commands/import.d.ts.map +1 -1
  229. package/dist/commands/import.js +5 -1
  230. package/dist/commands/import.js.map +1 -1
  231. package/dist/index.d.ts +27 -3
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +63 -20
  234. package/dist/index.js.map +1 -1
  235. package/dist/services/hubdoc-api.d.ts +26 -6
  236. package/dist/services/hubdoc-api.d.ts.map +1 -1
  237. package/dist/services/hubdoc-api.js +194 -43
  238. package/dist/services/hubdoc-api.js.map +1 -1
  239. package/dist/services/hubdoc-export.d.ts +1 -1
  240. package/dist/services/hubdoc-export.d.ts.map +1 -1
  241. package/dist/services/hubdoc-export.js +1 -1
  242. package/dist/services/hubdoc-export.js.map +1 -1
  243. package/dist/services/oauth-token-service.d.ts +27 -14
  244. package/dist/services/oauth-token-service.d.ts.map +1 -1
  245. package/dist/services/oauth-token-service.js +147 -80
  246. package/dist/services/oauth-token-service.js.map +1 -1
  247. package/dist/services/plugin-import.d.ts +2 -2
  248. package/dist/services/plugin-import.d.ts.map +1 -1
  249. package/dist/services/plugin-import.js +2 -2
  250. package/dist/services/plugin-import.js.map +1 -1
  251. package/dist/services/plugin-manager.d.ts +6 -1
  252. package/dist/services/plugin-manager.d.ts.map +1 -1
  253. package/dist/services/plugin-manager.js +28 -2
  254. package/dist/services/plugin-manager.js.map +1 -1
  255. package/dist/types/index.d.ts +11 -37
  256. package/dist/types/index.d.ts.map +1 -1
  257. package/dist/utils/config.d.ts +30 -1
  258. package/dist/utils/config.d.ts.map +1 -1
  259. package/dist/utils/config.js +187 -40
  260. package/dist/utils/config.js.map +1 -1
  261. package/dist/utils/csv.d.ts.map +1 -1
  262. package/dist/utils/csv.js +14 -3
  263. package/dist/utils/csv.js.map +1 -1
  264. package/package.json +23 -6
  265. package/.env.example +0 -23
  266. package/BAUTECH_HubDoc_Import.pptx +0 -0
  267. package/CHANGELOG.md +0 -134
  268. package/DEMO-DOCUMENTATION.html +0 -356
  269. package/DEMO-DOCUMENTATION.md +0 -411
  270. package/EXPORT-DOCUMENTATION.md +0 -333
  271. package/HUBDOC-API-V2.md +0 -248
  272. package/INSTALL.md +0 -175
  273. package/PACKAGING.md +0 -206
  274. package/PLUGINS.md +0 -328
  275. package/PRESENTATION-CLIENT.md +0 -100
  276. package/README-hubdoc-tool.md +0 -369
  277. package/README-npm.md +0 -238
  278. package/TESTING.md +0 -129
  279. package/config-examples/README.md +0 -36
  280. package/config-examples/alfresco-config.example.json +0 -8
  281. package/config-examples/azure-blob-config.example.json +0 -7
  282. package/config-examples/box-config.example.json +0 -5
  283. package/config-examples/nuxeo-config.example.json +0 -8
  284. package/config-examples/opentext-config.example.json +0 -7
  285. package/config-examples/s3-config.example.json +0 -8
  286. package/config-examples/sharepoint-config.example.json +0 -7
  287. package/demo/README.md +0 -199
  288. package/demo/demo-script.md +0 -284
  289. package/demo/generate-sample-csv.js +0 -351
  290. package/demo/mapping_bautech_15k.csv +0 -1
  291. package/demo/simulate-import.js +0 -273
  292. package/dist/commands/export-v2.d.ts +0 -45
  293. package/dist/commands/export-v2.d.ts.map +0 -1
  294. package/dist/commands/export-v2.js +0 -369
  295. package/dist/commands/export-v2.js.map +0 -1
  296. package/dist/commands/import-v2.d.ts +0 -32
  297. package/dist/commands/import-v2.d.ts.map +0 -1
  298. package/dist/commands/import-v2.js +0 -331
  299. package/dist/commands/import-v2.js.map +0 -1
  300. package/dist/services/hubdoc-api-v2.d.ts +0 -150
  301. package/dist/services/hubdoc-api-v2.d.ts.map +0 -1
  302. package/dist/services/hubdoc-api-v2.js +0 -418
  303. package/dist/services/hubdoc-api-v2.js.map +0 -1
  304. package/dist/services/hubdoc-client.d.ts +0 -246
  305. package/dist/services/hubdoc-client.d.ts.map +0 -1
  306. package/dist/services/hubdoc-client.js +0 -714
  307. package/dist/services/hubdoc-client.js.map +0 -1
  308. package/dist/services/hubdoc-export-service.d.ts +0 -90
  309. package/dist/services/hubdoc-export-service.d.ts.map +0 -1
  310. package/dist/services/hubdoc-export-service.js +0 -443
  311. package/dist/services/hubdoc-export-service.js.map +0 -1
  312. package/dist/services/hubdoc-export-v2.d.ts +0 -77
  313. package/dist/services/hubdoc-export-v2.d.ts.map +0 -1
  314. package/dist/services/hubdoc-export-v2.js +0 -329
  315. package/dist/services/hubdoc-export-v2.js.map +0 -1
  316. package/dist/services/hubdoc-import-service.d.ts +0 -64
  317. package/dist/services/hubdoc-import-service.d.ts.map +0 -1
  318. package/dist/services/hubdoc-import-service.js +0 -374
  319. package/dist/services/hubdoc-import-service.js.map +0 -1
  320. package/docs/README.md +0 -65
  321. package/docs/connectors/alfresco.md +0 -211
  322. package/docs/connectors/aws-s3.md +0 -187
  323. package/docs/connectors/azure-blob.md +0 -195
  324. package/docs/connectors/box.md +0 -115
  325. package/docs/connectors/nuxeo.md +0 -214
  326. package/docs/connectors/opentext.md +0 -234
  327. package/docs/connectors/sharepoint.md +0 -207
  328. package/documentation.html +0 -273
  329. package/jest.config.js +0 -15
  330. package/plugins/core/README.md +0 -122
  331. package/plugins/core/TESTING.md +0 -155
  332. package/plugins/core/plugin.json +0 -26
  333. package/plugins/dropbox/plugin.json +0 -12
  334. package/plugins/filesystem/plugin.json +0 -12
  335. package/plugins/googledrive/plugin.json +0 -12
  336. package/plugins/onedrive/TESTING.md +0 -197
  337. package/plugins/onedrive/plugin.json +0 -12
  338. package/scripts/build-windows-installer.ps1 +0 -132
  339. package/scripts/build-windows-installer.sh +0 -106
  340. package/scripts/prepare-publish.js +0 -62
  341. package/scripts/restore-package.js +0 -29
@@ -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
- };
@@ -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
- ```
@@ -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
@@ -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": "dropbox",
3
- "version": "1.0.0",
4
- "description": "Dropbox document source plugin",
5
- "author": "HubDoc Tools",
6
- "main": "index.js",
7
- "hubdocToolVersion": "^1.0.0",
8
- "dependencies": {
9
- "axios": "^1.5.0",
10
- "fs-extra": "^11.1.0"
11
- }
12
- }
@@ -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
- }