@sinoia/hubdoc-tools 1.2.1 → 1.3.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 (62) hide show
  1. package/README.md +219 -412
  2. package/dist/api/api/users-api.d.ts +246 -0
  3. package/dist/api/api/users-api.d.ts.map +1 -0
  4. package/dist/api/api/users-api.js +465 -0
  5. package/dist/api/api/users-api.js.map +1 -0
  6. package/dist/api/api.d.ts +1 -0
  7. package/dist/api/api.d.ts.map +1 -1
  8. package/dist/api/api.js +1 -0
  9. package/dist/api/api.js.map +1 -1
  10. package/dist/api/models/contact-mutation.d.ts +4 -4
  11. package/dist/api/models/contact-mutation.d.ts.map +1 -1
  12. package/dist/api/models/contact.d.ts +8 -8
  13. package/dist/api/models/contact.d.ts.map +1 -1
  14. package/dist/api/models/group-mutation.d.ts +1 -1
  15. package/dist/api/models/group-mutation.d.ts.map +1 -1
  16. package/dist/api/models/group.d.ts +3 -3
  17. package/dist/api/models/group.d.ts.map +1 -1
  18. package/dist/api/models/index.d.ts +1 -0
  19. package/dist/api/models/index.d.ts.map +1 -1
  20. package/dist/api/models/index.js +1 -0
  21. package/dist/api/models/index.js.map +1 -1
  22. package/dist/api/models/permission-actor.d.ts +1 -1
  23. package/dist/api/models/permission-actor.d.ts.map +1 -1
  24. package/dist/api/models/permission-mutation.d.ts +5 -5
  25. package/dist/api/models/permission-mutation.d.ts.map +1 -1
  26. package/dist/api/models/permission.d.ts +7 -7
  27. package/dist/api/models/permission.d.ts.map +1 -1
  28. package/dist/api/models/user-mutation.d.ts +45 -0
  29. package/dist/api/models/user-mutation.d.ts.map +1 -0
  30. package/dist/api/models/user-mutation.js +23 -0
  31. package/dist/api/models/user-mutation.js.map +1 -0
  32. package/dist/api/models/user.d.ts +43 -0
  33. package/dist/api/models/user.d.ts.map +1 -1
  34. package/dist/api/models/user.js +7 -0
  35. package/dist/api/models/user.js.map +1 -1
  36. package/dist/api-client.d.ts +19 -0
  37. package/dist/api-client.d.ts.map +1 -0
  38. package/dist/api-client.js +43 -0
  39. package/dist/api-client.js.map +1 -0
  40. package/dist/commands/import.d.ts +23 -1
  41. package/dist/commands/import.d.ts.map +1 -1
  42. package/dist/commands/import.js +138 -0
  43. package/dist/commands/import.js.map +1 -1
  44. package/dist/index.d.ts +2 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +3 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/services/hubdoc-api.d.ts +3 -1
  49. package/dist/services/hubdoc-api.d.ts.map +1 -1
  50. package/dist/services/hubdoc-api.js +31 -51
  51. package/dist/services/hubdoc-api.js.map +1 -1
  52. package/dist/services/permission-manager.d.ts +42 -0
  53. package/dist/services/permission-manager.d.ts.map +1 -0
  54. package/dist/services/permission-manager.js +187 -0
  55. package/dist/services/permission-manager.js.map +1 -0
  56. package/dist/types/index.d.ts +13 -0
  57. package/dist/types/index.d.ts.map +1 -1
  58. package/dist/utils/csv.d.ts +44 -0
  59. package/dist/utils/csv.d.ts.map +1 -1
  60. package/dist/utils/csv.js +268 -36
  61. package/dist/utils/csv.js.map +1 -1
  62. package/package.json +2 -1
package/dist/index.js CHANGED
@@ -9,13 +9,15 @@
9
9
  * For CLI usage, use the `hubdoc-tool` command instead.
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Configuration = exports.AuthenticationApi = exports.PermissionsApi = exports.BulkUploadsApi = exports.WorkspacesApi = exports.FoldersApi = exports.DocumentsApi = exports.ConcurrentProcessor = exports.OperationLogger = exports.CsvManager = exports.ExportCommand = exports.ImportCommand = exports.ConfigManager = exports.OAuthTokenService = exports.PluginImportService = exports.PluginManager = exports.HubDocApiService = void 0;
12
+ exports.Configuration = exports.AuthenticationApi = exports.PermissionsApi = exports.BulkUploadsApi = exports.WorkspacesApi = exports.FoldersApi = exports.DocumentsApi = exports.ConcurrentProcessor = exports.OperationLogger = exports.CsvManager = exports.ExportCommand = exports.ImportCommand = exports.ConfigManager = exports.OAuthTokenService = exports.PluginImportService = exports.PluginManager = exports.PermissionManager = exports.HubDocApiService = void 0;
13
13
  exports.getVersion = getVersion;
14
14
  // ============================================================================
15
15
  // Core Services
16
16
  // ============================================================================
17
17
  var hubdoc_api_1 = require("./services/hubdoc-api");
18
18
  Object.defineProperty(exports, "HubDocApiService", { enumerable: true, get: function () { return hubdoc_api_1.HubDocApiService; } });
19
+ var permission_manager_1 = require("./services/permission-manager");
20
+ Object.defineProperty(exports, "PermissionManager", { enumerable: true, get: function () { return permission_manager_1.PermissionManager; } });
19
21
  var plugin_manager_1 = require("./services/plugin-manager");
20
22
  Object.defineProperty(exports, "PluginManager", { enumerable: true, get: function () { return plugin_manager_1.PluginManager; } });
21
23
  var plugin_import_1 = require("./services/plugin-import");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAqFH,gCAOC;AA1FD,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,oDAAyD;AAAhD,8GAAA,gBAAgB,OAAA;AACzB,4DAA0D;AAAjD,+GAAA,aAAa,OAAA;AACtB,0DAA+D;AAAtD,oHAAA,mBAAmB,OAAA;AAC5B,sEAAmE;AAA1D,wHAAA,iBAAiB,OAAA;AAC1B,yCAA+C;AAAtC,uGAAA,aAAa,OAAA;AAEtB,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,4CAAkD;AAAzC,uGAAA,aAAa,OAAA;AACtB,4CAAkD;AAAzC,uGAAA,aAAa,OAAA;AAEtB,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,mCAAyC;AAAhC,iGAAA,UAAU,OAAA;AACnB,6DAA2D;AAAlD,mHAAA,eAAe,OAAA;AACxB,qEAAmE;AAA1D,2HAAA,mBAAmB,OAAA;AAsC5B,+EAA+E;AAC/E,sCAAsC;AACtC,+EAA+E;AAE/E,iCAOmB;AANjB,mGAAA,YAAY,OAAA;AACZ,iGAAA,UAAU,OAAA;AACV,oGAAA,aAAa,OAAA;AACb,qGAAA,cAAc,OAAA;AACd,qGAAA,cAAc,OAAA;AACd,wGAAA,iBAAiB,OAAA;AAGnB,qDAAoD;AAA3C,8GAAA,aAAa,OAAA;AAEtB,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/C,OAAO,WAAW,CAAC,OAAO,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAuFH,gCAOC;AA5FD,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,oDAAyD;AAAhD,8GAAA,gBAAgB,OAAA;AACzB,oEAAkE;AAAzD,uHAAA,iBAAiB,OAAA;AAC1B,4DAA0D;AAAjD,+GAAA,aAAa,OAAA;AACtB,0DAA+D;AAAtD,oHAAA,mBAAmB,OAAA;AAC5B,sEAAmE;AAA1D,wHAAA,iBAAiB,OAAA;AAC1B,yCAA+C;AAAtC,uGAAA,aAAa,OAAA;AAEtB,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,4CAAkD;AAAzC,uGAAA,aAAa,OAAA;AACtB,4CAAkD;AAAzC,uGAAA,aAAa,OAAA;AAEtB,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,mCAAyC;AAAhC,iGAAA,UAAU,OAAA;AACnB,6DAA2D;AAAlD,mHAAA,eAAe,OAAA;AACxB,qEAAmE;AAA1D,2HAAA,mBAAmB,OAAA;AAuC5B,+EAA+E;AAC/E,sCAAsC;AACtC,+EAA+E;AAE/E,iCAOmB;AANjB,mGAAA,YAAY,OAAA;AACZ,iGAAA,UAAU,OAAA;AACV,oGAAA,aAAa,OAAA;AACb,qGAAA,cAAc,OAAA;AACd,qGAAA,cAAc,OAAA;AACd,wGAAA,iBAAiB,OAAA;AAGnB,qDAAoD;AAA3C,8GAAA,aAAa,OAAA;AAEtB,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/C,OAAO,WAAW,CAAC,OAAO,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -9,6 +9,8 @@ export declare class HubDocApiService {
9
9
  private bulkUploadsApi;
10
10
  private permissionsApi;
11
11
  private groupsApi;
12
+ private usersApi;
13
+ private permissionManager;
12
14
  private folderCache;
13
15
  constructor(config: HubDocConfig);
14
16
  testConnection(): Promise<boolean>;
@@ -31,8 +33,8 @@ export declare class HubDocApiService {
31
33
  createBulkUpload(totalFiles: number, folderId?: string, workspaceId?: string, autoClassify?: boolean, source?: string): Promise<HubDocBulkUpload>;
32
34
  getBulkUploadStatus(bulkUploadId: string): Promise<HubDocBulkUpload>;
33
35
  uploadDocument(filePath: string, folderId: string | undefined, mapping: DocumentMapping, bulkUploadId?: string, workspaceId?: string): Promise<HubDocDocument>;
34
- private setDocumentPermissions;
35
36
  importDocument(mapping: DocumentMapping, bulkUploadId?: string): Promise<ImportResult>;
36
37
  getGroups(): Promise<any[]>;
38
+ getUsers(): Promise<any[]>;
37
39
  }
38
40
  //# sourceMappingURL=hubdoc-api.d.ts.map
@@ -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;AAElB,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;IAI7B,OAAO,CAAC,WAAW,CAAwC;gBAE/C,MAAM,EAAE,YAAY;IAoC1B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAUlC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IASrF,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;IAYxD,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,GACnB,OAAO,CAAC,cAAc,CAAC;YAuEZ,sBAAsB;IAyB9B,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA+DtF,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;CAQlC"}
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;AAIlB,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;IAI7C,OAAO,CAAC,WAAW,CAAwC;gBAE/C,MAAM,EAAE,YAAY;IAqB1B,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,GACnB,OAAO,CAAC,cAAc,CAAC;IA6EpB,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA+DtF,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAS3B,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;CAQjC"}
@@ -5,45 +5,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.HubDocApiService = void 0;
7
7
  const api_1 = require("../api/api");
8
- const configuration_1 = require("../api/configuration");
9
- const axios_1 = __importDefault(require("axios"));
10
8
  const chalk_1 = __importDefault(require("chalk"));
11
9
  const form_data_1 = __importDefault(require("form-data"));
12
10
  const fs_extra_1 = __importDefault(require("fs-extra"));
13
11
  const path_1 = __importDefault(require("path"));
12
+ const permission_manager_1 = require("./permission-manager");
13
+ const api_client_1 = require("../api-client");
14
14
  class HubDocApiService {
15
15
  constructor(config) {
16
16
  // Cache for folders to avoid duplicates during batch imports
17
17
  // Key format: "workspace_id:parent_id:folder_name" or "global:parent_id:folder_name"
18
18
  this.folderCache = new Map();
19
19
  this.config = config;
20
- const headers = {
21
- 'Accept': 'application/json'
22
- };
23
- // Set authentication header with Bearer token for direct axios client
24
- if (config.token) {
25
- headers['Authorization'] = `Bearer ${config.token}`;
26
- }
27
- this.client = axios_1.default.create({
28
- baseURL: config.apiUrl,
29
- headers
30
- });
31
- // Initialize generated API clients with accessToken for OAuth2
32
- const apiConfig = new configuration_1.Configuration({
33
- basePath: config.apiUrl,
34
- accessToken: config.token, // Use accessToken for generated clients
35
- baseOptions: {
36
- headers: {
37
- 'Accept': 'application/json'
38
- }
39
- }
40
- });
20
+ // Create API configuration
21
+ const { configuration: apiConfig, axiosInstance } = (0, api_client_1.createApiConfiguration)(config.token, config.apiUrl);
22
+ this.client = axiosInstance;
41
23
  this.workspacesApi = new api_1.WorkspacesApi(apiConfig, config.apiUrl, this.client);
42
24
  this.foldersApi = new api_1.FoldersApi(apiConfig, config.apiUrl, this.client);
43
25
  this.documentsApi = new api_1.DocumentsApi(apiConfig, config.apiUrl, this.client);
44
26
  this.bulkUploadsApi = new api_1.BulkUploadsApi(apiConfig, config.apiUrl, this.client);
45
27
  this.permissionsApi = new api_1.PermissionsApi(apiConfig, config.apiUrl, this.client);
46
28
  this.groupsApi = new api_1.GroupsApi(apiConfig, config.apiUrl, this.client);
29
+ this.usersApi = new api_1.UsersApi(apiConfig, config.apiUrl, this.client);
30
+ this.permissionManager = new permission_manager_1.PermissionManager(apiConfig, this.client);
47
31
  }
48
32
  async testConnection() {
49
33
  try {
@@ -57,7 +41,12 @@ class HubDocApiService {
57
41
  }
58
42
  async getFolders(workspaceId, documentsFolderId) {
59
43
  try {
60
- const response = await this.foldersApi.apiV1DocumentsFoldersGet(workspaceId, documentsFolderId);
44
+ // Fetch all folders with high per_page to avoid pagination issues
45
+ // This ensures we find existing folders instead of creating duplicates
46
+ const response = await this.foldersApi.apiV1DocumentsFoldersGet(workspaceId, documentsFolderId, undefined, // sort
47
+ undefined, // direction
48
+ 1000 // perPage - high limit to get all folders
49
+ );
61
50
  return response.data;
62
51
  }
63
52
  catch (error) {
@@ -125,12 +114,12 @@ class HubDocApiService {
125
114
  // Fetch folders filtered by workspace to avoid duplicates
126
115
  const folders = await this.getFolders(workspaceId);
127
116
  // Try to find existing folder by exact name match and parent
128
- let folder = folders.find(f => f.name === normalizedName &&
117
+ let folder = folders.find((f) => f.name === normalizedName &&
129
118
  (!workspaceId || f.workspace_id === workspaceId) &&
130
119
  (parentFolderId ? f.documents_folder_id === parentFolderId : !f.documents_folder_id));
131
120
  // If not found, try case-insensitive match
132
121
  if (!folder) {
133
- folder = folders.find(f => f.name?.trim().toLowerCase() === normalizedName.toLowerCase() &&
122
+ folder = folders.find((f) => f.name?.trim().toLowerCase() === normalizedName.toLowerCase() &&
134
123
  (!workspaceId || f.workspace_id === workspaceId) &&
135
124
  (parentFolderId ? f.documents_folder_id === parentFolderId : !f.documents_folder_id));
136
125
  }
@@ -160,11 +149,13 @@ class HubDocApiService {
160
149
  async populateFolderCache(workspaceId) {
161
150
  console.log(chalk_1.default.gray('📥 Pre-loading folder cache...'));
162
151
  const folders = await this.getFolders(workspaceId);
163
- folders.forEach(folder => {
152
+ folders.forEach((folder) => {
164
153
  const cacheKey = `${folder.workspace_id || 'global'}:${folder.documents_folder_id || 'root'}:${folder.name.toLowerCase()}`;
165
154
  this.folderCache.set(cacheKey, folder);
166
155
  });
167
156
  console.log(chalk_1.default.gray(`📦 Cached ${folders.length} existing folders`));
157
+ // Pré-charger aussi le cache des permissions
158
+ await this.permissionManager.preloadCache();
168
159
  }
169
160
  async getWorkspaces() {
170
161
  try {
@@ -253,11 +244,9 @@ class HubDocApiService {
253
244
  if (mapping.autoClassify !== undefined) {
254
245
  formData.append('auto_classify', String(mapping.autoClassify));
255
246
  }
256
- // Add metadata if provided
247
+ // Add metadata if provided (stringify entire object, backend will parse)
257
248
  if (mapping.metadata) {
258
- Object.entries(mapping.metadata).forEach(([key, value]) => {
259
- formData.append(`metadata_user[${key}]`, String(value));
260
- });
249
+ formData.append('metadata_user', JSON.stringify(mapping.metadata));
261
250
  }
262
251
  try {
263
252
  // Use direct axios client for multipart/form-data uploads
@@ -271,10 +260,10 @@ class HubDocApiService {
271
260
  // Apply permissions if provided
272
261
  if (mapping.permissions) {
273
262
  if (mapping.permissions.read) {
274
- await this.setDocumentPermissions(document.id, mapping.permissions.read, 'read');
263
+ await this.permissionManager.assignDocumentPermissions(document.id, mapping.permissions.read, 'read');
275
264
  }
276
265
  if (mapping.permissions.write) {
277
- await this.setDocumentPermissions(document.id, mapping.permissions.write, 'write');
266
+ await this.permissionManager.assignDocumentPermissions(document.id, mapping.permissions.write, 'write');
278
267
  }
279
268
  }
280
269
  return document;
@@ -283,24 +272,6 @@ class HubDocApiService {
283
272
  throw new Error(`Failed to upload document "${fileName}": ${error.message}`);
284
273
  }
285
274
  }
286
- async setDocumentPermissions(documentId, permissions, permissionType) {
287
- try {
288
- const permissionData = {
289
- permission_type: permissionType
290
- };
291
- if (permissions.users && permissions.users.length > 0) {
292
- permissionData.user_ids = permissions.users;
293
- }
294
- if (permissions.groups && permissions.groups.length > 0) {
295
- permissionData.group_ids = permissions.groups;
296
- }
297
- await this.client.post(`/api/v1/documents/${documentId}/permissions`, permissionData);
298
- console.log(chalk_1.default.blue(` 🔒 Applied ${permissionType} permissions`));
299
- }
300
- catch (error) {
301
- console.warn(chalk_1.default.yellow(`Warning: Failed to set ${permissionType} permissions for document ${documentId}: ${error.message}`));
302
- }
303
- }
304
275
  async importDocument(mapping, bulkUploadId) {
305
276
  const result = {
306
277
  success: false,
@@ -360,6 +331,15 @@ class HubDocApiService {
360
331
  throw new Error(`Failed to fetch groups: ${error.message}`);
361
332
  }
362
333
  }
334
+ async getUsers() {
335
+ try {
336
+ const response = await this.usersApi.apiV1UsersGet();
337
+ return response.data;
338
+ }
339
+ catch (error) {
340
+ throw new Error(`Failed to fetch users: ${error.message}`);
341
+ }
342
+ }
363
343
  }
364
344
  exports.HubDocApiService = HubDocApiService;
365
345
  //# sourceMappingURL=hubdoc-api.js.map
@@ -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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"}
@@ -0,0 +1,42 @@
1
+ import { Configuration } from '../api/configuration';
2
+ import { AxiosInstance } from 'axios';
3
+ export interface PermissionAssignment {
4
+ users?: string[];
5
+ groups?: string[];
6
+ }
7
+ export declare class PermissionManager {
8
+ private usersApi;
9
+ private groupsApi;
10
+ private permissionsApi;
11
+ private userCache;
12
+ private groupCache;
13
+ constructor(config: Configuration, client: AxiosInstance);
14
+ /**
15
+ * Pré-charge les utilisateurs et groupes pour optimiser les résolutions
16
+ */
17
+ preloadCache(): Promise<void>;
18
+ /**
19
+ * Résout un email vers un ID d'utilisateur
20
+ */
21
+ resolveUserEmail(email: string): Promise<string | null>;
22
+ /**
23
+ * Résout un nom de groupe vers un ID de groupe
24
+ */
25
+ resolveGroupName(groupName: string): Promise<string | null>;
26
+ /**
27
+ * Résout les permissions (emails et noms de groupes) vers des IDs
28
+ */
29
+ resolvePermissions(permissions: PermissionAssignment): Promise<{
30
+ userIds: string[];
31
+ groupIds: string[];
32
+ }>;
33
+ /**
34
+ * Assigne les permissions à un document
35
+ */
36
+ assignDocumentPermissions(documentId: string, permissions: PermissionAssignment, level: 'read' | 'write' | 'admin'): Promise<void>;
37
+ /**
38
+ * Clear les caches
39
+ */
40
+ clearCache(): void;
41
+ }
42
+ //# sourceMappingURL=permission-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-manager.d.ts","sourceRoot":"","sources":["../../src/services/permission-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,cAAc,CAAiB;IAGvC,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,UAAU,CAAiC;gBAEvC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa;IAMxD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BnC;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkC7D;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAmCjE;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC;QACnE,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IA2BF;;OAEG;IACG,yBAAyB,CAC7B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,oBAAoB,EACjC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAChC,OAAO,CAAC,IAAI,CAAC;IAuDhB;;OAEG;IACH,UAAU,IAAI,IAAI;CAKnB"}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PermissionManager = void 0;
7
+ const api_1 = require("../api/api");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ class PermissionManager {
10
+ constructor(config, client) {
11
+ // Cache pour éviter les requêtes répétées
12
+ this.userCache = new Map();
13
+ this.groupCache = new Map();
14
+ this.usersApi = new api_1.UsersApi(config, config.basePath, client);
15
+ this.groupsApi = new api_1.GroupsApi(config, config.basePath, client);
16
+ this.permissionsApi = new api_1.PermissionsApi(config, config.basePath, client);
17
+ }
18
+ /**
19
+ * Pré-charge les utilisateurs et groupes pour optimiser les résolutions
20
+ */
21
+ async preloadCache() {
22
+ console.log(chalk_1.default.gray('📥 Pre-loading users and groups cache...'));
23
+ try {
24
+ // Charger tous les utilisateurs
25
+ const usersResponse = await this.usersApi.apiV1UsersGet(undefined, undefined, 100);
26
+ const users = usersResponse.data;
27
+ users.forEach(user => {
28
+ if (user.email_address) {
29
+ this.userCache.set(user.email_address.toLowerCase(), user);
30
+ }
31
+ });
32
+ // Charger tous les groupes
33
+ const groupsResponse = await this.groupsApi.apiV1GroupsGet(undefined, undefined, 100);
34
+ const groups = groupsResponse.data;
35
+ groups.forEach(group => {
36
+ if (group.name) {
37
+ this.groupCache.set(group.name.toLowerCase(), group);
38
+ }
39
+ });
40
+ console.log(chalk_1.default.gray(`📦 Cached ${users.length} users and ${groups.length} groups`));
41
+ }
42
+ catch (error) {
43
+ console.warn(chalk_1.default.yellow(`⚠️ Warning: Failed to preload cache: ${error.message}`));
44
+ }
45
+ }
46
+ /**
47
+ * Résout un email vers un ID d'utilisateur
48
+ */
49
+ async resolveUserEmail(email) {
50
+ const normalizedEmail = email.toLowerCase().trim();
51
+ // Vérifier le cache d'abord
52
+ const cachedUser = this.userCache.get(normalizedEmail);
53
+ if (cachedUser) {
54
+ return cachedUser.id;
55
+ }
56
+ // Rechercher via l'API
57
+ try {
58
+ const response = await this.usersApi.apiV1UsersGet(undefined, undefined, 1, 1, { 'q[email_address_eq]': normalizedEmail });
59
+ const users = response.data;
60
+ if (users.length > 0) {
61
+ const user = users[0];
62
+ this.userCache.set(normalizedEmail, user);
63
+ return user.id;
64
+ }
65
+ console.warn(chalk_1.default.yellow(`⚠️ User not found: ${email}`));
66
+ return null;
67
+ }
68
+ catch (error) {
69
+ console.warn(chalk_1.default.yellow(`⚠️ Failed to resolve user email ${email}: ${error.message}`));
70
+ return null;
71
+ }
72
+ }
73
+ /**
74
+ * Résout un nom de groupe vers un ID de groupe
75
+ */
76
+ async resolveGroupName(groupName) {
77
+ const trimmedName = groupName.trim();
78
+ const normalizedName = trimmedName.toLowerCase();
79
+ // Vérifier le cache d'abord
80
+ const cachedGroup = this.groupCache.get(normalizedName);
81
+ if (cachedGroup) {
82
+ return cachedGroup.id;
83
+ }
84
+ // Rechercher via l'API avec le nom exact (case-sensitive)
85
+ try {
86
+ const response = await this.groupsApi.apiV1GroupsGet(undefined, undefined, 1, 1, { 'q[name_eq]': trimmedName });
87
+ const groups = response.data;
88
+ if (groups.length > 0) {
89
+ const group = groups[0];
90
+ this.groupCache.set(normalizedName, group);
91
+ return group.id;
92
+ }
93
+ console.warn(chalk_1.default.yellow(`⚠️ Group not found: ${groupName}`));
94
+ return null;
95
+ }
96
+ catch (error) {
97
+ console.warn(chalk_1.default.yellow(`⚠️ Failed to resolve group name ${groupName}: ${error.message}`));
98
+ return null;
99
+ }
100
+ }
101
+ /**
102
+ * Résout les permissions (emails et noms de groupes) vers des IDs
103
+ */
104
+ async resolvePermissions(permissions) {
105
+ const userIds = [];
106
+ const groupIds = [];
107
+ // Résoudre les utilisateurs (emails)
108
+ if (permissions.users && permissions.users.length > 0) {
109
+ for (const email of permissions.users) {
110
+ const userId = await this.resolveUserEmail(email);
111
+ if (userId) {
112
+ userIds.push(userId);
113
+ }
114
+ }
115
+ }
116
+ // Résoudre les groupes (noms)
117
+ if (permissions.groups && permissions.groups.length > 0) {
118
+ for (const groupName of permissions.groups) {
119
+ const groupId = await this.resolveGroupName(groupName);
120
+ if (groupId) {
121
+ groupIds.push(groupId);
122
+ }
123
+ }
124
+ }
125
+ return { userIds, groupIds };
126
+ }
127
+ /**
128
+ * Assigne les permissions à un document
129
+ */
130
+ async assignDocumentPermissions(documentId, permissions, level) {
131
+ try {
132
+ // Résoudre les emails et noms de groupes vers des IDs
133
+ const { userIds, groupIds } = await this.resolvePermissions(permissions);
134
+ if (userIds.length === 0 && groupIds.length === 0) {
135
+ console.warn(chalk_1.default.yellow(`⚠️ No valid permissions to assign for document ${documentId}`));
136
+ return;
137
+ }
138
+ // Créer les permissions pour chaque utilisateur
139
+ for (const userId of userIds) {
140
+ try {
141
+ await this.permissionsApi.apiV1PermissionsPost(api_1.ApiV1PermissionsPostContentTypeEnum.ApplicationJson, {
142
+ actor_id: userId,
143
+ actor_type: 'User',
144
+ permissible_id: documentId,
145
+ permissible_type: 'Documents::File',
146
+ level: level
147
+ });
148
+ }
149
+ catch (error) {
150
+ console.warn(chalk_1.default.yellow(`⚠️ Failed to assign permission for user ${userId}: ${error.message}`));
151
+ }
152
+ }
153
+ // Créer les permissions pour chaque groupe
154
+ for (const groupId of groupIds) {
155
+ try {
156
+ await this.permissionsApi.apiV1PermissionsPost(api_1.ApiV1PermissionsPostContentTypeEnum.ApplicationJson, {
157
+ actor_id: groupId,
158
+ actor_type: 'Group',
159
+ permissible_id: documentId,
160
+ permissible_type: 'Documents::File',
161
+ level: level
162
+ });
163
+ }
164
+ catch (error) {
165
+ console.warn(chalk_1.default.yellow(`⚠️ Failed to assign permission for group ${groupId}: ${error.message}`));
166
+ }
167
+ }
168
+ const permissionCount = userIds.length + groupIds.length;
169
+ if (permissionCount > 0) {
170
+ console.log(chalk_1.default.blue(` 🔒 Assigned ${level} permissions to ${permissionCount} actor(s)`));
171
+ }
172
+ }
173
+ catch (error) {
174
+ console.warn(chalk_1.default.yellow(`⚠️ Failed to assign permissions: ${error.message}`));
175
+ }
176
+ }
177
+ /**
178
+ * Clear les caches
179
+ */
180
+ clearCache() {
181
+ this.userCache.clear();
182
+ this.groupCache.clear();
183
+ console.log(chalk_1.default.gray('🗑️ Permission cache cleared'));
184
+ }
185
+ }
186
+ exports.PermissionManager = PermissionManager;
187
+ //# sourceMappingURL=permission-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-manager.js","sourceRoot":"","sources":["../../src/services/permission-manager.ts"],"names":[],"mappings":"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"}
@@ -49,4 +49,17 @@ export interface ImportResult {
49
49
  error?: string;
50
50
  filePath: string;
51
51
  }
52
+ export interface ImportProgressCallbacks {
53
+ onStart?: (totalFiles: number, bulkUploadId: string) => void;
54
+ onFileStart?: (mapping: DocumentMapping, index: number, total: number) => void;
55
+ onFileComplete?: (mapping: DocumentMapping, result: ImportResult, index: number, total: number) => void;
56
+ onFileError?: (mapping: DocumentMapping, error: Error, index: number, total: number) => void;
57
+ onProgress?: (completed: number, total: number, successCount: number, errorCount: number) => void;
58
+ onComplete?: (results: ImportResult[], errors: Array<{
59
+ item: DocumentMapping;
60
+ index: number;
61
+ error: Error;
62
+ }>) => void;
63
+ onStatusUpdate?: (status: string) => void;
64
+ }
52
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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,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"}
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,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"}
@@ -3,8 +3,36 @@ export declare class CsvManager {
3
3
  generateMappingFile(sourceDir: string, outputPath?: string): Promise<void>;
4
4
  readMappingFile(filePath: string): Promise<DocumentMapping[]>;
5
5
  private getAllFiles;
6
+ /**
7
+ * Parse metadata from simplified format: key: value, parent.child: value
8
+ * Supports both new format and legacy JSON format for backward compatibility
9
+ */
6
10
  private parseMetadata;
11
+ /**
12
+ * Split metadata string by comma, respecting quotes
13
+ */
14
+ private splitMetadataString;
15
+ /**
16
+ * Parse a metadata value (string, number, boolean, null)
17
+ */
18
+ private parseMetadataValue;
19
+ /**
20
+ * Set nested value in object using dot notation (e.g., "parent.child.key")
21
+ */
22
+ private setNestedValue;
7
23
  private parseBoolean;
24
+ /**
25
+ * Parse permissions in new format:
26
+ * users:r:email1@ex.com,email2@ex.com | users:w:admin@ex.com | groups:Group Name | groups:w:Admin Group
27
+ *
28
+ * Format rules:
29
+ * - users/groups without :r or :w → READ by default
30
+ * - users:r:emails → READ
31
+ * - users:w:emails → WRITE
32
+ * - groups:Group Name → READ (supports spaces in names)
33
+ * - groups:w:Admin Group → WRITE (supports spaces in names)
34
+ * - Separator: | (pipe)
35
+ */
8
36
  private parsePermissions;
9
37
  /**
10
38
  * Generic method to convert array to CSV string
@@ -36,6 +64,22 @@ export declare class CsvManager {
36
64
  /**
37
65
  * Serialize permissions back to string format
38
66
  */
67
+ /**
68
+ * Serialize permissions in new format:
69
+ * users:r:email1@ex.com,email2@ex.com | users:w:admin@ex.com | groups:Group Name | groups:w:Admin Group
70
+ */
39
71
  private serializePermissions;
72
+ /**
73
+ * Serialize metadata to simplified format: key: value, parent.child: value
74
+ */
75
+ private serializeMetadata;
76
+ /**
77
+ * Flatten nested metadata object into key: value pairs
78
+ */
79
+ private flattenMetadata;
80
+ /**
81
+ * Serialize a single metadata value
82
+ */
83
+ private serializeMetadataValue;
40
84
  }
41
85
  //# sourceMappingURL=csv.d.ts.map
@@ -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;IA2CzF,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;YA8DrD,WAAW;IAUzB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAsBxB;;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,GACpB,OAAO,CAAC,IAAI,CAAC;IAwBhB;;OAEG;IACG,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjG;;OAEG;YACW,mBAAmB;IAkCjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAa7B"}
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;IA6CzF,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;YA2DrD,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,GACpB,OAAO,CAAC,IAAI,CAAC;IAwBhB;;OAEG;IACG,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjG;;OAEG;YACW,mBAAmB;IAkCjC;;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"}