@flusys/nestjs-storage 1.1.0-beta → 2.0.0

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 (118) hide show
  1. package/README.md +148 -6
  2. package/cjs/config/index.js +0 -1
  3. package/cjs/config/storage.constants.js +0 -17
  4. package/cjs/controllers/file-manager.controller.js +44 -1
  5. package/cjs/controllers/folder.controller.js +44 -1
  6. package/cjs/controllers/storage-config.controller.js +44 -1
  7. package/cjs/controllers/upload.controller.js +18 -29
  8. package/cjs/docs/storage-swagger.config.js +24 -136
  9. package/cjs/dtos/file-manager.dto.js +70 -34
  10. package/cjs/dtos/folder.dto.js +15 -9
  11. package/cjs/dtos/storage-config.dto.js +4 -85
  12. package/cjs/dtos/upload.dto.js +24 -17
  13. package/cjs/entities/file-manager-with-company.entity.js +3 -4
  14. package/cjs/entities/file-manager.entity.js +71 -3
  15. package/cjs/entities/folder-with-company.entity.js +3 -4
  16. package/cjs/entities/folder.entity.js +19 -3
  17. package/cjs/entities/index.js +9 -10
  18. package/cjs/entities/storage-config-with-company.entity.js +3 -4
  19. package/cjs/entities/storage-config.entity.js +74 -3
  20. package/cjs/interfaces/index.js +0 -1
  21. package/cjs/middlewares/file-serve.middleware.js +113 -100
  22. package/cjs/modules/storage.module.js +82 -136
  23. package/cjs/providers/azure-provider.optional.js +10 -38
  24. package/cjs/providers/local-provider.js +38 -31
  25. package/cjs/providers/s3-provider.optional.js +19 -40
  26. package/cjs/providers/storage-factory.service.js +54 -99
  27. package/cjs/providers/storage-provider.registry.js +8 -18
  28. package/cjs/services/file-manager.service.js +238 -323
  29. package/cjs/services/folder.service.js +8 -11
  30. package/cjs/services/index.js +1 -0
  31. package/cjs/{config → services}/storage-config.service.js +32 -76
  32. package/cjs/services/storage-datasource.provider.js +16 -26
  33. package/cjs/services/storage-provider-config.service.js +15 -37
  34. package/cjs/services/upload.service.js +72 -88
  35. package/cjs/utils/file-validator.util.js +458 -0
  36. package/cjs/utils/image-compressor.util.js +3 -8
  37. package/config/index.d.ts +0 -1
  38. package/config/storage.constants.d.ts +0 -8
  39. package/controllers/upload.controller.d.ts +3 -6
  40. package/dtos/file-manager.dto.d.ts +12 -5
  41. package/dtos/folder.dto.d.ts +5 -5
  42. package/dtos/storage-config.dto.d.ts +7 -13
  43. package/entities/file-manager-with-company.entity.d.ts +2 -2
  44. package/entities/file-manager.entity.d.ts +12 -2
  45. package/entities/folder-with-company.entity.d.ts +2 -2
  46. package/entities/folder.entity.d.ts +4 -2
  47. package/entities/index.d.ts +3 -4
  48. package/entities/storage-config-with-company.entity.d.ts +2 -2
  49. package/entities/storage-config.entity.d.ts +8 -2
  50. package/fesm/config/index.js +0 -1
  51. package/fesm/config/storage.constants.js +0 -8
  52. package/fesm/controllers/file-manager.controller.js +45 -2
  53. package/fesm/controllers/folder.controller.js +45 -2
  54. package/fesm/controllers/storage-config.controller.js +45 -2
  55. package/fesm/controllers/upload.controller.js +19 -30
  56. package/fesm/docs/storage-swagger.config.js +27 -142
  57. package/fesm/dtos/file-manager.dto.js +71 -35
  58. package/fesm/dtos/folder.dto.js +16 -10
  59. package/fesm/dtos/storage-config.dto.js +8 -95
  60. package/fesm/dtos/upload.dto.js +25 -19
  61. package/fesm/entities/file-manager-with-company.entity.js +3 -4
  62. package/fesm/entities/file-manager.entity.js +72 -4
  63. package/fesm/entities/folder-with-company.entity.js +3 -4
  64. package/fesm/entities/folder.entity.js +20 -4
  65. package/fesm/entities/index.js +5 -13
  66. package/fesm/entities/storage-config-with-company.entity.js +3 -4
  67. package/fesm/entities/storage-config.entity.js +75 -4
  68. package/fesm/interfaces/index.js +0 -1
  69. package/fesm/interfaces/storage-config.interface.js +1 -3
  70. package/fesm/middlewares/file-serve.middleware.js +114 -101
  71. package/fesm/modules/storage.module.js +83 -136
  72. package/fesm/providers/azure-provider.optional.js +11 -42
  73. package/fesm/providers/local-provider.js +38 -31
  74. package/fesm/providers/s3-provider.optional.js +20 -44
  75. package/fesm/providers/storage-factory.service.js +52 -97
  76. package/fesm/providers/storage-provider.registry.js +10 -20
  77. package/fesm/services/file-manager.service.js +237 -322
  78. package/fesm/services/folder.service.js +6 -9
  79. package/fesm/services/index.js +1 -0
  80. package/fesm/{config → services}/storage-config.service.js +32 -76
  81. package/fesm/services/storage-datasource.provider.js +16 -26
  82. package/fesm/services/storage-provider-config.service.js +13 -35
  83. package/fesm/services/upload.service.js +71 -87
  84. package/fesm/utils/file-validator.util.js +451 -0
  85. package/fesm/utils/image-compressor.util.js +3 -8
  86. package/interfaces/file-manager.interface.d.ts +7 -4
  87. package/interfaces/index.d.ts +0 -1
  88. package/interfaces/storage-config.interface.d.ts +0 -20
  89. package/interfaces/storage-module-options.interface.d.ts +0 -5
  90. package/middlewares/file-serve.middleware.d.ts +9 -1
  91. package/modules/storage.module.d.ts +1 -2
  92. package/package.json +6 -6
  93. package/providers/azure-provider.optional.d.ts +8 -6
  94. package/providers/local-provider.d.ts +2 -7
  95. package/providers/s3-provider.optional.d.ts +9 -7
  96. package/providers/storage-factory.service.d.ts +8 -9
  97. package/providers/storage-provider.registry.d.ts +4 -4
  98. package/services/file-manager.service.d.ts +23 -16
  99. package/services/folder.service.d.ts +4 -4
  100. package/services/index.d.ts +1 -0
  101. package/services/storage-config.service.d.ts +24 -0
  102. package/services/storage-datasource.provider.d.ts +3 -4
  103. package/services/storage-provider-config.service.d.ts +4 -4
  104. package/services/upload.service.d.ts +3 -2
  105. package/utils/file-validator.util.d.ts +19 -0
  106. package/cjs/entities/file-manager-base.entity.js +0 -115
  107. package/cjs/entities/folder-base.entity.js +0 -55
  108. package/cjs/entities/storage-config-base.entity.js +0 -93
  109. package/cjs/interfaces/file-upload-response.interface.js +0 -4
  110. package/config/storage-config.service.d.ts +0 -22
  111. package/entities/file-manager-base.entity.d.ts +0 -13
  112. package/entities/folder-base.entity.d.ts +0 -5
  113. package/entities/storage-config-base.entity.d.ts +0 -9
  114. package/fesm/entities/file-manager-base.entity.js +0 -108
  115. package/fesm/entities/folder-base.entity.js +0 -48
  116. package/fesm/entities/storage-config-base.entity.js +0 -83
  117. package/fesm/interfaces/file-upload-response.interface.js +0 -1
  118. package/interfaces/file-upload-response.interface.d.ts +0 -6
@@ -66,13 +66,15 @@ let DeleteSingleFileDto = class DeleteSingleFileDto {
66
66
  _ts_decorate([
67
67
  (0, _swagger.ApiProperty)({
68
68
  description: 'Key of the file to delete',
69
- example: '/uploads/some path'
69
+ example: '/uploads/some-path'
70
70
  }),
71
+ (0, _classvalidator.IsNotEmpty)(),
72
+ (0, _classvalidator.IsString)(),
71
73
  _ts_metadata("design:type", String)
72
74
  ], DeleteSingleFileDto.prototype, "key", void 0);
73
75
  _ts_decorate([
74
76
  (0, _swagger.ApiPropertyOptional)({
75
- description: 'Storage configuration ID (optional - uses default if not provided)',
77
+ description: 'Storage configuration ID',
76
78
  example: '123e4567-e89b-12d3-a456-426614174000'
77
79
  }),
78
80
  (0, _classvalidator.IsOptional)(),
@@ -87,20 +89,25 @@ let DeleteMultipleFileDto = class DeleteMultipleFileDto {
87
89
  };
88
90
  _ts_decorate([
89
91
  (0, _swagger.ApiProperty)({
90
- description: 'Array of file Keys to delete',
92
+ description: 'Array of file keys to delete',
91
93
  example: [
92
- '/uploads/some path',
93
- 'aws key'
94
+ '/uploads/file1',
95
+ '/uploads/file2'
94
96
  ],
95
97
  type: [
96
98
  String
97
99
  ]
98
100
  }),
101
+ (0, _classvalidator.IsNotEmpty)(),
102
+ (0, _classvalidator.IsArray)(),
103
+ (0, _classvalidator.IsString)({
104
+ each: true
105
+ }),
99
106
  _ts_metadata("design:type", Array)
100
107
  ], DeleteMultipleFileDto.prototype, "keys", void 0);
101
108
  _ts_decorate([
102
109
  (0, _swagger.ApiPropertyOptional)({
103
- description: 'Storage configuration ID (optional - uses default if not provided)',
110
+ description: 'Storage configuration ID',
104
111
  example: '123e4567-e89b-12d3-a456-426614174000'
105
112
  }),
106
113
  (0, _classvalidator.IsOptional)(),
@@ -120,7 +127,7 @@ let UploadOptionsDto = class UploadOptionsDto {
120
127
  };
121
128
  _ts_decorate([
122
129
  (0, _swagger.ApiPropertyOptional)({
123
- description: 'Storage configuration ID (optional - uses default if not provided)',
130
+ description: 'Storage configuration ID',
124
131
  example: '123e4567-e89b-12d3-a456-426614174000'
125
132
  }),
126
133
  (0, _classvalidator.IsOptional)(),
@@ -129,7 +136,7 @@ _ts_decorate([
129
136
  ], UploadOptionsDto.prototype, "storageConfigId", void 0);
130
137
  _ts_decorate([
131
138
  (0, _swagger.ApiPropertyOptional)({
132
- description: 'Folder path where the file should be uploaded (e.g., "uploads/images").',
139
+ description: 'Folder path for upload',
133
140
  example: 'uploads/images'
134
141
  }),
135
142
  (0, _classvalidator.IsOptional)(),
@@ -140,7 +147,7 @@ _ts_decorate([
140
147
  ], UploadOptionsDto.prototype, "folderPath", void 0);
141
148
  _ts_decorate([
142
149
  (0, _swagger.ApiPropertyOptional)({
143
- description: 'Maximum width of the image in pixels (resize will preserve aspect ratio).',
150
+ description: 'Maximum width in pixels',
144
151
  example: 1280,
145
152
  minimum: 100,
146
153
  maximum: 10000,
@@ -155,7 +162,7 @@ _ts_decorate([
155
162
  ], UploadOptionsDto.prototype, "maxWidth", void 0);
156
163
  _ts_decorate([
157
164
  (0, _swagger.ApiPropertyOptional)({
158
- description: 'Maximum height of the image in pixels (resize will preserve aspect ratio).',
165
+ description: 'Maximum height in pixels',
159
166
  example: 1280,
160
167
  minimum: 100,
161
168
  maximum: 10000,
@@ -170,7 +177,7 @@ _ts_decorate([
170
177
  ], UploadOptionsDto.prototype, "maxHeight", void 0);
171
178
  _ts_decorate([
172
179
  (0, _swagger.ApiPropertyOptional)({
173
- description: 'Compression quality (1100). Higher means better quality but larger file size.',
180
+ description: 'Compression quality (1-100)',
174
181
  example: 85,
175
182
  minimum: 1,
176
183
  maximum: 100,
@@ -185,7 +192,7 @@ _ts_decorate([
185
192
  ], UploadOptionsDto.prototype, "quality", void 0);
186
193
  _ts_decorate([
187
194
  (0, _swagger.ApiPropertyOptional)({
188
- description: 'Output format of the image. "original" keeps the source format.',
195
+ description: 'Output image format',
189
196
  enum: ImageFormat,
190
197
  default: "original"
191
198
  }),
@@ -195,7 +202,7 @@ _ts_decorate([
195
202
  ], UploadOptionsDto.prototype, "format", void 0);
196
203
  _ts_decorate([
197
204
  (0, _swagger.ApiPropertyOptional)({
198
- description: 'Whether to compress the image or not.',
205
+ description: 'Whether to compress the image',
199
206
  example: true,
200
207
  default: true
201
208
  }),
@@ -222,7 +229,7 @@ _ts_decorate([
222
229
  ], FileUploadResponsePayloadDto.prototype, "name", void 0);
223
230
  _ts_decorate([
224
231
  (0, _swagger.ApiProperty)({
225
- example: 'file123.jpg'
232
+ example: 'image/jpeg'
226
233
  }),
227
234
  _ts_metadata("design:type", String)
228
235
  ], FileUploadResponsePayloadDto.prototype, "contentType", void 0);
@@ -234,21 +241,21 @@ _ts_decorate([
234
241
  ], FileUploadResponsePayloadDto.prototype, "size", void 0);
235
242
  _ts_decorate([
236
243
  (0, _swagger.ApiProperty)({
237
- example: 'file path or aws key'
244
+ example: 'uploads/file123.jpg'
238
245
  }),
239
246
  _ts_metadata("design:type", String)
240
247
  ], FileUploadResponsePayloadDto.prototype, "key", void 0);
241
248
  _ts_decorate([
242
249
  (0, _swagger.ApiProperty)({
243
250
  example: 'local',
244
- description: 'Storage provider type (local, aws, azure, sftp)'
251
+ description: 'Storage provider type'
245
252
  }),
246
253
  _ts_metadata("design:type", String)
247
254
  ], FileUploadResponsePayloadDto.prototype, "location", void 0);
248
255
  _ts_decorate([
249
256
  (0, _swagger.ApiProperty)({
250
257
  example: '123e4567-e89b-12d3-a456-426614174000',
251
- description: 'Storage configuration ID used for this upload'
258
+ description: 'Storage configuration ID'
252
259
  }),
253
260
  _ts_metadata("design:type", String)
254
261
  ], FileUploadResponsePayloadDto.prototype, "storageConfigId", void 0);
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "FileManagerWithCompany", {
9
9
  }
10
10
  });
11
11
  const _typeorm = require("typeorm");
12
- const _filemanagerbaseentity = require("./file-manager-base.entity");
12
+ const _filemanagerentity = require("./file-manager.entity");
13
13
  function _define_property(obj, key, value) {
14
14
  if (key in obj) {
15
15
  Object.defineProperty(obj, key, {
@@ -32,10 +32,9 @@ function _ts_decorate(decorators, target, key, desc) {
32
32
  function _ts_metadata(k, v) {
33
33
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
34
  }
35
- let FileManagerWithCompany = class FileManagerWithCompany extends _filemanagerbaseentity.FileManagerBase {
35
+ let FileManagerWithCompany = class FileManagerWithCompany extends _filemanagerentity.FileManager {
36
36
  constructor(...args){
37
- super(...args), // Company ID - used when company feature is enabled
38
- _define_property(this, "companyId", void 0), _define_property(this, "folder", void 0);
37
+ super(...args), _define_property(this, "companyId", void 0);
39
38
  }
40
39
  };
41
40
  _ts_decorate([
@@ -8,8 +8,9 @@ Object.defineProperty(exports, "FileManager", {
8
8
  return FileManager;
9
9
  }
10
10
  });
11
+ const _entities = require("@flusys/nestjs-shared/entities");
12
+ const _enums = require("../enums");
11
13
  const _typeorm = require("typeorm");
12
- const _filemanagerbaseentity = require("./file-manager-base.entity");
13
14
  function _define_property(obj, key, value) {
14
15
  if (key in obj) {
15
16
  Object.defineProperty(obj, key, {
@@ -32,11 +33,78 @@ function _ts_decorate(decorators, target, key, desc) {
32
33
  function _ts_metadata(k, v) {
33
34
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
35
  }
35
- let FileManager = class FileManager extends _filemanagerbaseentity.FileManagerBase {
36
+ let FileManager = class FileManager extends _entities.Identity {
36
37
  constructor(...args){
37
- super(...args), _define_property(this, "folder", void 0);
38
+ super(...args), _define_property(this, "name", void 0), _define_property(this, "contentType", void 0), _define_property(this, "size", void 0), _define_property(this, "key", void 0), _define_property(this, "url", void 0), _define_property(this, "location", void 0), _define_property(this, "storageConfigId", void 0), _define_property(this, "expiresAt", null), _define_property(this, "isPrivate", void 0), _define_property(this, "folder", void 0);
38
39
  }
39
40
  };
41
+ _ts_decorate([
42
+ (0, _typeorm.Column)({
43
+ type: 'varchar',
44
+ length: 255,
45
+ nullable: false
46
+ }),
47
+ _ts_metadata("design:type", String)
48
+ ], FileManager.prototype, "name", void 0);
49
+ _ts_decorate([
50
+ (0, _typeorm.Column)({
51
+ type: 'varchar',
52
+ length: 255,
53
+ nullable: false
54
+ }),
55
+ _ts_metadata("design:type", String)
56
+ ], FileManager.prototype, "contentType", void 0);
57
+ _ts_decorate([
58
+ (0, _typeorm.Column)({
59
+ type: 'varchar',
60
+ length: 255,
61
+ nullable: false
62
+ }),
63
+ _ts_metadata("design:type", String)
64
+ ], FileManager.prototype, "size", void 0);
65
+ _ts_decorate([
66
+ (0, _typeorm.Column)({
67
+ type: 'text',
68
+ nullable: false
69
+ }),
70
+ _ts_metadata("design:type", String)
71
+ ], FileManager.prototype, "key", void 0);
72
+ _ts_decorate([
73
+ (0, _typeorm.Column)({
74
+ type: 'text',
75
+ nullable: true
76
+ }),
77
+ _ts_metadata("design:type", Object)
78
+ ], FileManager.prototype, "url", void 0);
79
+ _ts_decorate([
80
+ (0, _typeorm.Column)({
81
+ type: 'text',
82
+ nullable: false
83
+ }),
84
+ _ts_metadata("design:type", typeof _enums.FileLocationEnum === "undefined" ? Object : _enums.FileLocationEnum)
85
+ ], FileManager.prototype, "location", void 0);
86
+ _ts_decorate([
87
+ (0, _typeorm.Column)({
88
+ type: 'uuid',
89
+ nullable: true
90
+ }),
91
+ _ts_metadata("design:type", Object)
92
+ ], FileManager.prototype, "storageConfigId", void 0);
93
+ _ts_decorate([
94
+ (0, _typeorm.Column)({
95
+ type: 'bigint',
96
+ nullable: true
97
+ }),
98
+ _ts_metadata("design:type", Object)
99
+ ], FileManager.prototype, "expiresAt", void 0);
100
+ _ts_decorate([
101
+ (0, _typeorm.Column)({
102
+ type: 'boolean',
103
+ nullable: false,
104
+ default: false
105
+ }),
106
+ _ts_metadata("design:type", Boolean)
107
+ ], FileManager.prototype, "isPrivate", void 0);
40
108
  _ts_decorate([
41
109
  (0, _typeorm.ManyToOne)('Folder', (folder)=>folder.fileManager, {
42
110
  nullable: true,
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "FolderWithCompany", {
9
9
  }
10
10
  });
11
11
  const _typeorm = require("typeorm");
12
- const _folderbaseentity = require("./folder-base.entity");
12
+ const _folderentity = require("./folder.entity");
13
13
  function _define_property(obj, key, value) {
14
14
  if (key in obj) {
15
15
  Object.defineProperty(obj, key, {
@@ -32,10 +32,9 @@ function _ts_decorate(decorators, target, key, desc) {
32
32
  function _ts_metadata(k, v) {
33
33
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
34
  }
35
- let FolderWithCompany = class FolderWithCompany extends _folderbaseentity.FolderBase {
35
+ let FolderWithCompany = class FolderWithCompany extends _folderentity.Folder {
36
36
  constructor(...args){
37
- super(...args), // Company ID - used when company feature is enabled
38
- _define_property(this, "companyId", void 0), _define_property(this, "fileManager", void 0);
37
+ super(...args), _define_property(this, "companyId", void 0);
39
38
  }
40
39
  };
41
40
  _ts_decorate([
@@ -8,8 +8,8 @@ Object.defineProperty(exports, "Folder", {
8
8
  return Folder;
9
9
  }
10
10
  });
11
+ const _entities = require("@flusys/nestjs-shared/entities");
11
12
  const _typeorm = require("typeorm");
12
- const _folderbaseentity = require("./folder-base.entity");
13
13
  function _define_property(obj, key, value) {
14
14
  if (key in obj) {
15
15
  Object.defineProperty(obj, key, {
@@ -32,11 +32,27 @@ function _ts_decorate(decorators, target, key, desc) {
32
32
  function _ts_metadata(k, v) {
33
33
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
34
  }
35
- let Folder = class Folder extends _folderbaseentity.FolderBase {
35
+ let Folder = class Folder extends _entities.Identity {
36
36
  constructor(...args){
37
- super(...args), _define_property(this, "fileManager", void 0);
37
+ super(...args), _define_property(this, "name", void 0), _define_property(this, "slug", void 0), _define_property(this, "fileManager", void 0);
38
38
  }
39
39
  };
40
+ _ts_decorate([
41
+ (0, _typeorm.Column)({
42
+ type: 'varchar',
43
+ length: 255,
44
+ nullable: false
45
+ }),
46
+ _ts_metadata("design:type", String)
47
+ ], Folder.prototype, "name", void 0);
48
+ _ts_decorate([
49
+ (0, _typeorm.Column)({
50
+ type: 'varchar',
51
+ length: 255,
52
+ nullable: false
53
+ }),
54
+ _ts_metadata("design:type", String)
55
+ ], Folder.prototype, "slug", void 0);
40
56
  _ts_decorate([
41
57
  (0, _typeorm.OneToMany)('FileManager', (fileManager)=>fileManager.folder),
42
58
  _ts_metadata("design:type", Array)
@@ -1,4 +1,4 @@
1
- // Base entities
1
+ // Entities without company feature
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
@@ -10,12 +10,18 @@ function _export(target, all) {
10
10
  });
11
11
  }
12
12
  _export(exports, {
13
- get StorageAllEntities () {
14
- return StorageAllEntities;
13
+ get FileManagerBase () {
14
+ return _filemanagerentity.FileManager;
15
+ },
16
+ get FolderBase () {
17
+ return _folderentity.Folder;
15
18
  },
16
19
  get StorageCompanyEntities () {
17
20
  return StorageCompanyEntities;
18
21
  },
22
+ get StorageConfigBase () {
23
+ return _storageconfigentity.StorageConfig;
24
+ },
19
25
  get StorageCoreEntities () {
20
26
  return StorageCoreEntities;
21
27
  },
@@ -23,9 +29,6 @@ _export(exports, {
23
29
  return getStorageEntitiesByConfig;
24
30
  }
25
31
  });
26
- _export_star(require("./file-manager-base.entity"), exports);
27
- _export_star(require("./folder-base.entity"), exports);
28
- _export_star(require("./storage-config-base.entity"), exports);
29
32
  const _filemanagerentity = _export_star(require("./file-manager.entity"), exports);
30
33
  const _folderentity = _export_star(require("./folder.entity"), exports);
31
34
  const _storageconfigentity = _export_star(require("./storage-config.entity"), exports);
@@ -55,10 +58,6 @@ const StorageCompanyEntities = [
55
58
  _folderwithcompanyentity.FolderWithCompany,
56
59
  _storageconfigwithcompanyentity.StorageConfigWithCompany
57
60
  ];
58
- const StorageAllEntities = [
59
- ...StorageCoreEntities,
60
- ...StorageCompanyEntities
61
- ];
62
61
  function getStorageEntitiesByConfig(enableCompanyFeature) {
63
62
  return enableCompanyFeature ? StorageCompanyEntities : StorageCoreEntities;
64
63
  }
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "StorageConfigWithCompany", {
9
9
  }
10
10
  });
11
11
  const _typeorm = require("typeorm");
12
- const _storageconfigbaseentity = require("./storage-config-base.entity");
12
+ const _storageconfigentity = require("./storage-config.entity");
13
13
  function _define_property(obj, key, value) {
14
14
  if (key in obj) {
15
15
  Object.defineProperty(obj, key, {
@@ -32,10 +32,9 @@ function _ts_decorate(decorators, target, key, desc) {
32
32
  function _ts_metadata(k, v) {
33
33
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
34
  }
35
- let StorageConfigWithCompany = class StorageConfigWithCompany extends _storageconfigbaseentity.StorageConfigBase {
35
+ let StorageConfigWithCompany = class StorageConfigWithCompany extends _storageconfigentity.StorageConfig {
36
36
  constructor(...args){
37
- super(...args), // Company ID - used when company feature is enabled
38
- _define_property(this, "companyId", void 0);
37
+ super(...args), _define_property(this, "companyId", void 0);
39
38
  }
40
39
  };
41
40
  _ts_decorate([
@@ -8,18 +8,89 @@ Object.defineProperty(exports, "StorageConfig", {
8
8
  return StorageConfig;
9
9
  }
10
10
  });
11
+ const _entities = require("@flusys/nestjs-shared/entities");
12
+ const _enums = require("../enums");
11
13
  const _typeorm = require("typeorm");
12
- const _storageconfigbaseentity = require("./storage-config-base.entity");
14
+ function _define_property(obj, key, value) {
15
+ if (key in obj) {
16
+ Object.defineProperty(obj, key, {
17
+ value: value,
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true
21
+ });
22
+ } else {
23
+ obj[key] = value;
24
+ }
25
+ return obj;
26
+ }
13
27
  function _ts_decorate(decorators, target, key, desc) {
14
28
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
29
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
30
  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;
17
31
  return c > 3 && r && Object.defineProperty(target, key, r), r;
18
32
  }
19
- let StorageConfig = class StorageConfig extends _storageconfigbaseentity.StorageConfigBase {
33
+ function _ts_metadata(k, v) {
34
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
35
+ }
36
+ let StorageConfig = class StorageConfig extends _entities.Identity {
37
+ constructor(...args){
38
+ super(...args), _define_property(this, "name", void 0), _define_property(this, "storage", void 0), _define_property(this, "config", void 0), _define_property(this, "isActive", void 0), _define_property(this, "isDefault", void 0);
39
+ }
20
40
  };
41
+ _ts_decorate([
42
+ (0, _typeorm.Column)({
43
+ type: 'varchar',
44
+ length: 255,
45
+ nullable: false
46
+ }),
47
+ _ts_metadata("design:type", String)
48
+ ], StorageConfig.prototype, "name", void 0);
49
+ _ts_decorate([
50
+ (0, _typeorm.Column)({
51
+ type: 'enum',
52
+ enum: _enums.FileLocationEnum,
53
+ nullable: false
54
+ }),
55
+ _ts_metadata("design:type", typeof _enums.FileLocationEnum === "undefined" ? Object : _enums.FileLocationEnum)
56
+ ], StorageConfig.prototype, "storage", void 0);
57
+ _ts_decorate([
58
+ (0, _typeorm.Column)({
59
+ type: 'json',
60
+ nullable: false
61
+ }),
62
+ _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
63
+ ], StorageConfig.prototype, "config", void 0);
64
+ _ts_decorate([
65
+ (0, _typeorm.Column)({
66
+ type: 'boolean',
67
+ default: true,
68
+ name: 'is_active'
69
+ }),
70
+ _ts_metadata("design:type", Boolean)
71
+ ], StorageConfig.prototype, "isActive", void 0);
72
+ _ts_decorate([
73
+ (0, _typeorm.Column)({
74
+ type: 'boolean',
75
+ default: false,
76
+ name: 'is_default'
77
+ }),
78
+ _ts_metadata("design:type", Boolean)
79
+ ], StorageConfig.prototype, "isDefault", void 0);
21
80
  StorageConfig = _ts_decorate([
22
81
  (0, _typeorm.Entity)({
23
82
  name: 'storage_config'
24
- })
83
+ }),
84
+ (0, _typeorm.Index)([
85
+ 'name'
86
+ ]),
87
+ (0, _typeorm.Index)([
88
+ 'storage'
89
+ ]),
90
+ (0, _typeorm.Index)([
91
+ 'isActive'
92
+ ]),
93
+ (0, _typeorm.Index)([
94
+ 'isDefault'
95
+ ])
25
96
  ], StorageConfig);
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  _export_star(require("./file-manager.interface"), exports);
6
- _export_star(require("./file-upload-response.interface"), exports);
7
6
  _export_star(require("./folder.interface"), exports);
8
7
  _export_star(require("./storage-config.interface"), exports);
9
8
  _export_star(require("./storage-module-options.interface"), exports);