@strapi/i18n 0.0.0-next.daa3d4c4db6322f58233f0ccb757d80dbd1b48e9 → 0.0.0-next.df0d99415fc543d9747f3946fd7d1a4c39052b95
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/index.js +0 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +0 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/middlewares/extendCTBAttributeInitialData.js +34 -24
- package/dist/admin/middlewares/extendCTBAttributeInitialData.js.map +1 -1
- package/dist/admin/middlewares/extendCTBAttributeInitialData.mjs +34 -24
- package/dist/admin/middlewares/extendCTBAttributeInitialData.mjs.map +1 -1
- package/dist/admin/src/utils/schemas.d.ts +642 -16
- package/dist/admin/utils/fields.js +6 -1
- package/dist/admin/utils/fields.js.map +1 -1
- package/dist/admin/utils/fields.mjs +6 -1
- package/dist/admin/utils/fields.mjs.map +1 -1
- package/dist/admin/utils/schemas.js +19 -13
- package/dist/admin/utils/schemas.js.map +1 -1
- package/dist/admin/utils/schemas.mjs +19 -13
- package/dist/admin/utils/schemas.mjs.map +1 -1
- package/dist/server/routes/content-api.js +16 -10
- package/dist/server/routes/content-api.js.map +1 -1
- package/dist/server/routes/content-api.mjs +16 -10
- package/dist/server/routes/content-api.mjs.map +1 -1
- package/dist/server/routes/validation/locale.js +57 -0
- package/dist/server/routes/validation/locale.js.map +1 -0
- package/dist/server/routes/validation/locale.mjs +36 -0
- package/dist/server/routes/validation/locale.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/locale.d.ts +41 -0
- package/dist/server/src/routes/validation/locale.d.ts.map +1 -0
- package/package.json +10 -9
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var has = require('lodash/has');
|
|
4
|
+
|
|
3
5
|
const LOCALIZED_FIELDS = [
|
|
4
6
|
'biginteger',
|
|
5
7
|
'boolean',
|
|
@@ -22,7 +24,10 @@ const LOCALIZED_FIELDS = [
|
|
|
22
24
|
'text',
|
|
23
25
|
'time'
|
|
24
26
|
];
|
|
25
|
-
const doesPluginOptionsHaveI18nLocalized = (opts)=>
|
|
27
|
+
const doesPluginOptionsHaveI18nLocalized = (opts)=>has(opts, [
|
|
28
|
+
'i18n',
|
|
29
|
+
'localized'
|
|
30
|
+
]);
|
|
26
31
|
|
|
27
32
|
exports.LOCALIZED_FIELDS = LOCALIZED_FIELDS;
|
|
28
33
|
exports.doesPluginOptionsHaveI18nLocalized = doesPluginOptionsHaveI18nLocalized;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","sources":["../../../admin/src/utils/fields.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"fields.js","sources":["../../../admin/src/utils/fields.ts"],"sourcesContent":["import has from 'lodash/has';\n\nconst LOCALIZED_FIELDS = [\n 'biginteger',\n 'boolean',\n 'component',\n 'date',\n 'datetime',\n 'decimal',\n 'dynamiczone',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'media',\n 'number',\n 'password',\n 'richtext',\n 'blocks',\n 'string',\n 'text',\n 'time',\n];\n\nconst doesPluginOptionsHaveI18nLocalized = (\n opts?: object\n): opts is { i18n: { localized: boolean } } => has(opts, ['i18n', 'localized']);\n\nexport { LOCALIZED_FIELDS, doesPluginOptionsHaveI18nLocalized };\n"],"names":["LOCALIZED_FIELDS","doesPluginOptionsHaveI18nLocalized","opts","has"],"mappings":";;;;AAEA,MAAMA,gBAAmB,GAAA;AACvB,IAAA,YAAA;AACA,IAAA,SAAA;AACA,IAAA,WAAA;AACA,IAAA,MAAA;AACA,IAAA,UAAA;AACA,IAAA,SAAA;AACA,IAAA,aAAA;AACA,IAAA,OAAA;AACA,IAAA,aAAA;AACA,IAAA,OAAA;AACA,IAAA,SAAA;AACA,IAAA,MAAA;AACA,IAAA,OAAA;AACA,IAAA,QAAA;AACA,IAAA,UAAA;AACA,IAAA,UAAA;AACA,IAAA,QAAA;AACA,IAAA,QAAA;AACA,IAAA,MAAA;AACA,IAAA;AACD;AAED,MAAMC,kCAAqC,GAAA,CACzCC,IAC6CC,GAAAA,GAAAA,CAAID,IAAM,EAAA;AAAC,QAAA,MAAA;AAAQ,QAAA;AAAY,KAAA;;;;;"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import has from 'lodash/has';
|
|
2
|
+
|
|
1
3
|
const LOCALIZED_FIELDS = [
|
|
2
4
|
'biginteger',
|
|
3
5
|
'boolean',
|
|
@@ -20,7 +22,10 @@ const LOCALIZED_FIELDS = [
|
|
|
20
22
|
'text',
|
|
21
23
|
'time'
|
|
22
24
|
];
|
|
23
|
-
const doesPluginOptionsHaveI18nLocalized = (opts)=>
|
|
25
|
+
const doesPluginOptionsHaveI18nLocalized = (opts)=>has(opts, [
|
|
26
|
+
'i18n',
|
|
27
|
+
'localized'
|
|
28
|
+
]);
|
|
24
29
|
|
|
25
30
|
export { LOCALIZED_FIELDS, doesPluginOptionsHaveI18nLocalized };
|
|
26
31
|
//# sourceMappingURL=fields.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.mjs","sources":["../../../admin/src/utils/fields.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"fields.mjs","sources":["../../../admin/src/utils/fields.ts"],"sourcesContent":["import has from 'lodash/has';\n\nconst LOCALIZED_FIELDS = [\n 'biginteger',\n 'boolean',\n 'component',\n 'date',\n 'datetime',\n 'decimal',\n 'dynamiczone',\n 'email',\n 'enumeration',\n 'float',\n 'integer',\n 'json',\n 'media',\n 'number',\n 'password',\n 'richtext',\n 'blocks',\n 'string',\n 'text',\n 'time',\n];\n\nconst doesPluginOptionsHaveI18nLocalized = (\n opts?: object\n): opts is { i18n: { localized: boolean } } => has(opts, ['i18n', 'localized']);\n\nexport { LOCALIZED_FIELDS, doesPluginOptionsHaveI18nLocalized };\n"],"names":["LOCALIZED_FIELDS","doesPluginOptionsHaveI18nLocalized","opts","has"],"mappings":";;AAEA,MAAMA,gBAAmB,GAAA;AACvB,IAAA,YAAA;AACA,IAAA,SAAA;AACA,IAAA,WAAA;AACA,IAAA,MAAA;AACA,IAAA,UAAA;AACA,IAAA,SAAA;AACA,IAAA,aAAA;AACA,IAAA,OAAA;AACA,IAAA,aAAA;AACA,IAAA,OAAA;AACA,IAAA,SAAA;AACA,IAAA,MAAA;AACA,IAAA,OAAA;AACA,IAAA,QAAA;AACA,IAAA,UAAA;AACA,IAAA,UAAA;AACA,IAAA,QAAA;AACA,IAAA,QAAA;AACA,IAAA,MAAA;AACA,IAAA;AACD;AAED,MAAMC,kCAAqC,GAAA,CACzCC,IAC6CC,GAAAA,GAAAA,CAAID,IAAM,EAAA;AAAC,QAAA,MAAA;AAAQ,QAAA;AAAY,KAAA;;;;"}
|
|
@@ -5,13 +5,17 @@ var fields = require('./fields.js');
|
|
|
5
5
|
|
|
6
6
|
/* -------------------------------------------------------------------------------------------------
|
|
7
7
|
* mutateCTBContentTypeSchema
|
|
8
|
-
* -----------------------------------------------------------------------------------------------*/
|
|
8
|
+
* -----------------------------------------------------------------------------------------------*/ // TODO: refactor for CTB refactors
|
|
9
|
+
const mutateCTBContentTypeSchema = (nextSchema, prevSchema)=>{
|
|
10
|
+
if (!prevSchema) {
|
|
11
|
+
return nextSchema;
|
|
12
|
+
}
|
|
9
13
|
// Don't perform mutations components
|
|
10
14
|
if (!fields.doesPluginOptionsHaveI18nLocalized(nextSchema.pluginOptions)) {
|
|
11
15
|
return nextSchema;
|
|
12
16
|
}
|
|
13
17
|
const isNextSchemaLocalized = nextSchema.pluginOptions.i18n.localized;
|
|
14
|
-
const isPrevSchemaLocalized = fields.doesPluginOptionsHaveI18nLocalized(prevSchema?.
|
|
18
|
+
const isPrevSchemaLocalized = fields.doesPluginOptionsHaveI18nLocalized(prevSchema?.pluginOptions) ? prevSchema?.pluginOptions.i18n.localized : false;
|
|
15
19
|
// No need to perform modification on the schema, if the i18n feature was not changed
|
|
16
20
|
// at the ct level
|
|
17
21
|
if (isNextSchemaLocalized && isPrevSchemaLocalized) {
|
|
@@ -38,8 +42,8 @@ var fields = require('./fields.js');
|
|
|
38
42
|
};
|
|
39
43
|
/* -------------------------------------------------------------------------------------------------
|
|
40
44
|
* addLocalisationToFields
|
|
41
|
-
* -----------------------------------------------------------------------------------------------*/ const addLocalisationToFields = (attributes)=>
|
|
42
|
-
|
|
45
|
+
* -----------------------------------------------------------------------------------------------*/ const addLocalisationToFields = (attributes)=>{
|
|
46
|
+
return attributes.map((currentAttribute)=>{
|
|
43
47
|
if (fields.LOCALIZED_FIELDS.includes(currentAttribute.type)) {
|
|
44
48
|
const i18n = {
|
|
45
49
|
localized: true
|
|
@@ -50,19 +54,21 @@ var fields = require('./fields.js');
|
|
|
50
54
|
} : {
|
|
51
55
|
i18n
|
|
52
56
|
};
|
|
53
|
-
|
|
57
|
+
return {
|
|
54
58
|
...currentAttribute,
|
|
55
59
|
pluginOptions
|
|
56
60
|
};
|
|
57
|
-
return acc;
|
|
58
61
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
return currentAttribute;
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
/* -------------------------------------------------------------------------------------------------
|
|
66
|
+
* disableAttributesLocalisation
|
|
67
|
+
* -----------------------------------------------------------------------------------------------*/ const disableAttributesLocalisation = (attributes)=>{
|
|
68
|
+
return attributes.map((currentAttribute)=>{
|
|
69
|
+
return omit(currentAttribute, 'pluginOptions.i18n');
|
|
70
|
+
});
|
|
71
|
+
};
|
|
66
72
|
|
|
67
73
|
exports.mutateCTBContentTypeSchema = mutateCTBContentTypeSchema;
|
|
68
74
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sources":["../../../admin/src/utils/schemas.ts"],"sourcesContent":["import omit from 'lodash/omit';\n\nimport { LOCALIZED_FIELDS, doesPluginOptionsHaveI18nLocalized } from './fields';\n\nimport type { Schema } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * mutateCTBContentTypeSchema\n * -----------------------------------------------------------------------------------------------*/\n\nconst mutateCTBContentTypeSchema = (\n nextSchema: Schema.ContentType,\n prevSchema?: {\n
|
|
1
|
+
{"version":3,"file":"schemas.js","sources":["../../../admin/src/utils/schemas.ts"],"sourcesContent":["import omit from 'lodash/omit';\n\nimport { LOCALIZED_FIELDS, doesPluginOptionsHaveI18nLocalized } from './fields';\n\nimport type { Schema } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * mutateCTBContentTypeSchema\n * -----------------------------------------------------------------------------------------------*/\n\n// TODO: refactor for CTB refactors\nconst mutateCTBContentTypeSchema = (\n nextSchema: {\n pluginOptions: Schema.ContentType['pluginOptions'];\n attributes: Schema.Attribute.AnyAttribute[];\n uid?: string;\n },\n prevSchema?: {\n pluginOptions: Schema.ContentType['pluginOptions'];\n attributes: Schema.Attribute.AnyAttribute[];\n uid?: string;\n }\n) => {\n if (!prevSchema) {\n return nextSchema;\n }\n\n // Don't perform mutations components\n if (!doesPluginOptionsHaveI18nLocalized(nextSchema.pluginOptions)) {\n return nextSchema;\n }\n\n const isNextSchemaLocalized = nextSchema.pluginOptions.i18n.localized;\n const isPrevSchemaLocalized = doesPluginOptionsHaveI18nLocalized(prevSchema?.pluginOptions)\n ? prevSchema?.pluginOptions.i18n.localized\n : false;\n\n // No need to perform modification on the schema, if the i18n feature was not changed\n // at the ct level\n if (isNextSchemaLocalized && isPrevSchemaLocalized) {\n return nextSchema;\n }\n\n if (isNextSchemaLocalized) {\n const attributes = addLocalisationToFields(nextSchema.attributes);\n\n return {\n ...nextSchema,\n attributes,\n };\n }\n\n // Remove the i18n object from the pluginOptions\n if (!isNextSchemaLocalized) {\n const pluginOptions = omit(nextSchema.pluginOptions, 'i18n');\n const attributes = disableAttributesLocalisation(nextSchema.attributes);\n\n return {\n ...nextSchema,\n pluginOptions,\n attributes,\n };\n }\n\n return nextSchema;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * addLocalisationToFields\n * -----------------------------------------------------------------------------------------------*/\n\nconst addLocalisationToFields = (attributes: Schema.Attribute.AnyAttribute[]) => {\n return attributes.map((currentAttribute) => {\n if (LOCALIZED_FIELDS.includes(currentAttribute.type)) {\n const i18n = { localized: true };\n\n const pluginOptions = currentAttribute.pluginOptions\n ? { ...currentAttribute.pluginOptions, i18n }\n : { i18n };\n\n return { ...currentAttribute, pluginOptions };\n }\n\n return currentAttribute;\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * disableAttributesLocalisation\n * -----------------------------------------------------------------------------------------------*/\n\nconst disableAttributesLocalisation = (attributes: Schema.Attribute.AnyAttribute[]) => {\n return attributes.map((currentAttribute) => {\n return omit(currentAttribute, 'pluginOptions.i18n');\n });\n};\n\nexport { mutateCTBContentTypeSchema };\n"],"names":["mutateCTBContentTypeSchema","nextSchema","prevSchema","doesPluginOptionsHaveI18nLocalized","pluginOptions","isNextSchemaLocalized","i18n","localized","isPrevSchemaLocalized","attributes","addLocalisationToFields","omit","disableAttributesLocalisation","map","currentAttribute","LOCALIZED_FIELDS","includes","type"],"mappings":";;;;;AAMA;;AAEkG;AAG5FA,MAAAA,0BAAAA,GAA6B,CACjCC,UAKAC,EAAAA,UAAAA,GAAAA;AAMA,IAAA,IAAI,CAACA,UAAY,EAAA;QACf,OAAOD,UAAAA;AACT;;AAGA,IAAA,IAAI,CAACE,yCAAAA,CAAmCF,UAAWG,CAAAA,aAAa,CAAG,EAAA;QACjE,OAAOH,UAAAA;AACT;AAEA,IAAA,MAAMI,wBAAwBJ,UAAWG,CAAAA,aAAa,CAACE,IAAI,CAACC,SAAS;AACrE,IAAA,MAAMC,wBAAwBL,yCAAmCD,CAAAA,UAAAA,EAAYE,iBACzEF,UAAYE,EAAAA,aAAAA,CAAcE,KAAKC,SAC/B,GAAA,KAAA;;;AAIJ,IAAA,IAAIF,yBAAyBG,qBAAuB,EAAA;QAClD,OAAOP,UAAAA;AACT;AAEA,IAAA,IAAII,qBAAuB,EAAA;QACzB,MAAMI,UAAAA,GAAaC,uBAAwBT,CAAAA,UAAAA,CAAWQ,UAAU,CAAA;QAEhE,OAAO;AACL,YAAA,GAAGR,UAAU;AACbQ,YAAAA;AACF,SAAA;AACF;;AAGA,IAAA,IAAI,CAACJ,qBAAuB,EAAA;AAC1B,QAAA,MAAMD,aAAgBO,GAAAA,IAAAA,CAAKV,UAAWG,CAAAA,aAAa,EAAE,MAAA,CAAA;QACrD,MAAMK,UAAAA,GAAaG,6BAA8BX,CAAAA,UAAAA,CAAWQ,UAAU,CAAA;QAEtE,OAAO;AACL,YAAA,GAAGR,UAAU;AACbG,YAAAA,aAAAA;AACAK,YAAAA;AACF,SAAA;AACF;IAEA,OAAOR,UAAAA;AACT;AAEA;;qGAIA,MAAMS,0BAA0B,CAACD,UAAAA,GAAAA;IAC/B,OAAOA,UAAAA,CAAWI,GAAG,CAAC,CAACC,gBAAAA,GAAAA;AACrB,QAAA,IAAIC,uBAAiBC,CAAAA,QAAQ,CAACF,gBAAAA,CAAiBG,IAAI,CAAG,EAAA;AACpD,YAAA,MAAMX,IAAO,GAAA;gBAAEC,SAAW,EAAA;AAAK,aAAA;YAE/B,MAAMH,aAAAA,GAAgBU,gBAAiBV,CAAAA,aAAa,GAChD;AAAE,gBAAA,GAAGU,iBAAiBV,aAAa;AAAEE,gBAAAA;aACrC,GAAA;AAAEA,gBAAAA;AAAK,aAAA;YAEX,OAAO;AAAE,gBAAA,GAAGQ,gBAAgB;AAAEV,gBAAAA;AAAc,aAAA;AAC9C;QAEA,OAAOU,gBAAAA;AACT,KAAA,CAAA;AACF,CAAA;AAEA;;qGAIA,MAAMF,gCAAgC,CAACH,UAAAA,GAAAA;IACrC,OAAOA,UAAAA,CAAWI,GAAG,CAAC,CAACC,gBAAAA,GAAAA;AACrB,QAAA,OAAOH,KAAKG,gBAAkB,EAAA,oBAAA,CAAA;AAChC,KAAA,CAAA;AACF,CAAA;;;;"}
|
|
@@ -3,13 +3,17 @@ import { doesPluginOptionsHaveI18nLocalized, LOCALIZED_FIELDS } from './fields.m
|
|
|
3
3
|
|
|
4
4
|
/* -------------------------------------------------------------------------------------------------
|
|
5
5
|
* mutateCTBContentTypeSchema
|
|
6
|
-
* -----------------------------------------------------------------------------------------------*/
|
|
6
|
+
* -----------------------------------------------------------------------------------------------*/ // TODO: refactor for CTB refactors
|
|
7
|
+
const mutateCTBContentTypeSchema = (nextSchema, prevSchema)=>{
|
|
8
|
+
if (!prevSchema) {
|
|
9
|
+
return nextSchema;
|
|
10
|
+
}
|
|
7
11
|
// Don't perform mutations components
|
|
8
12
|
if (!doesPluginOptionsHaveI18nLocalized(nextSchema.pluginOptions)) {
|
|
9
13
|
return nextSchema;
|
|
10
14
|
}
|
|
11
15
|
const isNextSchemaLocalized = nextSchema.pluginOptions.i18n.localized;
|
|
12
|
-
const isPrevSchemaLocalized = doesPluginOptionsHaveI18nLocalized(prevSchema?.
|
|
16
|
+
const isPrevSchemaLocalized = doesPluginOptionsHaveI18nLocalized(prevSchema?.pluginOptions) ? prevSchema?.pluginOptions.i18n.localized : false;
|
|
13
17
|
// No need to perform modification on the schema, if the i18n feature was not changed
|
|
14
18
|
// at the ct level
|
|
15
19
|
if (isNextSchemaLocalized && isPrevSchemaLocalized) {
|
|
@@ -36,8 +40,8 @@ import { doesPluginOptionsHaveI18nLocalized, LOCALIZED_FIELDS } from './fields.m
|
|
|
36
40
|
};
|
|
37
41
|
/* -------------------------------------------------------------------------------------------------
|
|
38
42
|
* addLocalisationToFields
|
|
39
|
-
* -----------------------------------------------------------------------------------------------*/ const addLocalisationToFields = (attributes)=>
|
|
40
|
-
|
|
43
|
+
* -----------------------------------------------------------------------------------------------*/ const addLocalisationToFields = (attributes)=>{
|
|
44
|
+
return attributes.map((currentAttribute)=>{
|
|
41
45
|
if (LOCALIZED_FIELDS.includes(currentAttribute.type)) {
|
|
42
46
|
const i18n = {
|
|
43
47
|
localized: true
|
|
@@ -48,19 +52,21 @@ import { doesPluginOptionsHaveI18nLocalized, LOCALIZED_FIELDS } from './fields.m
|
|
|
48
52
|
} : {
|
|
49
53
|
i18n
|
|
50
54
|
};
|
|
51
|
-
|
|
55
|
+
return {
|
|
52
56
|
...currentAttribute,
|
|
53
57
|
pluginOptions
|
|
54
58
|
};
|
|
55
|
-
return acc;
|
|
56
59
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
return currentAttribute;
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
/* -------------------------------------------------------------------------------------------------
|
|
64
|
+
* disableAttributesLocalisation
|
|
65
|
+
* -----------------------------------------------------------------------------------------------*/ const disableAttributesLocalisation = (attributes)=>{
|
|
66
|
+
return attributes.map((currentAttribute)=>{
|
|
67
|
+
return omit(currentAttribute, 'pluginOptions.i18n');
|
|
68
|
+
});
|
|
69
|
+
};
|
|
64
70
|
|
|
65
71
|
export { mutateCTBContentTypeSchema };
|
|
66
72
|
//# sourceMappingURL=schemas.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.mjs","sources":["../../../admin/src/utils/schemas.ts"],"sourcesContent":["import omit from 'lodash/omit';\n\nimport { LOCALIZED_FIELDS, doesPluginOptionsHaveI18nLocalized } from './fields';\n\nimport type { Schema } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * mutateCTBContentTypeSchema\n * -----------------------------------------------------------------------------------------------*/\n\nconst mutateCTBContentTypeSchema = (\n nextSchema: Schema.ContentType,\n prevSchema?: {\n
|
|
1
|
+
{"version":3,"file":"schemas.mjs","sources":["../../../admin/src/utils/schemas.ts"],"sourcesContent":["import omit from 'lodash/omit';\n\nimport { LOCALIZED_FIELDS, doesPluginOptionsHaveI18nLocalized } from './fields';\n\nimport type { Schema } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * mutateCTBContentTypeSchema\n * -----------------------------------------------------------------------------------------------*/\n\n// TODO: refactor for CTB refactors\nconst mutateCTBContentTypeSchema = (\n nextSchema: {\n pluginOptions: Schema.ContentType['pluginOptions'];\n attributes: Schema.Attribute.AnyAttribute[];\n uid?: string;\n },\n prevSchema?: {\n pluginOptions: Schema.ContentType['pluginOptions'];\n attributes: Schema.Attribute.AnyAttribute[];\n uid?: string;\n }\n) => {\n if (!prevSchema) {\n return nextSchema;\n }\n\n // Don't perform mutations components\n if (!doesPluginOptionsHaveI18nLocalized(nextSchema.pluginOptions)) {\n return nextSchema;\n }\n\n const isNextSchemaLocalized = nextSchema.pluginOptions.i18n.localized;\n const isPrevSchemaLocalized = doesPluginOptionsHaveI18nLocalized(prevSchema?.pluginOptions)\n ? prevSchema?.pluginOptions.i18n.localized\n : false;\n\n // No need to perform modification on the schema, if the i18n feature was not changed\n // at the ct level\n if (isNextSchemaLocalized && isPrevSchemaLocalized) {\n return nextSchema;\n }\n\n if (isNextSchemaLocalized) {\n const attributes = addLocalisationToFields(nextSchema.attributes);\n\n return {\n ...nextSchema,\n attributes,\n };\n }\n\n // Remove the i18n object from the pluginOptions\n if (!isNextSchemaLocalized) {\n const pluginOptions = omit(nextSchema.pluginOptions, 'i18n');\n const attributes = disableAttributesLocalisation(nextSchema.attributes);\n\n return {\n ...nextSchema,\n pluginOptions,\n attributes,\n };\n }\n\n return nextSchema;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * addLocalisationToFields\n * -----------------------------------------------------------------------------------------------*/\n\nconst addLocalisationToFields = (attributes: Schema.Attribute.AnyAttribute[]) => {\n return attributes.map((currentAttribute) => {\n if (LOCALIZED_FIELDS.includes(currentAttribute.type)) {\n const i18n = { localized: true };\n\n const pluginOptions = currentAttribute.pluginOptions\n ? { ...currentAttribute.pluginOptions, i18n }\n : { i18n };\n\n return { ...currentAttribute, pluginOptions };\n }\n\n return currentAttribute;\n });\n};\n\n/* -------------------------------------------------------------------------------------------------\n * disableAttributesLocalisation\n * -----------------------------------------------------------------------------------------------*/\n\nconst disableAttributesLocalisation = (attributes: Schema.Attribute.AnyAttribute[]) => {\n return attributes.map((currentAttribute) => {\n return omit(currentAttribute, 'pluginOptions.i18n');\n });\n};\n\nexport { mutateCTBContentTypeSchema };\n"],"names":["mutateCTBContentTypeSchema","nextSchema","prevSchema","doesPluginOptionsHaveI18nLocalized","pluginOptions","isNextSchemaLocalized","i18n","localized","isPrevSchemaLocalized","attributes","addLocalisationToFields","omit","disableAttributesLocalisation","map","currentAttribute","LOCALIZED_FIELDS","includes","type"],"mappings":";;;AAMA;;AAEkG;AAG5FA,MAAAA,0BAAAA,GAA6B,CACjCC,UAKAC,EAAAA,UAAAA,GAAAA;AAMA,IAAA,IAAI,CAACA,UAAY,EAAA;QACf,OAAOD,UAAAA;AACT;;AAGA,IAAA,IAAI,CAACE,kCAAAA,CAAmCF,UAAWG,CAAAA,aAAa,CAAG,EAAA;QACjE,OAAOH,UAAAA;AACT;AAEA,IAAA,MAAMI,wBAAwBJ,UAAWG,CAAAA,aAAa,CAACE,IAAI,CAACC,SAAS;AACrE,IAAA,MAAMC,wBAAwBL,kCAAmCD,CAAAA,UAAAA,EAAYE,iBACzEF,UAAYE,EAAAA,aAAAA,CAAcE,KAAKC,SAC/B,GAAA,KAAA;;;AAIJ,IAAA,IAAIF,yBAAyBG,qBAAuB,EAAA;QAClD,OAAOP,UAAAA;AACT;AAEA,IAAA,IAAII,qBAAuB,EAAA;QACzB,MAAMI,UAAAA,GAAaC,uBAAwBT,CAAAA,UAAAA,CAAWQ,UAAU,CAAA;QAEhE,OAAO;AACL,YAAA,GAAGR,UAAU;AACbQ,YAAAA;AACF,SAAA;AACF;;AAGA,IAAA,IAAI,CAACJ,qBAAuB,EAAA;AAC1B,QAAA,MAAMD,aAAgBO,GAAAA,IAAAA,CAAKV,UAAWG,CAAAA,aAAa,EAAE,MAAA,CAAA;QACrD,MAAMK,UAAAA,GAAaG,6BAA8BX,CAAAA,UAAAA,CAAWQ,UAAU,CAAA;QAEtE,OAAO;AACL,YAAA,GAAGR,UAAU;AACbG,YAAAA,aAAAA;AACAK,YAAAA;AACF,SAAA;AACF;IAEA,OAAOR,UAAAA;AACT;AAEA;;qGAIA,MAAMS,0BAA0B,CAACD,UAAAA,GAAAA;IAC/B,OAAOA,UAAAA,CAAWI,GAAG,CAAC,CAACC,gBAAAA,GAAAA;AACrB,QAAA,IAAIC,gBAAiBC,CAAAA,QAAQ,CAACF,gBAAAA,CAAiBG,IAAI,CAAG,EAAA;AACpD,YAAA,MAAMX,IAAO,GAAA;gBAAEC,SAAW,EAAA;AAAK,aAAA;YAE/B,MAAMH,aAAAA,GAAgBU,gBAAiBV,CAAAA,aAAa,GAChD;AAAE,gBAAA,GAAGU,iBAAiBV,aAAa;AAAEE,gBAAAA;aACrC,GAAA;AAAEA,gBAAAA;AAAK,aAAA;YAEX,OAAO;AAAE,gBAAA,GAAGQ,gBAAgB;AAAEV,gBAAAA;AAAc,aAAA;AAC9C;QAEA,OAAOU,gBAAAA;AACT,KAAA,CAAA;AACF,CAAA;AAEA;;qGAIA,MAAMF,gCAAgC,CAACH,UAAAA,GAAAA;IACrC,OAAOA,UAAAA,CAAWI,GAAG,CAAC,CAACC,gBAAAA,GAAAA;AACrB,QAAA,OAAOH,KAAKG,gBAAkB,EAAA,oBAAA,CAAA;AAChC,KAAA,CAAA;AACF,CAAA;;;;"}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
var locale = require('./validation/locale.js');
|
|
4
|
+
|
|
5
|
+
var contentApi = (()=>{
|
|
6
|
+
const validator = new locale.I18nLocaleRouteValidator(strapi);
|
|
7
|
+
return {
|
|
8
|
+
type: 'content-api',
|
|
9
|
+
routes: [
|
|
10
|
+
{
|
|
11
|
+
method: 'GET',
|
|
12
|
+
path: '/locales',
|
|
13
|
+
handler: 'locales.listLocales',
|
|
14
|
+
response: validator.locales
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
};
|
|
18
|
+
});
|
|
13
19
|
|
|
14
20
|
module.exports = contentApi;
|
|
15
21
|
//# sourceMappingURL=content-api.js.map
|
|
@@ -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 { I18nLocaleRouteValidator } from './validation';\n\nexport default (): Core.RouterInput => {\n const validator = new I18nLocaleRouteValidator(strapi);\n\n return {\n type: 'content-api',\n routes: [\n {\n method: 'GET',\n path: '/locales',\n handler: 'locales.listLocales',\n response: validator.locales,\n },\n ],\n };\n};\n"],"names":["validator","I18nLocaleRouteValidator","strapi","type","routes","method","path","handler","response","locales"],"mappings":";;;;AAGA,iBAAe,CAAA,IAAA;IACb,MAAMA,SAAAA,GAAY,IAAIC,+BAAyBC,CAAAA,MAAAA,CAAAA;IAE/C,OAAO;QACLC,IAAM,EAAA,aAAA;QACNC,MAAQ,EAAA;AACN,YAAA;gBACEC,MAAQ,EAAA,KAAA;gBACRC,IAAM,EAAA,UAAA;gBACNC,OAAS,EAAA,qBAAA;AACTC,gBAAAA,QAAAA,EAAUR,UAAUS;AACtB;AACD;AACH,KAAA;AACF,CAAA;;;;"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { I18nLocaleRouteValidator } from './validation/locale.mjs';
|
|
2
|
+
|
|
3
|
+
var contentApi = (()=>{
|
|
4
|
+
const validator = new I18nLocaleRouteValidator(strapi);
|
|
5
|
+
return {
|
|
6
|
+
type: 'content-api',
|
|
7
|
+
routes: [
|
|
8
|
+
{
|
|
9
|
+
method: 'GET',
|
|
10
|
+
path: '/locales',
|
|
11
|
+
handler: 'locales.listLocales',
|
|
12
|
+
response: validator.locales
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
};
|
|
16
|
+
});
|
|
11
17
|
|
|
12
18
|
export { contentApi as default };
|
|
13
19
|
//# sourceMappingURL=content-api.mjs.map
|
|
@@ -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 { I18nLocaleRouteValidator } from './validation';\n\nexport default (): Core.RouterInput => {\n const validator = new I18nLocaleRouteValidator(strapi);\n\n return {\n type: 'content-api',\n routes: [\n {\n method: 'GET',\n path: '/locales',\n handler: 'locales.listLocales',\n response: validator.locales,\n },\n ],\n };\n};\n"],"names":["validator","I18nLocaleRouteValidator","strapi","type","routes","method","path","handler","response","locales"],"mappings":";;AAGA,iBAAe,CAAA,IAAA;IACb,MAAMA,SAAAA,GAAY,IAAIC,wBAAyBC,CAAAA,MAAAA,CAAAA;IAE/C,OAAO;QACLC,IAAM,EAAA,aAAA;QACNC,MAAQ,EAAA;AACN,YAAA;gBACEC,MAAQ,EAAA,KAAA;gBACRC,IAAM,EAAA,UAAA;gBACNC,OAAS,EAAA,qBAAA;AACTC,gBAAAA,QAAAA,EAAUR,UAAUS;AACtB;AACD;AACH,KAAA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var z = require('zod/v4');
|
|
4
|
+
|
|
5
|
+
function _interopNamespaceDefault(e) {
|
|
6
|
+
var n = Object.create(null);
|
|
7
|
+
if (e) {
|
|
8
|
+
Object.keys(e).forEach(function (k) {
|
|
9
|
+
if (k !== 'default') {
|
|
10
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
11
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function () { return e[k]; }
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
n.default = e;
|
|
19
|
+
return Object.freeze(n);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
var z__namespace = /*#__PURE__*/_interopNamespaceDefault(z);
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* A validator for i18n locale routes.
|
|
26
|
+
*
|
|
27
|
+
*/ class I18nLocaleRouteValidator {
|
|
28
|
+
/**
|
|
29
|
+
* Generates a validation schema for a single locale.
|
|
30
|
+
*
|
|
31
|
+
* @returns A schema for validating locale objects
|
|
32
|
+
*/ get locale() {
|
|
33
|
+
return z__namespace.object({
|
|
34
|
+
id: z__namespace.number().int().positive(),
|
|
35
|
+
documentId: z__namespace.string().uuid(),
|
|
36
|
+
name: z__namespace.string(),
|
|
37
|
+
code: z__namespace.string().length(2, 'Locale code must be exactly 2 characters'),
|
|
38
|
+
createdAt: z__namespace.string(),
|
|
39
|
+
updatedAt: z__namespace.string(),
|
|
40
|
+
publishedAt: z__namespace.string().nullable(),
|
|
41
|
+
isDefault: z__namespace.boolean()
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Generates a validation schema for an array of locales
|
|
46
|
+
*
|
|
47
|
+
* @returns A schema for validating arrays of locales
|
|
48
|
+
*/ get locales() {
|
|
49
|
+
return z__namespace.array(this.locale);
|
|
50
|
+
}
|
|
51
|
+
constructor(strapi){
|
|
52
|
+
this._strapi = strapi;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
exports.I18nLocaleRouteValidator = I18nLocaleRouteValidator;
|
|
57
|
+
//# sourceMappingURL=locale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.js","sources":["../../../../server/src/routes/validation/locale.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport * as z from 'zod/v4';\n\n/**\n * A validator for i18n locale routes.\n *\n */\nexport class I18nLocaleRouteValidator {\n protected readonly _strapi: Core.Strapi;\n\n public constructor(strapi: Core.Strapi) {\n this._strapi = strapi;\n }\n\n /**\n * Generates a validation schema for a single locale.\n *\n * @returns A schema for validating locale objects\n */\n get locale() {\n return z.object({\n id: z.number().int().positive(),\n documentId: z.string().uuid(),\n name: z.string(),\n code: z.string().length(2, 'Locale code must be exactly 2 characters'),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string().nullable(),\n isDefault: z.boolean(),\n });\n }\n\n /**\n * Generates a validation schema for an array of locales\n *\n * @returns A schema for validating arrays of locales\n */\n get locales() {\n return z.array(this.locale);\n }\n}\n"],"names":["I18nLocaleRouteValidator","locale","z","object","id","number","int","positive","documentId","string","uuid","name","code","length","createdAt","updatedAt","publishedAt","nullable","isDefault","boolean","locales","array","strapi","_strapi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;;;AAGC,IACM,MAAMA,wBAAAA,CAAAA;AAOX;;;;AAIC,MACD,IAAIC,MAAS,GAAA;QACX,OAAOC,YAAAA,CAAEC,MAAM,CAAC;AACdC,YAAAA,EAAAA,EAAIF,YAAEG,CAAAA,MAAM,EAAGC,CAAAA,GAAG,GAAGC,QAAQ,EAAA;YAC7BC,UAAYN,EAAAA,YAAAA,CAAEO,MAAM,EAAA,CAAGC,IAAI,EAAA;AAC3BC,YAAAA,IAAAA,EAAMT,aAAEO,MAAM,EAAA;AACdG,YAAAA,IAAAA,EAAMV,YAAEO,CAAAA,MAAM,EAAGI,CAAAA,MAAM,CAAC,CAAG,EAAA,0CAAA,CAAA;AAC3BC,YAAAA,SAAAA,EAAWZ,aAAEO,MAAM,EAAA;AACnBM,YAAAA,SAAAA,EAAWb,aAAEO,MAAM,EAAA;YACnBO,WAAad,EAAAA,YAAAA,CAAEO,MAAM,EAAA,CAAGQ,QAAQ,EAAA;AAChCC,YAAAA,SAAAA,EAAWhB,aAAEiB,OAAO;AACtB,SAAA,CAAA;AACF;AAEA;;;;AAIC,MACD,IAAIC,OAAU,GAAA;AACZ,QAAA,OAAOlB,YAAEmB,CAAAA,KAAK,CAAC,IAAI,CAACpB,MAAM,CAAA;AAC5B;AA7BA,IAAA,WAAA,CAAmBqB,MAAmB,CAAE;QACtC,IAAI,CAACC,OAAO,GAAGD,MAAAA;AACjB;AA4BF;;;;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A validator for i18n locale routes.
|
|
5
|
+
*
|
|
6
|
+
*/ class I18nLocaleRouteValidator {
|
|
7
|
+
/**
|
|
8
|
+
* Generates a validation schema for a single locale.
|
|
9
|
+
*
|
|
10
|
+
* @returns A schema for validating locale objects
|
|
11
|
+
*/ get locale() {
|
|
12
|
+
return z.object({
|
|
13
|
+
id: z.number().int().positive(),
|
|
14
|
+
documentId: z.string().uuid(),
|
|
15
|
+
name: z.string(),
|
|
16
|
+
code: z.string().length(2, 'Locale code must be exactly 2 characters'),
|
|
17
|
+
createdAt: z.string(),
|
|
18
|
+
updatedAt: z.string(),
|
|
19
|
+
publishedAt: z.string().nullable(),
|
|
20
|
+
isDefault: z.boolean()
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Generates a validation schema for an array of locales
|
|
25
|
+
*
|
|
26
|
+
* @returns A schema for validating arrays of locales
|
|
27
|
+
*/ get locales() {
|
|
28
|
+
return z.array(this.locale);
|
|
29
|
+
}
|
|
30
|
+
constructor(strapi){
|
|
31
|
+
this._strapi = strapi;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { I18nLocaleRouteValidator };
|
|
36
|
+
//# sourceMappingURL=locale.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.mjs","sources":["../../../../server/src/routes/validation/locale.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport * as z from 'zod/v4';\n\n/**\n * A validator for i18n locale routes.\n *\n */\nexport class I18nLocaleRouteValidator {\n protected readonly _strapi: Core.Strapi;\n\n public constructor(strapi: Core.Strapi) {\n this._strapi = strapi;\n }\n\n /**\n * Generates a validation schema for a single locale.\n *\n * @returns A schema for validating locale objects\n */\n get locale() {\n return z.object({\n id: z.number().int().positive(),\n documentId: z.string().uuid(),\n name: z.string(),\n code: z.string().length(2, 'Locale code must be exactly 2 characters'),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string().nullable(),\n isDefault: z.boolean(),\n });\n }\n\n /**\n * Generates a validation schema for an array of locales\n *\n * @returns A schema for validating arrays of locales\n */\n get locales() {\n return z.array(this.locale);\n }\n}\n"],"names":["I18nLocaleRouteValidator","locale","z","object","id","number","int","positive","documentId","string","uuid","name","code","length","createdAt","updatedAt","publishedAt","nullable","isDefault","boolean","locales","array","strapi","_strapi"],"mappings":";;AAGA;;;AAGC,IACM,MAAMA,wBAAAA,CAAAA;AAOX;;;;AAIC,MACD,IAAIC,MAAS,GAAA;QACX,OAAOC,CAAAA,CAAEC,MAAM,CAAC;AACdC,YAAAA,EAAAA,EAAIF,CAAEG,CAAAA,MAAM,EAAGC,CAAAA,GAAG,GAAGC,QAAQ,EAAA;YAC7BC,UAAYN,EAAAA,CAAAA,CAAEO,MAAM,EAAA,CAAGC,IAAI,EAAA;AAC3BC,YAAAA,IAAAA,EAAMT,EAAEO,MAAM,EAAA;AACdG,YAAAA,IAAAA,EAAMV,CAAEO,CAAAA,MAAM,EAAGI,CAAAA,MAAM,CAAC,CAAG,EAAA,0CAAA,CAAA;AAC3BC,YAAAA,SAAAA,EAAWZ,EAAEO,MAAM,EAAA;AACnBM,YAAAA,SAAAA,EAAWb,EAAEO,MAAM,EAAA;YACnBO,WAAad,EAAAA,CAAAA,CAAEO,MAAM,EAAA,CAAGQ,QAAQ,EAAA;AAChCC,YAAAA,SAAAA,EAAWhB,EAAEiB,OAAO;AACtB,SAAA,CAAA;AACF;AAEA;;;;AAIC,MACD,IAAIC,OAAU,GAAA;AACZ,QAAA,OAAOlB,CAAEmB,CAAAA,KAAK,CAAC,IAAI,CAACpB,MAAM,CAAA;AAC5B;AA7BA,IAAA,WAAA,CAAmBqB,MAAmB,CAAE;QACtC,IAAI,CAACC,OAAO,GAAGD,MAAAA;AACjB;AA4BF;;;;"}
|
|
@@ -22,14 +22,7 @@ declare const _default: () => {
|
|
|
22
22
|
};
|
|
23
23
|
}[];
|
|
24
24
|
};
|
|
25
|
-
'content-api':
|
|
26
|
-
type: string;
|
|
27
|
-
routes: {
|
|
28
|
-
method: string;
|
|
29
|
-
path: string;
|
|
30
|
-
handler: string;
|
|
31
|
-
}[];
|
|
32
|
-
};
|
|
25
|
+
'content-api': () => import("@strapi/types/dist/core").RouterInput;
|
|
33
26
|
};
|
|
34
27
|
controllers: {
|
|
35
28
|
locales: import("@strapi/types/dist/core").Controller;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBAOG"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
routes: {
|
|
4
|
-
method: string;
|
|
5
|
-
path: string;
|
|
6
|
-
handler: string;
|
|
7
|
-
}[];
|
|
8
|
-
};
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
declare const _default: () => Core.RouterInput;
|
|
9
3
|
export default _default;
|
|
10
4
|
//# 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":"
|
|
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;8BAGvB,KAAK,WAAW;AAAnC,wBAcE"}
|
|
@@ -15,14 +15,7 @@ declare const _default: {
|
|
|
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
|
};
|
|
27
20
|
export default _default;
|
|
28
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAGA,wBAGE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../server/src/routes/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Core } from '@strapi/types';
|
|
2
|
+
import * as z from 'zod/v4';
|
|
3
|
+
/**
|
|
4
|
+
* A validator for i18n locale routes.
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
export declare class I18nLocaleRouteValidator {
|
|
8
|
+
protected readonly _strapi: Core.Strapi;
|
|
9
|
+
constructor(strapi: Core.Strapi);
|
|
10
|
+
/**
|
|
11
|
+
* Generates a validation schema for a single locale.
|
|
12
|
+
*
|
|
13
|
+
* @returns A schema for validating locale objects
|
|
14
|
+
*/
|
|
15
|
+
get locale(): z.ZodObject<{
|
|
16
|
+
id: z.ZodNumber;
|
|
17
|
+
documentId: z.ZodString;
|
|
18
|
+
name: z.ZodString;
|
|
19
|
+
code: z.ZodString;
|
|
20
|
+
createdAt: z.ZodString;
|
|
21
|
+
updatedAt: z.ZodString;
|
|
22
|
+
publishedAt: z.ZodNullable<z.ZodString>;
|
|
23
|
+
isDefault: z.ZodBoolean;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
/**
|
|
26
|
+
* Generates a validation schema for an array of locales
|
|
27
|
+
*
|
|
28
|
+
* @returns A schema for validating arrays of locales
|
|
29
|
+
*/
|
|
30
|
+
get locales(): z.ZodArray<z.ZodObject<{
|
|
31
|
+
id: z.ZodNumber;
|
|
32
|
+
documentId: z.ZodString;
|
|
33
|
+
name: z.ZodString;
|
|
34
|
+
code: z.ZodString;
|
|
35
|
+
createdAt: z.ZodString;
|
|
36
|
+
updatedAt: z.ZodString;
|
|
37
|
+
publishedAt: z.ZodNullable<z.ZodString>;
|
|
38
|
+
isDefault: z.ZodBoolean;
|
|
39
|
+
}, z.core.$strip>>;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=locale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../../../server/src/routes/validation/locale.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B;;;GAGG;AACH,qBAAa,wBAAwB;IACnC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;gBAErB,MAAM,EAAE,IAAI,CAAC,MAAM;IAItC;;;;OAIG;IACH,IAAI,MAAM;;;;;;;;;sBAWT;IAED;;;;OAIG;IACH,IAAI,OAAO;;;;;;;;;uBAEV;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/i18n",
|
|
3
|
-
"version": "0.0.0-next.
|
|
3
|
+
"version": "0.0.0-next.df0d99415fc543d9747f3946fd7d1a4c39052b95",
|
|
4
4
|
"description": "Create read and update content in different languages, both from the Admin Panel and from the API",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -57,20 +57,21 @@
|
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@reduxjs/toolkit": "1.9.7",
|
|
60
|
-
"@strapi/design-system": "2.0.0-rc.
|
|
61
|
-
"@strapi/icons": "2.0.0-rc.
|
|
62
|
-
"@strapi/utils": "0.0.0-next.
|
|
60
|
+
"@strapi/design-system": "2.0.0-rc.29",
|
|
61
|
+
"@strapi/icons": "2.0.0-rc.29",
|
|
62
|
+
"@strapi/utils": "0.0.0-next.df0d99415fc543d9747f3946fd7d1a4c39052b95",
|
|
63
63
|
"lodash": "4.17.21",
|
|
64
64
|
"qs": "6.11.1",
|
|
65
65
|
"react-intl": "6.6.2",
|
|
66
66
|
"react-redux": "8.1.3",
|
|
67
|
-
"yup": "0.32.9"
|
|
67
|
+
"yup": "0.32.9",
|
|
68
|
+
"zod": "3.25.67"
|
|
68
69
|
},
|
|
69
70
|
"devDependencies": {
|
|
70
|
-
"@strapi/admin": "0.0.0-next.
|
|
71
|
-
"@strapi/admin-test-utils": "0.0.0-next.
|
|
72
|
-
"@strapi/content-manager": "0.0.0-next.
|
|
73
|
-
"@strapi/types": "0.0.0-next.
|
|
71
|
+
"@strapi/admin": "0.0.0-next.df0d99415fc543d9747f3946fd7d1a4c39052b95",
|
|
72
|
+
"@strapi/admin-test-utils": "0.0.0-next.df0d99415fc543d9747f3946fd7d1a4c39052b95",
|
|
73
|
+
"@strapi/content-manager": "0.0.0-next.df0d99415fc543d9747f3946fd7d1a4c39052b95",
|
|
74
|
+
"@strapi/types": "0.0.0-next.df0d99415fc543d9747f3946fd7d1a4c39052b95",
|
|
74
75
|
"@testing-library/react": "15.0.7",
|
|
75
76
|
"@testing-library/user-event": "14.5.2",
|
|
76
77
|
"msw": "1.3.0",
|