@venturialstd/file-system 0.0.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 (138) hide show
  1. package/README.md +127 -0
  2. package/dist/constants/file-system-entity.constant.d.ts +13 -0
  3. package/dist/constants/file-system-entity.constant.d.ts.map +1 -0
  4. package/dist/constants/file-system-entity.constant.js +16 -0
  5. package/dist/constants/file-system-entity.constant.js.map +1 -0
  6. package/dist/constants/file-system-error.constant.d.ts +25 -0
  7. package/dist/constants/file-system-error.constant.d.ts.map +1 -0
  8. package/dist/constants/file-system-error.constant.js +29 -0
  9. package/dist/constants/file-system-error.constant.js.map +1 -0
  10. package/dist/constants/file-system-message.constant.d.ts +16 -0
  11. package/dist/constants/file-system-message.constant.d.ts.map +1 -0
  12. package/dist/constants/file-system-message.constant.js +19 -0
  13. package/dist/constants/file-system-message.constant.js.map +1 -0
  14. package/dist/constants/file-system-provider.constant.d.ts +12 -0
  15. package/dist/constants/file-system-provider.constant.d.ts.map +1 -0
  16. package/dist/constants/file-system-provider.constant.js +16 -0
  17. package/dist/constants/file-system-provider.constant.js.map +1 -0
  18. package/dist/constants/file-system-tree.constant.d.ts +8 -0
  19. package/dist/constants/file-system-tree.constant.d.ts.map +1 -0
  20. package/dist/constants/file-system-tree.constant.js +12 -0
  21. package/dist/constants/file-system-tree.constant.js.map +1 -0
  22. package/dist/constants/file-system.constant.d.ts +13 -0
  23. package/dist/constants/file-system.constant.d.ts.map +1 -0
  24. package/dist/constants/file-system.constant.js +31 -0
  25. package/dist/constants/file-system.constant.js.map +1 -0
  26. package/dist/constants/file-system.settings.constants.d.ts +8 -0
  27. package/dist/constants/file-system.settings.constants.d.ts.map +1 -0
  28. package/dist/constants/file-system.settings.constants.js +11 -0
  29. package/dist/constants/file-system.settings.constants.js.map +1 -0
  30. package/dist/constants/index.d.ts +2 -0
  31. package/dist/constants/index.d.ts.map +1 -0
  32. package/dist/constants/index.js +20 -0
  33. package/dist/constants/index.js.map +1 -0
  34. package/dist/entities/file-system-file.entity.d.ts +22 -0
  35. package/dist/entities/file-system-file.entity.d.ts.map +1 -0
  36. package/dist/entities/file-system-file.entity.js +108 -0
  37. package/dist/entities/file-system-file.entity.js.map +1 -0
  38. package/dist/entities/file-system-folder.entity.d.ts +17 -0
  39. package/dist/entities/file-system-folder.entity.d.ts.map +1 -0
  40. package/dist/entities/file-system-folder.entity.js +92 -0
  41. package/dist/entities/file-system-folder.entity.js.map +1 -0
  42. package/dist/errors/file-system-not-found.error.d.ts +6 -0
  43. package/dist/errors/file-system-not-found.error.d.ts.map +1 -0
  44. package/dist/errors/file-system-not-found.error.js +17 -0
  45. package/dist/errors/file-system-not-found.error.js.map +1 -0
  46. package/dist/errors/file-system-not-supported.error.d.ts +6 -0
  47. package/dist/errors/file-system-not-supported.error.d.ts.map +1 -0
  48. package/dist/errors/file-system-not-supported.error.js +17 -0
  49. package/dist/errors/file-system-not-supported.error.js.map +1 -0
  50. package/dist/errors/file-system-permission-denied.error.d.ts +6 -0
  51. package/dist/errors/file-system-permission-denied.error.d.ts.map +1 -0
  52. package/dist/errors/file-system-permission-denied.error.js +17 -0
  53. package/dist/errors/file-system-permission-denied.error.js.map +1 -0
  54. package/dist/errors/file-system-rate-limit.error.d.ts +6 -0
  55. package/dist/errors/file-system-rate-limit.error.d.ts.map +1 -0
  56. package/dist/errors/file-system-rate-limit.error.js +17 -0
  57. package/dist/errors/file-system-rate-limit.error.js.map +1 -0
  58. package/dist/errors/file-system.error.d.ts +10 -0
  59. package/dist/errors/file-system.error.d.ts.map +1 -0
  60. package/dist/errors/file-system.error.js +19 -0
  61. package/dist/errors/file-system.error.js.map +1 -0
  62. package/dist/errors/index.d.ts +6 -0
  63. package/dist/errors/index.d.ts.map +1 -0
  64. package/dist/errors/index.js +14 -0
  65. package/dist/errors/index.js.map +1 -0
  66. package/dist/file-system.module.d.ts +10 -0
  67. package/dist/file-system.module.d.ts.map +1 -0
  68. package/dist/file-system.module.js +68 -0
  69. package/dist/file-system.module.js.map +1 -0
  70. package/dist/index.d.ts +11 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +30 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/interfaces/backblaze-file-system-provider-options.interface.d.ts +9 -0
  75. package/dist/interfaces/backblaze-file-system-provider-options.interface.d.ts.map +1 -0
  76. package/dist/interfaces/backblaze-file-system-provider-options.interface.js +3 -0
  77. package/dist/interfaces/backblaze-file-system-provider-options.interface.js.map +1 -0
  78. package/dist/interfaces/file-system-backblaze-config.interface.d.ts +11 -0
  79. package/dist/interfaces/file-system-backblaze-config.interface.d.ts.map +1 -0
  80. package/dist/interfaces/file-system-backblaze-config.interface.js +3 -0
  81. package/dist/interfaces/file-system-backblaze-config.interface.js.map +1 -0
  82. package/dist/interfaces/file-system-module-options.interface.d.ts +9 -0
  83. package/dist/interfaces/file-system-module-options.interface.d.ts.map +1 -0
  84. package/dist/interfaces/file-system-module-options.interface.js +3 -0
  85. package/dist/interfaces/file-system-module-options.interface.js.map +1 -0
  86. package/dist/interfaces/file-system-provider.interface.d.ts +67 -0
  87. package/dist/interfaces/file-system-provider.interface.d.ts.map +1 -0
  88. package/dist/interfaces/file-system-provider.interface.js +3 -0
  89. package/dist/interfaces/file-system-provider.interface.js.map +1 -0
  90. package/dist/interfaces/file-system-tree-node.interface.d.ts +16 -0
  91. package/dist/interfaces/file-system-tree-node.interface.d.ts.map +1 -0
  92. package/dist/interfaces/file-system-tree-node.interface.js +3 -0
  93. package/dist/interfaces/file-system-tree-node.interface.js.map +1 -0
  94. package/dist/interfaces/index.d.ts +6 -0
  95. package/dist/interfaces/index.d.ts.map +1 -0
  96. package/dist/interfaces/index.js +3 -0
  97. package/dist/interfaces/index.js.map +1 -0
  98. package/dist/providers/backblaze-file-system.provider.d.ts +31 -0
  99. package/dist/providers/backblaze-file-system.provider.d.ts.map +1 -0
  100. package/dist/providers/backblaze-file-system.provider.js +160 -0
  101. package/dist/providers/backblaze-file-system.provider.js.map +1 -0
  102. package/dist/services/file-system.service.d.ts +52 -0
  103. package/dist/services/file-system.service.d.ts.map +1 -0
  104. package/dist/services/file-system.service.js +268 -0
  105. package/dist/services/file-system.service.js.map +1 -0
  106. package/dist/settings/file-system.settings.d.ts +5 -0
  107. package/dist/settings/file-system.settings.d.ts.map +1 -0
  108. package/dist/settings/file-system.settings.js +36 -0
  109. package/dist/settings/file-system.settings.js.map +1 -0
  110. package/dist/types/file-metadata.type.d.ts +12 -0
  111. package/dist/types/file-metadata.type.d.ts.map +1 -0
  112. package/dist/types/file-metadata.type.js +3 -0
  113. package/dist/types/file-metadata.type.js.map +1 -0
  114. package/dist/types/index.d.ts +7 -0
  115. package/dist/types/index.d.ts.map +1 -0
  116. package/dist/types/index.js +3 -0
  117. package/dist/types/index.js.map +1 -0
  118. package/dist/types/list-options.type.d.ts +10 -0
  119. package/dist/types/list-options.type.d.ts.map +1 -0
  120. package/dist/types/list-options.type.js +3 -0
  121. package/dist/types/list-options.type.js.map +1 -0
  122. package/dist/types/list-result-entry.type.d.ts +9 -0
  123. package/dist/types/list-result-entry.type.d.ts.map +1 -0
  124. package/dist/types/list-result-entry.type.js +3 -0
  125. package/dist/types/list-result-entry.type.js.map +1 -0
  126. package/dist/types/list-result.type.d.ts +10 -0
  127. package/dist/types/list-result.type.d.ts.map +1 -0
  128. package/dist/types/list-result.type.js +3 -0
  129. package/dist/types/list-result.type.js.map +1 -0
  130. package/dist/types/signed-url-result.type.d.ts +9 -0
  131. package/dist/types/signed-url-result.type.d.ts.map +1 -0
  132. package/dist/types/signed-url-result.type.js +3 -0
  133. package/dist/types/signed-url-result.type.js.map +1 -0
  134. package/dist/types/upload-options.type.d.ts +12 -0
  135. package/dist/types/upload-options.type.d.ts.map +1 -0
  136. package/dist/types/upload-options.type.js +3 -0
  137. package/dist/types/upload-options.type.js.map +1 -0
  138. package/package.json +35 -0
package/README.md ADDED
@@ -0,0 +1,127 @@
1
+ # @venturialstd/file-system
2
+
3
+ Provider-agnostic file system module for Venturial backend. Uses **Backblaze B2** as the first storage provider and is designed for future providers (e.g. AWS S3) without changing consumer code.
4
+
5
+ ## Features
6
+
7
+ - **Unified API**: Upload, download, delete, list, exists/head, and optional signed URLs
8
+ - **File and folder entities**: TypeORM entities with parent-child relationships; tree persisted in DB
9
+ - **Tree operations**: Create/read/update/delete folders and files; get tree or subtree; list children
10
+ - **Configuration-driven**: Provider selection via config (e.g. `provider: 'backblaze'`); no hardcoded provider in consumer code
11
+ - **Domain errors**: Provider-specific errors mapped to `FileSystemNotFoundError`, `FileSystemPermissionDeniedError`, `FileSystemRateLimitError`, `FileSystemNotSupportedError`
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install @venturialstd/file-system @venturialstd/backblaze
17
+ ```
18
+
19
+ In the monorepo, add to your app's `package.json`:
20
+
21
+ ```json
22
+ "@venturialstd/file-system": "file:src/file-system",
23
+ "@venturialstd/backblaze": "file:src/backblaze"
24
+ ```
25
+
26
+ ## Quick start
27
+
28
+ ### 1. Register entities with TypeORM
29
+
30
+ Your app must register the file-system entities (e.g. when using `SharedModule` from `@venturialstd/core`):
31
+
32
+ ```ts
33
+ import { SharedModule } from '@venturialstd/core';
34
+ import { FileSystemFile, FileSystemFolder } from '@venturialstd/file-system';
35
+
36
+ @Module({
37
+ imports: [
38
+ SharedModule.forRoot({
39
+ entities: [FileSystemFile, FileSystemFolder, /* your other entities */],
40
+ }),
41
+ FileSystemModule.forRoot(),
42
+ ],
43
+ })
44
+ export class AppModule {}
45
+ ```
46
+
47
+ **Configuration via Settings:** The file-system does not take provider or bucket from code or `.env`. Both are read from **Settings** (the same store used by Backblaze and other @venturialstd packages):
48
+
49
+ - **Provider:** `FILE-SYSTEM` / `GENERAL` / `PROVIDER` (e.g. `backblaze`)
50
+ - **Bucket name:** `FILE-SYSTEM` / `BACKBLAZE` / `BUCKET_NAME`
51
+
52
+ Register the file-system settings (e.g. via your app’s settings admin or seed) so these keys exist. Credentials and region continue to come from the **Backblaze package** configuration only.
53
+
54
+ ### 2. Use the service
55
+
56
+ ```ts
57
+ import { FileSystemService } from '@venturialstd/file-system';
58
+
59
+ @Injectable()
60
+ export class MyService {
61
+ constructor(private readonly fileSystem: FileSystemService) {}
62
+
63
+ async example() {
64
+ // Blob operations
65
+ await this.fileSystem.upload('path/to/file.pdf', buffer, { contentType: 'application/pdf' });
66
+ const data = await this.fileSystem.download('path/to/file.pdf');
67
+ const meta = await this.fileSystem.exists('path/to/file.pdf');
68
+ const list = await this.fileSystem.list('path/to/', { maxKeys: 100 });
69
+
70
+ // Tree operations
71
+ const rootFolder = await this.fileSystem.createFolder('Documents', null);
72
+ const subFolder = await this.fileSystem.createFolder('Projects', rootFolder.id);
73
+ const file = await this.fileSystem.uploadAndCreateFile(subFolder.id, 'readme.txt', Buffer.from('Hello'));
74
+ const tree = await this.fileSystem.getTree();
75
+ const children = await this.fileSystem.getChildren(subFolder.id);
76
+ }
77
+ }
78
+ ```
79
+
80
+ ## Provider contract
81
+
82
+ All providers implement `IFileSystemProvider`:
83
+
84
+ - `upload(key, body, options?)` – upload buffer/string to key
85
+ - `download(key)` – download as `ArrayBuffer`
86
+ - `delete(key)` – delete object
87
+ - `deleteMany(keys?)` – optional bulk delete
88
+ - `list(prefix, options?)` – list with pagination
89
+ - `exists(key)` – head object, returns metadata or throws
90
+ - `getSignedDownloadUrl(key, expiresInSeconds?)` – optional
91
+ - `getSignedUploadUrl(key, contentType?, expiresInSeconds?)` – optional
92
+
93
+ Optional methods (e.g. signed URLs) may throw `FileSystemNotSupportedError` if the provider does not support them.
94
+
95
+ ## Adding a new provider (e.g. AWS S3)
96
+
97
+ 1. Implement `IFileSystemProvider` in a new class (e.g. `S3FileSystemProvider`).
98
+ 2. In `FileSystemModule.forRoot()`, extend options to accept `provider: 's3'` and `s3: { bucket, region, credentials }`.
99
+ 3. Register the new provider in the module (factory + token) and export it.
100
+
101
+ No changes are required in consumer code that uses `FileSystemService`; only configuration switches the provider.
102
+
103
+ ## Configuration (Settings)
104
+
105
+ All file-system configuration is read from **Settings** (no options passed to `forRoot()`):
106
+
107
+ | Setting key | Module / Section / Key | Description |
108
+ |-------------|-------------------------|-------------|
109
+ | `FILE_SYSTEM_SETTING_KEYS.GENERAL_PROVIDER` | FILE-SYSTEM / GENERAL / PROVIDER | Storage provider (e.g. `backblaze`) |
110
+ | `FILE_SYSTEM_SETTING_KEYS.BACKBLAZE_BUCKET_NAME` | FILE-SYSTEM / BACKBLAZE / BUCKET_NAME | B2 bucket name for file-system operations |
111
+
112
+ The package exports `FILE_SYSTEM_SETTINGS` (and `SETTINGS`) so the core Settings module can discover and register these. Credentials and region are **not** in the file-system; they are taken only from the Backblaze package configuration.
113
+
114
+ ## File and folder tree
115
+
116
+ - **Entities**: `FileSystemFile` and `FileSystemFolder` (TypeORM). Folders use a closure-table tree; files have an optional `folderId`.
117
+ - **Persistence**: Stored in your database; register entities with TypeORM as above. On create/update/delete via the API, the tree is kept in sync.
118
+ - **Tree API**: `getTree(rootFolderId?)`, `getChildren(folderId)`, `getFolder(id)`, `getFile(id)`, `createFolder`, `moveFile`, `moveFolder`, `deleteFile`, `deleteFolder`, `uploadAndCreateFile`.
119
+
120
+ ## Future providers (out of scope for this package)
121
+
122
+ - **AWS S3**: Implement `IFileSystemProvider` using AWS SDK v3; document in README as planned.
123
+ - Others (GCS, Azure Blob) can be added by implementing the contract and registering in the module.
124
+
125
+ ## License
126
+
127
+ MIT
@@ -0,0 +1,13 @@
1
+ /** Default file type value for file entity. */
2
+ export declare const FILE_SYSTEM_FILE_TYPE_DEFAULT = "FILE";
3
+ /** Table and closure table names for TypeORM entities. */
4
+ export declare const FILE_SYSTEM_ENTITY_TABLES: {
5
+ readonly FILE: "file_system_file";
6
+ readonly FOLDER: "file_system_folder";
7
+ readonly FOLDER_CLOSURE: "file_system_folder_closure";
8
+ };
9
+ /** Column name for folder id in file entity. */
10
+ export declare const FILE_SYSTEM_FOLDER_ID_COLUMN = "folderId";
11
+ /** Path segment used when folderId is null (root). */
12
+ export declare const FILE_SYSTEM_PATH_SEGMENT_ROOT = "root";
13
+ //# sourceMappingURL=file-system-entity.constant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-entity.constant.d.ts","sourceRoot":"","sources":["../../src/constants/file-system-entity.constant.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,eAAO,MAAM,6BAA6B,SAAS,CAAC;AAEpD,0DAA0D;AAC1D,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,gDAAgD;AAChD,eAAO,MAAM,4BAA4B,aAAa,CAAC;AAEvD,sDAAsD;AACtD,eAAO,MAAM,6BAA6B,SAAS,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILE_SYSTEM_PATH_SEGMENT_ROOT = exports.FILE_SYSTEM_FOLDER_ID_COLUMN = exports.FILE_SYSTEM_ENTITY_TABLES = exports.FILE_SYSTEM_FILE_TYPE_DEFAULT = void 0;
4
+ /** Default file type value for file entity. */
5
+ exports.FILE_SYSTEM_FILE_TYPE_DEFAULT = 'FILE';
6
+ /** Table and closure table names for TypeORM entities. */
7
+ exports.FILE_SYSTEM_ENTITY_TABLES = {
8
+ FILE: 'file_system_file',
9
+ FOLDER: 'file_system_folder',
10
+ FOLDER_CLOSURE: 'file_system_folder_closure',
11
+ };
12
+ /** Column name for folder id in file entity. */
13
+ exports.FILE_SYSTEM_FOLDER_ID_COLUMN = 'folderId';
14
+ /** Path segment used when folderId is null (root). */
15
+ exports.FILE_SYSTEM_PATH_SEGMENT_ROOT = 'root';
16
+ //# sourceMappingURL=file-system-entity.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-entity.constant.js","sourceRoot":"","sources":["../../src/constants/file-system-entity.constant.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAClC,QAAA,6BAA6B,GAAG,MAAM,CAAC;AAEpD,0DAA0D;AAC7C,QAAA,yBAAyB,GAAG;IACvC,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,oBAAoB;IAC5B,cAAc,EAAE,4BAA4B;CACpC,CAAC;AAEX,gDAAgD;AACnC,QAAA,4BAA4B,GAAG,UAAU,CAAC;AAEvD,sDAAsD;AACzC,QAAA,6BAA6B,GAAG,MAAM,CAAC"}
@@ -0,0 +1,25 @@
1
+ /** Error codes for file-system domain errors. */
2
+ export declare enum FileSystemErrorCode {
3
+ NOT_FOUND = "NOT_FOUND",
4
+ PERMISSION_DENIED = "PERMISSION_DENIED",
5
+ RATE_LIMIT = "RATE_LIMIT",
6
+ NOT_SUPPORTED = "NOT_SUPPORTED",
7
+ UNKNOWN = "UNKNOWN"
8
+ }
9
+ /** Error class names for FileSystemError hierarchy. */
10
+ export declare const FILE_SYSTEM_ERROR_NAMES: {
11
+ readonly BASE: "FileSystemError";
12
+ readonly NOT_FOUND: "FileSystemNotFoundError";
13
+ readonly PERMISSION_DENIED: "FileSystemPermissionDeniedError";
14
+ readonly RATE_LIMIT: "FileSystemRateLimitError";
15
+ readonly NOT_SUPPORTED: "FileSystemNotSupportedError";
16
+ };
17
+ /** Default messages for file-system errors. */
18
+ export declare const FILE_SYSTEM_ERROR_MESSAGES: {
19
+ readonly RESOURCE_NOT_FOUND: "Resource not found";
20
+ readonly PERMISSION_DENIED: "Permission denied";
21
+ readonly RATE_LIMIT_EXCEEDED: "Rate limit exceeded";
22
+ readonly NOT_SUPPORTED: "Operation not supported by this provider";
23
+ readonly UNKNOWN: "Unknown file system error";
24
+ };
25
+ //# sourceMappingURL=file-system-error.constant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-error.constant.d.ts","sourceRoot":"","sources":["../../src/constants/file-system-error.constant.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,oBAAY,mBAAmB;IAC7B,SAAS,cAAc;IACvB,iBAAiB,sBAAsB;IACvC,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,OAAO,YAAY;CACpB;AAED,uDAAuD;AACvD,eAAO,MAAM,uBAAuB;;;;;;CAM1B,CAAC;AAEX,+CAA+C;AAC/C,eAAO,MAAM,0BAA0B;;;;;;CAM7B,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILE_SYSTEM_ERROR_MESSAGES = exports.FILE_SYSTEM_ERROR_NAMES = exports.FileSystemErrorCode = void 0;
4
+ /** Error codes for file-system domain errors. */
5
+ var FileSystemErrorCode;
6
+ (function (FileSystemErrorCode) {
7
+ FileSystemErrorCode["NOT_FOUND"] = "NOT_FOUND";
8
+ FileSystemErrorCode["PERMISSION_DENIED"] = "PERMISSION_DENIED";
9
+ FileSystemErrorCode["RATE_LIMIT"] = "RATE_LIMIT";
10
+ FileSystemErrorCode["NOT_SUPPORTED"] = "NOT_SUPPORTED";
11
+ FileSystemErrorCode["UNKNOWN"] = "UNKNOWN";
12
+ })(FileSystemErrorCode || (exports.FileSystemErrorCode = FileSystemErrorCode = {}));
13
+ /** Error class names for FileSystemError hierarchy. */
14
+ exports.FILE_SYSTEM_ERROR_NAMES = {
15
+ BASE: 'FileSystemError',
16
+ NOT_FOUND: 'FileSystemNotFoundError',
17
+ PERMISSION_DENIED: 'FileSystemPermissionDeniedError',
18
+ RATE_LIMIT: 'FileSystemRateLimitError',
19
+ NOT_SUPPORTED: 'FileSystemNotSupportedError',
20
+ };
21
+ /** Default messages for file-system errors. */
22
+ exports.FILE_SYSTEM_ERROR_MESSAGES = {
23
+ RESOURCE_NOT_FOUND: 'Resource not found',
24
+ PERMISSION_DENIED: 'Permission denied',
25
+ RATE_LIMIT_EXCEEDED: 'Rate limit exceeded',
26
+ NOT_SUPPORTED: 'Operation not supported by this provider',
27
+ UNKNOWN: 'Unknown file system error',
28
+ };
29
+ //# sourceMappingURL=file-system-error.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-error.constant.js","sourceRoot":"","sources":["../../src/constants/file-system-error.constant.ts"],"names":[],"mappings":";;;AAAA,iDAAiD;AACjD,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,8CAAuB,CAAA;IACvB,8DAAuC,CAAA;IACvC,gDAAyB,CAAA;IACzB,sDAA+B,CAAA;IAC/B,0CAAmB,CAAA;AACrB,CAAC,EANW,mBAAmB,mCAAnB,mBAAmB,QAM9B;AAED,uDAAuD;AAC1C,QAAA,uBAAuB,GAAG;IACrC,IAAI,EAAE,iBAAiB;IACvB,SAAS,EAAE,yBAAyB;IACpC,iBAAiB,EAAE,iCAAiC;IACpD,UAAU,EAAE,0BAA0B;IACtC,aAAa,EAAE,6BAA6B;CACpC,CAAC;AAEX,+CAA+C;AAClC,QAAA,0BAA0B,GAAG;IACxC,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,0CAA0C;IACzD,OAAO,EAAE,2BAA2B;CAC5B,CAAC"}
@@ -0,0 +1,16 @@
1
+ /** User-facing messages for exceptions and validation. */
2
+ export declare const FILE_SYSTEM_MESSAGES: {
3
+ readonly FOLDER_NOT_FOUND: "Folder not found";
4
+ readonly FILE_NOT_FOUND: "File not found";
5
+ readonly TARGET_FOLDER_NOT_FOUND: "Target folder not found";
6
+ readonly DESTINATION_FOLDER_NOT_FOUND: "Destination folder not found";
7
+ readonly FOLDER_CANNOT_MOVE_INTO_ITSELF: "Folder cannot move into itself";
8
+ readonly SIGNED_DOWNLOAD_URL_NOT_SUPPORTED: "Signed download URL is not supported by this provider";
9
+ readonly SIGNED_UPLOAD_URL_NOT_SUPPORTED: "Signed upload URL is not supported by this provider";
10
+ readonly UNSUPPORTED_PROVIDER: (name: string) => string;
11
+ readonly BUCKET_NAME_NOT_CONFIGURED: "File system bucket name is not configured. Set FILE-SYSTEM / BACKBLAZE / BUCKET_NAME in Settings.";
12
+ readonly PROVIDER_NOT_CONFIGURED: "File system provider is not configured. Set FILE-SYSTEM / GENERAL / PROVIDER in Settings.";
13
+ readonly SIGNED_DOWNLOAD_URL_BACKBLAZE: "Signed download URLs are not implemented for Backblaze in this module; use provider-specific APIs if needed.";
14
+ readonly SIGNED_UPLOAD_URL_BACKBLAZE: "Signed upload URLs are not implemented for Backblaze in this module; use provider-specific APIs if needed.";
15
+ };
16
+ //# sourceMappingURL=file-system-message.constant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-message.constant.d.ts","sourceRoot":"","sources":["../../src/constants/file-system-message.constant.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB;;;;;;;;0CAQF,MAAM;;;;;CAU3B,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILE_SYSTEM_MESSAGES = void 0;
4
+ /** User-facing messages for exceptions and validation. */
5
+ exports.FILE_SYSTEM_MESSAGES = {
6
+ FOLDER_NOT_FOUND: 'Folder not found',
7
+ FILE_NOT_FOUND: 'File not found',
8
+ TARGET_FOLDER_NOT_FOUND: 'Target folder not found',
9
+ DESTINATION_FOLDER_NOT_FOUND: 'Destination folder not found',
10
+ FOLDER_CANNOT_MOVE_INTO_ITSELF: 'Folder cannot move into itself',
11
+ SIGNED_DOWNLOAD_URL_NOT_SUPPORTED: 'Signed download URL is not supported by this provider',
12
+ SIGNED_UPLOAD_URL_NOT_SUPPORTED: 'Signed upload URL is not supported by this provider',
13
+ UNSUPPORTED_PROVIDER: (name) => `Unsupported file system provider: ${name}. Only 'backblaze' is implemented.`,
14
+ BUCKET_NAME_NOT_CONFIGURED: 'File system bucket name is not configured. Set FILE-SYSTEM / BACKBLAZE / BUCKET_NAME in Settings.',
15
+ PROVIDER_NOT_CONFIGURED: 'File system provider is not configured. Set FILE-SYSTEM / GENERAL / PROVIDER in Settings.',
16
+ SIGNED_DOWNLOAD_URL_BACKBLAZE: 'Signed download URLs are not implemented for Backblaze in this module; use provider-specific APIs if needed.',
17
+ SIGNED_UPLOAD_URL_BACKBLAZE: 'Signed upload URLs are not implemented for Backblaze in this module; use provider-specific APIs if needed.',
18
+ };
19
+ //# sourceMappingURL=file-system-message.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-message.constant.js","sourceRoot":"","sources":["../../src/constants/file-system-message.constant.ts"],"names":[],"mappings":";;;AAAA,0DAA0D;AAC7C,QAAA,oBAAoB,GAAG;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;IAChC,uBAAuB,EAAE,yBAAyB;IAClD,4BAA4B,EAAE,8BAA8B;IAC5D,8BAA8B,EAAE,gCAAgC;IAChE,iCAAiC,EAAE,uDAAuD;IAC1F,+BAA+B,EAAE,qDAAqD;IACtF,oBAAoB,EAAE,CAAC,IAAY,EAAE,EAAE,CACrC,qCAAqC,IAAI,oCAAoC;IAC/E,0BAA0B,EACxB,mGAAmG;IACrG,uBAAuB,EACrB,2FAA2F;IAC7F,6BAA6B,EAC3B,8GAA8G;IAChH,2BAA2B,EACzB,4GAA4G;CACtG,CAAC"}
@@ -0,0 +1,12 @@
1
+ /** Provider name used in module configuration (e.g. 'backblaze'). */
2
+ export declare enum FileSystemProviderName {
3
+ BACKBLAZE = "backblaze"
4
+ }
5
+ /** Dependency injection tokens for file-system module. */
6
+ export declare const FILE_SYSTEM_DI_TOKENS: {
7
+ readonly PROVIDER: "FILE_SYSTEM_PROVIDER";
8
+ readonly BACKBLAZE_OPTIONS: "FILE_SYSTEM_BACKBLAZE_OPTIONS";
9
+ };
10
+ /** HTTP status used for rate limit (429). */
11
+ export declare const FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT = 429;
12
+ //# sourceMappingURL=file-system-provider.constant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-provider.constant.d.ts","sourceRoot":"","sources":["../../src/constants/file-system-provider.constant.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,oBAAY,sBAAsB;IAChC,SAAS,cAAc;CACxB;AAED,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AAEX,6CAA6C;AAC7C,eAAO,MAAM,kCAAkC,MAAM,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT = exports.FILE_SYSTEM_DI_TOKENS = exports.FileSystemProviderName = void 0;
4
+ /** Provider name used in module configuration (e.g. 'backblaze'). */
5
+ var FileSystemProviderName;
6
+ (function (FileSystemProviderName) {
7
+ FileSystemProviderName["BACKBLAZE"] = "backblaze";
8
+ })(FileSystemProviderName || (exports.FileSystemProviderName = FileSystemProviderName = {}));
9
+ /** Dependency injection tokens for file-system module. */
10
+ exports.FILE_SYSTEM_DI_TOKENS = {
11
+ PROVIDER: 'FILE_SYSTEM_PROVIDER',
12
+ BACKBLAZE_OPTIONS: 'FILE_SYSTEM_BACKBLAZE_OPTIONS',
13
+ };
14
+ /** HTTP status used for rate limit (429). */
15
+ exports.FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT = 429;
16
+ //# sourceMappingURL=file-system-provider.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-provider.constant.js","sourceRoot":"","sources":["../../src/constants/file-system-provider.constant.ts"],"names":[],"mappings":";;;AAAA,qEAAqE;AACrE,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAChC,iDAAuB,CAAA;AACzB,CAAC,EAFW,sBAAsB,sCAAtB,sBAAsB,QAEjC;AAED,0DAA0D;AAC7C,QAAA,qBAAqB,GAAG;IACnC,QAAQ,EAAE,sBAAsB;IAChC,iBAAiB,EAAE,+BAA+B;CAC1C,CAAC;AAEX,6CAA6C;AAChC,QAAA,kCAAkC,GAAG,GAAG,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** Node type in tree API responses. */
2
+ export declare enum FileSystemTreeNodeType {
3
+ FOLDER = "folder",
4
+ FILE = "file"
5
+ }
6
+ /** Default tree depth when loading descendants. */
7
+ export declare const FILE_SYSTEM_TREE_DEPTH_DEFAULT = 20;
8
+ //# sourceMappingURL=file-system-tree.constant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-tree.constant.d.ts","sourceRoot":"","sources":["../../src/constants/file-system-tree.constant.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,mDAAmD;AACnD,eAAO,MAAM,8BAA8B,KAAK,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILE_SYSTEM_TREE_DEPTH_DEFAULT = exports.FileSystemTreeNodeType = void 0;
4
+ /** Node type in tree API responses. */
5
+ var FileSystemTreeNodeType;
6
+ (function (FileSystemTreeNodeType) {
7
+ FileSystemTreeNodeType["FOLDER"] = "folder";
8
+ FileSystemTreeNodeType["FILE"] = "file";
9
+ })(FileSystemTreeNodeType || (exports.FileSystemTreeNodeType = FileSystemTreeNodeType = {}));
10
+ /** Default tree depth when loading descendants. */
11
+ exports.FILE_SYSTEM_TREE_DEPTH_DEFAULT = 20;
12
+ //# sourceMappingURL=file-system-tree.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-tree.constant.js","sourceRoot":"","sources":["../../src/constants/file-system-tree.constant.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,2CAAiB,CAAA;IACjB,uCAAa,CAAA;AACf,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC;AAED,mDAAmD;AACtC,QAAA,8BAA8B,GAAG,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ /** Supported storage providers (entity value). Extensible for AWS S3, etc. */
2
+ export declare enum FileSystemStorageProvider {
3
+ BACKBLAZE = "BACKBLAZE",
4
+ AWS_S3 = "AWS_S3"
5
+ }
6
+ export { FILE_SYSTEM_DI_TOKENS, FileSystemProviderName } from './file-system-provider.constant';
7
+ export { FileSystemErrorCode, FILE_SYSTEM_ERROR_NAMES, FILE_SYSTEM_ERROR_MESSAGES, } from './file-system-error.constant';
8
+ export { FILE_SYSTEM_FILE_TYPE_DEFAULT, FILE_SYSTEM_ENTITY_TABLES, FILE_SYSTEM_FOLDER_ID_COLUMN, FILE_SYSTEM_PATH_SEGMENT_ROOT, } from './file-system-entity.constant';
9
+ export { FILE_SYSTEM_MESSAGES } from './file-system-message.constant';
10
+ export { FILE_SYSTEM_SETTING_KEYS } from './file-system.settings.constants';
11
+ export { FileSystemTreeNodeType, FILE_SYSTEM_TREE_DEPTH_DEFAULT, } from './file-system-tree.constant';
12
+ export { FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT } from './file-system-provider.constant';
13
+ //# sourceMappingURL=file-system.constant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system.constant.d.ts","sourceRoot":"","sources":["../../src/constants/file-system.constant.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oBAAY,yBAAyB;IACnC,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAChG,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT = exports.FILE_SYSTEM_TREE_DEPTH_DEFAULT = exports.FileSystemTreeNodeType = exports.FILE_SYSTEM_SETTING_KEYS = exports.FILE_SYSTEM_MESSAGES = exports.FILE_SYSTEM_PATH_SEGMENT_ROOT = exports.FILE_SYSTEM_FOLDER_ID_COLUMN = exports.FILE_SYSTEM_ENTITY_TABLES = exports.FILE_SYSTEM_FILE_TYPE_DEFAULT = exports.FILE_SYSTEM_ERROR_MESSAGES = exports.FILE_SYSTEM_ERROR_NAMES = exports.FileSystemErrorCode = exports.FileSystemProviderName = exports.FILE_SYSTEM_DI_TOKENS = exports.FileSystemStorageProvider = void 0;
4
+ /** Supported storage providers (entity value). Extensible for AWS S3, etc. */
5
+ var FileSystemStorageProvider;
6
+ (function (FileSystemStorageProvider) {
7
+ FileSystemStorageProvider["BACKBLAZE"] = "BACKBLAZE";
8
+ FileSystemStorageProvider["AWS_S3"] = "AWS_S3";
9
+ })(FileSystemStorageProvider || (exports.FileSystemStorageProvider = FileSystemStorageProvider = {}));
10
+ var file_system_provider_constant_1 = require("./file-system-provider.constant");
11
+ Object.defineProperty(exports, "FILE_SYSTEM_DI_TOKENS", { enumerable: true, get: function () { return file_system_provider_constant_1.FILE_SYSTEM_DI_TOKENS; } });
12
+ Object.defineProperty(exports, "FileSystemProviderName", { enumerable: true, get: function () { return file_system_provider_constant_1.FileSystemProviderName; } });
13
+ var file_system_error_constant_1 = require("./file-system-error.constant");
14
+ Object.defineProperty(exports, "FileSystemErrorCode", { enumerable: true, get: function () { return file_system_error_constant_1.FileSystemErrorCode; } });
15
+ Object.defineProperty(exports, "FILE_SYSTEM_ERROR_NAMES", { enumerable: true, get: function () { return file_system_error_constant_1.FILE_SYSTEM_ERROR_NAMES; } });
16
+ Object.defineProperty(exports, "FILE_SYSTEM_ERROR_MESSAGES", { enumerable: true, get: function () { return file_system_error_constant_1.FILE_SYSTEM_ERROR_MESSAGES; } });
17
+ var file_system_entity_constant_1 = require("./file-system-entity.constant");
18
+ Object.defineProperty(exports, "FILE_SYSTEM_FILE_TYPE_DEFAULT", { enumerable: true, get: function () { return file_system_entity_constant_1.FILE_SYSTEM_FILE_TYPE_DEFAULT; } });
19
+ Object.defineProperty(exports, "FILE_SYSTEM_ENTITY_TABLES", { enumerable: true, get: function () { return file_system_entity_constant_1.FILE_SYSTEM_ENTITY_TABLES; } });
20
+ Object.defineProperty(exports, "FILE_SYSTEM_FOLDER_ID_COLUMN", { enumerable: true, get: function () { return file_system_entity_constant_1.FILE_SYSTEM_FOLDER_ID_COLUMN; } });
21
+ Object.defineProperty(exports, "FILE_SYSTEM_PATH_SEGMENT_ROOT", { enumerable: true, get: function () { return file_system_entity_constant_1.FILE_SYSTEM_PATH_SEGMENT_ROOT; } });
22
+ var file_system_message_constant_1 = require("./file-system-message.constant");
23
+ Object.defineProperty(exports, "FILE_SYSTEM_MESSAGES", { enumerable: true, get: function () { return file_system_message_constant_1.FILE_SYSTEM_MESSAGES; } });
24
+ var file_system_settings_constants_1 = require("./file-system.settings.constants");
25
+ Object.defineProperty(exports, "FILE_SYSTEM_SETTING_KEYS", { enumerable: true, get: function () { return file_system_settings_constants_1.FILE_SYSTEM_SETTING_KEYS; } });
26
+ var file_system_tree_constant_1 = require("./file-system-tree.constant");
27
+ Object.defineProperty(exports, "FileSystemTreeNodeType", { enumerable: true, get: function () { return file_system_tree_constant_1.FileSystemTreeNodeType; } });
28
+ Object.defineProperty(exports, "FILE_SYSTEM_TREE_DEPTH_DEFAULT", { enumerable: true, get: function () { return file_system_tree_constant_1.FILE_SYSTEM_TREE_DEPTH_DEFAULT; } });
29
+ var file_system_provider_constant_2 = require("./file-system-provider.constant");
30
+ Object.defineProperty(exports, "FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT", { enumerable: true, get: function () { return file_system_provider_constant_2.FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT; } });
31
+ //# sourceMappingURL=file-system.constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system.constant.js","sourceRoot":"","sources":["../../src/constants/file-system.constant.ts"],"names":[],"mappings":";;;AAAA,8EAA8E;AAC9E,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,oDAAuB,CAAA;IACvB,8CAAiB,CAAA;AACnB,CAAC,EAHW,yBAAyB,yCAAzB,yBAAyB,QAGpC;AAED,iFAAgG;AAAvF,sIAAA,qBAAqB,OAAA;AAAE,uIAAA,sBAAsB,OAAA;AACtD,2EAIsC;AAHpC,iIAAA,mBAAmB,OAAA;AACnB,qIAAA,uBAAuB,OAAA;AACvB,wIAAA,0BAA0B,OAAA;AAE5B,6EAKuC;AAJrC,4IAAA,6BAA6B,OAAA;AAC7B,wIAAA,yBAAyB,OAAA;AACzB,2IAAA,4BAA4B,OAAA;AAC5B,4IAAA,6BAA6B,OAAA;AAE/B,+EAAsE;AAA7D,oIAAA,oBAAoB,OAAA;AAC7B,mFAA4E;AAAnE,0IAAA,wBAAwB,OAAA;AACjC,yEAGqC;AAFnC,mIAAA,sBAAsB,OAAA;AACtB,2IAAA,8BAA8B,OAAA;AAEhC,iFAAqF;AAA5E,mJAAA,kCAAkC,OAAA"}
@@ -0,0 +1,8 @@
1
+ /** Setting keys for file-system (format: scope:module:section:key). */
2
+ export declare const FILE_SYSTEM_SETTING_KEYS: {
3
+ /** Storage provider (e.g. 'backblaze'). */
4
+ readonly GENERAL_PROVIDER: "GLOBAL:FILE-SYSTEM:GENERAL:PROVIDER";
5
+ /** Backblaze B2 bucket name. */
6
+ readonly BACKBLAZE_BUCKET_NAME: "GLOBAL:FILE-SYSTEM:BACKBLAZE:BUCKET_NAME";
7
+ };
8
+ //# sourceMappingURL=file-system.settings.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system.settings.constants.d.ts","sourceRoot":"","sources":["../../src/constants/file-system.settings.constants.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,eAAO,MAAM,wBAAwB;IACnC,2CAA2C;;IAE3C,gCAAgC;;CAExB,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILE_SYSTEM_SETTING_KEYS = void 0;
4
+ /** Setting keys for file-system (format: scope:module:section:key). */
5
+ exports.FILE_SYSTEM_SETTING_KEYS = {
6
+ /** Storage provider (e.g. 'backblaze'). */
7
+ GENERAL_PROVIDER: 'GLOBAL:FILE-SYSTEM:GENERAL:PROVIDER',
8
+ /** Backblaze B2 bucket name. */
9
+ BACKBLAZE_BUCKET_NAME: 'GLOBAL:FILE-SYSTEM:BACKBLAZE:BUCKET_NAME',
10
+ };
11
+ //# sourceMappingURL=file-system.settings.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system.settings.constants.js","sourceRoot":"","sources":["../../src/constants/file-system.settings.constants.ts"],"names":[],"mappings":";;;AAAA,uEAAuE;AAC1D,QAAA,wBAAwB,GAAG;IACtC,2CAA2C;IAC3C,gBAAgB,EAAE,qCAAqC;IACvD,gCAAgC;IAChC,qBAAqB,EAAE,0CAA0C;CACzD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { FileSystemStorageProvider, FILE_SYSTEM_DI_TOKENS, FileSystemProviderName, FileSystemErrorCode, FILE_SYSTEM_ERROR_NAMES, FILE_SYSTEM_ERROR_MESSAGES, FILE_SYSTEM_FILE_TYPE_DEFAULT, FILE_SYSTEM_ENTITY_TABLES, FILE_SYSTEM_FOLDER_ID_COLUMN, FILE_SYSTEM_PATH_SEGMENT_ROOT, FILE_SYSTEM_MESSAGES, FileSystemTreeNodeType, FILE_SYSTEM_TREE_DEPTH_DEFAULT, FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT, FILE_SYSTEM_SETTING_KEYS, } from './file-system.constant';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,EAC9B,kCAAkC,EAClC,wBAAwB,GACzB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FILE_SYSTEM_SETTING_KEYS = exports.FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT = exports.FILE_SYSTEM_TREE_DEPTH_DEFAULT = exports.FileSystemTreeNodeType = exports.FILE_SYSTEM_MESSAGES = exports.FILE_SYSTEM_PATH_SEGMENT_ROOT = exports.FILE_SYSTEM_FOLDER_ID_COLUMN = exports.FILE_SYSTEM_ENTITY_TABLES = exports.FILE_SYSTEM_FILE_TYPE_DEFAULT = exports.FILE_SYSTEM_ERROR_MESSAGES = exports.FILE_SYSTEM_ERROR_NAMES = exports.FileSystemErrorCode = exports.FileSystemProviderName = exports.FILE_SYSTEM_DI_TOKENS = exports.FileSystemStorageProvider = void 0;
4
+ var file_system_constant_1 = require("./file-system.constant");
5
+ Object.defineProperty(exports, "FileSystemStorageProvider", { enumerable: true, get: function () { return file_system_constant_1.FileSystemStorageProvider; } });
6
+ Object.defineProperty(exports, "FILE_SYSTEM_DI_TOKENS", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_DI_TOKENS; } });
7
+ Object.defineProperty(exports, "FileSystemProviderName", { enumerable: true, get: function () { return file_system_constant_1.FileSystemProviderName; } });
8
+ Object.defineProperty(exports, "FileSystemErrorCode", { enumerable: true, get: function () { return file_system_constant_1.FileSystemErrorCode; } });
9
+ Object.defineProperty(exports, "FILE_SYSTEM_ERROR_NAMES", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_ERROR_NAMES; } });
10
+ Object.defineProperty(exports, "FILE_SYSTEM_ERROR_MESSAGES", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_ERROR_MESSAGES; } });
11
+ Object.defineProperty(exports, "FILE_SYSTEM_FILE_TYPE_DEFAULT", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_FILE_TYPE_DEFAULT; } });
12
+ Object.defineProperty(exports, "FILE_SYSTEM_ENTITY_TABLES", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_ENTITY_TABLES; } });
13
+ Object.defineProperty(exports, "FILE_SYSTEM_FOLDER_ID_COLUMN", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_FOLDER_ID_COLUMN; } });
14
+ Object.defineProperty(exports, "FILE_SYSTEM_PATH_SEGMENT_ROOT", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_PATH_SEGMENT_ROOT; } });
15
+ Object.defineProperty(exports, "FILE_SYSTEM_MESSAGES", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_MESSAGES; } });
16
+ Object.defineProperty(exports, "FileSystemTreeNodeType", { enumerable: true, get: function () { return file_system_constant_1.FileSystemTreeNodeType; } });
17
+ Object.defineProperty(exports, "FILE_SYSTEM_TREE_DEPTH_DEFAULT", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_TREE_DEPTH_DEFAULT; } });
18
+ Object.defineProperty(exports, "FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_HTTP_STATUS_RATE_LIMIT; } });
19
+ Object.defineProperty(exports, "FILE_SYSTEM_SETTING_KEYS", { enumerable: true, get: function () { return file_system_constant_1.FILE_SYSTEM_SETTING_KEYS; } });
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;AAAA,+DAgBgC;AAf9B,iIAAA,yBAAyB,OAAA;AACzB,6HAAA,qBAAqB,OAAA;AACrB,8HAAA,sBAAsB,OAAA;AACtB,2HAAA,mBAAmB,OAAA;AACnB,+HAAA,uBAAuB,OAAA;AACvB,kIAAA,0BAA0B,OAAA;AAC1B,qIAAA,6BAA6B,OAAA;AAC7B,iIAAA,yBAAyB,OAAA;AACzB,oIAAA,4BAA4B,OAAA;AAC5B,qIAAA,6BAA6B,OAAA;AAC7B,4HAAA,oBAAoB,OAAA;AACpB,8HAAA,sBAAsB,OAAA;AACtB,sIAAA,8BAA8B,OAAA;AAC9B,0IAAA,kCAAkC,OAAA;AAClC,gIAAA,wBAAwB,OAAA"}
@@ -0,0 +1,22 @@
1
+ import { FileSystemStorageProvider } from '../constants';
2
+ import { FileSystemFolder } from './file-system-folder.entity';
3
+ export declare class FileSystemFile {
4
+ id: string;
5
+ name: string;
6
+ description: string | null;
7
+ url: string | null;
8
+ originalFilename: string | null;
9
+ fileType: string;
10
+ mimeType: string | null;
11
+ size: number | null;
12
+ thumbnail: string | null;
13
+ isPublic: boolean;
14
+ metadata: Record<string, unknown>;
15
+ folder: FileSystemFolder | null;
16
+ folderId: string | null;
17
+ storageProvider: FileSystemStorageProvider;
18
+ key: string;
19
+ createdAt: Date;
20
+ updatedAt: Date;
21
+ }
22
+ //# sourceMappingURL=file-system-file.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-file.entity.d.ts","sourceRoot":"","sources":["../../src/entities/file-system-file.entity.ts"],"names":[],"mappings":"AAUA,OAAO,EAIL,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,qBACa,cAAc;IAEzB,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAGb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAGnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGhC,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAGpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,QAAQ,EAAE,OAAO,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIlC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAGhC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,eAAe,EAAE,yBAAyB,CAAC;IAG3C,GAAG,EAAE,MAAM,CAAC;IAGZ,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;CACjB"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FileSystemFile = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const constants_1 = require("../constants");
15
+ const file_system_folder_entity_1 = require("./file-system-folder.entity");
16
+ let FileSystemFile = class FileSystemFile {
17
+ id;
18
+ name;
19
+ description;
20
+ url;
21
+ originalFilename;
22
+ fileType;
23
+ mimeType;
24
+ size;
25
+ thumbnail;
26
+ isPublic;
27
+ metadata;
28
+ folder;
29
+ folderId;
30
+ storageProvider;
31
+ key;
32
+ createdAt;
33
+ updatedAt;
34
+ };
35
+ exports.FileSystemFile = FileSystemFile;
36
+ __decorate([
37
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
38
+ __metadata("design:type", String)
39
+ ], FileSystemFile.prototype, "id", void 0);
40
+ __decorate([
41
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
42
+ __metadata("design:type", String)
43
+ ], FileSystemFile.prototype, "name", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
46
+ __metadata("design:type", Object)
47
+ ], FileSystemFile.prototype, "description", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'varchar', length: 512, nullable: true }),
50
+ __metadata("design:type", Object)
51
+ ], FileSystemFile.prototype, "url", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
54
+ __metadata("design:type", Object)
55
+ ], FileSystemFile.prototype, "originalFilename", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50, default: constants_1.FILE_SYSTEM_FILE_TYPE_DEFAULT }),
58
+ __metadata("design:type", String)
59
+ ], FileSystemFile.prototype, "fileType", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, nullable: true }),
62
+ __metadata("design:type", Object)
63
+ ], FileSystemFile.prototype, "mimeType", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.Column)({ type: 'bigint', nullable: true }),
66
+ __metadata("design:type", Object)
67
+ ], FileSystemFile.prototype, "size", void 0);
68
+ __decorate([
69
+ (0, typeorm_1.Column)({ type: 'varchar', length: 512, nullable: true }),
70
+ __metadata("design:type", Object)
71
+ ], FileSystemFile.prototype, "thumbnail", void 0);
72
+ __decorate([
73
+ (0, typeorm_1.Column)({ type: 'boolean', default: false }),
74
+ __metadata("design:type", Boolean)
75
+ ], FileSystemFile.prototype, "isPublic", void 0);
76
+ __decorate([
77
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true, default: {} }),
78
+ __metadata("design:type", Object)
79
+ ], FileSystemFile.prototype, "metadata", void 0);
80
+ __decorate([
81
+ (0, typeorm_1.ManyToOne)(() => file_system_folder_entity_1.FileSystemFolder, (folder) => folder.files, { nullable: true }),
82
+ (0, typeorm_1.JoinColumn)({ name: constants_1.FILE_SYSTEM_FOLDER_ID_COLUMN }),
83
+ __metadata("design:type", Object)
84
+ ], FileSystemFile.prototype, "folder", void 0);
85
+ __decorate([
86
+ (0, typeorm_1.Column)({ type: 'uuid', nullable: true }),
87
+ __metadata("design:type", Object)
88
+ ], FileSystemFile.prototype, "folderId", void 0);
89
+ __decorate([
90
+ (0, typeorm_1.Column)({ type: 'varchar', length: 50 }),
91
+ __metadata("design:type", String)
92
+ ], FileSystemFile.prototype, "storageProvider", void 0);
93
+ __decorate([
94
+ (0, typeorm_1.Column)({ type: 'varchar', length: 512 }),
95
+ __metadata("design:type", String)
96
+ ], FileSystemFile.prototype, "key", void 0);
97
+ __decorate([
98
+ (0, typeorm_1.CreateDateColumn)({ name: 'createdAt', type: 'timestamptz' }),
99
+ __metadata("design:type", Date)
100
+ ], FileSystemFile.prototype, "createdAt", void 0);
101
+ __decorate([
102
+ (0, typeorm_1.UpdateDateColumn)({ name: 'updatedAt', type: 'timestamptz' }),
103
+ __metadata("design:type", Date)
104
+ ], FileSystemFile.prototype, "updatedAt", void 0);
105
+ exports.FileSystemFile = FileSystemFile = __decorate([
106
+ (0, typeorm_1.Entity)(constants_1.FILE_SYSTEM_ENTITY_TABLES.FILE)
107
+ ], FileSystemFile);
108
+ //# sourceMappingURL=file-system-file.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-system-file.entity.js","sourceRoot":"","sources":["../../src/entities/file-system-file.entity.ts"],"names":[],"mappings":"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"}