cabloy 5.1.102 → 5.1.103

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 (127) hide show
  1. package/.cabloy-version +1 -1
  2. package/CHANGELOG.md +29 -0
  3. package/CLAUDE.local.md +4 -0
  4. package/cabloy-docs/.vitepress/config.mjs +3 -0
  5. package/cabloy-docs/backend/file-guide.md +148 -0
  6. package/cabloy-docs/backend/image-guide.md +40 -40
  7. package/cabloy-docs/backend/jwt-guide.md +21 -0
  8. package/cabloy-docs/frontend/file-guide.md +147 -0
  9. package/cabloy-docs/frontend/image-guide.md +18 -9
  10. package/cabloy-docs/frontend/model-state-guide.md +12 -0
  11. package/cabloy-docs/frontend/use-state-data-best-practices.md +54 -0
  12. package/cabloy-docs/fullstack/file-workflow.md +135 -0
  13. package/cabloy-docs/fullstack/image-workflow.md +12 -3
  14. package/package.json +1 -1
  15. package/vona/packages-vona/vona/package.json +1 -1
  16. package/vona/src/suite/a-training/modules/training-record/src/.metadata/index.ts +30 -4
  17. package/vona/src/suite/a-training/modules/training-record/src/bean/fileScene.dossierFile.ts +1 -1
  18. package/vona/src/suite/a-training/modules/training-record/src/bean/imageScene.sceneImage.ts +1 -0
  19. package/vona/src/suite/a-training/modules/training-record/src/dto/recordSelectResItem.tsx +8 -6
  20. package/vona/src/suite/a-training/modules/training-record/src/dto/recordView.tsx +8 -6
  21. package/vona/src/suite/a-training/modules/training-record/src/index.ts +0 -1
  22. package/vona/src/suite/a-training/modules/training-record/src/lib/index.ts +0 -1
  23. package/vona/src/suite/a-training/modules/training-record/test/record.test.ts +10 -12
  24. package/vona/src/suite/a-training/modules/training-student/src/bean/imageScene.studentImage.ts +1 -0
  25. package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordBase.tsx +9 -10
  26. package/vona/src/suite/a-training/modules/training-student/test/student.test.ts +2 -2
  27. package/vona/src/suite-vendor/a-file/modules/a-file/package.json +3 -2
  28. package/vona/src/suite-vendor/a-file/modules/a-file/src/.metadata/index.ts +155 -35
  29. package/vona/src/suite-vendor/a-file/modules/a-file/src/bean/bean.file.ts +283 -54
  30. package/vona/src/suite-vendor/a-file/modules/a-file/src/bean/bean.fileUploadPolicy.ts +46 -63
  31. package/vona/src/suite-vendor/a-file/modules/a-file/src/bean/meta.index.ts +12 -0
  32. package/vona/src/suite-vendor/a-file/modules/a-file/src/bean/meta.redlock.ts +1 -1
  33. package/vona/src/suite-vendor/a-file/modules/a-file/src/bean/meta.version.ts +3 -0
  34. package/vona/src/suite-vendor/a-file/modules/a-file/src/bean/schedule.fileDraftPrune.ts +29 -0
  35. package/vona/src/suite-vendor/a-file/modules/a-file/src/bean/serializerTransform.resolveView.ts +45 -0
  36. package/vona/src/suite-vendor/a-file/modules/a-file/src/bean/serializerTransform.resolveViews.ts +45 -0
  37. package/vona/src/suite-vendor/a-file/modules/a-file/src/config/config.ts +6 -0
  38. package/vona/src/suite-vendor/a-file/modules/a-file/src/controller/file.ts +64 -56
  39. package/vona/src/suite-vendor/a-file/modules/a-file/src/dto/fileDirectUploadFinalizeRequest.ts +13 -0
  40. package/vona/src/suite-vendor/a-file/modules/a-file/src/dto/fileDirectUploadFinalizeResponse.ts +10 -0
  41. package/vona/src/suite-vendor/a-file/modules/a-file/src/dto/fileDirectUploadRequest.ts +0 -3
  42. package/vona/src/suite-vendor/a-file/modules/a-file/src/dto/fileDirectUploadResponse.ts +2 -14
  43. package/vona/src/suite-vendor/a-file/modules/a-file/src/dto/fileDownloadRequest.ts +3 -0
  44. package/vona/src/suite-vendor/a-file/modules/a-file/src/dto/fileUploadPolicyResponse.ts +3 -0
  45. package/vona/src/suite-vendor/a-file/modules/a-file/src/dto/fileUploadResponse.ts +0 -25
  46. package/vona/src/{suite/a-training/modules/training-record/src/dto/recordDossierFileView.ts → suite-vendor/a-file/modules/a-file/src/dto/fileView.ts} +3 -15
  47. package/vona/src/suite-vendor/a-file/modules/a-file/src/entity/file.ts +10 -0
  48. package/vona/src/suite-vendor/a-file/modules/a-file/src/lib/fileUploadUrl.ts +329 -0
  49. package/vona/src/suite-vendor/a-file/modules/a-file/src/lib/index.ts +1 -0
  50. package/vona/src/suite-vendor/a-file/modules/a-file/src/types/file.ts +51 -10
  51. package/vona/src/suite-vendor/a-file/modules/a-file/src/types/fileProvider.ts +8 -3
  52. package/vona/src/suite-vendor/a-file/modules/a-file/src/types/fileScene.ts +1 -1
  53. package/vona/src/suite-vendor/a-file/modules/file-cloudflare/package.json +1 -1
  54. package/vona/src/suite-vendor/a-file/modules/file-cloudflare/src/bean/fileProvider.cloudflare.ts +12 -4
  55. package/vona/src/suite-vendor/a-file/modules/file-cloudflare/src/service/fileCloudflare.ts +52 -18
  56. package/vona/src/suite-vendor/a-file/modules/file-native/package.json +1 -1
  57. package/vona/src/suite-vendor/a-file/modules/file-native/src/bean/fileProvider.native.ts +5 -5
  58. package/vona/src/suite-vendor/a-file/modules/file-native/src/service/fileNative.ts +7 -8
  59. package/vona/src/suite-vendor/a-file/package.json +4 -4
  60. package/vona/src/suite-vendor/a-image/modules/a-image/package.json +1 -1
  61. package/vona/src/suite-vendor/a-image/modules/a-image/src/.metadata/index.ts +16 -19
  62. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/bean.image.ts +99 -74
  63. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/bean.imageUploadPolicy.ts +28 -68
  64. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/meta.version.ts +1 -1
  65. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/serializerTransform.resolveView.ts +3 -0
  66. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/serializerTransform.resolveViews.ts +3 -0
  67. package/vona/src/suite-vendor/a-image/modules/a-image/src/config/config.ts +4 -0
  68. package/vona/src/suite-vendor/a-image/modules/a-image/src/controller/image.ts +78 -34
  69. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageDeliveryRequest.ts +3 -0
  70. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageDirectUploadRequest.ts +0 -3
  71. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageDirectUploadResponse.ts +1 -27
  72. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadPolicyResponse.ts +6 -0
  73. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadResponse.ts +2 -36
  74. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadUrlRequest.ts +0 -3
  75. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageView.ts +4 -27
  76. package/vona/src/suite-vendor/a-image/modules/a-image/src/entity/image.ts +1 -1
  77. package/vona/src/suite-vendor/a-image/modules/a-image/src/types/image.ts +36 -29
  78. package/vona/src/suite-vendor/a-image/modules/a-image/src/types/imageProvider.ts +4 -4
  79. package/vona/src/suite-vendor/a-image/modules/a-image/src/types/imageScene.ts +1 -0
  80. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/package.json +1 -1
  81. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/bean/imageProvider.cloudflare.ts +8 -11
  82. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/lib/cloudflareImageUrl.ts +4 -16
  83. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/service/imageCloudflare.ts +17 -16
  84. package/vona/src/suite-vendor/a-image/modules/image-native/package.json +2 -6
  85. package/vona/src/suite-vendor/a-image/modules/image-native/src/.metadata/index.ts +0 -37
  86. package/vona/src/suite-vendor/a-image/modules/image-native/src/bean/imageProvider.native.ts +13 -36
  87. package/vona/src/suite-vendor/a-image/modules/image-native/src/service/imageNative.ts +100 -113
  88. package/vona/src/suite-vendor/a-image/package.json +1 -1
  89. package/vona/src/suite-vendor/a-vona/modules/a-jwt/package.json +1 -1
  90. package/vona/src/suite-vendor/a-vona/modules/a-jwt/src/config/config.ts +3 -1
  91. package/vona/src/suite-vendor/a-vona/modules/a-jwt/src/service/jwtClient.ts +9 -4
  92. package/vona/src/suite-vendor/a-vona/modules/a-upload/package.json +1 -1
  93. package/vona/src/suite-vendor/a-vona/modules/a-upload/src/bean/interceptor.upload.ts +113 -64
  94. package/vona/src/suite-vendor/a-vona/package.json +1 -1
  95. package/zova/packages-zova/zova/package.json +2 -2
  96. package/zova/src/suite/a-home/modules/home-api/src/api/openapi/schemas.ts +50 -12
  97. package/zova/src/suite/a-home/modules/home-api/src/api/openapi/types.ts +610 -114
  98. package/zova/src/suite/a-home/modules/home-passport/src/model/passport.ts +44 -1
  99. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/schemas.ts +50 -12
  100. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/types.ts +610 -114
  101. package/zova/src/suite/cabloy-basic/modules/basic-file/src/.metadata/index.ts +16 -12
  102. package/zova/src/suite/cabloy-basic/modules/basic-file/src/api/file.ts +25 -25
  103. package/zova/src/suite/cabloy-basic/modules/basic-file/src/api/openapi/schemas.ts +18 -24
  104. package/zova/src/suite/cabloy-basic/modules/basic-file/src/api/openapi/types.ts +228 -291
  105. package/zova/src/suite/cabloy-basic/modules/basic-file/src/apiSchema/file.ts +5 -5
  106. package/zova/src/suite/cabloy-basic/modules/basic-file/src/bean/tableCell.file.tsx +23 -5
  107. package/zova/src/suite/cabloy-basic/modules/basic-file/src/component/formFieldFile/controller.tsx +72 -43
  108. package/zova/src/suite/cabloy-basic/modules/basic-file/src/lib/file.ts +22 -4
  109. package/zova/src/suite/cabloy-basic/modules/basic-image/src/.metadata/index.ts +16 -42
  110. package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/image.ts +5 -25
  111. package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/openapi/schemas.ts +10 -24
  112. package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/openapi/types.ts +216 -333
  113. package/zova/src/suite/cabloy-basic/modules/basic-image/src/apiSchema/image.ts +0 -5
  114. package/zova/src/suite/cabloy-basic/modules/basic-image/src/bean/tableCell.image.tsx +38 -12
  115. package/zova/src/suite/cabloy-basic/modules/basic-image/src/component/formFieldImage/controller.tsx +79 -32
  116. package/zova/src/suite/cabloy-basic/modules/basic-image/src/lib/preview.ts +22 -4
  117. package/zova/src/suite/cabloy-basic/modules/basic-image/src/types/image.ts +3 -4
  118. package/zova/src/suite-vendor/a-zova/modules/a-model/package.json +1 -1
  119. package/zova/src/suite-vendor/a-zova/modules/a-model/src/lib/utils.ts +29 -1
  120. package/zova/src/suite-vendor/a-zova/modules/a-model/src/types/query.ts +2 -2
  121. package/zova/src/suite-vendor/a-zova/package.json +2 -2
  122. package/vona/src/suite/a-training/modules/training-record/src/lib/resolveDossierFiles.ts +0 -34
  123. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadTokenRequest.ts +0 -24
  124. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadTokenResponse.ts +0 -16
  125. package/vona/src/suite-vendor/a-image/modules/image-native/src/controller/image.ts +0 -57
  126. package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/imageNativeImage.ts +0 -31
  127. package/zova/src/suite/cabloy-basic/modules/basic-image/src/apiSchema/imageNativeImage.ts +0 -13
@@ -9,16 +9,16 @@ import type { IEntityOptionsFile } from '../entity/file.ts';
9
9
  import type { IEntityOptionsFileProvider } from '../entity/fileProvider.ts';
10
10
  import 'vona-module-a-orm';
11
11
  declare module 'vona-module-a-orm' {
12
-
12
+
13
13
  export interface IEntityRecord {
14
14
  'a-file:file': IEntityOptionsFile;
15
15
  'a-file:fileProvider': IEntityOptionsFileProvider;
16
16
  }
17
17
 
18
-
18
+
19
19
  }
20
20
  declare module 'vona-module-a-file' {
21
-
21
+
22
22
  }
23
23
  /** entity: end */
24
24
  /** entity: begin */
@@ -41,7 +41,7 @@ declare module 'vona-module-a-orm' {
41
41
  }
42
42
  }
43
43
  declare module 'vona-module-a-file' {
44
-
44
+
45
45
  export interface IEntityOptionsFile {
46
46
  fields?: TypeEntityOptionsFields<EntityFile, IEntityOptionsFile[TypeSymbolKeyFieldsMore]>;
47
47
  }
@@ -58,16 +58,16 @@ import type { IModelOptionsFile } from '../model/file.ts';
58
58
  import type { IModelOptionsFileProvider } from '../model/fileProvider.ts';
59
59
  import 'vona-module-a-orm';
60
60
  declare module 'vona-module-a-orm' {
61
-
61
+
62
62
  export interface IModelRecord {
63
63
  'a-file:file': IModelOptionsFile;
64
64
  'a-file:fileProvider': IModelOptionsFileProvider;
65
65
  }
66
66
 
67
-
67
+
68
68
  }
69
69
  declare module 'vona-module-a-file' {
70
-
70
+
71
71
  export interface ModelFile {
72
72
  /** @internal */
73
73
  get scope(): ScopeModuleAFile;
@@ -88,7 +88,7 @@ declare module 'vona-module-a-file' {
88
88
  get $beanFullName(): 'a-file.model.fileProvider';
89
89
  get $onionName(): 'a-file:fileProvider';
90
90
  get $onionOptions(): IModelOptionsFileProvider;
91
- }
91
+ }
92
92
  }
93
93
  /** model: end */
94
94
  /** model: begin */
@@ -113,7 +113,7 @@ declare module 'vona' {
113
113
  import type { IModelGetOptions, IModelMethodOptions, IModelSelectParams, TypeModelSelectAndCount, TypeModelRelationResult, TypeModelWhere, IModelInsertOptions, TypeModelMutateRelationData, IModelDeleteOptions, IModelUpdateOptions, IModelMutateOptions, IModelSelectCountParams, IModelIncrementParams, IModelSelectAggrParams, TypeModelAggrRelationResult, IModelSelectGroupParams, TypeModelGroupRelationResult } from 'vona-module-a-orm';
114
114
  import { SymbolKeyEntity, SymbolKeyEntityMeta, SymbolKeyModelOptions } from 'vona-module-a-orm';
115
115
  declare module 'vona-module-a-file' {
116
-
116
+
117
117
  export interface ModelFile {
118
118
  [SymbolKeyEntity]: EntityFile;
119
119
  [SymbolKeyEntityMeta]: EntityFileMeta;
@@ -181,11 +181,11 @@ export * from '../bean/bean.fileUploadPolicy.ts';
181
181
 
182
182
  import 'vona';
183
183
  declare module 'vona' {
184
-
185
-
184
+
185
+
186
186
  }
187
187
  declare module 'vona-module-a-file' {
188
-
188
+
189
189
  export interface BeanFile {
190
190
  /** @internal */
191
191
  get scope(): ScopeModuleAFile;
@@ -199,7 +199,7 @@ declare module 'vona-module-a-file' {
199
199
  export interface BeanFileUploadPolicy {
200
200
  /** @internal */
201
201
  get scope(): ScopeModuleAFile;
202
- }
202
+ }
203
203
  }
204
204
  /** bean: end */
205
205
  /** bean: begin */
@@ -216,21 +216,34 @@ declare module 'vona' {
216
216
  }
217
217
  /** bean: end */
218
218
  /** meta: begin */
219
+ export * from '../bean/meta.index.ts';
219
220
  export * from '../bean/meta.redlock.ts';
220
221
  export * from '../bean/meta.version.ts';
221
-
222
+ import type { IMetaOptionsIndex } from 'vona-module-a-index';
222
223
  import 'vona-module-a-meta';
223
224
  declare module 'vona-module-a-meta' {
224
-
225
+
225
226
  export interface IMetaRecord {
226
- 'a-file:redlock': never;
227
+ 'a-file:index': IMetaOptionsIndex;
228
+ 'a-file:redlock': never;
227
229
  'a-file:version': never;
228
230
  }
229
231
 
230
-
232
+
231
233
  }
232
234
  declare module 'vona-module-a-file' {
233
-
235
+
236
+ export interface MetaIndex {
237
+ /** @internal */
238
+ get scope(): ScopeModuleAFile;
239
+ }
240
+
241
+ export interface MetaIndex {
242
+ get $beanFullName(): 'a-file.meta.index';
243
+ get $onionName(): 'a-file:index';
244
+ get $onionOptions(): IMetaOptionsIndex;
245
+ }
246
+
234
247
  export interface MetaRedlock {
235
248
  /** @internal */
236
249
  get scope(): ScopeModuleAFile;
@@ -239,7 +252,7 @@ declare module 'vona-module-a-file' {
239
252
  export interface MetaRedlock {
240
253
  get $beanFullName(): 'a-file.meta.redlock';
241
254
  get $onionName(): 'a-file:redlock';
242
-
255
+
243
256
  }
244
257
 
245
258
  export interface MetaVersion {
@@ -250,57 +263,151 @@ declare module 'vona-module-a-file' {
250
263
  export interface MetaVersion {
251
264
  get $beanFullName(): 'a-file.meta.version';
252
265
  get $onionName(): 'a-file:version';
253
-
254
- }
266
+
267
+ }
255
268
  }
256
269
  /** meta: end */
257
270
  /** meta redlock: begin */
258
271
  import type { MetaRedlock } from '../bean/meta.redlock.ts';
259
272
  /** meta redlock: end */
273
+ /** schedule: begin */
274
+ export * from '../bean/schedule.fileDraftPrune.ts';
275
+
276
+ import { type IDecoratorScheduleOptions } from 'vona-module-a-schedule';
277
+ declare module 'vona-module-a-schedule' {
278
+
279
+ export interface IScheduleRecord {
280
+ 'a-file:fileDraftPrune': IDecoratorScheduleOptions;
281
+ }
282
+
283
+
284
+ }
285
+ declare module 'vona-module-a-file' {
286
+
287
+ export interface ScheduleFileDraftPrune {
288
+ /** @internal */
289
+ get scope(): ScopeModuleAFile;
290
+ }
291
+
292
+ export interface ScheduleFileDraftPrune {
293
+ get $beanFullName(): 'a-file.schedule.fileDraftPrune';
294
+ get $onionName(): 'a-file:fileDraftPrune';
295
+ get $onionOptions(): IDecoratorScheduleOptions;
296
+ }
297
+ }
298
+ /** schedule: end */
299
+ /** serializerTransform: begin */
300
+ export * from '../bean/serializerTransform.resolveView.ts';
301
+ export * from '../bean/serializerTransform.resolveViews.ts';
302
+ import type { ISerializerTransformOptionsResolveView } from '../bean/serializerTransform.resolveView.ts';
303
+ import type { ISerializerTransformOptionsResolveViews } from '../bean/serializerTransform.resolveViews.ts';
304
+ import 'vona-module-a-serialization';
305
+ declare module 'vona-module-a-serialization' {
306
+
307
+ export interface ISerializerTransformRecord {
308
+ 'a-file:resolveView': ISerializerTransformOptionsResolveView;
309
+ 'a-file:resolveViews': ISerializerTransformOptionsResolveViews;
310
+ }
311
+
312
+
313
+ }
314
+ declare module 'vona-module-a-file' {
315
+
316
+ export interface SerializerTransformResolveView {
317
+ /** @internal */
318
+ get scope(): ScopeModuleAFile;
319
+ }
320
+
321
+ export interface SerializerTransformResolveView {
322
+ get $beanFullName(): 'a-file.serializerTransform.resolveView';
323
+ get $onionName(): 'a-file:resolveView';
324
+ get $onionOptions(): ISerializerTransformOptionsResolveView;
325
+ }
326
+
327
+ export interface SerializerTransformResolveViews {
328
+ /** @internal */
329
+ get scope(): ScopeModuleAFile;
330
+ }
331
+
332
+ export interface SerializerTransformResolveViews {
333
+ get $beanFullName(): 'a-file.serializerTransform.resolveViews';
334
+ get $onionName(): 'a-file:resolveViews';
335
+ get $onionOptions(): ISerializerTransformOptionsResolveViews;
336
+ }
337
+ }
338
+ /** serializerTransform: end */
260
339
  /** dto: begin */
340
+ export * from '../dto/fileDirectUploadFinalizeRequest.ts';
341
+ export * from '../dto/fileDirectUploadFinalizeResponse.ts';
261
342
  export * from '../dto/fileDirectUploadRequest.ts';
262
343
  export * from '../dto/fileDirectUploadResponse.ts';
263
344
  export * from '../dto/fileDownloadRequest.ts';
345
+ export * from '../dto/fileUploadPolicyRequest.ts';
346
+ export * from '../dto/fileUploadPolicyResponse.ts';
264
347
  export * from '../dto/fileUploadResponse.ts';
265
348
  export * from '../dto/fileUploadTokenRequest.ts';
266
349
  export * from '../dto/fileUploadTokenResponse.ts';
267
350
  export * from '../dto/fileUploadUrlRequest.ts';
351
+ export * from '../dto/fileView.ts';
352
+ import type { IDtoOptionsFileDirectUploadFinalizeRequest } from '../dto/fileDirectUploadFinalizeRequest.ts';
353
+ import type { IDtoOptionsFileDirectUploadFinalizeResponse } from '../dto/fileDirectUploadFinalizeResponse.ts';
268
354
  import type { IDtoOptionsFileDirectUploadRequest } from '../dto/fileDirectUploadRequest.ts';
269
355
  import type { IDtoOptionsFileDirectUploadResponse } from '../dto/fileDirectUploadResponse.ts';
270
356
  import type { IDtoOptionsFileDownloadRequest } from '../dto/fileDownloadRequest.ts';
357
+ import type { IDtoOptionsFileUploadPolicyRequest } from '../dto/fileUploadPolicyRequest.ts';
358
+ import type { IDtoOptionsFileUploadPolicyResponse } from '../dto/fileUploadPolicyResponse.ts';
271
359
  import type { IDtoOptionsFileUploadResponse } from '../dto/fileUploadResponse.ts';
272
360
  import type { IDtoOptionsFileUploadTokenRequest } from '../dto/fileUploadTokenRequest.ts';
273
361
  import type { IDtoOptionsFileUploadTokenResponse } from '../dto/fileUploadTokenResponse.ts';
274
362
  import type { IDtoOptionsFileUploadUrlRequest } from '../dto/fileUploadUrlRequest.ts';
363
+ import type { IDtoOptionsFileView } from '../dto/fileView.ts';
275
364
  import 'vona-module-a-web';
276
365
  declare module 'vona-module-a-web' {
277
-
366
+
278
367
  export interface IDtoRecord {
279
- 'a-file:fileDirectUploadRequest': IDtoOptionsFileDirectUploadRequest;
368
+ 'a-file:fileDirectUploadFinalizeRequest': IDtoOptionsFileDirectUploadFinalizeRequest;
369
+ 'a-file:fileDirectUploadFinalizeResponse': IDtoOptionsFileDirectUploadFinalizeResponse;
370
+ 'a-file:fileDirectUploadRequest': IDtoOptionsFileDirectUploadRequest;
280
371
  'a-file:fileDirectUploadResponse': IDtoOptionsFileDirectUploadResponse;
281
372
  'a-file:fileDownloadRequest': IDtoOptionsFileDownloadRequest;
373
+ 'a-file:fileUploadPolicyRequest': IDtoOptionsFileUploadPolicyRequest;
374
+ 'a-file:fileUploadPolicyResponse': IDtoOptionsFileUploadPolicyResponse;
282
375
  'a-file:fileUploadResponse': IDtoOptionsFileUploadResponse;
283
376
  'a-file:fileUploadTokenRequest': IDtoOptionsFileUploadTokenRequest;
284
377
  'a-file:fileUploadTokenResponse': IDtoOptionsFileUploadTokenResponse;
285
378
  'a-file:fileUploadUrlRequest': IDtoOptionsFileUploadUrlRequest;
379
+ 'a-file:fileView': IDtoOptionsFileView;
286
380
  }
287
381
 
288
-
382
+
289
383
  }
290
384
  declare module 'vona-module-a-file' {
291
-
385
+
292
386
  }
293
387
  /** dto: end */
294
388
  /** dto: begin */
389
+ import type { DtoFileDirectUploadFinalizeRequest } from '../dto/fileDirectUploadFinalizeRequest.ts';
390
+ import type { DtoFileDirectUploadFinalizeResponse } from '../dto/fileDirectUploadFinalizeResponse.ts';
295
391
  import type { DtoFileDirectUploadRequest } from '../dto/fileDirectUploadRequest.ts';
296
392
  import type { DtoFileDirectUploadResponse } from '../dto/fileDirectUploadResponse.ts';
297
393
  import type { DtoFileDownloadRequest } from '../dto/fileDownloadRequest.ts';
394
+ import type { DtoFileUploadPolicyRequest } from '../dto/fileUploadPolicyRequest.ts';
395
+ import type { DtoFileUploadPolicyResponse } from '../dto/fileUploadPolicyResponse.ts';
298
396
  import type { DtoFileUploadResponse } from '../dto/fileUploadResponse.ts';
299
397
  import type { DtoFileUploadTokenRequest } from '../dto/fileUploadTokenRequest.ts';
300
398
  import type { DtoFileUploadTokenResponse } from '../dto/fileUploadTokenResponse.ts';
301
399
  import type { DtoFileUploadUrlRequest } from '../dto/fileUploadUrlRequest.ts';
400
+ import type { DtoFileView } from '../dto/fileView.ts';
302
401
  declare module 'vona-module-a-file' {
303
-
402
+
403
+ export interface IDtoOptionsFileDirectUploadFinalizeRequest {
404
+ fields?: TypeEntityOptionsFields<DtoFileDirectUploadFinalizeRequest, IDtoOptionsFileDirectUploadFinalizeRequest[TypeSymbolKeyFieldsMore]>;
405
+ }
406
+
407
+ export interface IDtoOptionsFileDirectUploadFinalizeResponse {
408
+ fields?: TypeEntityOptionsFields<DtoFileDirectUploadFinalizeResponse, IDtoOptionsFileDirectUploadFinalizeResponse[TypeSymbolKeyFieldsMore]>;
409
+ }
410
+
304
411
  export interface IDtoOptionsFileDirectUploadRequest {
305
412
  fields?: TypeEntityOptionsFields<DtoFileDirectUploadRequest, IDtoOptionsFileDirectUploadRequest[TypeSymbolKeyFieldsMore]>;
306
413
  }
@@ -313,6 +420,14 @@ declare module 'vona-module-a-file' {
313
420
  fields?: TypeEntityOptionsFields<DtoFileDownloadRequest, IDtoOptionsFileDownloadRequest[TypeSymbolKeyFieldsMore]>;
314
421
  }
315
422
 
423
+ export interface IDtoOptionsFileUploadPolicyRequest {
424
+ fields?: TypeEntityOptionsFields<DtoFileUploadPolicyRequest, IDtoOptionsFileUploadPolicyRequest[TypeSymbolKeyFieldsMore]>;
425
+ }
426
+
427
+ export interface IDtoOptionsFileUploadPolicyResponse {
428
+ fields?: TypeEntityOptionsFields<DtoFileUploadPolicyResponse, IDtoOptionsFileUploadPolicyResponse[TypeSymbolKeyFieldsMore]>;
429
+ }
430
+
316
431
  export interface IDtoOptionsFileUploadResponse {
317
432
  fields?: TypeEntityOptionsFields<DtoFileUploadResponse, IDtoOptionsFileUploadResponse[TypeSymbolKeyFieldsMore]>;
318
433
  }
@@ -328,6 +443,10 @@ declare module 'vona-module-a-file' {
328
443
  export interface IDtoOptionsFileUploadUrlRequest {
329
444
  fields?: TypeEntityOptionsFields<DtoFileUploadUrlRequest, IDtoOptionsFileUploadUrlRequest[TypeSymbolKeyFieldsMore]>;
330
445
  }
446
+
447
+ export interface IDtoOptionsFileView {
448
+ fields?: TypeEntityOptionsFields<DtoFileView, IDtoOptionsFileView[TypeSymbolKeyFieldsMore]>;
449
+ }
331
450
  }
332
451
  /** dto: end */
333
452
  /** controller: begin */
@@ -335,15 +454,15 @@ export * from '../controller/file.ts';
335
454
  import type { IControllerOptionsFile } from '../controller/file.ts';
336
455
  import 'vona-module-a-web';
337
456
  declare module 'vona-module-a-web' {
338
-
457
+
339
458
  export interface IControllerRecord {
340
459
  'a-file:file': IControllerOptionsFile;
341
460
  }
342
461
 
343
-
462
+
344
463
  }
345
464
  declare module 'vona-module-a-file' {
346
-
465
+
347
466
  export interface ControllerFile {
348
467
  /** @internal */
349
468
  get scope(): ScopeModuleAFile;
@@ -353,27 +472,28 @@ declare module 'vona-module-a-file' {
353
472
  get $beanFullName(): 'a-file.controller.file';
354
473
  get $onionName(): 'a-file:file';
355
474
  get $onionOptions(): IControllerOptionsFile;
356
- }
475
+ }
357
476
  }
358
477
  /** controller: end */
359
478
  /** controller: begin */
360
479
  // @ts-ignore ignore
361
480
  import type { ControllerFile } from '../controller/file.ts';
362
481
  declare module 'vona-module-a-file' {
363
-
482
+
364
483
  export interface IControllerOptionsFile {
365
484
  actions?: TypeControllerOptionsActions<ControllerFile>;
366
485
  }
367
486
  }
368
487
  declare module 'vona-module-a-web' {
369
488
  export interface IApiPathPostRecord{
370
- '/file/upload-token': undefined;
489
+ '/file/upload-policy': undefined;
371
490
  '/file/upload': undefined;
372
491
  '/file/direct-upload': undefined;
492
+ '/file/direct-upload/finalize': undefined;
373
493
  '/file/upload-url': undefined;
374
494
  }
375
495
  export interface IApiPathGetRecord{
376
- '/file/download/:fileId': undefined;
496
+ '/file/download': undefined;
377
497
  }
378
498
 
379
499
  }
@@ -411,7 +531,7 @@ declare module 'vona' {
411
531
  export interface IBeanScopeContainer {
412
532
  file: ScopeModuleAFile;
413
533
  }
414
-
534
+
415
535
  export interface IBeanScopeConfig {
416
536
  'a-file': ReturnType<typeof config>;
417
537
  }
@@ -420,6 +540,6 @@ declare module 'vona' {
420
540
  'a-file': (typeof locales)[TypeLocaleBase];
421
541
  }
422
542
 
423
-
543
+
424
544
  }
425
545
  /** scope: end */