@strapi/upload 5.19.0 → 5.21.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.
- package/dist/admin/components/FilterPopover/FilterPopover.js +3 -0
- package/dist/admin/components/FilterPopover/FilterPopover.js.map +1 -1
- package/dist/admin/components/FilterPopover/FilterPopover.mjs +3 -0
- package/dist/admin/components/FilterPopover/FilterPopover.mjs.map +1 -1
- package/dist/admin/hooks/useBulkRemove.js +5 -0
- package/dist/admin/hooks/useBulkRemove.js.map +1 -1
- package/dist/admin/hooks/useBulkRemove.mjs +6 -1
- package/dist/admin/hooks/useBulkRemove.mjs.map +1 -1
- package/dist/admin/hooks/useRemoveAsset.js +5 -0
- package/dist/admin/hooks/useRemoveAsset.js.map +1 -1
- package/dist/admin/hooks/useRemoveAsset.mjs +6 -1
- package/dist/admin/hooks/useRemoveAsset.mjs.map +1 -1
- package/dist/admin/hooks/useUpload.js +5 -0
- package/dist/admin/hooks/useUpload.js.map +1 -1
- package/dist/admin/hooks/useUpload.mjs +6 -1
- package/dist/admin/hooks/useUpload.mjs.map +1 -1
- package/dist/admin/package.json.js +8 -6
- package/dist/admin/package.json.js.map +1 -1
- package/dist/admin/package.json.mjs +8 -6
- package/dist/admin/package.json.mjs.map +1 -1
- package/dist/server/routes/content-api.js +84 -24
- package/dist/server/routes/content-api.js.map +1 -1
- package/dist/server/routes/content-api.mjs +65 -24
- package/dist/server/routes/content-api.mjs.map +1 -1
- package/dist/server/routes/validation/upload.js +99 -0
- package/dist/server/routes/validation/upload.js.map +1 -0
- package/dist/server/routes/validation/upload.mjs +78 -0
- package/dist/server/routes/validation/upload.mjs.map +1 -0
- package/dist/server/src/index.d.ts +1 -8
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/content-api.d.ts +2 -8
- package/dist/server/src/routes/content-api.d.ts.map +1 -1
- package/dist/server/src/routes/index.d.ts +1 -8
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/routes/validation/index.d.ts +2 -0
- package/dist/server/src/routes/validation/index.d.ts.map +1 -0
- package/dist/server/src/routes/validation/upload.d.ts +94 -0
- package/dist/server/src/routes/validation/upload.d.ts.map +1 -0
- package/package.json +8 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,29 +1,89 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
3
|
+
var z = require('zod/v4');
|
|
4
|
+
var upload = require('./validation/upload.js');
|
|
5
|
+
|
|
6
|
+
function _interopNamespaceDefault(e) {
|
|
7
|
+
var n = Object.create(null);
|
|
8
|
+
if (e) {
|
|
9
|
+
Object.keys(e).forEach(function (k) {
|
|
10
|
+
if (k !== 'default') {
|
|
11
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return e[k]; }
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
|
|
24
|
+
|
|
25
|
+
const routes = ()=>{
|
|
26
|
+
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
|
+
])
|
|
43
|
+
},
|
|
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
|
|
58
|
+
},
|
|
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
|
+
}
|
|
71
|
+
},
|
|
72
|
+
response: validator.file
|
|
73
|
+
},
|
|
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
|
+
};
|
|
27
87
|
};
|
|
28
88
|
|
|
29
89
|
exports.routes = routes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-api.js","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["
|
|
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,27 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { UploadRouteValidator } from './validation/upload.mjs';
|
|
3
|
+
|
|
4
|
+
const routes = ()=>{
|
|
5
|
+
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
|
+
])
|
|
22
|
+
},
|
|
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
|
|
37
|
+
},
|
|
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
|
+
}
|
|
50
|
+
},
|
|
51
|
+
response: validator.file
|
|
52
|
+
},
|
|
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
|
+
};
|
|
25
66
|
};
|
|
26
67
|
|
|
27
68
|
export { routes };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-api.mjs","sources":["../../../server/src/routes/content-api.ts"],"sourcesContent":["
|
|
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;;;;"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('@strapi/utils');
|
|
4
|
+
var z = require('zod/v4');
|
|
5
|
+
|
|
6
|
+
function _interopNamespaceDefault(e) {
|
|
7
|
+
var n = Object.create(null);
|
|
8
|
+
if (e) {
|
|
9
|
+
Object.keys(e).forEach(function (k) {
|
|
10
|
+
if (k !== 'default') {
|
|
11
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return e[k]; }
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
n.default = e;
|
|
20
|
+
return Object.freeze(n);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* UploadRouteValidator provides validation for upload/file routes.
|
|
27
|
+
*
|
|
28
|
+
* Extends the AbstractRouteValidator to inherit common query parameter validation
|
|
29
|
+
* while adding file-specific validation schemas.
|
|
30
|
+
*/ class UploadRouteValidator extends utils.AbstractRouteValidator {
|
|
31
|
+
/**
|
|
32
|
+
* File schema for upload responses
|
|
33
|
+
* Defines the structure of a file object returned by the upload API
|
|
34
|
+
*/ get file() {
|
|
35
|
+
return z__namespace.object({
|
|
36
|
+
id: this.fileId,
|
|
37
|
+
documentId: z__namespace.uuid(),
|
|
38
|
+
name: z__namespace.string(),
|
|
39
|
+
alternativeText: z__namespace.string().nullable().optional(),
|
|
40
|
+
caption: z__namespace.string().nullable().optional(),
|
|
41
|
+
width: z__namespace.number().int().optional(),
|
|
42
|
+
height: z__namespace.number().int().optional(),
|
|
43
|
+
formats: z__namespace.record(z__namespace.string(), z__namespace.unknown()).optional(),
|
|
44
|
+
hash: z__namespace.string(),
|
|
45
|
+
ext: z__namespace.string().optional(),
|
|
46
|
+
mime: z__namespace.string(),
|
|
47
|
+
size: z__namespace.number(),
|
|
48
|
+
url: z__namespace.string(),
|
|
49
|
+
previewUrl: z__namespace.string().nullable().optional(),
|
|
50
|
+
folder: z__namespace.number().optional(),
|
|
51
|
+
folderPath: z__namespace.string(),
|
|
52
|
+
provider: z__namespace.string(),
|
|
53
|
+
provider_metadata: z__namespace.record(z__namespace.string(), z__namespace.unknown()).nullable().optional(),
|
|
54
|
+
createdAt: z__namespace.string(),
|
|
55
|
+
updatedAt: z__namespace.string(),
|
|
56
|
+
createdBy: z__namespace.number().optional(),
|
|
57
|
+
updatedBy: z__namespace.number().optional()
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Array of files schema
|
|
62
|
+
*/ get files() {
|
|
63
|
+
return z__namespace.array(this.file);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* File ID parameter validation
|
|
67
|
+
*/ get fileId() {
|
|
68
|
+
return z__namespace.number().int().positive();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Upload request body schema for single file uploads
|
|
72
|
+
*/ get uploadBody() {
|
|
73
|
+
return z__namespace.object({
|
|
74
|
+
fileInfo: z__namespace.object({
|
|
75
|
+
name: z__namespace.string().optional(),
|
|
76
|
+
alternativeText: z__namespace.string().optional(),
|
|
77
|
+
caption: z__namespace.string().optional()
|
|
78
|
+
}).optional()
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Upload request body schema for multiple file uploads
|
|
83
|
+
*/ get multiUploadBody() {
|
|
84
|
+
return z__namespace.object({
|
|
85
|
+
fileInfo: z__namespace.array(z__namespace.object({
|
|
86
|
+
name: z__namespace.string().optional(),
|
|
87
|
+
alternativeText: z__namespace.string().optional(),
|
|
88
|
+
caption: z__namespace.string().optional()
|
|
89
|
+
})).optional()
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
constructor(strapi){
|
|
93
|
+
super();
|
|
94
|
+
this._strapi = strapi;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
exports.UploadRouteValidator = UploadRouteValidator;
|
|
99
|
+
//# sourceMappingURL=upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.js","sources":["../../../../server/src/routes/validation/upload.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { AbstractRouteValidator, type QueryParam } from '@strapi/utils';\nimport * as z from 'zod/v4';\n\nexport type FileQueryParam = QueryParam;\n\n/**\n * UploadRouteValidator provides validation for upload/file routes.\n *\n * Extends the AbstractRouteValidator to inherit common query parameter validation\n * while adding file-specific validation schemas.\n */\nexport class UploadRouteValidator extends AbstractRouteValidator {\n protected readonly _strapi: Core.Strapi;\n\n public constructor(strapi: Core.Strapi) {\n super();\n this._strapi = strapi;\n }\n\n /**\n * File schema for upload responses\n * Defines the structure of a file object returned by the upload API\n */\n get file() {\n return z.object({\n id: this.fileId,\n documentId: z.uuid(),\n name: z.string(),\n alternativeText: z.string().nullable().optional(),\n caption: z.string().nullable().optional(),\n width: z.number().int().optional(),\n height: z.number().int().optional(),\n formats: z.record(z.string(), z.unknown()).optional(),\n hash: z.string(),\n ext: z.string().optional(),\n mime: z.string(),\n size: z.number(),\n url: z.string(),\n previewUrl: z.string().nullable().optional(),\n folder: z.number().optional(),\n folderPath: z.string(),\n provider: z.string(),\n provider_metadata: z.record(z.string(), z.unknown()).nullable().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n createdBy: z.number().optional(),\n updatedBy: z.number().optional(),\n });\n }\n\n /**\n * Array of files schema\n */\n get files() {\n return z.array(this.file);\n }\n\n /**\n * File ID parameter validation\n */\n get fileId() {\n return z.number().int().positive();\n }\n\n /**\n * Upload request body schema for single file uploads\n */\n get uploadBody() {\n return z.object({\n fileInfo: z\n .object({\n name: z.string().optional(),\n alternativeText: z.string().optional(),\n caption: z.string().optional(),\n })\n .optional(),\n });\n }\n\n /**\n * Upload request body schema for multiple file uploads\n */\n get multiUploadBody() {\n return z.object({\n fileInfo: z\n .array(\n z.object({\n name: z.string().optional(),\n alternativeText: z.string().optional(),\n caption: z.string().optional(),\n })\n )\n .optional(),\n });\n }\n\n // Note: queryParams() method is inherited from AbstractRouteValidator\n // and provides validation for ['fields', 'populate', 'sort', 'pagination', 'filters']\n}\n"],"names":["UploadRouteValidator","AbstractRouteValidator","file","z","object","id","fileId","documentId","uuid","name","string","alternativeText","nullable","optional","caption","width","number","int","height","formats","record","unknown","hash","ext","mime","size","url","previewUrl","folder","folderPath","provider","provider_metadata","createdAt","updatedAt","createdBy","updatedBy","files","array","positive","uploadBody","fileInfo","multiUploadBody","strapi","_strapi"],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { AbstractRouteValidator } from '@strapi/utils';
|
|
2
|
+
import * as z from 'zod/v4';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* UploadRouteValidator provides validation for upload/file routes.
|
|
6
|
+
*
|
|
7
|
+
* Extends the AbstractRouteValidator to inherit common query parameter validation
|
|
8
|
+
* while adding file-specific validation schemas.
|
|
9
|
+
*/ class UploadRouteValidator extends AbstractRouteValidator {
|
|
10
|
+
/**
|
|
11
|
+
* File schema for upload responses
|
|
12
|
+
* Defines the structure of a file object returned by the upload API
|
|
13
|
+
*/ get file() {
|
|
14
|
+
return z.object({
|
|
15
|
+
id: this.fileId,
|
|
16
|
+
documentId: z.uuid(),
|
|
17
|
+
name: z.string(),
|
|
18
|
+
alternativeText: z.string().nullable().optional(),
|
|
19
|
+
caption: z.string().nullable().optional(),
|
|
20
|
+
width: z.number().int().optional(),
|
|
21
|
+
height: z.number().int().optional(),
|
|
22
|
+
formats: z.record(z.string(), z.unknown()).optional(),
|
|
23
|
+
hash: z.string(),
|
|
24
|
+
ext: z.string().optional(),
|
|
25
|
+
mime: z.string(),
|
|
26
|
+
size: z.number(),
|
|
27
|
+
url: z.string(),
|
|
28
|
+
previewUrl: z.string().nullable().optional(),
|
|
29
|
+
folder: z.number().optional(),
|
|
30
|
+
folderPath: z.string(),
|
|
31
|
+
provider: z.string(),
|
|
32
|
+
provider_metadata: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
33
|
+
createdAt: z.string(),
|
|
34
|
+
updatedAt: z.string(),
|
|
35
|
+
createdBy: z.number().optional(),
|
|
36
|
+
updatedBy: z.number().optional()
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Array of files schema
|
|
41
|
+
*/ get files() {
|
|
42
|
+
return z.array(this.file);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* File ID parameter validation
|
|
46
|
+
*/ get fileId() {
|
|
47
|
+
return z.number().int().positive();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Upload request body schema for single file uploads
|
|
51
|
+
*/ get uploadBody() {
|
|
52
|
+
return z.object({
|
|
53
|
+
fileInfo: z.object({
|
|
54
|
+
name: z.string().optional(),
|
|
55
|
+
alternativeText: z.string().optional(),
|
|
56
|
+
caption: z.string().optional()
|
|
57
|
+
}).optional()
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Upload request body schema for multiple file uploads
|
|
62
|
+
*/ get multiUploadBody() {
|
|
63
|
+
return z.object({
|
|
64
|
+
fileInfo: z.array(z.object({
|
|
65
|
+
name: z.string().optional(),
|
|
66
|
+
alternativeText: z.string().optional(),
|
|
67
|
+
caption: z.string().optional()
|
|
68
|
+
})).optional()
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
constructor(strapi){
|
|
72
|
+
super();
|
|
73
|
+
this._strapi = strapi;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { UploadRouteValidator };
|
|
78
|
+
//# sourceMappingURL=upload.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.mjs","sources":["../../../../server/src/routes/validation/upload.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { AbstractRouteValidator, type QueryParam } from '@strapi/utils';\nimport * as z from 'zod/v4';\n\nexport type FileQueryParam = QueryParam;\n\n/**\n * UploadRouteValidator provides validation for upload/file routes.\n *\n * Extends the AbstractRouteValidator to inherit common query parameter validation\n * while adding file-specific validation schemas.\n */\nexport class UploadRouteValidator extends AbstractRouteValidator {\n protected readonly _strapi: Core.Strapi;\n\n public constructor(strapi: Core.Strapi) {\n super();\n this._strapi = strapi;\n }\n\n /**\n * File schema for upload responses\n * Defines the structure of a file object returned by the upload API\n */\n get file() {\n return z.object({\n id: this.fileId,\n documentId: z.uuid(),\n name: z.string(),\n alternativeText: z.string().nullable().optional(),\n caption: z.string().nullable().optional(),\n width: z.number().int().optional(),\n height: z.number().int().optional(),\n formats: z.record(z.string(), z.unknown()).optional(),\n hash: z.string(),\n ext: z.string().optional(),\n mime: z.string(),\n size: z.number(),\n url: z.string(),\n previewUrl: z.string().nullable().optional(),\n folder: z.number().optional(),\n folderPath: z.string(),\n provider: z.string(),\n provider_metadata: z.record(z.string(), z.unknown()).nullable().optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n createdBy: z.number().optional(),\n updatedBy: z.number().optional(),\n });\n }\n\n /**\n * Array of files schema\n */\n get files() {\n return z.array(this.file);\n }\n\n /**\n * File ID parameter validation\n */\n get fileId() {\n return z.number().int().positive();\n }\n\n /**\n * Upload request body schema for single file uploads\n */\n get uploadBody() {\n return z.object({\n fileInfo: z\n .object({\n name: z.string().optional(),\n alternativeText: z.string().optional(),\n caption: z.string().optional(),\n })\n .optional(),\n });\n }\n\n /**\n * Upload request body schema for multiple file uploads\n */\n get multiUploadBody() {\n return z.object({\n fileInfo: z\n .array(\n z.object({\n name: z.string().optional(),\n alternativeText: z.string().optional(),\n caption: z.string().optional(),\n })\n )\n .optional(),\n });\n }\n\n // Note: queryParams() method is inherited from AbstractRouteValidator\n // and provides validation for ['fields', 'populate', 'sort', 'pagination', 'filters']\n}\n"],"names":["UploadRouteValidator","AbstractRouteValidator","file","z","object","id","fileId","documentId","uuid","name","string","alternativeText","nullable","optional","caption","width","number","int","height","formats","record","unknown","hash","ext","mime","size","url","previewUrl","folder","folderPath","provider","provider_metadata","createdAt","updatedAt","createdBy","updatedBy","files","array","positive","uploadBody","fileInfo","multiUploadBody","strapi","_strapi"],"mappings":";;;AAMA;;;;;IAMO,MAAMA,oBAA6BC,SAAAA,sBAAAA,CAAAA;AAQxC;;;AAGC,MACD,IAAIC,IAAO,GAAA;QACT,OAAOC,CAAAA,CAAEC,MAAM,CAAC;YACdC,EAAI,EAAA,IAAI,CAACC,MAAM;AACfC,YAAAA,UAAAA,EAAYJ,EAAEK,IAAI,EAAA;AAClBC,YAAAA,IAAAA,EAAMN,EAAEO,MAAM,EAAA;AACdC,YAAAA,eAAAA,EAAiBR,CAAEO,CAAAA,MAAM,EAAGE,CAAAA,QAAQ,GAAGC,QAAQ,EAAA;AAC/CC,YAAAA,OAAAA,EAASX,CAAEO,CAAAA,MAAM,EAAGE,CAAAA,QAAQ,GAAGC,QAAQ,EAAA;AACvCE,YAAAA,KAAAA,EAAOZ,CAAEa,CAAAA,MAAM,EAAGC,CAAAA,GAAG,GAAGJ,QAAQ,EAAA;AAChCK,YAAAA,MAAAA,EAAQf,CAAEa,CAAAA,MAAM,EAAGC,CAAAA,GAAG,GAAGJ,QAAQ,EAAA;YACjCM,OAAShB,EAAAA,CAAAA,CAAEiB,MAAM,CAACjB,CAAAA,CAAEO,MAAM,EAAIP,EAAAA,CAAAA,CAAEkB,OAAO,EAAA,CAAA,CAAIR,QAAQ,EAAA;AACnDS,YAAAA,IAAAA,EAAMnB,EAAEO,MAAM,EAAA;YACda,GAAKpB,EAAAA,CAAAA,CAAEO,MAAM,EAAA,CAAGG,QAAQ,EAAA;AACxBW,YAAAA,IAAAA,EAAMrB,EAAEO,MAAM,EAAA;AACde,YAAAA,IAAAA,EAAMtB,EAAEa,MAAM,EAAA;AACdU,YAAAA,GAAAA,EAAKvB,EAAEO,MAAM,EAAA;AACbiB,YAAAA,UAAAA,EAAYxB,CAAEO,CAAAA,MAAM,EAAGE,CAAAA,QAAQ,GAAGC,QAAQ,EAAA;YAC1Ce,MAAQzB,EAAAA,CAAAA,CAAEa,MAAM,EAAA,CAAGH,QAAQ,EAAA;AAC3BgB,YAAAA,UAAAA,EAAY1B,EAAEO,MAAM,EAAA;AACpBoB,YAAAA,QAAAA,EAAU3B,EAAEO,MAAM,EAAA;YAClBqB,iBAAmB5B,EAAAA,CAAAA,CAAEiB,MAAM,CAACjB,CAAEO,CAAAA,MAAM,EAAIP,EAAAA,CAAAA,CAAEkB,OAAO,EAAA,CAAA,CAAIT,QAAQ,EAAA,CAAGC,QAAQ,EAAA;AACxEmB,YAAAA,SAAAA,EAAW7B,EAAEO,MAAM,EAAA;AACnBuB,YAAAA,SAAAA,EAAW9B,EAAEO,MAAM,EAAA;YACnBwB,SAAW/B,EAAAA,CAAAA,CAAEa,MAAM,EAAA,CAAGH,QAAQ,EAAA;YAC9BsB,SAAWhC,EAAAA,CAAAA,CAAEa,MAAM,EAAA,CAAGH,QAAQ;AAChC,SAAA,CAAA;AACF;AAEA;;AAEC,MACD,IAAIuB,KAAQ,GAAA;AACV,QAAA,OAAOjC,CAAEkC,CAAAA,KAAK,CAAC,IAAI,CAACnC,IAAI,CAAA;AAC1B;AAEA;;AAEC,MACD,IAAII,MAAS,GAAA;AACX,QAAA,OAAOH,CAAEa,CAAAA,MAAM,EAAGC,CAAAA,GAAG,GAAGqB,QAAQ,EAAA;AAClC;AAEA;;AAEC,MACD,IAAIC,UAAa,GAAA;QACf,OAAOpC,CAAAA,CAAEC,MAAM,CAAC;YACdoC,QAAUrC,EAAAA,CAAAA,CACPC,MAAM,CAAC;gBACNK,IAAMN,EAAAA,CAAAA,CAAEO,MAAM,EAAA,CAAGG,QAAQ,EAAA;gBACzBF,eAAiBR,EAAAA,CAAAA,CAAEO,MAAM,EAAA,CAAGG,QAAQ,EAAA;gBACpCC,OAASX,EAAAA,CAAAA,CAAEO,MAAM,EAAA,CAAGG,QAAQ;AAC9B,aAAA,CAAA,CACCA,QAAQ;AACb,SAAA,CAAA;AACF;AAEA;;AAEC,MACD,IAAI4B,eAAkB,GAAA;QACpB,OAAOtC,CAAAA,CAAEC,MAAM,CAAC;AACdoC,YAAAA,QAAAA,EAAUrC,CACPkC,CAAAA,KAAK,CACJlC,CAAAA,CAAEC,MAAM,CAAC;gBACPK,IAAMN,EAAAA,CAAAA,CAAEO,MAAM,EAAA,CAAGG,QAAQ,EAAA;gBACzBF,eAAiBR,EAAAA,CAAAA,CAAEO,MAAM,EAAA,CAAGG,QAAQ,EAAA;gBACpCC,OAASX,EAAAA,CAAAA,CAAEO,MAAM,EAAA,CAAGG,QAAQ;AAC9B,aAAA,CAAA,CAAA,CAEDA,QAAQ;AACb,SAAA,CAAA;AACF;AAhFA,IAAA,WAAA,CAAmB6B,MAAmB,CAAE;QACtC,KAAK,EAAA;QACL,IAAI,CAACC,OAAO,GAAGD,MAAAA;AACjB;AAiFF;;;;"}
|
|
@@ -30,14 +30,7 @@ declare const _default: () => {
|
|
|
30
30
|
};
|
|
31
31
|
}[];
|
|
32
32
|
};
|
|
33
|
-
'content-api':
|
|
34
|
-
type: string;
|
|
35
|
-
routes: {
|
|
36
|
-
method: string;
|
|
37
|
-
path: string;
|
|
38
|
-
handler: string;
|
|
39
|
-
}[];
|
|
40
|
-
};
|
|
33
|
+
'content-api': () => import("@strapi/types/dist/core").RouterInput;
|
|
41
34
|
viewConfiguration: {
|
|
42
35
|
type: string;
|
|
43
36
|
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
|
|
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,9 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
routes: {
|
|
4
|
-
method: string;
|
|
5
|
-
path: string;
|
|
6
|
-
handler: string;
|
|
7
|
-
}[];
|
|
8
|
-
};
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
export declare const routes: () => Core.RouterInput;
|
|
9
3
|
//# 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,eAAO,MAAM,MAAM
|
|
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"}
|
|
@@ -15,14 +15,7 @@ export declare const routes: {
|
|
|
15
15
|
};
|
|
16
16
|
}[];
|
|
17
17
|
};
|
|
18
|
-
'content-api':
|
|
19
|
-
type: string;
|
|
20
|
-
routes: {
|
|
21
|
-
method: string;
|
|
22
|
-
path: string;
|
|
23
|
-
handler: string;
|
|
24
|
-
}[];
|
|
25
|
-
};
|
|
18
|
+
'content-api': () => import("@strapi/types/dist/core").RouterInput;
|
|
26
19
|
viewConfiguration: {
|
|
27
20
|
type: string;
|
|
28
21
|
routes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIlB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/routes/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
import { AbstractRouteValidator, type QueryParam } from '@strapi/utils';
|
|
3
|
+
import * as z from 'zod/v4';
|
|
4
|
+
export type FileQueryParam = QueryParam;
|
|
5
|
+
/**
|
|
6
|
+
* UploadRouteValidator provides validation for upload/file routes.
|
|
7
|
+
*
|
|
8
|
+
* Extends the AbstractRouteValidator to inherit common query parameter validation
|
|
9
|
+
* while adding file-specific validation schemas.
|
|
10
|
+
*/
|
|
11
|
+
export declare class UploadRouteValidator extends AbstractRouteValidator {
|
|
12
|
+
protected readonly _strapi: Core.Strapi;
|
|
13
|
+
constructor(strapi: Core.Strapi);
|
|
14
|
+
/**
|
|
15
|
+
* File schema for upload responses
|
|
16
|
+
* Defines the structure of a file object returned by the upload API
|
|
17
|
+
*/
|
|
18
|
+
get file(): z.ZodObject<{
|
|
19
|
+
id: z.ZodNumber;
|
|
20
|
+
documentId: z.ZodUUID;
|
|
21
|
+
name: z.ZodString;
|
|
22
|
+
alternativeText: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
23
|
+
caption: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
24
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
formats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
27
|
+
hash: z.ZodString;
|
|
28
|
+
ext: z.ZodOptional<z.ZodString>;
|
|
29
|
+
mime: z.ZodString;
|
|
30
|
+
size: z.ZodNumber;
|
|
31
|
+
url: z.ZodString;
|
|
32
|
+
previewUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
33
|
+
folder: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
folderPath: z.ZodString;
|
|
35
|
+
provider: z.ZodString;
|
|
36
|
+
provider_metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
37
|
+
createdAt: z.ZodString;
|
|
38
|
+
updatedAt: z.ZodString;
|
|
39
|
+
createdBy: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
updatedBy: z.ZodOptional<z.ZodNumber>;
|
|
41
|
+
}, z.core.$strip>;
|
|
42
|
+
/**
|
|
43
|
+
* Array of files schema
|
|
44
|
+
*/
|
|
45
|
+
get files(): z.ZodArray<z.ZodObject<{
|
|
46
|
+
id: z.ZodNumber;
|
|
47
|
+
documentId: z.ZodUUID;
|
|
48
|
+
name: z.ZodString;
|
|
49
|
+
alternativeText: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
50
|
+
caption: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
51
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
52
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
53
|
+
formats: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
54
|
+
hash: z.ZodString;
|
|
55
|
+
ext: z.ZodOptional<z.ZodString>;
|
|
56
|
+
mime: z.ZodString;
|
|
57
|
+
size: z.ZodNumber;
|
|
58
|
+
url: z.ZodString;
|
|
59
|
+
previewUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
60
|
+
folder: z.ZodOptional<z.ZodNumber>;
|
|
61
|
+
folderPath: z.ZodString;
|
|
62
|
+
provider: z.ZodString;
|
|
63
|
+
provider_metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
64
|
+
createdAt: z.ZodString;
|
|
65
|
+
updatedAt: z.ZodString;
|
|
66
|
+
createdBy: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
updatedBy: z.ZodOptional<z.ZodNumber>;
|
|
68
|
+
}, z.core.$strip>>;
|
|
69
|
+
/**
|
|
70
|
+
* File ID parameter validation
|
|
71
|
+
*/
|
|
72
|
+
get fileId(): z.ZodNumber;
|
|
73
|
+
/**
|
|
74
|
+
* Upload request body schema for single file uploads
|
|
75
|
+
*/
|
|
76
|
+
get uploadBody(): z.ZodObject<{
|
|
77
|
+
fileInfo: z.ZodOptional<z.ZodObject<{
|
|
78
|
+
name: z.ZodOptional<z.ZodString>;
|
|
79
|
+
alternativeText: z.ZodOptional<z.ZodString>;
|
|
80
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
81
|
+
}, z.core.$strip>>;
|
|
82
|
+
}, z.core.$strip>;
|
|
83
|
+
/**
|
|
84
|
+
* Upload request body schema for multiple file uploads
|
|
85
|
+
*/
|
|
86
|
+
get multiUploadBody(): z.ZodObject<{
|
|
87
|
+
fileInfo: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
88
|
+
name: z.ZodOptional<z.ZodString>;
|
|
89
|
+
alternativeText: z.ZodOptional<z.ZodString>;
|
|
90
|
+
caption: z.ZodOptional<z.ZodString>;
|
|
91
|
+
}, z.core.$strip>>>;
|
|
92
|
+
}, z.core.$strip>;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../../server/src/routes/validation/upload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AAExC;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,sBAAsB;IAC9D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;gBAErB,MAAM,EAAE,IAAI,CAAC,MAAM;IAKtC;;;OAGG;IACH,IAAI,IAAI;;;;;;;;;;;;;;;;;;;;;;;sBAyBP;IAED;;OAEG;IACH,IAAI,KAAK;;;;;;;;;;;;;;;;;;;;;;;uBAER;IAED;;OAEG;IACH,IAAI,MAAM,gBAET;IAED;;OAEG;IACH,IAAI,UAAU;;;;;;sBAUb;IAED;;OAEG;IACH,IAAI,eAAe;;;;;;sBAYlB;CAIF"}
|