@flusys/nestjs-storage 7.1.0 → 8.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 (202) hide show
  1. package/config/index.d.ts +3 -3
  2. package/controllers/file-manager.controller.d.ts +4 -4
  3. package/controllers/folder.controller.d.ts +2 -2
  4. package/controllers/index.d.ts +4 -4
  5. package/controllers/storage-config.controller.d.ts +2 -2
  6. package/controllers/upload.controller.d.ts +3 -3
  7. package/docs/index.d.ts +1 -1
  8. package/docs/storage-swagger.config.d.ts +2 -2
  9. package/dtos/index.d.ts +4 -4
  10. package/entities/file-manager-with-company.entity.d.ts +2 -2
  11. package/entities/file-manager.entity.d.ts +1 -1
  12. package/entities/folder-with-company.entity.d.ts +1 -1
  13. package/entities/index.d.ts +15 -15
  14. package/entities/storage-config-with-company.entity.d.ts +1 -1
  15. package/enums/index.d.ts +1 -1
  16. package/fesm/493.js +2768 -0
  17. package/fesm/537.js +1157 -0
  18. package/fesm/562.js +786 -0
  19. package/fesm/{providers/azure-provider.optional.js → chunks/190.js} +33 -30
  20. package/fesm/chunks/252.js +12 -0
  21. package/fesm/chunks/327.js +12 -0
  22. package/fesm/chunks/385.js +12 -0
  23. package/fesm/{providers/s3-provider.optional.js → chunks/591.js} +37 -34
  24. package/fesm/chunks/746.js +12 -0
  25. package/fesm/chunks/798.js +12 -0
  26. package/fesm/{providers/sftp-provider.optional.js → chunks/918.js} +35 -31
  27. package/fesm/config/index.js +119 -3
  28. package/fesm/controllers/index.js +16 -4
  29. package/fesm/docs/index.js +206 -1
  30. package/fesm/dtos/index.js +879 -4
  31. package/fesm/entities/index.js +463 -18
  32. package/fesm/enums/index.js +36 -1
  33. package/fesm/index.js +398 -12
  34. package/fesm/interfaces/index.js +19 -5
  35. package/fesm/modules/index.js +16 -1
  36. package/fesm/providers/index.js +364 -3
  37. package/fesm/runtime.js +252 -0
  38. package/fesm/services/index.js +16 -6
  39. package/fesm/utils/index.js +149 -1
  40. package/index.d.ts +11 -11
  41. package/interfaces/file-manager.interface.d.ts +1 -1
  42. package/interfaces/folder.interface.d.ts +1 -1
  43. package/interfaces/index.d.ts +5 -5
  44. package/interfaces/storage-config.interface.d.ts +1 -1
  45. package/interfaces/storage-module-options.interface.d.ts +3 -3
  46. package/interfaces/storage-provider.interface.d.ts +1 -1
  47. package/middlewares/file-serve.middleware.d.ts +4 -3
  48. package/middlewares/index.d.ts +1 -1
  49. package/modules/index.d.ts +1 -1
  50. package/modules/storage.module.d.ts +2 -2
  51. package/package.json +30 -41
  52. package/providers/azure-provider.optional.d.ts +2 -2
  53. package/providers/index.d.ts +3 -3
  54. package/providers/local-provider.d.ts +2 -2
  55. package/providers/s3-provider.optional.d.ts +2 -2
  56. package/providers/sftp-provider.optional.d.ts +2 -2
  57. package/providers/storage-factory.service.d.ts +3 -3
  58. package/providers/storage-provider.registry.d.ts +2 -2
  59. package/services/file-manager.service.d.ts +9 -8
  60. package/services/folder.service.d.ts +6 -6
  61. package/services/index.d.ts +6 -6
  62. package/services/storage-config.service.d.ts +3 -3
  63. package/services/storage-datasource.provider.d.ts +3 -3
  64. package/services/storage-provider-config.service.d.ts +7 -7
  65. package/services/upload.service.d.ts +6 -6
  66. package/utils/image-compressor.util.d.ts +1 -1
  67. package/utils/index.d.ts +1 -1
  68. package/cjs/config/event-actions.js +0 -34
  69. package/cjs/config/index.js +0 -20
  70. package/cjs/config/message-keys.js +0 -46
  71. package/cjs/config/storage.constants.js +0 -28
  72. package/cjs/controllers/file-manager.controller.js +0 -152
  73. package/cjs/controllers/file-manager.controller.spec.js +0 -135
  74. package/cjs/controllers/folder.controller.js +0 -102
  75. package/cjs/controllers/folder.controller.spec.js +0 -86
  76. package/cjs/controllers/index.js +0 -21
  77. package/cjs/controllers/storage-config.controller.js +0 -102
  78. package/cjs/controllers/storage-config.controller.spec.js +0 -85
  79. package/cjs/controllers/upload.controller.js +0 -234
  80. package/cjs/controllers/upload.controller.spec.js +0 -132
  81. package/cjs/docs/index.js +0 -11
  82. package/cjs/docs/storage-swagger.config.js +0 -188
  83. package/cjs/docs/storage-swagger.config.spec.js +0 -72
  84. package/cjs/dtos/file-manager.dto.js +0 -327
  85. package/cjs/dtos/folder.dto.js +0 -105
  86. package/cjs/dtos/index.js +0 -21
  87. package/cjs/dtos/storage-config.dto.js +0 -170
  88. package/cjs/dtos/upload.dto.js +0 -272
  89. package/cjs/entities/file-manager-with-company.entity.js +0 -61
  90. package/cjs/entities/file-manager.entity.js +0 -122
  91. package/cjs/entities/folder-with-company.entity.js +0 -55
  92. package/cjs/entities/folder.entity.js +0 -64
  93. package/cjs/entities/index.js +0 -63
  94. package/cjs/entities/index.spec.js +0 -18
  95. package/cjs/entities/storage-config-with-company.entity.js +0 -51
  96. package/cjs/entities/storage-config.entity.js +0 -96
  97. package/cjs/enums/file-location.enum.js +0 -17
  98. package/cjs/enums/index.js +0 -18
  99. package/cjs/index.js +0 -29
  100. package/cjs/interfaces/file-manager.interface.js +0 -4
  101. package/cjs/interfaces/folder.interface.js +0 -4
  102. package/cjs/interfaces/index.js +0 -22
  103. package/cjs/interfaces/storage-config.interface.js +0 -4
  104. package/cjs/interfaces/storage-module-options.interface.js +0 -4
  105. package/cjs/interfaces/storage-provider.interface.js +0 -4
  106. package/cjs/middlewares/file-serve.middleware.js +0 -241
  107. package/cjs/middlewares/file-serve.middleware.spec.js +0 -211
  108. package/cjs/middlewares/index.js +0 -18
  109. package/cjs/modules/index.js +0 -18
  110. package/cjs/modules/storage.module.js +0 -165
  111. package/cjs/modules/storage.module.spec.js +0 -184
  112. package/cjs/providers/azure-provider.optional.js +0 -155
  113. package/cjs/providers/azure-provider.optional.spec.js +0 -228
  114. package/cjs/providers/index.js +0 -26
  115. package/cjs/providers/local-provider.js +0 -230
  116. package/cjs/providers/local-provider.spec.js +0 -239
  117. package/cjs/providers/s3-provider.optional.js +0 -175
  118. package/cjs/providers/s3-provider.optional.spec.js +0 -243
  119. package/cjs/providers/sftp-provider.optional.js +0 -203
  120. package/cjs/providers/sftp-provider.optional.spec.js +0 -217
  121. package/cjs/providers/storage-factory.service.js +0 -175
  122. package/cjs/providers/storage-factory.service.spec.js +0 -253
  123. package/cjs/providers/storage-provider.registry.js +0 -41
  124. package/cjs/providers/storage-provider.registry.spec.js +0 -67
  125. package/cjs/services/file-manager.service.js +0 -387
  126. package/cjs/services/file-manager.service.spec.js +0 -580
  127. package/cjs/services/folder.service.js +0 -101
  128. package/cjs/services/folder.service.spec.js +0 -167
  129. package/cjs/services/index.js +0 -23
  130. package/cjs/services/storage-config.service.js +0 -129
  131. package/cjs/services/storage-config.service.spec.js +0 -257
  132. package/cjs/services/storage-datasource.provider.js +0 -137
  133. package/cjs/services/storage-datasource.provider.spec.js +0 -217
  134. package/cjs/services/storage-provider-config.service.js +0 -171
  135. package/cjs/services/storage-provider-config.service.spec.js +0 -265
  136. package/cjs/services/upload.service.js +0 -376
  137. package/cjs/services/upload.service.spec.js +0 -426
  138. package/cjs/utils/file-validator.util.js +0 -440
  139. package/cjs/utils/file-validator.util.spec.js +0 -259
  140. package/cjs/utils/image-compressor.util.js +0 -162
  141. package/cjs/utils/image-compressor.util.spec.js +0 -166
  142. package/cjs/utils/index.js +0 -18
  143. package/fesm/config/event-actions.js +0 -13
  144. package/fesm/config/message-keys.js +0 -22
  145. package/fesm/config/storage.constants.js +0 -7
  146. package/fesm/controllers/file-manager.controller.js +0 -142
  147. package/fesm/controllers/file-manager.controller.spec.js +0 -131
  148. package/fesm/controllers/folder.controller.js +0 -92
  149. package/fesm/controllers/folder.controller.spec.js +0 -82
  150. package/fesm/controllers/storage-config.controller.js +0 -92
  151. package/fesm/controllers/storage-config.controller.spec.js +0 -81
  152. package/fesm/controllers/upload.controller.js +0 -224
  153. package/fesm/controllers/upload.controller.spec.js +0 -128
  154. package/fesm/docs/storage-swagger.config.js +0 -181
  155. package/fesm/docs/storage-swagger.config.spec.js +0 -68
  156. package/fesm/dtos/file-manager.dto.js +0 -300
  157. package/fesm/dtos/folder.dto.js +0 -84
  158. package/fesm/dtos/storage-config.dto.js +0 -149
  159. package/fesm/dtos/upload.dto.js +0 -245
  160. package/fesm/entities/file-manager-with-company.entity.js +0 -51
  161. package/fesm/entities/file-manager.entity.js +0 -112
  162. package/fesm/entities/folder-with-company.entity.js +0 -45
  163. package/fesm/entities/folder.entity.js +0 -54
  164. package/fesm/entities/index.spec.js +0 -14
  165. package/fesm/entities/storage-config-with-company.entity.js +0 -41
  166. package/fesm/entities/storage-config.entity.js +0 -86
  167. package/fesm/enums/file-location.enum.js +0 -7
  168. package/fesm/interfaces/file-manager.interface.js +0 -1
  169. package/fesm/interfaces/folder.interface.js +0 -1
  170. package/fesm/interfaces/storage-config.interface.js +0 -1
  171. package/fesm/interfaces/storage-module-options.interface.js +0 -3
  172. package/fesm/interfaces/storage-provider.interface.js +0 -4
  173. package/fesm/middlewares/file-serve.middleware.js +0 -190
  174. package/fesm/middlewares/file-serve.middleware.spec.js +0 -207
  175. package/fesm/middlewares/index.js +0 -1
  176. package/fesm/modules/storage.module.js +0 -156
  177. package/fesm/modules/storage.module.spec.js +0 -180
  178. package/fesm/providers/azure-provider.optional.spec.js +0 -224
  179. package/fesm/providers/local-provider.js +0 -182
  180. package/fesm/providers/local-provider.spec.js +0 -194
  181. package/fesm/providers/s3-provider.optional.spec.js +0 -239
  182. package/fesm/providers/sftp-provider.optional.spec.js +0 -213
  183. package/fesm/providers/storage-factory.service.js +0 -124
  184. package/fesm/providers/storage-factory.service.spec.js +0 -249
  185. package/fesm/providers/storage-provider.registry.js +0 -34
  186. package/fesm/providers/storage-provider.registry.spec.js +0 -63
  187. package/fesm/services/file-manager.service.js +0 -336
  188. package/fesm/services/file-manager.service.spec.js +0 -576
  189. package/fesm/services/folder.service.js +0 -91
  190. package/fesm/services/folder.service.spec.js +0 -163
  191. package/fesm/services/storage-config.service.js +0 -119
  192. package/fesm/services/storage-config.service.spec.js +0 -253
  193. package/fesm/services/storage-datasource.provider.js +0 -86
  194. package/fesm/services/storage-datasource.provider.spec.js +0 -172
  195. package/fesm/services/storage-provider-config.service.js +0 -161
  196. package/fesm/services/storage-provider-config.service.spec.js +0 -261
  197. package/fesm/services/upload.service.js +0 -366
  198. package/fesm/services/upload.service.spec.js +0 -422
  199. package/fesm/utils/file-validator.util.js +0 -433
  200. package/fesm/utils/file-validator.util.spec.js +0 -255
  201. package/fesm/utils/image-compressor.util.js +0 -114
  202. package/fesm/utils/image-compressor.util.spec.js +0 -162
@@ -1,84 +0,0 @@
1
- function _define_property(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- function _ts_decorate(decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- 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;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- }
20
- function _ts_metadata(k, v) {
21
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
22
- }
23
- import { ApiProperty, PartialType } from '@nestjs/swagger';
24
- import { Expose } from 'class-transformer';
25
- import { IsNotEmpty, IsString, IsUUID } from 'class-validator';
26
- export class CreateFolderDto {
27
- constructor(){
28
- _define_property(this, "name", void 0);
29
- }
30
- }
31
- _ts_decorate([
32
- ApiProperty({
33
- description: 'Name of the folder',
34
- example: 'Invoices'
35
- }),
36
- IsNotEmpty(),
37
- IsString(),
38
- _ts_metadata("design:type", String)
39
- ], CreateFolderDto.prototype, "name", void 0);
40
- export class UpdateFolderDto extends PartialType(CreateFolderDto) {
41
- constructor(...args){
42
- super(...args), _define_property(this, "id", void 0);
43
- }
44
- }
45
- _ts_decorate([
46
- ApiProperty({
47
- description: 'Unique identifier of the folder',
48
- example: 'f2e9c8d0-7a2a-11eb-9439-0242ac130002'
49
- }),
50
- IsUUID(),
51
- IsNotEmpty(),
52
- _ts_metadata("design:type", String)
53
- ], UpdateFolderDto.prototype, "id", void 0);
54
- export class FolderResponseDto {
55
- constructor(){
56
- _define_property(this, "id", void 0);
57
- _define_property(this, "name", void 0);
58
- _define_property(this, "slug", void 0);
59
- }
60
- }
61
- _ts_decorate([
62
- Expose(),
63
- ApiProperty({
64
- description: 'Unique identifier of the folder',
65
- example: 'f2e9c8d0-7a2a-11eb-9439-0242ac130002'
66
- }),
67
- _ts_metadata("design:type", String)
68
- ], FolderResponseDto.prototype, "id", void 0);
69
- _ts_decorate([
70
- Expose(),
71
- ApiProperty({
72
- description: 'Human-readable name of the folder',
73
- example: 'Profile Photos'
74
- }),
75
- _ts_metadata("design:type", String)
76
- ], FolderResponseDto.prototype, "name", void 0);
77
- _ts_decorate([
78
- Expose(),
79
- ApiProperty({
80
- description: 'URL-friendly unique identifier derived from the folder name',
81
- example: 'profile-photos'
82
- }),
83
- _ts_metadata("design:type", String)
84
- ], FolderResponseDto.prototype, "slug", void 0);
@@ -1,149 +0,0 @@
1
- function _define_property(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- function _ts_decorate(decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- 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;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- }
20
- function _ts_metadata(k, v) {
21
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
22
- }
23
- import { IdentityResponseDto } from '@flusys/nestjs-shared/dtos';
24
- import { ApiProperty, ApiPropertyOptional, OmitType, PartialType } from '@nestjs/swagger';
25
- import { Expose } from 'class-transformer';
26
- import { IsBoolean, IsEnum, IsNotEmpty, IsObject, IsOptional, IsString, IsUUID, MaxLength } from 'class-validator';
27
- import { FileLocationEnum } from '../enums';
28
- export class CreateStorageConfigDto {
29
- constructor(){
30
- _define_property(this, "name", void 0);
31
- _define_property(this, "storage", void 0);
32
- _define_property(this, "config", void 0);
33
- _define_property(this, "isActive", void 0);
34
- _define_property(this, "isDefault", void 0);
35
- }
36
- }
37
- _ts_decorate([
38
- ApiProperty({
39
- example: 'Production AWS S3'
40
- }),
41
- IsString(),
42
- IsNotEmpty(),
43
- MaxLength(255),
44
- _ts_metadata("design:type", String)
45
- ], CreateStorageConfigDto.prototype, "name", void 0);
46
- _ts_decorate([
47
- ApiProperty({
48
- enum: FileLocationEnum,
49
- example: FileLocationEnum.AWS,
50
- description: 'Storage provider type'
51
- }),
52
- IsEnum(FileLocationEnum),
53
- IsNotEmpty(),
54
- _ts_metadata("design:type", String)
55
- ], CreateStorageConfigDto.prototype, "storage", void 0);
56
- _ts_decorate([
57
- ApiProperty({
58
- description: 'Provider-specific configuration',
59
- example: {
60
- region: 'us-east-1',
61
- bucket: 'my-bucket'
62
- }
63
- }),
64
- IsObject(),
65
- IsNotEmpty(),
66
- _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
67
- ], CreateStorageConfigDto.prototype, "config", void 0);
68
- _ts_decorate([
69
- ApiPropertyOptional({
70
- example: true,
71
- description: 'Whether storage configuration is active'
72
- }),
73
- IsBoolean(),
74
- IsOptional(),
75
- _ts_metadata("design:type", Boolean)
76
- ], CreateStorageConfigDto.prototype, "isActive", void 0);
77
- _ts_decorate([
78
- ApiPropertyOptional({
79
- example: false,
80
- description: 'Set as default storage configuration'
81
- }),
82
- IsBoolean(),
83
- IsOptional(),
84
- _ts_metadata("design:type", Boolean)
85
- ], CreateStorageConfigDto.prototype, "isDefault", void 0);
86
- export class UpdateStorageConfigDto extends PartialType(OmitType(CreateStorageConfigDto, [])) {
87
- constructor(...args){
88
- super(...args), _define_property(this, "id", void 0);
89
- }
90
- }
91
- _ts_decorate([
92
- ApiProperty({
93
- example: '123e4567-e89b-12d3-a456-426614174000'
94
- }),
95
- IsUUID(),
96
- IsNotEmpty(),
97
- _ts_metadata("design:type", String)
98
- ], UpdateStorageConfigDto.prototype, "id", void 0);
99
- export class StorageConfigResponseDto extends IdentityResponseDto {
100
- constructor(...args){
101
- 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);
102
- }
103
- }
104
- _ts_decorate([
105
- Expose(),
106
- ApiProperty({
107
- description: 'Human-readable name for this storage configuration',
108
- example: 'AWS S3 — Production Bucket'
109
- }),
110
- _ts_metadata("design:type", String)
111
- ], StorageConfigResponseDto.prototype, "name", void 0);
112
- _ts_decorate([
113
- Expose(),
114
- ApiProperty({
115
- description: 'Storage provider type',
116
- example: 's3'
117
- }),
118
- _ts_metadata("design:type", String)
119
- ], StorageConfigResponseDto.prototype, "storage", void 0);
120
- _ts_decorate([
121
- Expose(),
122
- ApiProperty({
123
- description: 'Provider-specific configuration key-value pairs',
124
- type: 'object',
125
- additionalProperties: true,
126
- example: {
127
- bucket: 'my-production-bucket',
128
- region: 'us-east-1',
129
- endpoint: 'https://s3.amazonaws.com'
130
- }
131
- }),
132
- _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
133
- ], StorageConfigResponseDto.prototype, "config", void 0);
134
- _ts_decorate([
135
- Expose(),
136
- ApiProperty({
137
- description: 'Whether this storage configuration is currently active',
138
- example: true
139
- }),
140
- _ts_metadata("design:type", Boolean)
141
- ], StorageConfigResponseDto.prototype, "isActive", void 0);
142
- _ts_decorate([
143
- Expose(),
144
- ApiProperty({
145
- description: 'Whether this is the default storage configuration',
146
- example: false
147
- }),
148
- _ts_metadata("design:type", Boolean)
149
- ], StorageConfigResponseDto.prototype, "isDefault", void 0);
@@ -1,245 +0,0 @@
1
- function _define_property(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- function _ts_decorate(decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- 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;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- }
20
- function _ts_metadata(k, v) {
21
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
22
- }
23
- import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
24
- import { Expose, Type } from 'class-transformer';
25
- import { IsArray, IsBoolean, IsEnum, IsInt, IsNotEmpty, IsOptional, IsString, IsUUID, Matches, Max, Min } from 'class-validator';
26
- export var ImageFormat = /*#__PURE__*/ function(ImageFormat) {
27
- ImageFormat["ORIGINAL"] = "original";
28
- ImageFormat["JPEG"] = "jpeg";
29
- ImageFormat["PNG"] = "png";
30
- ImageFormat["WEBP"] = "webp";
31
- return ImageFormat;
32
- }({});
33
- export class DeleteSingleFileDto {
34
- constructor(){
35
- _define_property(this, "key", void 0);
36
- _define_property(this, "storageConfigId", void 0);
37
- }
38
- }
39
- _ts_decorate([
40
- ApiProperty({
41
- description: 'Key of the file to delete',
42
- example: '/uploads/some-path'
43
- }),
44
- IsNotEmpty(),
45
- IsString(),
46
- _ts_metadata("design:type", String)
47
- ], DeleteSingleFileDto.prototype, "key", void 0);
48
- _ts_decorate([
49
- ApiPropertyOptional({
50
- description: 'Storage configuration ID',
51
- example: '123e4567-e89b-12d3-a456-426614174000'
52
- }),
53
- IsOptional(),
54
- IsUUID(),
55
- _ts_metadata("design:type", String)
56
- ], DeleteSingleFileDto.prototype, "storageConfigId", void 0);
57
- export class DeleteMultipleFileDto {
58
- constructor(){
59
- _define_property(this, "keys", void 0);
60
- _define_property(this, "storageConfigId", void 0);
61
- }
62
- }
63
- _ts_decorate([
64
- ApiProperty({
65
- description: 'Array of file keys to delete',
66
- example: [
67
- '/uploads/file1',
68
- '/uploads/file2'
69
- ],
70
- type: [
71
- String
72
- ]
73
- }),
74
- IsNotEmpty(),
75
- IsArray(),
76
- IsString({
77
- each: true
78
- }),
79
- _ts_metadata("design:type", Array)
80
- ], DeleteMultipleFileDto.prototype, "keys", void 0);
81
- _ts_decorate([
82
- ApiPropertyOptional({
83
- description: 'Storage configuration ID',
84
- example: '123e4567-e89b-12d3-a456-426614174000'
85
- }),
86
- IsOptional(),
87
- IsUUID(),
88
- _ts_metadata("design:type", String)
89
- ], DeleteMultipleFileDto.prototype, "storageConfigId", void 0);
90
- export class UploadOptionsDto {
91
- constructor(){
92
- _define_property(this, "storageConfigId", void 0);
93
- _define_property(this, "folderPath", void 0);
94
- _define_property(this, "maxWidth", 1280);
95
- _define_property(this, "maxHeight", 1280);
96
- _define_property(this, "quality", 85);
97
- _define_property(this, "format", "original");
98
- _define_property(this, "compress", true);
99
- }
100
- }
101
- _ts_decorate([
102
- ApiPropertyOptional({
103
- description: 'Storage configuration ID',
104
- example: '123e4567-e89b-12d3-a456-426614174000'
105
- }),
106
- IsOptional(),
107
- IsUUID(),
108
- _ts_metadata("design:type", String)
109
- ], UploadOptionsDto.prototype, "storageConfigId", void 0);
110
- _ts_decorate([
111
- ApiPropertyOptional({
112
- description: 'Folder path for upload',
113
- example: 'uploads/images'
114
- }),
115
- IsOptional(),
116
- Matches(/^[a-zA-Z0-9-_/]*$/, {
117
- message: 'folderPath can only contain letters, numbers, hyphens, underscores, and slashes.'
118
- }),
119
- _ts_metadata("design:type", String)
120
- ], UploadOptionsDto.prototype, "folderPath", void 0);
121
- _ts_decorate([
122
- ApiPropertyOptional({
123
- description: 'Maximum width in pixels',
124
- example: 1280,
125
- minimum: 100,
126
- maximum: 10000,
127
- default: 1280
128
- }),
129
- IsOptional(),
130
- Type(()=>Number),
131
- IsInt(),
132
- Min(100),
133
- Max(10000),
134
- _ts_metadata("design:type", Number)
135
- ], UploadOptionsDto.prototype, "maxWidth", void 0);
136
- _ts_decorate([
137
- ApiPropertyOptional({
138
- description: 'Maximum height in pixels',
139
- example: 1280,
140
- minimum: 100,
141
- maximum: 10000,
142
- default: 1280
143
- }),
144
- IsOptional(),
145
- Type(()=>Number),
146
- IsInt(),
147
- Min(100),
148
- Max(10000),
149
- _ts_metadata("design:type", Number)
150
- ], UploadOptionsDto.prototype, "maxHeight", void 0);
151
- _ts_decorate([
152
- ApiPropertyOptional({
153
- description: 'Compression quality (1-100)',
154
- example: 85,
155
- minimum: 1,
156
- maximum: 100,
157
- default: 85
158
- }),
159
- IsOptional(),
160
- Type(()=>Number),
161
- IsInt(),
162
- Min(1),
163
- Max(100),
164
- _ts_metadata("design:type", Number)
165
- ], UploadOptionsDto.prototype, "quality", void 0);
166
- _ts_decorate([
167
- ApiPropertyOptional({
168
- description: 'Output image format',
169
- enum: ImageFormat,
170
- default: "original"
171
- }),
172
- IsOptional(),
173
- IsEnum(ImageFormat),
174
- _ts_metadata("design:type", String)
175
- ], UploadOptionsDto.prototype, "format", void 0);
176
- _ts_decorate([
177
- ApiPropertyOptional({
178
- description: 'Whether to compress the image',
179
- example: true,
180
- default: true
181
- }),
182
- IsOptional(),
183
- Type(()=>Boolean),
184
- IsBoolean(),
185
- _ts_metadata("design:type", Boolean)
186
- ], UploadOptionsDto.prototype, "compress", void 0);
187
- export class FileUploadResponsePayloadDto {
188
- constructor(){
189
- _define_property(this, "name", void 0);
190
- _define_property(this, "contentType", void 0);
191
- _define_property(this, "size", void 0);
192
- _define_property(this, "key", void 0);
193
- _define_property(this, "location", void 0);
194
- _define_property(this, "storageConfigId", void 0);
195
- }
196
- }
197
- _ts_decorate([
198
- Expose(),
199
- ApiProperty({
200
- description: 'Original filename of the uploaded file',
201
- example: 'profile-photo.jpg'
202
- }),
203
- _ts_metadata("design:type", String)
204
- ], FileUploadResponsePayloadDto.prototype, "name", void 0);
205
- _ts_decorate([
206
- Expose(),
207
- ApiProperty({
208
- description: 'MIME type of the uploaded file',
209
- example: 'image/jpeg'
210
- }),
211
- _ts_metadata("design:type", String)
212
- ], FileUploadResponsePayloadDto.prototype, "contentType", void 0);
213
- _ts_decorate([
214
- Expose(),
215
- ApiProperty({
216
- description: 'File size in bytes',
217
- example: 204800,
218
- minimum: 0
219
- }),
220
- _ts_metadata("design:type", Number)
221
- ], FileUploadResponsePayloadDto.prototype, "size", void 0);
222
- _ts_decorate([
223
- Expose(),
224
- ApiProperty({
225
- description: 'Storage key / path used to retrieve the file from the provider',
226
- example: 'uploads/users/abc123/profile-photo.jpg'
227
- }),
228
- _ts_metadata("design:type", String)
229
- ], FileUploadResponsePayloadDto.prototype, "key", void 0);
230
- _ts_decorate([
231
- Expose(),
232
- ApiProperty({
233
- description: 'Storage provider type (e.g. s3, gcs, local)',
234
- example: 's3'
235
- }),
236
- _ts_metadata("design:type", String)
237
- ], FileUploadResponsePayloadDto.prototype, "location", void 0);
238
- _ts_decorate([
239
- Expose(),
240
- ApiProperty({
241
- description: 'ID of the storage configuration used to store this file',
242
- example: '123e4567-e89b-12d3-a456-426614174000'
243
- }),
244
- _ts_metadata("design:type", String)
245
- ], FileUploadResponsePayloadDto.prototype, "storageConfigId", void 0);
@@ -1,51 +0,0 @@
1
- function _define_property(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- function _ts_decorate(decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- 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;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- }
20
- function _ts_metadata(k, v) {
21
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
22
- }
23
- import { Column, Entity, JoinColumn, ManyToOne } from 'typeorm';
24
- import { FileManager } from './file-manager.entity';
25
- export class FileManagerWithCompany extends FileManager {
26
- constructor(...args){
27
- super(...args), _define_property(this, "companyId", void 0);
28
- }
29
- }
30
- _ts_decorate([
31
- Column({
32
- type: 'uuid',
33
- nullable: true
34
- }),
35
- _ts_metadata("design:type", Object)
36
- ], FileManagerWithCompany.prototype, "companyId", void 0);
37
- _ts_decorate([
38
- ManyToOne('FolderWithCompany', (folder)=>folder.fileManager, {
39
- nullable: true,
40
- onDelete: 'SET NULL'
41
- }),
42
- JoinColumn({
43
- name: 'folder_id'
44
- }),
45
- _ts_metadata("design:type", Object)
46
- ], FileManagerWithCompany.prototype, "folder", void 0);
47
- FileManagerWithCompany = _ts_decorate([
48
- Entity({
49
- name: 'file_manager'
50
- })
51
- ], FileManagerWithCompany);
@@ -1,112 +0,0 @@
1
- function _define_property(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- function _ts_decorate(decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- 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;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- }
20
- function _ts_metadata(k, v) {
21
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
22
- }
23
- import { Identity } from '@flusys/nestjs-shared/entities';
24
- import { Column, Entity, JoinColumn, ManyToOne } from 'typeorm';
25
- export class FileManager extends Identity {
26
- constructor(...args){
27
- 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);
28
- }
29
- }
30
- _ts_decorate([
31
- Column({
32
- type: 'varchar',
33
- length: 255,
34
- nullable: false
35
- }),
36
- _ts_metadata("design:type", String)
37
- ], FileManager.prototype, "name", void 0);
38
- _ts_decorate([
39
- Column({
40
- type: 'varchar',
41
- length: 255,
42
- nullable: false
43
- }),
44
- _ts_metadata("design:type", String)
45
- ], FileManager.prototype, "contentType", void 0);
46
- _ts_decorate([
47
- Column({
48
- type: 'varchar',
49
- length: 255,
50
- nullable: false
51
- }),
52
- _ts_metadata("design:type", String)
53
- ], FileManager.prototype, "size", void 0);
54
- _ts_decorate([
55
- Column({
56
- type: 'text',
57
- nullable: false
58
- }),
59
- _ts_metadata("design:type", String)
60
- ], FileManager.prototype, "key", void 0);
61
- _ts_decorate([
62
- Column({
63
- type: 'text',
64
- nullable: true
65
- }),
66
- _ts_metadata("design:type", Object)
67
- ], FileManager.prototype, "url", void 0);
68
- _ts_decorate([
69
- Column({
70
- type: 'varchar',
71
- length: 50,
72
- nullable: false
73
- }),
74
- _ts_metadata("design:type", String)
75
- ], FileManager.prototype, "location", void 0);
76
- _ts_decorate([
77
- Column({
78
- type: 'uuid',
79
- nullable: true
80
- }),
81
- _ts_metadata("design:type", Object)
82
- ], FileManager.prototype, "storageConfigId", void 0);
83
- _ts_decorate([
84
- Column({
85
- type: 'bigint',
86
- nullable: true
87
- }),
88
- _ts_metadata("design:type", Object)
89
- ], FileManager.prototype, "expiresAt", void 0);
90
- _ts_decorate([
91
- Column({
92
- type: 'boolean',
93
- nullable: false,
94
- default: false
95
- }),
96
- _ts_metadata("design:type", Boolean)
97
- ], FileManager.prototype, "isPrivate", void 0);
98
- _ts_decorate([
99
- ManyToOne('Folder', (folder)=>folder.fileManager, {
100
- nullable: true,
101
- onDelete: 'SET NULL'
102
- }),
103
- JoinColumn({
104
- name: 'folder_id'
105
- }),
106
- _ts_metadata("design:type", Object)
107
- ], FileManager.prototype, "folder", void 0);
108
- FileManager = _ts_decorate([
109
- Entity({
110
- name: 'file_manager'
111
- })
112
- ], FileManager);
@@ -1,45 +0,0 @@
1
- function _define_property(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- function _ts_decorate(decorators, target, key, desc) {
15
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
- 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;
18
- return c > 3 && r && Object.defineProperty(target, key, r), r;
19
- }
20
- function _ts_metadata(k, v) {
21
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
22
- }
23
- import { Column, Entity, OneToMany } from 'typeorm';
24
- import { Folder } from './folder.entity';
25
- export class FolderWithCompany extends Folder {
26
- constructor(...args){
27
- super(...args), _define_property(this, "companyId", void 0);
28
- }
29
- }
30
- _ts_decorate([
31
- Column({
32
- type: 'uuid',
33
- nullable: true
34
- }),
35
- _ts_metadata("design:type", Object)
36
- ], FolderWithCompany.prototype, "companyId", void 0);
37
- _ts_decorate([
38
- OneToMany('FileManagerWithCompany', (fileManager)=>fileManager.folder),
39
- _ts_metadata("design:type", Array)
40
- ], FolderWithCompany.prototype, "fileManager", void 0);
41
- FolderWithCompany = _ts_decorate([
42
- Entity({
43
- name: 'folder'
44
- })
45
- ], FolderWithCompany);