@strapi/upload 5.21.0 → 5.23.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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var name = "@strapi/upload";
6
- var version = "5.21.0";
6
+ var version = "5.23.0";
7
7
  var description = "Makes it easy to upload images and files to your Strapi Application.";
8
8
  var license = "SEE LICENSE IN LICENSE";
9
9
  var author = {
@@ -67,8 +67,8 @@ var dependencies = {
67
67
  "@reduxjs/toolkit": "1.9.7",
68
68
  "@strapi/design-system": "2.0.0-rc.29",
69
69
  "@strapi/icons": "2.0.0-rc.29",
70
- "@strapi/provider-upload-local": "5.21.0",
71
- "@strapi/utils": "5.21.0",
70
+ "@strapi/provider-upload-local": "5.23.0",
71
+ "@strapi/utils": "5.23.0",
72
72
  "byte-size": "8.1.1",
73
73
  cropperjs: "1.6.1",
74
74
  "date-fns": "2.30.0",
@@ -91,8 +91,8 @@ var dependencies = {
91
91
  zod: "3.25.67"
92
92
  };
93
93
  var devDependencies = {
94
- "@strapi/admin": "5.21.0",
95
- "@strapi/types": "5.21.0",
94
+ "@strapi/admin": "5.23.0",
95
+ "@strapi/types": "5.23.0",
96
96
  "@testing-library/dom": "10.1.0",
97
97
  "@testing-library/react": "15.0.7",
98
98
  "@testing-library/user-event": "14.5.2",
@@ -1,5 +1,5 @@
1
1
  var name = "@strapi/upload";
2
- var version = "5.21.0";
2
+ var version = "5.23.0";
3
3
  var description = "Makes it easy to upload images and files to your Strapi Application.";
4
4
  var license = "SEE LICENSE IN LICENSE";
5
5
  var author = {
@@ -63,8 +63,8 @@ var dependencies = {
63
63
  "@reduxjs/toolkit": "1.9.7",
64
64
  "@strapi/design-system": "2.0.0-rc.29",
65
65
  "@strapi/icons": "2.0.0-rc.29",
66
- "@strapi/provider-upload-local": "5.21.0",
67
- "@strapi/utils": "5.21.0",
66
+ "@strapi/provider-upload-local": "5.23.0",
67
+ "@strapi/utils": "5.23.0",
68
68
  "byte-size": "8.1.1",
69
69
  cropperjs: "1.6.1",
70
70
  "date-fns": "2.30.0",
@@ -87,8 +87,8 @@ var dependencies = {
87
87
  zod: "3.25.67"
88
88
  };
89
89
  var devDependencies = {
90
- "@strapi/admin": "5.21.0",
91
- "@strapi/types": "5.21.0",
90
+ "@strapi/admin": "5.23.0",
91
+ "@strapi/types": "5.23.0",
92
92
  "@testing-library/dom": "10.1.0",
93
93
  "@testing-library/react": "15.0.7",
94
94
  "@testing-library/user-event": "14.5.2",
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var z = require('zod/v4');
4
+ var utils = require('@strapi/utils');
4
5
  var upload = require('./validation/upload.js');
5
6
 
6
7
  function _interopNamespaceDefault(e) {
@@ -22,69 +23,67 @@ function _interopNamespaceDefault(e) {
22
23
 
23
24
  var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
24
25
 
25
- const routes = ()=>{
26
+ const createRoutes = utils.createContentApiRoutesFactory(()=>{
26
27
  const validator = new upload.UploadRouteValidator(strapi);
27
- return {
28
- type: 'content-api',
29
- routes: [
30
- {
31
- method: 'POST',
32
- path: '/',
33
- handler: 'content-api.upload',
34
- request: {
35
- query: {
36
- id: validator.fileId.optional()
37
- }
38
- },
39
- response: z__namespace.union([
40
- validator.file,
41
- validator.files
42
- ])
28
+ return [
29
+ {
30
+ method: 'POST',
31
+ path: '/',
32
+ handler: 'content-api.upload',
33
+ request: {
34
+ query: {
35
+ id: validator.fileId.optional()
36
+ }
43
37
  },
44
- {
45
- method: 'GET',
46
- path: '/files',
47
- handler: 'content-api.find',
48
- request: {
49
- query: {
50
- fields: validator.queryFields.optional(),
51
- populate: validator.queryPopulate.optional(),
52
- sort: validator.querySort.optional(),
53
- pagination: validator.pagination.optional(),
54
- filters: validator.filters.optional()
55
- }
56
- },
57
- response: validator.files
38
+ response: z__namespace.union([
39
+ validator.file,
40
+ validator.files
41
+ ])
42
+ },
43
+ {
44
+ method: 'GET',
45
+ path: '/files',
46
+ handler: 'content-api.find',
47
+ request: {
48
+ query: {
49
+ fields: validator.queryFields.optional(),
50
+ populate: validator.queryPopulate.optional(),
51
+ sort: validator.querySort.optional(),
52
+ pagination: validator.pagination.optional(),
53
+ filters: validator.filters.optional()
54
+ }
58
55
  },
59
- {
60
- method: 'GET',
61
- path: '/files/:id',
62
- handler: 'content-api.findOne',
63
- request: {
64
- params: {
65
- id: validator.fileId
66
- },
67
- query: {
68
- fields: validator.queryFields.optional(),
69
- populate: validator.queryPopulate.optional()
70
- }
56
+ response: validator.files
57
+ },
58
+ {
59
+ method: 'GET',
60
+ path: '/files/:id',
61
+ handler: 'content-api.findOne',
62
+ request: {
63
+ params: {
64
+ id: validator.fileId
71
65
  },
72
- response: validator.file
66
+ query: {
67
+ fields: validator.queryFields.optional(),
68
+ populate: validator.queryPopulate.optional()
69
+ }
73
70
  },
74
- {
75
- method: 'DELETE',
76
- path: '/files/:id',
77
- handler: 'content-api.destroy',
78
- request: {
79
- params: {
80
- id: validator.fileId
81
- }
82
- },
83
- response: validator.file
84
- }
85
- ]
86
- };
87
- };
71
+ response: validator.file
72
+ },
73
+ {
74
+ method: 'DELETE',
75
+ path: '/files/:id',
76
+ handler: 'content-api.destroy',
77
+ request: {
78
+ params: {
79
+ id: validator.fileId
80
+ }
81
+ },
82
+ response: validator.file
83
+ }
84
+ ];
85
+ });
86
+ const routes = createRoutes;
88
87
 
89
88
  exports.routes = routes;
90
89
  //# sourceMappingURL=content-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.js","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport * as z from 'zod/v4';\nimport { UploadRouteValidator } from './validation';\n\nexport const routes = (): Core.RouterInput => {\n const validator = new UploadRouteValidator(strapi);\n\n return {\n type: 'content-api',\n routes: [\n {\n method: 'POST',\n path: '/',\n handler: 'content-api.upload',\n request: {\n query: { id: validator.fileId.optional() },\n // Note: multipart/form-data is handled by Koa middleware, not Zod\n },\n response: z.union([validator.file, validator.files]),\n },\n {\n method: 'GET',\n path: '/files',\n handler: 'content-api.find',\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n sort: validator.querySort.optional(),\n pagination: validator.pagination.optional(),\n filters: validator.filters.optional(),\n },\n },\n response: validator.files,\n },\n {\n method: 'GET',\n path: '/files/:id',\n handler: 'content-api.findOne',\n request: {\n params: { id: validator.fileId },\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.file,\n },\n {\n method: 'DELETE',\n path: '/files/:id',\n handler: 'content-api.destroy',\n request: {\n params: { id: validator.fileId },\n },\n response: validator.file,\n },\n ],\n };\n};\n"],"names":["routes","validator","UploadRouteValidator","strapi","type","method","path","handler","request","query","id","fileId","optional","response","z","union","file","files","fields","queryFields","populate","queryPopulate","sort","querySort","pagination","filters","params"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;MAIaA,MAAS,GAAA,IAAA;IACpB,MAAMC,SAAAA,GAAY,IAAIC,2BAAqBC,CAAAA,MAAAA,CAAAA;IAE3C,OAAO;QACLC,IAAM,EAAA,aAAA;QACNJ,MAAQ,EAAA;AACN,YAAA;gBACEK,MAAQ,EAAA,MAAA;gBACRC,IAAM,EAAA,GAAA;gBACNC,OAAS,EAAA,oBAAA;gBACTC,OAAS,EAAA;oBACPC,KAAO,EAAA;wBAAEC,EAAIT,EAAAA,SAAAA,CAAUU,MAAM,CAACC,QAAQ;AAAG;AAE3C,iBAAA;gBACAC,QAAUC,EAAAA,YAAAA,CAAEC,KAAK,CAAC;AAACd,oBAAAA,SAAAA,CAAUe,IAAI;AAAEf,oBAAAA,SAAAA,CAAUgB;AAAM,iBAAA;AACrD,aAAA;AACA,YAAA;gBACEZ,MAAQ,EAAA,KAAA;gBACRC,IAAM,EAAA,QAAA;gBACNC,OAAS,EAAA,kBAAA;gBACTC,OAAS,EAAA;oBACPC,KAAO,EAAA;wBACLS,MAAQjB,EAAAA,SAAAA,CAAUkB,WAAW,CAACP,QAAQ,EAAA;wBACtCQ,QAAUnB,EAAAA,SAAAA,CAAUoB,aAAa,CAACT,QAAQ,EAAA;wBAC1CU,IAAMrB,EAAAA,SAAAA,CAAUsB,SAAS,CAACX,QAAQ,EAAA;wBAClCY,UAAYvB,EAAAA,SAAAA,CAAUuB,UAAU,CAACZ,QAAQ,EAAA;wBACzCa,OAASxB,EAAAA,SAAAA,CAAUwB,OAAO,CAACb,QAAQ;AACrC;AACF,iBAAA;AACAC,gBAAAA,QAAAA,EAAUZ,UAAUgB;AACtB,aAAA;AACA,YAAA;gBACEZ,MAAQ,EAAA,KAAA;gBACRC,IAAM,EAAA,YAAA;gBACNC,OAAS,EAAA,qBAAA;gBACTC,OAAS,EAAA;oBACPkB,MAAQ,EAAA;AAAEhB,wBAAAA,EAAAA,EAAIT,UAAUU;AAAO,qBAAA;oBAC/BF,KAAO,EAAA;wBACLS,MAAQjB,EAAAA,SAAAA,CAAUkB,WAAW,CAACP,QAAQ,EAAA;wBACtCQ,QAAUnB,EAAAA,SAAAA,CAAUoB,aAAa,CAACT,QAAQ;AAC5C;AACF,iBAAA;AACAC,gBAAAA,QAAAA,EAAUZ,UAAUe;AACtB,aAAA;AACA,YAAA;gBACEX,MAAQ,EAAA,QAAA;gBACRC,IAAM,EAAA,YAAA;gBACNC,OAAS,EAAA,qBAAA;gBACTC,OAAS,EAAA;oBACPkB,MAAQ,EAAA;AAAEhB,wBAAAA,EAAAA,EAAIT,UAAUU;AAAO;AACjC,iBAAA;AACAE,gBAAAA,QAAAA,EAAUZ,UAAUe;AACtB;AACD;AACH,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"content-api.js","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport * as z from 'zod/v4';\nimport { createContentApiRoutesFactory } from '@strapi/utils';\nimport { UploadRouteValidator } from './validation';\n\nconst createRoutes = createContentApiRoutesFactory((): Core.RouterInput['routes'] => {\n const validator = new UploadRouteValidator(strapi);\n\n return [\n {\n method: 'POST',\n path: '/',\n handler: 'content-api.upload',\n request: {\n query: { id: validator.fileId.optional() },\n // Note: multipart/form-data is handled by Koa middleware, not Zod\n },\n response: z.union([validator.file, validator.files]),\n },\n {\n method: 'GET',\n path: '/files',\n handler: 'content-api.find',\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n sort: validator.querySort.optional(),\n pagination: validator.pagination.optional(),\n filters: validator.filters.optional(),\n },\n },\n response: validator.files,\n },\n {\n method: 'GET',\n path: '/files/:id',\n handler: 'content-api.findOne',\n request: {\n params: { id: validator.fileId },\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.file,\n },\n {\n method: 'DELETE',\n path: '/files/:id',\n handler: 'content-api.destroy',\n request: {\n params: { id: validator.fileId },\n },\n response: validator.file,\n },\n ];\n});\n\nexport const routes = createRoutes;\n"],"names":["createRoutes","createContentApiRoutesFactory","validator","UploadRouteValidator","strapi","method","path","handler","request","query","id","fileId","optional","response","z","union","file","files","fields","queryFields","populate","queryPopulate","sort","querySort","pagination","filters","params","routes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,eAAeC,mCAA8B,CAAA,IAAA;IACjD,MAAMC,SAAAA,GAAY,IAAIC,2BAAqBC,CAAAA,MAAAA,CAAAA;IAE3C,OAAO;AACL,QAAA;YACEC,MAAQ,EAAA,MAAA;YACRC,IAAM,EAAA,GAAA;YACNC,OAAS,EAAA,oBAAA;YACTC,OAAS,EAAA;gBACPC,KAAO,EAAA;oBAAEC,EAAIR,EAAAA,SAAAA,CAAUS,MAAM,CAACC,QAAQ;AAAG;AAE3C,aAAA;YACAC,QAAUC,EAAAA,YAAAA,CAAEC,KAAK,CAAC;AAACb,gBAAAA,SAAAA,CAAUc,IAAI;AAAEd,gBAAAA,SAAAA,CAAUe;AAAM,aAAA;AACrD,SAAA;AACA,QAAA;YACEZ,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,QAAA;YACNC,OAAS,EAAA,kBAAA;YACTC,OAAS,EAAA;gBACPC,KAAO,EAAA;oBACLS,MAAQhB,EAAAA,SAAAA,CAAUiB,WAAW,CAACP,QAAQ,EAAA;oBACtCQ,QAAUlB,EAAAA,SAAAA,CAAUmB,aAAa,CAACT,QAAQ,EAAA;oBAC1CU,IAAMpB,EAAAA,SAAAA,CAAUqB,SAAS,CAACX,QAAQ,EAAA;oBAClCY,UAAYtB,EAAAA,SAAAA,CAAUsB,UAAU,CAACZ,QAAQ,EAAA;oBACzCa,OAASvB,EAAAA,SAAAA,CAAUuB,OAAO,CAACb,QAAQ;AACrC;AACF,aAAA;AACAC,YAAAA,QAAAA,EAAUX,UAAUe;AACtB,SAAA;AACA,QAAA;YACEZ,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,YAAA;YACNC,OAAS,EAAA,qBAAA;YACTC,OAAS,EAAA;gBACPkB,MAAQ,EAAA;AAAEhB,oBAAAA,EAAAA,EAAIR,UAAUS;AAAO,iBAAA;gBAC/BF,KAAO,EAAA;oBACLS,MAAQhB,EAAAA,SAAAA,CAAUiB,WAAW,CAACP,QAAQ,EAAA;oBACtCQ,QAAUlB,EAAAA,SAAAA,CAAUmB,aAAa,CAACT,QAAQ;AAC5C;AACF,aAAA;AACAC,YAAAA,QAAAA,EAAUX,UAAUc;AACtB,SAAA;AACA,QAAA;YACEX,MAAQ,EAAA,QAAA;YACRC,IAAM,EAAA,YAAA;YACNC,OAAS,EAAA,qBAAA;YACTC,OAAS,EAAA;gBACPkB,MAAQ,EAAA;AAAEhB,oBAAAA,EAAAA,EAAIR,UAAUS;AAAO;AACjC,aAAA;AACAE,YAAAA,QAAAA,EAAUX,UAAUc;AACtB;AACD,KAAA;AACH,CAAA,CAAA;AAEO,MAAMW,SAAS3B;;;;"}
@@ -1,69 +1,68 @@
1
1
  import * as z from 'zod/v4';
2
+ import { createContentApiRoutesFactory } from '@strapi/utils';
2
3
  import { UploadRouteValidator } from './validation/upload.mjs';
3
4
 
4
- const routes = ()=>{
5
+ const createRoutes = createContentApiRoutesFactory(()=>{
5
6
  const validator = new UploadRouteValidator(strapi);
6
- return {
7
- type: 'content-api',
8
- routes: [
9
- {
10
- method: 'POST',
11
- path: '/',
12
- handler: 'content-api.upload',
13
- request: {
14
- query: {
15
- id: validator.fileId.optional()
16
- }
17
- },
18
- response: z.union([
19
- validator.file,
20
- validator.files
21
- ])
7
+ return [
8
+ {
9
+ method: 'POST',
10
+ path: '/',
11
+ handler: 'content-api.upload',
12
+ request: {
13
+ query: {
14
+ id: validator.fileId.optional()
15
+ }
22
16
  },
23
- {
24
- method: 'GET',
25
- path: '/files',
26
- handler: 'content-api.find',
27
- request: {
28
- query: {
29
- fields: validator.queryFields.optional(),
30
- populate: validator.queryPopulate.optional(),
31
- sort: validator.querySort.optional(),
32
- pagination: validator.pagination.optional(),
33
- filters: validator.filters.optional()
34
- }
35
- },
36
- response: validator.files
17
+ response: z.union([
18
+ validator.file,
19
+ validator.files
20
+ ])
21
+ },
22
+ {
23
+ method: 'GET',
24
+ path: '/files',
25
+ handler: 'content-api.find',
26
+ request: {
27
+ query: {
28
+ fields: validator.queryFields.optional(),
29
+ populate: validator.queryPopulate.optional(),
30
+ sort: validator.querySort.optional(),
31
+ pagination: validator.pagination.optional(),
32
+ filters: validator.filters.optional()
33
+ }
37
34
  },
38
- {
39
- method: 'GET',
40
- path: '/files/:id',
41
- handler: 'content-api.findOne',
42
- request: {
43
- params: {
44
- id: validator.fileId
45
- },
46
- query: {
47
- fields: validator.queryFields.optional(),
48
- populate: validator.queryPopulate.optional()
49
- }
35
+ response: validator.files
36
+ },
37
+ {
38
+ method: 'GET',
39
+ path: '/files/:id',
40
+ handler: 'content-api.findOne',
41
+ request: {
42
+ params: {
43
+ id: validator.fileId
50
44
  },
51
- response: validator.file
45
+ query: {
46
+ fields: validator.queryFields.optional(),
47
+ populate: validator.queryPopulate.optional()
48
+ }
52
49
  },
53
- {
54
- method: 'DELETE',
55
- path: '/files/:id',
56
- handler: 'content-api.destroy',
57
- request: {
58
- params: {
59
- id: validator.fileId
60
- }
61
- },
62
- response: validator.file
63
- }
64
- ]
65
- };
66
- };
50
+ response: validator.file
51
+ },
52
+ {
53
+ method: 'DELETE',
54
+ path: '/files/:id',
55
+ handler: 'content-api.destroy',
56
+ request: {
57
+ params: {
58
+ id: validator.fileId
59
+ }
60
+ },
61
+ response: validator.file
62
+ }
63
+ ];
64
+ });
65
+ const routes = createRoutes;
67
66
 
68
67
  export { routes };
69
68
  //# sourceMappingURL=content-api.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.mjs","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport * as z from 'zod/v4';\nimport { UploadRouteValidator } from './validation';\n\nexport const routes = (): Core.RouterInput => {\n const validator = new UploadRouteValidator(strapi);\n\n return {\n type: 'content-api',\n routes: [\n {\n method: 'POST',\n path: '/',\n handler: 'content-api.upload',\n request: {\n query: { id: validator.fileId.optional() },\n // Note: multipart/form-data is handled by Koa middleware, not Zod\n },\n response: z.union([validator.file, validator.files]),\n },\n {\n method: 'GET',\n path: '/files',\n handler: 'content-api.find',\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n sort: validator.querySort.optional(),\n pagination: validator.pagination.optional(),\n filters: validator.filters.optional(),\n },\n },\n response: validator.files,\n },\n {\n method: 'GET',\n path: '/files/:id',\n handler: 'content-api.findOne',\n request: {\n params: { id: validator.fileId },\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.file,\n },\n {\n method: 'DELETE',\n path: '/files/:id',\n handler: 'content-api.destroy',\n request: {\n params: { id: validator.fileId },\n },\n response: validator.file,\n },\n ],\n };\n};\n"],"names":["routes","validator","UploadRouteValidator","strapi","type","method","path","handler","request","query","id","fileId","optional","response","z","union","file","files","fields","queryFields","populate","queryPopulate","sort","querySort","pagination","filters","params"],"mappings":";;;MAIaA,MAAS,GAAA,IAAA;IACpB,MAAMC,SAAAA,GAAY,IAAIC,oBAAqBC,CAAAA,MAAAA,CAAAA;IAE3C,OAAO;QACLC,IAAM,EAAA,aAAA;QACNJ,MAAQ,EAAA;AACN,YAAA;gBACEK,MAAQ,EAAA,MAAA;gBACRC,IAAM,EAAA,GAAA;gBACNC,OAAS,EAAA,oBAAA;gBACTC,OAAS,EAAA;oBACPC,KAAO,EAAA;wBAAEC,EAAIT,EAAAA,SAAAA,CAAUU,MAAM,CAACC,QAAQ;AAAG;AAE3C,iBAAA;gBACAC,QAAUC,EAAAA,CAAAA,CAAEC,KAAK,CAAC;AAACd,oBAAAA,SAAAA,CAAUe,IAAI;AAAEf,oBAAAA,SAAAA,CAAUgB;AAAM,iBAAA;AACrD,aAAA;AACA,YAAA;gBACEZ,MAAQ,EAAA,KAAA;gBACRC,IAAM,EAAA,QAAA;gBACNC,OAAS,EAAA,kBAAA;gBACTC,OAAS,EAAA;oBACPC,KAAO,EAAA;wBACLS,MAAQjB,EAAAA,SAAAA,CAAUkB,WAAW,CAACP,QAAQ,EAAA;wBACtCQ,QAAUnB,EAAAA,SAAAA,CAAUoB,aAAa,CAACT,QAAQ,EAAA;wBAC1CU,IAAMrB,EAAAA,SAAAA,CAAUsB,SAAS,CAACX,QAAQ,EAAA;wBAClCY,UAAYvB,EAAAA,SAAAA,CAAUuB,UAAU,CAACZ,QAAQ,EAAA;wBACzCa,OAASxB,EAAAA,SAAAA,CAAUwB,OAAO,CAACb,QAAQ;AACrC;AACF,iBAAA;AACAC,gBAAAA,QAAAA,EAAUZ,UAAUgB;AACtB,aAAA;AACA,YAAA;gBACEZ,MAAQ,EAAA,KAAA;gBACRC,IAAM,EAAA,YAAA;gBACNC,OAAS,EAAA,qBAAA;gBACTC,OAAS,EAAA;oBACPkB,MAAQ,EAAA;AAAEhB,wBAAAA,EAAAA,EAAIT,UAAUU;AAAO,qBAAA;oBAC/BF,KAAO,EAAA;wBACLS,MAAQjB,EAAAA,SAAAA,CAAUkB,WAAW,CAACP,QAAQ,EAAA;wBACtCQ,QAAUnB,EAAAA,SAAAA,CAAUoB,aAAa,CAACT,QAAQ;AAC5C;AACF,iBAAA;AACAC,gBAAAA,QAAAA,EAAUZ,UAAUe;AACtB,aAAA;AACA,YAAA;gBACEX,MAAQ,EAAA,QAAA;gBACRC,IAAM,EAAA,YAAA;gBACNC,OAAS,EAAA,qBAAA;gBACTC,OAAS,EAAA;oBACPkB,MAAQ,EAAA;AAAEhB,wBAAAA,EAAAA,EAAIT,UAAUU;AAAO;AACjC,iBAAA;AACAE,gBAAAA,QAAAA,EAAUZ,UAAUe;AACtB;AACD;AACH,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"content-api.mjs","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport * as z from 'zod/v4';\nimport { createContentApiRoutesFactory } from '@strapi/utils';\nimport { UploadRouteValidator } from './validation';\n\nconst createRoutes = createContentApiRoutesFactory((): Core.RouterInput['routes'] => {\n const validator = new UploadRouteValidator(strapi);\n\n return [\n {\n method: 'POST',\n path: '/',\n handler: 'content-api.upload',\n request: {\n query: { id: validator.fileId.optional() },\n // Note: multipart/form-data is handled by Koa middleware, not Zod\n },\n response: z.union([validator.file, validator.files]),\n },\n {\n method: 'GET',\n path: '/files',\n handler: 'content-api.find',\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n sort: validator.querySort.optional(),\n pagination: validator.pagination.optional(),\n filters: validator.filters.optional(),\n },\n },\n response: validator.files,\n },\n {\n method: 'GET',\n path: '/files/:id',\n handler: 'content-api.findOne',\n request: {\n params: { id: validator.fileId },\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.file,\n },\n {\n method: 'DELETE',\n path: '/files/:id',\n handler: 'content-api.destroy',\n request: {\n params: { id: validator.fileId },\n },\n response: validator.file,\n },\n ];\n});\n\nexport const routes = createRoutes;\n"],"names":["createRoutes","createContentApiRoutesFactory","validator","UploadRouteValidator","strapi","method","path","handler","request","query","id","fileId","optional","response","z","union","file","files","fields","queryFields","populate","queryPopulate","sort","querySort","pagination","filters","params","routes"],"mappings":";;;;AAKA,MAAMA,eAAeC,6BAA8B,CAAA,IAAA;IACjD,MAAMC,SAAAA,GAAY,IAAIC,oBAAqBC,CAAAA,MAAAA,CAAAA;IAE3C,OAAO;AACL,QAAA;YACEC,MAAQ,EAAA,MAAA;YACRC,IAAM,EAAA,GAAA;YACNC,OAAS,EAAA,oBAAA;YACTC,OAAS,EAAA;gBACPC,KAAO,EAAA;oBAAEC,EAAIR,EAAAA,SAAAA,CAAUS,MAAM,CAACC,QAAQ;AAAG;AAE3C,aAAA;YACAC,QAAUC,EAAAA,CAAAA,CAAEC,KAAK,CAAC;AAACb,gBAAAA,SAAAA,CAAUc,IAAI;AAAEd,gBAAAA,SAAAA,CAAUe;AAAM,aAAA;AACrD,SAAA;AACA,QAAA;YACEZ,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,QAAA;YACNC,OAAS,EAAA,kBAAA;YACTC,OAAS,EAAA;gBACPC,KAAO,EAAA;oBACLS,MAAQhB,EAAAA,SAAAA,CAAUiB,WAAW,CAACP,QAAQ,EAAA;oBACtCQ,QAAUlB,EAAAA,SAAAA,CAAUmB,aAAa,CAACT,QAAQ,EAAA;oBAC1CU,IAAMpB,EAAAA,SAAAA,CAAUqB,SAAS,CAACX,QAAQ,EAAA;oBAClCY,UAAYtB,EAAAA,SAAAA,CAAUsB,UAAU,CAACZ,QAAQ,EAAA;oBACzCa,OAASvB,EAAAA,SAAAA,CAAUuB,OAAO,CAACb,QAAQ;AACrC;AACF,aAAA;AACAC,YAAAA,QAAAA,EAAUX,UAAUe;AACtB,SAAA;AACA,QAAA;YACEZ,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,YAAA;YACNC,OAAS,EAAA,qBAAA;YACTC,OAAS,EAAA;gBACPkB,MAAQ,EAAA;AAAEhB,oBAAAA,EAAAA,EAAIR,UAAUS;AAAO,iBAAA;gBAC/BF,KAAO,EAAA;oBACLS,MAAQhB,EAAAA,SAAAA,CAAUiB,WAAW,CAACP,QAAQ,EAAA;oBACtCQ,QAAUlB,EAAAA,SAAAA,CAAUmB,aAAa,CAACT,QAAQ;AAC5C;AACF,aAAA;AACAC,YAAAA,QAAAA,EAAUX,UAAUc;AACtB,SAAA;AACA,QAAA;YACEX,MAAQ,EAAA,QAAA;YACRC,IAAM,EAAA,YAAA;YACNC,OAAS,EAAA,qBAAA;YACTC,OAAS,EAAA;gBACPkB,MAAQ,EAAA;AAAEhB,oBAAAA,EAAAA,EAAIR,UAAUS;AAAO;AACjC,aAAA;AACAE,YAAAA,QAAAA,EAAUX,UAAUc;AACtB;AACD,KAAA;AACH,CAAA,CAAA;AAEO,MAAMW,SAAS3B;;;;"}
@@ -30,7 +30,10 @@ declare const _default: () => {
30
30
  };
31
31
  }[];
32
32
  };
33
- 'content-api': () => import("@strapi/types/dist/core").RouterInput;
33
+ 'content-api': () => {
34
+ type: "content-api";
35
+ routes: import("@strapi/types/dist/core").RouteInput[];
36
+ };
34
37
  viewConfiguration: {
35
38
  type: string;
36
39
  routes: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOxC,wBAQG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOxC,wBAQG"}
@@ -1,3 +1,6 @@
1
1
  import type { Core } from '@strapi/types';
2
- export declare const routes: () => Core.RouterInput;
2
+ export declare const routes: () => {
3
+ type: "content-api";
4
+ routes: Core.RouteInput[];
5
+ };
3
6
  //# sourceMappingURL=content-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-api.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/content-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,eAAO,MAAM,MAAM,QAAO,KAAK,WAuD9B,CAAC"}
1
+ {"version":3,"file":"content-api.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/content-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AA2D1C,eAAO,MAAM,MAAM;;;CAAe,CAAC"}
@@ -15,7 +15,10 @@ export declare const routes: {
15
15
  };
16
16
  }[];
17
17
  };
18
- 'content-api': () => import("@strapi/types/dist/core").RouterInput;
18
+ 'content-api': () => {
19
+ type: "content-api";
20
+ routes: import("@strapi/types/dist/core").RouteInput[];
21
+ };
19
22
  viewConfiguration: {
20
23
  type: string;
21
24
  routes: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/upload",
3
- "version": "5.21.0",
3
+ "version": "5.23.0",
4
4
  "description": "Makes it easy to upload images and files to your Strapi Application.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": {
@@ -64,8 +64,8 @@
64
64
  "@reduxjs/toolkit": "1.9.7",
65
65
  "@strapi/design-system": "2.0.0-rc.29",
66
66
  "@strapi/icons": "2.0.0-rc.29",
67
- "@strapi/provider-upload-local": "5.21.0",
68
- "@strapi/utils": "5.21.0",
67
+ "@strapi/provider-upload-local": "5.23.0",
68
+ "@strapi/utils": "5.23.0",
69
69
  "byte-size": "8.1.1",
70
70
  "cropperjs": "1.6.1",
71
71
  "date-fns": "2.30.0",
@@ -88,8 +88,8 @@
88
88
  "zod": "3.25.67"
89
89
  },
90
90
  "devDependencies": {
91
- "@strapi/admin": "5.21.0",
92
- "@strapi/types": "5.21.0",
91
+ "@strapi/admin": "5.23.0",
92
+ "@strapi/types": "5.23.0",
93
93
  "@testing-library/dom": "10.1.0",
94
94
  "@testing-library/react": "15.0.7",
95
95
  "@testing-library/user-event": "14.5.2",