@strapi/admin 5.47.0 → 5.48.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/admin/src/StrapiApp.js +53 -11
- package/dist/admin/admin/src/StrapiApp.js.map +1 -1
- package/dist/admin/admin/src/StrapiApp.mjs +53 -11
- package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
- package/dist/admin/admin/src/features/Auth.js +2 -1
- package/dist/admin/admin/src/features/Auth.js.map +1 -1
- package/dist/admin/admin/src/features/Auth.mjs +2 -1
- package/dist/admin/admin/src/features/Auth.mjs.map +1 -1
- package/dist/admin/admin/src/translations/{dk.json.js → da.json.js} +3 -3
- package/dist/admin/admin/src/translations/{dk.json.js.map → da.json.js.map} +1 -1
- package/dist/admin/admin/src/translations/{dk.json.mjs → da.json.mjs} +3 -3
- package/dist/admin/admin/src/translations/{dk.json.mjs.map → da.json.mjs.map} +1 -1
- package/dist/admin/admin/src/translations/languageNativeNames.js +1 -1
- package/dist/admin/admin/src/translations/languageNativeNames.js.map +1 -1
- package/dist/admin/admin/src/translations/languageNativeNames.mjs +1 -1
- package/dist/admin/admin/src/translations/languageNativeNames.mjs.map +1 -1
- package/dist/admin/admin/src/translations/normalizeAdminLocale.js +8 -0
- package/dist/admin/admin/src/translations/normalizeAdminLocale.js.map +1 -0
- package/dist/admin/admin/src/translations/normalizeAdminLocale.mjs +6 -0
- package/dist/admin/admin/src/translations/normalizeAdminLocale.mjs.map +1 -0
- package/dist/admin/admin/src/utils/getFetchClient.js +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.mjs +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
- package/dist/admin/src/StrapiApp.d.ts +2 -0
- package/dist/admin/src/translations/languageNativeNames.d.ts +1 -1
- package/dist/admin/src/translations/normalizeAdminLocale.d.ts +4 -0
- package/dist/server/server/src/controllers/admin.js +8 -2
- package/dist/server/server/src/controllers/admin.js.map +1 -1
- package/dist/server/server/src/controllers/admin.mjs +8 -2
- package/dist/server/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/server/src/controllers/webhooks.js +1 -2
- package/dist/server/server/src/controllers/webhooks.js.map +1 -1
- package/dist/server/server/src/controllers/webhooks.mjs +1 -2
- package/dist/server/server/src/controllers/webhooks.mjs.map +1 -1
- package/dist/server/server/src/migrations/database/migrate-prefered-language-dk-to-da.js +28 -0
- package/dist/server/server/src/migrations/database/migrate-prefered-language-dk-to-da.js.map +1 -0
- package/dist/server/server/src/migrations/database/migrate-prefered-language-dk-to-da.mjs +26 -0
- package/dist/server/server/src/migrations/database/migrate-prefered-language-dk-to-da.mjs.map +1 -0
- package/dist/server/server/src/register.js +2 -0
- package/dist/server/server/src/register.js.map +1 -1
- package/dist/server/server/src/register.mjs +2 -0
- package/dist/server/server/src/register.mjs.map +1 -1
- package/dist/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/server/src/controllers/webhooks.d.ts.map +1 -1
- package/dist/server/src/migrations/database/migrate-prefered-language-dk-to-da.d.ts +22 -0
- package/dist/server/src/migrations/database/migrate-prefered-language-dk-to-da.d.ts.map +1 -0
- package/dist/server/src/register.d.ts.map +1 -1
- package/package.json +10 -12
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import isLocalhostIp from 'is-localhost-ip';
|
|
2
|
-
import punycode from 'punycode/';
|
|
3
2
|
import ___default from 'lodash';
|
|
4
3
|
import { yup, validateYupSchema } from '@strapi/utils';
|
|
5
4
|
|
|
@@ -11,7 +10,7 @@ const webhookValidator = yup.object({
|
|
|
11
10
|
return true;
|
|
12
11
|
}
|
|
13
12
|
try {
|
|
14
|
-
const parsedUrl = new URL(
|
|
13
|
+
const parsedUrl = new URL(url);
|
|
15
14
|
const isLocalUrl = await isLocalhostIp(parsedUrl.hostname);
|
|
16
15
|
return !isLocalUrl;
|
|
17
16
|
} catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.mjs","sources":["../../../../../server/src/controllers/webhooks.ts"],"sourcesContent":["import isLocalhostIp from 'is-localhost-ip';\n// Regular import references a deprecated node module,\n// See https://www.npmjs.com/package/punycode.js#installation\nimport punycode from 'punycode/';\nimport type { Context } from 'koa';\nimport _ from 'lodash';\n\nimport { yup, validateYupSchema } from '@strapi/utils';\n\nimport type { Modules } from '@strapi/types';\n\nimport {\n CreateWebhook,\n DeleteWebhook,\n DeleteWebhooks,\n GetWebhook,\n UpdateWebhook,\n TriggerWebhook,\n GetWebhooks,\n} from '../../../shared/contracts/webhooks';\n\nconst urlRegex =\n /^(?:([a-z0-9+.-]+):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9_]-*)*[a-z\\u00a1-\\uffff0-9_]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9_]-*)*[a-z\\u00a1-\\uffff0-9_]+)*\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/;\n\nconst webhookValidator = yup\n .object({\n name: yup.string().required(),\n url: yup\n .string()\n .matches(urlRegex, 'url must be a valid URL')\n .required()\n .test(\n 'is-public-url',\n \"Url is not supported because it isn't reachable over the public internet\",\n async (url) => {\n if (process.env.NODE_ENV !== 'production') {\n return true;\n }\n\n try {\n const parsedUrl = new URL(punycode.toASCII(url!));\n const isLocalUrl = await isLocalhostIp(parsedUrl.hostname);\n return !isLocalUrl;\n } catch {\n return false;\n }\n }\n ),\n headers: yup.lazy((data) => {\n if (typeof data !== 'object') {\n return yup.object().required();\n }\n\n return yup\n .object(\n // @ts-expect-error lodash types\n _.mapValues(data, () => {\n yup.string().min(1).required();\n })\n )\n .required();\n }),\n events: yup.array().of(yup.string()).required(),\n })\n .noUnknown();\n\nconst updateWebhookValidator = webhookValidator.shape({\n isEnabled: yup.boolean(),\n});\n\nexport default {\n async listWebhooks(ctx: Context) {\n const webhooks = await strapi.get('webhookStore').findWebhooks();\n ctx.send({ data: webhooks } satisfies GetWebhooks.Response);\n },\n\n async getWebhook(ctx: Context) {\n const { id } = ctx.params;\n const webhook = await strapi.get('webhookStore').findWebhook(id);\n\n if (!webhook) {\n return ctx.notFound('webhook.notFound');\n }\n\n ctx.send({ data: webhook } satisfies GetWebhook.Response);\n },\n\n async createWebhook(ctx: Context) {\n const { body } = ctx.request as CreateWebhook.Request;\n\n await validateYupSchema(webhookValidator)(body);\n\n const webhook = await strapi.get('webhookStore').createWebhook(body);\n\n strapi.get('webhookRunner').add(webhook);\n\n ctx.created({ data: webhook } satisfies CreateWebhook.Response);\n },\n\n async updateWebhook(ctx: Context) {\n const { id } = ctx.params as UpdateWebhook.Params;\n const { body } = ctx.request as UpdateWebhook.Request;\n\n await validateYupSchema(updateWebhookValidator)(body);\n\n const webhook = await strapi.get('webhookStore').findWebhook(id);\n\n if (!webhook) {\n return ctx.notFound('webhook.notFound');\n }\n\n const updatedWebhook = await strapi.get('webhookStore').updateWebhook(id, {\n ...webhook,\n ...body,\n });\n\n if (!updatedWebhook) {\n return ctx.notFound('webhook.notFound');\n }\n\n strapi.get('webhookRunner').update(updatedWebhook);\n\n ctx.send({ data: updatedWebhook } satisfies UpdateWebhook.Response);\n },\n\n async deleteWebhook(ctx: Context) {\n const { id } = ctx.params;\n const webhook = await strapi.get('webhookStore').findWebhook(id);\n\n if (!webhook) {\n return ctx.notFound('webhook.notFound');\n }\n\n await strapi.get('webhookStore').deleteWebhook(id);\n\n strapi.get('webhookRunner').remove(webhook);\n\n ctx.body = { data: webhook } satisfies DeleteWebhook.Response;\n },\n\n async deleteWebhooks(ctx: Context) {\n const { ids } = ctx.request.body as DeleteWebhooks.Request['body'];\n\n if (!Array.isArray(ids) || ids.length === 0) {\n return ctx.badRequest('ids must be an array of id');\n }\n\n for (const id of ids) {\n const webhook = await strapi.get('webhookStore').findWebhook(id);\n\n if (webhook) {\n await strapi.get('webhookStore').deleteWebhook(id);\n strapi.get('webhookRunner').remove(webhook);\n }\n }\n\n ctx.send({ data: ids } satisfies DeleteWebhooks.Response);\n },\n\n async triggerWebhook(ctx: Context) {\n const { id } = ctx.params;\n\n const webhook = await strapi.get('webhookStore').findWebhook(id);\n\n const response = await strapi\n .get('webhookRunner')\n .run(webhook as Modules.WebhookStore.Webhook, 'trigger-test', {});\n\n ctx.body = { data: response } satisfies TriggerWebhook.Response;\n },\n};\n"],"names":["urlRegex","webhookValidator","yup","object","name","string","required","url","matches","test","process","env","NODE_ENV","parsedUrl","URL","punycode","toASCII","isLocalUrl","isLocalhostIp","hostname","headers","lazy","data","_","mapValues","min","events","array","of","noUnknown","updateWebhookValidator","shape","isEnabled","boolean","listWebhooks","ctx","webhooks","strapi","get","findWebhooks","send","getWebhook","id","params","webhook","findWebhook","notFound","createWebhook","body","request","validateYupSchema","add","created","updateWebhook","updatedWebhook","update","deleteWebhook","remove","deleteWebhooks","ids","Array","isArray","length","badRequest","triggerWebhook","response","run"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webhooks.mjs","sources":["../../../../../server/src/controllers/webhooks.ts"],"sourcesContent":["import isLocalhostIp from 'is-localhost-ip';\nimport type { Context } from 'koa';\nimport _ from 'lodash';\n\nimport { yup, validateYupSchema } from '@strapi/utils';\n\nimport type { Modules } from '@strapi/types';\n\nimport {\n CreateWebhook,\n DeleteWebhook,\n DeleteWebhooks,\n GetWebhook,\n UpdateWebhook,\n TriggerWebhook,\n GetWebhooks,\n} from '../../../shared/contracts/webhooks';\n\nconst urlRegex =\n /^(?:([a-z0-9+.-]+):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9_]-*)*[a-z\\u00a1-\\uffff0-9_]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9_]-*)*[a-z\\u00a1-\\uffff0-9_]+)*\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/;\n\nconst webhookValidator = yup\n .object({\n name: yup.string().required(),\n url: yup\n .string()\n .matches(urlRegex, 'url must be a valid URL')\n .required()\n .test(\n 'is-public-url',\n \"Url is not supported because it isn't reachable over the public internet\",\n async (url) => {\n if (process.env.NODE_ENV !== 'production') {\n return true;\n }\n\n try {\n const parsedUrl = new URL(url!);\n const isLocalUrl = await isLocalhostIp(parsedUrl.hostname);\n return !isLocalUrl;\n } catch {\n return false;\n }\n }\n ),\n headers: yup.lazy((data) => {\n if (typeof data !== 'object') {\n return yup.object().required();\n }\n\n return yup\n .object(\n // @ts-expect-error lodash types\n _.mapValues(data, () => {\n yup.string().min(1).required();\n })\n )\n .required();\n }),\n events: yup.array().of(yup.string()).required(),\n })\n .noUnknown();\n\nconst updateWebhookValidator = webhookValidator.shape({\n isEnabled: yup.boolean(),\n});\n\nexport default {\n async listWebhooks(ctx: Context) {\n const webhooks = await strapi.get('webhookStore').findWebhooks();\n ctx.send({ data: webhooks } satisfies GetWebhooks.Response);\n },\n\n async getWebhook(ctx: Context) {\n const { id } = ctx.params;\n const webhook = await strapi.get('webhookStore').findWebhook(id);\n\n if (!webhook) {\n return ctx.notFound('webhook.notFound');\n }\n\n ctx.send({ data: webhook } satisfies GetWebhook.Response);\n },\n\n async createWebhook(ctx: Context) {\n const { body } = ctx.request as CreateWebhook.Request;\n\n await validateYupSchema(webhookValidator)(body);\n\n const webhook = await strapi.get('webhookStore').createWebhook(body);\n\n strapi.get('webhookRunner').add(webhook);\n\n ctx.created({ data: webhook } satisfies CreateWebhook.Response);\n },\n\n async updateWebhook(ctx: Context) {\n const { id } = ctx.params as UpdateWebhook.Params;\n const { body } = ctx.request as UpdateWebhook.Request;\n\n await validateYupSchema(updateWebhookValidator)(body);\n\n const webhook = await strapi.get('webhookStore').findWebhook(id);\n\n if (!webhook) {\n return ctx.notFound('webhook.notFound');\n }\n\n const updatedWebhook = await strapi.get('webhookStore').updateWebhook(id, {\n ...webhook,\n ...body,\n });\n\n if (!updatedWebhook) {\n return ctx.notFound('webhook.notFound');\n }\n\n strapi.get('webhookRunner').update(updatedWebhook);\n\n ctx.send({ data: updatedWebhook } satisfies UpdateWebhook.Response);\n },\n\n async deleteWebhook(ctx: Context) {\n const { id } = ctx.params;\n const webhook = await strapi.get('webhookStore').findWebhook(id);\n\n if (!webhook) {\n return ctx.notFound('webhook.notFound');\n }\n\n await strapi.get('webhookStore').deleteWebhook(id);\n\n strapi.get('webhookRunner').remove(webhook);\n\n ctx.body = { data: webhook } satisfies DeleteWebhook.Response;\n },\n\n async deleteWebhooks(ctx: Context) {\n const { ids } = ctx.request.body as DeleteWebhooks.Request['body'];\n\n if (!Array.isArray(ids) || ids.length === 0) {\n return ctx.badRequest('ids must be an array of id');\n }\n\n for (const id of ids) {\n const webhook = await strapi.get('webhookStore').findWebhook(id);\n\n if (webhook) {\n await strapi.get('webhookStore').deleteWebhook(id);\n strapi.get('webhookRunner').remove(webhook);\n }\n }\n\n ctx.send({ data: ids } satisfies DeleteWebhooks.Response);\n },\n\n async triggerWebhook(ctx: Context) {\n const { id } = ctx.params;\n\n const webhook = await strapi.get('webhookStore').findWebhook(id);\n\n const response = await strapi\n .get('webhookRunner')\n .run(webhook as Modules.WebhookStore.Webhook, 'trigger-test', {});\n\n ctx.body = { data: response } satisfies TriggerWebhook.Response;\n },\n};\n"],"names":["urlRegex","webhookValidator","yup","object","name","string","required","url","matches","test","process","env","NODE_ENV","parsedUrl","URL","isLocalUrl","isLocalhostIp","hostname","headers","lazy","data","_","mapValues","min","events","array","of","noUnknown","updateWebhookValidator","shape","isEnabled","boolean","listWebhooks","ctx","webhooks","strapi","get","findWebhooks","send","getWebhook","id","params","webhook","findWebhook","notFound","createWebhook","body","request","validateYupSchema","add","created","updateWebhook","updatedWebhook","update","deleteWebhook","remove","deleteWebhooks","ids","Array","isArray","length","badRequest","triggerWebhook","response","run"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const ADMIN_USERS_TABLE = 'admin_users';
|
|
4
|
+
const PREFERED_LANGUAGE_COLUMN = 'prefered_language';
|
|
5
|
+
/**
|
|
6
|
+
* Migrates persisted admin UI language from the legacy Danish code `dk` to ISO 639-1 `da`.
|
|
7
|
+
*/ const migrateAdminPreferedLanguageDkToDa = {
|
|
8
|
+
name: 'admin::migrate-prefered-language-dk-to-da',
|
|
9
|
+
async up (trx) {
|
|
10
|
+
const hasTable = await trx.schema.hasTable(ADMIN_USERS_TABLE);
|
|
11
|
+
if (!hasTable) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const hasColumn = await trx.schema.hasColumn(ADMIN_USERS_TABLE, PREFERED_LANGUAGE_COLUMN);
|
|
15
|
+
if (!hasColumn) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
await trx(ADMIN_USERS_TABLE).where(PREFERED_LANGUAGE_COLUMN, 'dk').update({
|
|
19
|
+
[PREFERED_LANGUAGE_COLUMN]: 'da'
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
async down () {
|
|
23
|
+
throw new Error('not implemented');
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.migrateAdminPreferedLanguageDkToDa = migrateAdminPreferedLanguageDkToDa;
|
|
28
|
+
//# sourceMappingURL=migrate-prefered-language-dk-to-da.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-prefered-language-dk-to-da.js","sources":["../../../../../../server/src/migrations/database/migrate-prefered-language-dk-to-da.ts"],"sourcesContent":["const ADMIN_USERS_TABLE = 'admin_users';\nconst PREFERED_LANGUAGE_COLUMN = 'prefered_language';\n\ntype MigrationTransaction = {\n schema: {\n hasTable(tableName: string): Promise<boolean>;\n hasColumn(tableName: string, columnName: string): Promise<boolean>;\n };\n (tableName: string): {\n where(\n columnName: string,\n value: string\n ): {\n update(values: Record<string, string>): Promise<unknown>;\n };\n };\n};\n\ntype Migration = {\n name: string;\n up(trx: MigrationTransaction): Promise<void>;\n down(): Promise<void>;\n};\n\n/**\n * Migrates persisted admin UI language from the legacy Danish code `dk` to ISO 639-1 `da`.\n */\nexport const migrateAdminPreferedLanguageDkToDa: Migration = {\n name: 'admin::migrate-prefered-language-dk-to-da',\n async up(trx) {\n const hasTable = await trx.schema.hasTable(ADMIN_USERS_TABLE);\n\n if (!hasTable) {\n return;\n }\n\n const hasColumn = await trx.schema.hasColumn(ADMIN_USERS_TABLE, PREFERED_LANGUAGE_COLUMN);\n\n if (!hasColumn) {\n return;\n }\n\n await trx(ADMIN_USERS_TABLE)\n .where(PREFERED_LANGUAGE_COLUMN, 'dk')\n .update({ [PREFERED_LANGUAGE_COLUMN]: 'da' });\n },\n async down() {\n throw new Error('not implemented');\n },\n};\n"],"names":["ADMIN_USERS_TABLE","PREFERED_LANGUAGE_COLUMN","migrateAdminPreferedLanguageDkToDa","name","up","trx","hasTable","schema","hasColumn","where","update","down","Error"],"mappings":";;AAAA,MAAMA,iBAAAA,GAAoB,aAAA;AAC1B,MAAMC,wBAAAA,GAA2B,mBAAA;AAuBjC;;UAGaC,kCAAAA,GAAgD;IAC3DC,IAAAA,EAAM,2CAAA;AACN,IAAA,MAAMC,IAAGC,GAAG,EAAA;AACV,QAAA,MAAMC,WAAW,MAAMD,GAAAA,CAAIE,MAAM,CAACD,QAAQ,CAACN,iBAAAA,CAAAA;AAE3C,QAAA,IAAI,CAACM,QAAAA,EAAU;AACb,YAAA;AACF,QAAA;AAEA,QAAA,MAAME,YAAY,MAAMH,GAAAA,CAAIE,MAAM,CAACC,SAAS,CAACR,iBAAAA,EAAmBC,wBAAAA,CAAAA;AAEhE,QAAA,IAAI,CAACO,SAAAA,EAAW;AACd,YAAA;AACF,QAAA;AAEA,QAAA,MAAMH,IAAIL,iBAAAA,CAAAA,CACPS,KAAK,CAACR,wBAAAA,EAA0B,IAAA,CAAA,CAChCS,MAAM,CAAC;AAAE,YAAA,CAACT,2BAA2B;AAAK,SAAA,CAAA;AAC/C,IAAA,CAAA;IACA,MAAMU,IAAAA,CAAAA,GAAAA;AACJ,QAAA,MAAM,IAAIC,KAAAA,CAAM,iBAAA,CAAA;AAClB,IAAA;AACF;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const ADMIN_USERS_TABLE = 'admin_users';
|
|
2
|
+
const PREFERED_LANGUAGE_COLUMN = 'prefered_language';
|
|
3
|
+
/**
|
|
4
|
+
* Migrates persisted admin UI language from the legacy Danish code `dk` to ISO 639-1 `da`.
|
|
5
|
+
*/ const migrateAdminPreferedLanguageDkToDa = {
|
|
6
|
+
name: 'admin::migrate-prefered-language-dk-to-da',
|
|
7
|
+
async up (trx) {
|
|
8
|
+
const hasTable = await trx.schema.hasTable(ADMIN_USERS_TABLE);
|
|
9
|
+
if (!hasTable) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const hasColumn = await trx.schema.hasColumn(ADMIN_USERS_TABLE, PREFERED_LANGUAGE_COLUMN);
|
|
13
|
+
if (!hasColumn) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
await trx(ADMIN_USERS_TABLE).where(PREFERED_LANGUAGE_COLUMN, 'dk').update({
|
|
17
|
+
[PREFERED_LANGUAGE_COLUMN]: 'da'
|
|
18
|
+
});
|
|
19
|
+
},
|
|
20
|
+
async down () {
|
|
21
|
+
throw new Error('not implemented');
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { migrateAdminPreferedLanguageDkToDa };
|
|
26
|
+
//# sourceMappingURL=migrate-prefered-language-dk-to-da.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-prefered-language-dk-to-da.mjs","sources":["../../../../../../server/src/migrations/database/migrate-prefered-language-dk-to-da.ts"],"sourcesContent":["const ADMIN_USERS_TABLE = 'admin_users';\nconst PREFERED_LANGUAGE_COLUMN = 'prefered_language';\n\ntype MigrationTransaction = {\n schema: {\n hasTable(tableName: string): Promise<boolean>;\n hasColumn(tableName: string, columnName: string): Promise<boolean>;\n };\n (tableName: string): {\n where(\n columnName: string,\n value: string\n ): {\n update(values: Record<string, string>): Promise<unknown>;\n };\n };\n};\n\ntype Migration = {\n name: string;\n up(trx: MigrationTransaction): Promise<void>;\n down(): Promise<void>;\n};\n\n/**\n * Migrates persisted admin UI language from the legacy Danish code `dk` to ISO 639-1 `da`.\n */\nexport const migrateAdminPreferedLanguageDkToDa: Migration = {\n name: 'admin::migrate-prefered-language-dk-to-da',\n async up(trx) {\n const hasTable = await trx.schema.hasTable(ADMIN_USERS_TABLE);\n\n if (!hasTable) {\n return;\n }\n\n const hasColumn = await trx.schema.hasColumn(ADMIN_USERS_TABLE, PREFERED_LANGUAGE_COLUMN);\n\n if (!hasColumn) {\n return;\n }\n\n await trx(ADMIN_USERS_TABLE)\n .where(PREFERED_LANGUAGE_COLUMN, 'dk')\n .update({ [PREFERED_LANGUAGE_COLUMN]: 'da' });\n },\n async down() {\n throw new Error('not implemented');\n },\n};\n"],"names":["ADMIN_USERS_TABLE","PREFERED_LANGUAGE_COLUMN","migrateAdminPreferedLanguageDkToDa","name","up","trx","hasTable","schema","hasColumn","where","update","down","Error"],"mappings":"AAAA,MAAMA,iBAAAA,GAAoB,aAAA;AAC1B,MAAMC,wBAAAA,GAA2B,mBAAA;AAuBjC;;UAGaC,kCAAAA,GAAgD;IAC3DC,IAAAA,EAAM,2CAAA;AACN,IAAA,MAAMC,IAAGC,GAAG,EAAA;AACV,QAAA,MAAMC,WAAW,MAAMD,GAAAA,CAAIE,MAAM,CAACD,QAAQ,CAACN,iBAAAA,CAAAA;AAE3C,QAAA,IAAI,CAACM,QAAAA,EAAU;AACb,YAAA;AACF,QAAA;AAEA,QAAA,MAAME,YAAY,MAAMH,GAAAA,CAAIE,MAAM,CAACC,SAAS,CAACR,iBAAAA,EAAmBC,wBAAAA,CAAAA;AAEhE,QAAA,IAAI,CAACO,SAAAA,EAAW;AACd,YAAA;AACF,QAAA;AAEA,QAAA,MAAMH,IAAIL,iBAAAA,CAAAA,CACPS,KAAK,CAACR,wBAAAA,EAA0B,IAAA,CAAA,CAChCS,MAAM,CAAC;AAAE,YAAA,CAACT,2BAA2B;AAAK,SAAA,CAAA;AAC/C,IAAA,CAAA;IACA,MAAMU,IAAAA,CAAAA,GAAAA;AACJ,QAAA,MAAM,IAAIC,KAAAA,CAAM,iBAAA,CAAA;AAClB,IAAA;AACF;;;;"}
|
|
@@ -5,8 +5,10 @@ var admin = require('./strategies/admin.js');
|
|
|
5
5
|
var ai = require('./ai/services/ai.js');
|
|
6
6
|
var contentApiToken = require('./strategies/content-api-token.js');
|
|
7
7
|
var adminToken = require('./strategies/admin-token.js');
|
|
8
|
+
var migratePreferedLanguageDkToDa = require('./migrations/database/migrate-prefered-language-dk-to-da.js');
|
|
8
9
|
|
|
9
10
|
var register = (({ strapi })=>{
|
|
11
|
+
strapi.db.migrations.providers.internal.register(migratePreferedLanguageDkToDa.migrateAdminPreferedLanguageDkToDa);
|
|
10
12
|
const passportMiddleware = strapi.service('admin::passport').init();
|
|
11
13
|
strapi.server.api('admin').use(passportMiddleware);
|
|
12
14
|
strapi.get('auth').register('admin', admin.default);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sources":["../../../../server/src/register.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport registerAdminPanelRoute from './routes/serve-admin-panel';\nimport adminAuthStrategy from './strategies/admin';\nimport { createAiAdminService } from './ai/services/ai';\nimport contentApiTokenAuthStrategy from './strategies/content-api-token';\nimport adminTokenAuthStrategy from './strategies/admin-token';\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const passportMiddleware = strapi.service('admin::passport').init();\n\n strapi.server.api('admin').use(passportMiddleware);\n strapi.get('auth').register('admin', adminAuthStrategy);\n strapi.get('auth').register('admin', adminTokenAuthStrategy);\n strapi.get('auth').register('content-api', contentApiTokenAuthStrategy);\n\n strapi.add('ai.admin', () => createAiAdminService({ strapi }));\n\n const shouldServeAdminPanel = strapi.config.get('admin.serveAdminPanel');\n\n if (shouldServeAdminPanel) {\n registerAdminPanelRoute({ strapi });\n }\n};\n"],"names":["strapi","passportMiddleware","service","init","server","api","use","get","
|
|
1
|
+
{"version":3,"file":"register.js","sources":["../../../../server/src/register.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport registerAdminPanelRoute from './routes/serve-admin-panel';\nimport adminAuthStrategy from './strategies/admin';\nimport { createAiAdminService } from './ai/services/ai';\nimport contentApiTokenAuthStrategy from './strategies/content-api-token';\nimport adminTokenAuthStrategy from './strategies/admin-token';\nimport { migrateAdminPreferedLanguageDkToDa } from './migrations/database/migrate-prefered-language-dk-to-da';\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n strapi.db.migrations.providers.internal.register(migrateAdminPreferedLanguageDkToDa);\n\n const passportMiddleware = strapi.service('admin::passport').init();\n\n strapi.server.api('admin').use(passportMiddleware);\n strapi.get('auth').register('admin', adminAuthStrategy);\n strapi.get('auth').register('admin', adminTokenAuthStrategy);\n strapi.get('auth').register('content-api', contentApiTokenAuthStrategy);\n\n strapi.add('ai.admin', () => createAiAdminService({ strapi }));\n\n const shouldServeAdminPanel = strapi.config.get('admin.serveAdminPanel');\n\n if (shouldServeAdminPanel) {\n registerAdminPanelRoute({ strapi });\n }\n};\n"],"names":["strapi","db","migrations","providers","internal","register","migrateAdminPreferedLanguageDkToDa","passportMiddleware","service","init","server","api","use","get","adminAuthStrategy","adminTokenAuthStrategy","contentApiTokenAuthStrategy","add","createAiAdminService","shouldServeAdminPanel","config","registerAdminPanelRoute"],"mappings":";;;;;;;;;AAQA,eAAe,CAAA,CAAC,EAAEA,MAAM,EAA2B,GAAA;IACjDA,MAAAA,CAAOC,EAAE,CAACC,UAAU,CAACC,SAAS,CAACC,QAAQ,CAACC,QAAQ,CAACC,gEAAAA,CAAAA;AAEjD,IAAA,MAAMC,kBAAAA,GAAqBP,MAAAA,CAAOQ,OAAO,CAAC,mBAAmBC,IAAI,EAAA;AAEjET,IAAAA,MAAAA,CAAOU,MAAM,CAACC,GAAG,CAAC,OAAA,CAAA,CAASC,GAAG,CAACL,kBAAAA,CAAAA;AAC/BP,IAAAA,MAAAA,CAAOa,GAAG,CAAC,MAAA,CAAA,CAAQR,QAAQ,CAAC,OAAA,EAASS,aAAAA,CAAAA;AACrCd,IAAAA,MAAAA,CAAOa,GAAG,CAAC,MAAA,CAAA,CAAQR,QAAQ,CAAC,OAAA,EAASU,kBAAAA,CAAAA;AACrCf,IAAAA,MAAAA,CAAOa,GAAG,CAAC,MAAA,CAAA,CAAQR,QAAQ,CAAC,aAAA,EAAeW,uBAAAA,CAAAA;AAE3ChB,IAAAA,MAAAA,CAAOiB,GAAG,CAAC,UAAA,EAAY,IAAMC,uBAAAA,CAAqB;AAAElB,YAAAA;AAAO,SAAA,CAAA,CAAA;AAE3D,IAAA,MAAMmB,qBAAAA,GAAwBnB,MAAAA,CAAOoB,MAAM,CAACP,GAAG,CAAC,uBAAA,CAAA;AAEhD,IAAA,IAAIM,qBAAAA,EAAuB;QACzBE,uBAAAA,CAAwB;AAAErB,YAAAA;AAAO,SAAA,CAAA;AACnC,IAAA;AACF,CAAA;;;;"}
|
|
@@ -3,8 +3,10 @@ import adminAuthStrategy from './strategies/admin.mjs';
|
|
|
3
3
|
import { createAiAdminService } from './ai/services/ai.mjs';
|
|
4
4
|
import contentApiTokenAuthStrategy from './strategies/content-api-token.mjs';
|
|
5
5
|
import adminTokenAuthStrategy from './strategies/admin-token.mjs';
|
|
6
|
+
import { migrateAdminPreferedLanguageDkToDa } from './migrations/database/migrate-prefered-language-dk-to-da.mjs';
|
|
6
7
|
|
|
7
8
|
var register = (({ strapi })=>{
|
|
9
|
+
strapi.db.migrations.providers.internal.register(migrateAdminPreferedLanguageDkToDa);
|
|
8
10
|
const passportMiddleware = strapi.service('admin::passport').init();
|
|
9
11
|
strapi.server.api('admin').use(passportMiddleware);
|
|
10
12
|
strapi.get('auth').register('admin', adminAuthStrategy);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.mjs","sources":["../../../../server/src/register.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport registerAdminPanelRoute from './routes/serve-admin-panel';\nimport adminAuthStrategy from './strategies/admin';\nimport { createAiAdminService } from './ai/services/ai';\nimport contentApiTokenAuthStrategy from './strategies/content-api-token';\nimport adminTokenAuthStrategy from './strategies/admin-token';\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n const passportMiddleware = strapi.service('admin::passport').init();\n\n strapi.server.api('admin').use(passportMiddleware);\n strapi.get('auth').register('admin', adminAuthStrategy);\n strapi.get('auth').register('admin', adminTokenAuthStrategy);\n strapi.get('auth').register('content-api', contentApiTokenAuthStrategy);\n\n strapi.add('ai.admin', () => createAiAdminService({ strapi }));\n\n const shouldServeAdminPanel = strapi.config.get('admin.serveAdminPanel');\n\n if (shouldServeAdminPanel) {\n registerAdminPanelRoute({ strapi });\n }\n};\n"],"names":["strapi","passportMiddleware","service","init","server","api","use","get","
|
|
1
|
+
{"version":3,"file":"register.mjs","sources":["../../../../server/src/register.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport registerAdminPanelRoute from './routes/serve-admin-panel';\nimport adminAuthStrategy from './strategies/admin';\nimport { createAiAdminService } from './ai/services/ai';\nimport contentApiTokenAuthStrategy from './strategies/content-api-token';\nimport adminTokenAuthStrategy from './strategies/admin-token';\nimport { migrateAdminPreferedLanguageDkToDa } from './migrations/database/migrate-prefered-language-dk-to-da';\n\nexport default ({ strapi }: { strapi: Core.Strapi }) => {\n strapi.db.migrations.providers.internal.register(migrateAdminPreferedLanguageDkToDa);\n\n const passportMiddleware = strapi.service('admin::passport').init();\n\n strapi.server.api('admin').use(passportMiddleware);\n strapi.get('auth').register('admin', adminAuthStrategy);\n strapi.get('auth').register('admin', adminTokenAuthStrategy);\n strapi.get('auth').register('content-api', contentApiTokenAuthStrategy);\n\n strapi.add('ai.admin', () => createAiAdminService({ strapi }));\n\n const shouldServeAdminPanel = strapi.config.get('admin.serveAdminPanel');\n\n if (shouldServeAdminPanel) {\n registerAdminPanelRoute({ strapi });\n }\n};\n"],"names":["strapi","db","migrations","providers","internal","register","migrateAdminPreferedLanguageDkToDa","passportMiddleware","service","init","server","api","use","get","adminAuthStrategy","adminTokenAuthStrategy","contentApiTokenAuthStrategy","add","createAiAdminService","shouldServeAdminPanel","config","registerAdminPanelRoute"],"mappings":";;;;;;;AAQA,eAAe,CAAA,CAAC,EAAEA,MAAM,EAA2B,GAAA;IACjDA,MAAAA,CAAOC,EAAE,CAACC,UAAU,CAACC,SAAS,CAACC,QAAQ,CAACC,QAAQ,CAACC,kCAAAA,CAAAA;AAEjD,IAAA,MAAMC,kBAAAA,GAAqBP,MAAAA,CAAOQ,OAAO,CAAC,mBAAmBC,IAAI,EAAA;AAEjET,IAAAA,MAAAA,CAAOU,MAAM,CAACC,GAAG,CAAC,OAAA,CAAA,CAASC,GAAG,CAACL,kBAAAA,CAAAA;AAC/BP,IAAAA,MAAAA,CAAOa,GAAG,CAAC,MAAA,CAAA,CAAQR,QAAQ,CAAC,OAAA,EAASS,iBAAAA,CAAAA;AACrCd,IAAAA,MAAAA,CAAOa,GAAG,CAAC,MAAA,CAAA,CAAQR,QAAQ,CAAC,OAAA,EAASU,sBAAAA,CAAAA;AACrCf,IAAAA,MAAAA,CAAOa,GAAG,CAAC,MAAA,CAAA,CAAQR,QAAQ,CAAC,aAAA,EAAeW,2BAAAA,CAAAA;AAE3ChB,IAAAA,MAAAA,CAAOiB,GAAG,CAAC,UAAA,EAAY,IAAMC,oBAAAA,CAAqB;AAAElB,YAAAA;AAAO,SAAA,CAAA,CAAA;AAE3D,IAAA,MAAMmB,qBAAAA,GAAwBnB,MAAAA,CAAOoB,MAAM,CAACP,GAAG,CAAC,uBAAA,CAAA;AAEhD,IAAA,IAAIM,qBAAAA,EAAuB;QACzBE,uBAAAA,CAAwB;AAAErB,YAAAA;AAAO,SAAA,CAAA;AACnC,IAAA;AACF,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAenC,OAAO,KAAK,EAEV,kBAAkB,EAMnB,MAAM,iCAAiC,CAAC;AAezC;;GAEG;;;;;;;;;;;;;;;;;;;;;+BA2CgC,OAAO;6BAmBT,OAAO;;;;;;;;;;;;;;;;;;;;;;iBA6DnB,OAAO;;;;2BAmCG,OAAO;;;;;;;AA7JtC,wBAuKE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/webhooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/webhooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;;sBAmET,OAAO;oBAKT,OAAO;uBAWJ,OAAO;uBAYP,OAAO;uBA0BP,OAAO;wBAeN,OAAO;wBAmBP,OAAO;;AAzFnC,wBAoGE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type MigrationTransaction = {
|
|
2
|
+
schema: {
|
|
3
|
+
hasTable(tableName: string): Promise<boolean>;
|
|
4
|
+
hasColumn(tableName: string, columnName: string): Promise<boolean>;
|
|
5
|
+
};
|
|
6
|
+
(tableName: string): {
|
|
7
|
+
where(columnName: string, value: string): {
|
|
8
|
+
update(values: Record<string, string>): Promise<unknown>;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
type Migration = {
|
|
13
|
+
name: string;
|
|
14
|
+
up(trx: MigrationTransaction): Promise<void>;
|
|
15
|
+
down(): Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Migrates persisted admin UI language from the legacy Danish code `dk` to ISO 639-1 `da`.
|
|
19
|
+
*/
|
|
20
|
+
export declare const migrateAdminPreferedLanguageDkToDa: Migration;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=migrate-prefered-language-dk-to-da.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-prefered-language-dk-to-da.d.ts","sourceRoot":"","sources":["../../../../../server/src/migrations/database/migrate-prefered-language-dk-to-da.ts"],"names":[],"mappings":"AAGA,KAAK,oBAAoB,GAAG;IAC1B,MAAM,EAAE;QACN,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACpE,CAAC;IACF,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,KAAK,CACH,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ;YACD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;SAC1D,CAAC;KACH,CAAC;CACH,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC,EAAE,SAsBhD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../server/src/register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;qCAQd;IAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE;AAAnD,wBAiBE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/admin",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.48.0",
|
|
4
4
|
"description": "Strapi Admin",
|
|
5
5
|
"homepage": "https://strapi.io",
|
|
6
6
|
"bugs": {
|
|
@@ -91,14 +91,14 @@
|
|
|
91
91
|
"@reduxjs/toolkit": "1.9.7",
|
|
92
92
|
"@strapi/design-system": "2.2.0",
|
|
93
93
|
"@strapi/icons": "2.2.0",
|
|
94
|
-
"@strapi/permissions": "5.
|
|
95
|
-
"@strapi/types": "5.
|
|
96
|
-
"@strapi/typescript-utils": "5.
|
|
97
|
-
"@strapi/utils": "5.
|
|
94
|
+
"@strapi/permissions": "5.48.0",
|
|
95
|
+
"@strapi/types": "5.48.0",
|
|
96
|
+
"@strapi/typescript-utils": "5.48.0",
|
|
97
|
+
"@strapi/utils": "5.48.0",
|
|
98
98
|
"@testing-library/dom": "10.4.1",
|
|
99
|
-
"@testing-library/react": "16.3.
|
|
99
|
+
"@testing-library/react": "16.3.2",
|
|
100
100
|
"@testing-library/user-event": "14.6.1",
|
|
101
|
-
"axios": "1.
|
|
101
|
+
"axios": "1.17.0",
|
|
102
102
|
"bcryptjs": "2.4.3",
|
|
103
103
|
"boxen": "5.1.2",
|
|
104
104
|
"chalk": "^4.1.2",
|
|
@@ -128,8 +128,7 @@
|
|
|
128
128
|
"p-map": "4.0.0",
|
|
129
129
|
"passport-local": "1.0.0",
|
|
130
130
|
"pluralize": "8.0.0",
|
|
131
|
-
"
|
|
132
|
-
"qs": "6.15.0",
|
|
131
|
+
"qs": "6.15.2",
|
|
133
132
|
"react-dnd": "16.0.1",
|
|
134
133
|
"react-dnd-html5-backend": "16.0.1",
|
|
135
134
|
"react-intl": "6.6.2",
|
|
@@ -150,8 +149,8 @@
|
|
|
150
149
|
"zod": "3.25.67"
|
|
151
150
|
},
|
|
152
151
|
"devDependencies": {
|
|
153
|
-
"@strapi/admin-test-utils": "5.
|
|
154
|
-
"@strapi/data-transfer": "5.
|
|
152
|
+
"@strapi/admin-test-utils": "5.48.0",
|
|
153
|
+
"@strapi/data-transfer": "5.48.0",
|
|
155
154
|
"@types/codemirror5": "npm:@types/codemirror@^5.60.15",
|
|
156
155
|
"@types/fs-extra": "11.0.4",
|
|
157
156
|
"@types/invariant": "2.2.36",
|
|
@@ -165,7 +164,6 @@
|
|
|
165
164
|
"@types/markdown-it-footnote": "3.0.3",
|
|
166
165
|
"@types/passport-local": "1.0.36",
|
|
167
166
|
"@types/pluralize": "0.0.32",
|
|
168
|
-
"@types/punycode": "2.1.4",
|
|
169
167
|
"@types/react-window": "1.8.8",
|
|
170
168
|
"@types/sanitize-html": "2.13.0",
|
|
171
169
|
"@vitejs/plugin-react-swc": "3.6.0",
|