@strapi/plugin-users-permissions 5.9.0 → 5.10.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/.eslintignore +2 -1
- package/admin/src/components/BoundRoute/index.jsx +1 -1
- package/admin/src/components/FormModal/Input/index.jsx +1 -1
- package/admin/src/components/FormModal/index.jsx +1 -1
- package/admin/src/components/Policies/index.jsx +1 -1
- package/admin/src/index.js +2 -2
- package/admin/src/pages/AdvancedSettings/index.jsx +1 -1
- package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +1 -1
- package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +1 -1
- package/admin/src/pages/Roles/index.jsx +1 -1
- package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +1 -1
- package/admin/src/pluginId.js +2 -2
- package/dist/admin/chunks/ar-BJwjobLp.js +45 -0
- package/dist/admin/chunks/ar-BJwjobLp.js.map +1 -0
- package/dist/admin/chunks/ar-G6bUGuUb.mjs +43 -0
- package/dist/admin/chunks/ar-G6bUGuUb.mjs.map +1 -0
- package/dist/admin/chunks/cs-Bu59JqhG.mjs +49 -0
- package/dist/admin/chunks/cs-Bu59JqhG.mjs.map +1 -0
- package/dist/admin/chunks/cs-uS_SIEo8.js +51 -0
- package/dist/admin/chunks/cs-uS_SIEo8.js.map +1 -0
- package/dist/admin/chunks/de-7MVMrqqI.js +63 -0
- package/dist/admin/chunks/de-7MVMrqqI.js.map +1 -0
- package/dist/admin/chunks/de-B81A69_5.mjs +61 -0
- package/dist/admin/chunks/de-B81A69_5.mjs.map +1 -0
- package/dist/admin/chunks/dk-BaelzvBE.mjs +85 -0
- package/dist/admin/chunks/dk-BaelzvBE.mjs.map +1 -0
- package/dist/admin/chunks/dk-DwCLGmy9.js +87 -0
- package/dist/admin/chunks/dk-DwCLGmy9.js.map +1 -0
- package/dist/admin/chunks/en-BhgCBe7M.mjs +85 -0
- package/dist/admin/chunks/en-BhgCBe7M.mjs.map +1 -0
- package/dist/admin/chunks/en-DwQjkHi_.js +87 -0
- package/dist/admin/chunks/en-DwQjkHi_.js.map +1 -0
- package/dist/admin/chunks/es-B0wXmvRj.mjs +85 -0
- package/dist/admin/chunks/es-B0wXmvRj.mjs.map +1 -0
- package/dist/admin/chunks/es-BOJOedG5.js +87 -0
- package/dist/admin/chunks/es-BOJOedG5.js.map +1 -0
- package/dist/admin/chunks/fr-BDNWCNs0.js +51 -0
- package/dist/admin/chunks/fr-BDNWCNs0.js.map +1 -0
- package/dist/admin/chunks/fr-CGYvGUXg.mjs +49 -0
- package/dist/admin/chunks/fr-CGYvGUXg.mjs.map +1 -0
- package/dist/admin/chunks/id-CNzbwFjA.mjs +61 -0
- package/dist/admin/chunks/id-CNzbwFjA.mjs.map +1 -0
- package/dist/admin/chunks/id-UqUPykHZ.js +63 -0
- package/dist/admin/chunks/id-UqUPykHZ.js.map +1 -0
- package/dist/admin/chunks/index-B-Z_z_qb.mjs +213 -0
- package/dist/admin/chunks/index-B-Z_z_qb.mjs.map +1 -0
- package/dist/admin/chunks/index-B2MJiSOD.mjs +279 -0
- package/dist/admin/chunks/index-B2MJiSOD.mjs.map +1 -0
- package/dist/admin/chunks/index-BPiDUOGt.js +471 -0
- package/dist/admin/chunks/index-BPiDUOGt.js.map +1 -0
- package/dist/admin/chunks/index-BtYUb_br.js +741 -0
- package/dist/admin/chunks/index-BtYUb_br.js.map +1 -0
- package/dist/admin/chunks/index-COXjHxFm.mjs +718 -0
- package/dist/admin/chunks/index-COXjHxFm.mjs.map +1 -0
- package/dist/admin/chunks/index-CkYplz_3.js +301 -0
- package/dist/admin/chunks/index-CkYplz_3.js.map +1 -0
- package/dist/admin/chunks/index-Cu2GvTiT.mjs +1516 -0
- package/dist/admin/chunks/index-Cu2GvTiT.mjs.map +1 -0
- package/dist/admin/chunks/index-D01zzG9y.js +1537 -0
- package/dist/admin/chunks/index-D01zzG9y.js.map +1 -0
- package/dist/admin/chunks/index-DAclA-0k.js +217 -0
- package/dist/admin/chunks/index-DAclA-0k.js.map +1 -0
- package/dist/admin/chunks/index-DVNIct2-.mjs +448 -0
- package/dist/admin/chunks/index-DVNIct2-.mjs.map +1 -0
- package/dist/admin/chunks/it-B2H2foTf.mjs +61 -0
- package/dist/admin/chunks/it-B2H2foTf.mjs.map +1 -0
- package/dist/admin/chunks/it-D5VuyoLU.js +63 -0
- package/dist/admin/chunks/it-D5VuyoLU.js.map +1 -0
- package/dist/admin/chunks/ja-C0z9d7L9.mjs +47 -0
- package/dist/admin/chunks/ja-C0z9d7L9.mjs.map +1 -0
- package/dist/admin/chunks/ja-MpqVsCgs.js +49 -0
- package/dist/admin/chunks/ja-MpqVsCgs.js.map +1 -0
- package/dist/admin/chunks/ko-Bm-grPSc.js +87 -0
- package/dist/admin/chunks/ko-Bm-grPSc.js.map +1 -0
- package/dist/admin/chunks/ko-CzUgzpeS.mjs +85 -0
- package/dist/admin/chunks/ko-CzUgzpeS.mjs.map +1 -0
- package/dist/admin/chunks/ms-CCacxjim.mjs +48 -0
- package/dist/admin/chunks/ms-CCacxjim.mjs.map +1 -0
- package/dist/admin/chunks/ms-D7eyBD5H.js +50 -0
- package/dist/admin/chunks/ms-D7eyBD5H.js.map +1 -0
- package/dist/admin/chunks/nl-BIOwAQtI.js +49 -0
- package/dist/admin/chunks/nl-BIOwAQtI.js.map +1 -0
- package/dist/admin/chunks/nl-DDC3nZW-.mjs +47 -0
- package/dist/admin/chunks/nl-DDC3nZW-.mjs.map +1 -0
- package/dist/admin/chunks/pl-D5BeNrg_.js +87 -0
- package/dist/admin/chunks/pl-D5BeNrg_.js.map +1 -0
- package/dist/admin/chunks/pl-XkS463rN.mjs +85 -0
- package/dist/admin/chunks/pl-XkS463rN.mjs.map +1 -0
- package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs +43 -0
- package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs.map +1 -0
- package/dist/admin/chunks/pt-BR-DxPBzQGx.js +45 -0
- package/dist/admin/chunks/pt-BR-DxPBzQGx.js.map +1 -0
- package/dist/admin/chunks/pt-DQpEvio8.mjs +47 -0
- package/dist/admin/chunks/pt-DQpEvio8.mjs.map +1 -0
- package/dist/admin/chunks/pt-kkCwzNvH.js +49 -0
- package/dist/admin/chunks/pt-kkCwzNvH.js.map +1 -0
- package/dist/admin/chunks/ru-BQ0gHmp3.js +87 -0
- package/dist/admin/chunks/ru-BQ0gHmp3.js.map +1 -0
- package/dist/admin/chunks/ru-nzL_7Mhg.mjs +85 -0
- package/dist/admin/chunks/ru-nzL_7Mhg.mjs.map +1 -0
- package/dist/admin/chunks/sk-Ddxc_tZA.mjs +49 -0
- package/dist/admin/chunks/sk-Ddxc_tZA.mjs.map +1 -0
- package/dist/admin/chunks/sk-nVwAPdYC.js +51 -0
- package/dist/admin/chunks/sk-nVwAPdYC.js.map +1 -0
- package/dist/admin/chunks/sv-BDfk2A-F.js +87 -0
- package/dist/admin/chunks/sv-BDfk2A-F.js.map +1 -0
- package/dist/admin/chunks/sv-By3RYpMG.mjs +85 -0
- package/dist/admin/chunks/sv-By3RYpMG.mjs.map +1 -0
- package/dist/admin/chunks/th-BtTtpHe2.js +61 -0
- package/dist/admin/chunks/th-BtTtpHe2.js.map +1 -0
- package/dist/admin/chunks/th-COl50vqb.mjs +59 -0
- package/dist/admin/chunks/th-COl50vqb.mjs.map +1 -0
- package/dist/admin/chunks/tr-80SJU6jg.mjs +84 -0
- package/dist/admin/chunks/tr-80SJU6jg.mjs.map +1 -0
- package/dist/admin/chunks/tr-Di-Nf7cT.js +86 -0
- package/dist/admin/chunks/tr-Di-Nf7cT.js.map +1 -0
- package/dist/admin/chunks/uk-CggQOx1l.js +50 -0
- package/dist/admin/chunks/uk-CggQOx1l.js.map +1 -0
- package/dist/admin/chunks/uk-D8JHuzch.mjs +48 -0
- package/dist/admin/chunks/uk-D8JHuzch.mjs.map +1 -0
- package/dist/admin/chunks/vi-69AF03Iv.mjs +49 -0
- package/dist/admin/chunks/vi-69AF03Iv.mjs.map +1 -0
- package/dist/admin/chunks/vi-D9cCsHsU.js +51 -0
- package/dist/admin/chunks/vi-D9cCsHsU.js.map +1 -0
- package/dist/admin/chunks/zh-BzSkqxo-.mjs +85 -0
- package/dist/admin/chunks/zh-BzSkqxo-.mjs.map +1 -0
- package/dist/admin/chunks/zh-BzWgJEzz.js +87 -0
- package/dist/admin/chunks/zh-BzWgJEzz.js.map +1 -0
- package/dist/admin/chunks/zh-Hans-CKqQbpsM.js +87 -0
- package/dist/admin/chunks/zh-Hans-CKqQbpsM.js.map +1 -0
- package/dist/admin/chunks/zh-Hans-DmDcSsp7.mjs +85 -0
- package/dist/admin/chunks/zh-Hans-DmDcSsp7.mjs.map +1 -0
- package/dist/admin/index.js +6 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -4
- package/dist/admin/index.mjs.map +1 -1
- package/dist/server/index.js +4739 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/index.mjs +4737 -0
- package/dist/server/index.mjs.map +1 -0
- package/package.json +11 -10
- package/rollup.config.mjs +52 -0
- package/server/register.js +1 -1
- package/dist/_chunks/ar-BguGUqwK.js +0 -44
- package/dist/_chunks/ar-BguGUqwK.js.map +0 -1
- package/dist/_chunks/ar-CK8BRRXB.mjs +0 -44
- package/dist/_chunks/ar-CK8BRRXB.mjs.map +0 -1
- package/dist/_chunks/cs-BVigMk0l.mjs +0 -50
- package/dist/_chunks/cs-BVigMk0l.mjs.map +0 -1
- package/dist/_chunks/cs-BW8-K_GY.js +0 -50
- package/dist/_chunks/cs-BW8-K_GY.js.map +0 -1
- package/dist/_chunks/de-BKUdRFI4.mjs +0 -62
- package/dist/_chunks/de-BKUdRFI4.mjs.map +0 -1
- package/dist/_chunks/de-owXpVluI.js +0 -62
- package/dist/_chunks/de-owXpVluI.js.map +0 -1
- package/dist/_chunks/dk-BQiTK50l.mjs +0 -86
- package/dist/_chunks/dk-BQiTK50l.mjs.map +0 -1
- package/dist/_chunks/dk-LXAnbuBk.js +0 -86
- package/dist/_chunks/dk-LXAnbuBk.js.map +0 -1
- package/dist/_chunks/en-DOHtPf-2.mjs +0 -86
- package/dist/_chunks/en-DOHtPf-2.mjs.map +0 -1
- package/dist/_chunks/en-MHo5mcsU.js +0 -86
- package/dist/_chunks/en-MHo5mcsU.js.map +0 -1
- package/dist/_chunks/es-BwLCLXAQ.js +0 -86
- package/dist/_chunks/es-BwLCLXAQ.js.map +0 -1
- package/dist/_chunks/es-DNgOVMjD.mjs +0 -86
- package/dist/_chunks/es-DNgOVMjD.mjs.map +0 -1
- package/dist/_chunks/fr-DkgRugiU.mjs +0 -50
- package/dist/_chunks/fr-DkgRugiU.mjs.map +0 -1
- package/dist/_chunks/fr-DkhpSjjm.js +0 -50
- package/dist/_chunks/fr-DkhpSjjm.js.map +0 -1
- package/dist/_chunks/id-BTemOeTZ.js +0 -62
- package/dist/_chunks/id-BTemOeTZ.js.map +0 -1
- package/dist/_chunks/id-BdEsvnaF.mjs +0 -62
- package/dist/_chunks/id-BdEsvnaF.mjs.map +0 -1
- package/dist/_chunks/index-BCw6zVHf.mjs +0 -344
- package/dist/_chunks/index-BCw6zVHf.mjs.map +0 -1
- package/dist/_chunks/index-BSJxpmc1-C5aV1Jb8.js +0 -11116
- package/dist/_chunks/index-BSJxpmc1-C5aV1Jb8.js.map +0 -1
- package/dist/_chunks/index-BSJxpmc1-Cmh4INWh.mjs +0 -11093
- package/dist/_chunks/index-BSJxpmc1-Cmh4INWh.mjs.map +0 -1
- package/dist/_chunks/index-BdOumcDH.mjs +0 -262
- package/dist/_chunks/index-BdOumcDH.mjs.map +0 -1
- package/dist/_chunks/index-BifzOY9J.mjs +0 -1142
- package/dist/_chunks/index-BifzOY9J.mjs.map +0 -1
- package/dist/_chunks/index-Bk3q4O8M.js +0 -639
- package/dist/_chunks/index-Bk3q4O8M.js.map +0 -1
- package/dist/_chunks/index-Bl-UGfZ4.js +0 -365
- package/dist/_chunks/index-Bl-UGfZ4.js.map +0 -1
- package/dist/_chunks/index-BpBvwD7E.mjs +0 -617
- package/dist/_chunks/index-BpBvwD7E.mjs.map +0 -1
- package/dist/_chunks/index-CsepshPM.mjs +0 -253
- package/dist/_chunks/index-CsepshPM.mjs.map +0 -1
- package/dist/_chunks/index-DYLqtX6g.js +0 -1171
- package/dist/_chunks/index-DYLqtX6g.js.map +0 -1
- package/dist/_chunks/index-mrTAEHgX.js +0 -252
- package/dist/_chunks/index-mrTAEHgX.js.map +0 -1
- package/dist/_chunks/index-s_b84GLl.js +0 -280
- package/dist/_chunks/index-s_b84GLl.js.map +0 -1
- package/dist/_chunks/it-B-rv0E24.mjs +0 -62
- package/dist/_chunks/it-B-rv0E24.mjs.map +0 -1
- package/dist/_chunks/it-D1rH6V6_.js +0 -62
- package/dist/_chunks/it-D1rH6V6_.js.map +0 -1
- package/dist/_chunks/ja-C8K-VBPD.mjs +0 -48
- package/dist/_chunks/ja-C8K-VBPD.mjs.map +0 -1
- package/dist/_chunks/ja-DqShgTMf.js +0 -48
- package/dist/_chunks/ja-DqShgTMf.js.map +0 -1
- package/dist/_chunks/ko-B9DGEPWH.js +0 -86
- package/dist/_chunks/ko-B9DGEPWH.js.map +0 -1
- package/dist/_chunks/ko-Busb0wIY.mjs +0 -86
- package/dist/_chunks/ko-Busb0wIY.mjs.map +0 -1
- package/dist/_chunks/ms-ByvsQjRt.mjs +0 -49
- package/dist/_chunks/ms-ByvsQjRt.mjs.map +0 -1
- package/dist/_chunks/ms-CPBU3LWf.js +0 -49
- package/dist/_chunks/ms-CPBU3LWf.js.map +0 -1
- package/dist/_chunks/nl-5qO8Rpcy.mjs +0 -48
- package/dist/_chunks/nl-5qO8Rpcy.mjs.map +0 -1
- package/dist/_chunks/nl-CwNB6YoO.js +0 -48
- package/dist/_chunks/nl-CwNB6YoO.js.map +0 -1
- package/dist/_chunks/pl-BdIzifBE.mjs +0 -86
- package/dist/_chunks/pl-BdIzifBE.mjs.map +0 -1
- package/dist/_chunks/pl-Do9UD69f.js +0 -86
- package/dist/_chunks/pl-Do9UD69f.js.map +0 -1
- package/dist/_chunks/pt-BIO24ioG.mjs +0 -48
- package/dist/_chunks/pt-BIO24ioG.mjs.map +0 -1
- package/dist/_chunks/pt-BR-D7dZhxuP.js +0 -44
- package/dist/_chunks/pt-BR-D7dZhxuP.js.map +0 -1
- package/dist/_chunks/pt-BR-f0p23AQZ.mjs +0 -44
- package/dist/_chunks/pt-BR-f0p23AQZ.mjs.map +0 -1
- package/dist/_chunks/pt-fdvyOnUp.js +0 -48
- package/dist/_chunks/pt-fdvyOnUp.js.map +0 -1
- package/dist/_chunks/ru-C94rjPGA.js +0 -86
- package/dist/_chunks/ru-C94rjPGA.js.map +0 -1
- package/dist/_chunks/ru-VWy-IB7K.mjs +0 -86
- package/dist/_chunks/ru-VWy-IB7K.mjs.map +0 -1
- package/dist/_chunks/sk-BABEhykl.js +0 -50
- package/dist/_chunks/sk-BABEhykl.js.map +0 -1
- package/dist/_chunks/sk-B_LIcepm.mjs +0 -50
- package/dist/_chunks/sk-B_LIcepm.mjs.map +0 -1
- package/dist/_chunks/sv-ABLKOokl.mjs +0 -86
- package/dist/_chunks/sv-ABLKOokl.mjs.map +0 -1
- package/dist/_chunks/sv-Be43LhA9.js +0 -86
- package/dist/_chunks/sv-Be43LhA9.js.map +0 -1
- package/dist/_chunks/th-DKyP7ueR.mjs +0 -60
- package/dist/_chunks/th-DKyP7ueR.mjs.map +0 -1
- package/dist/_chunks/th-DgVhVLhL.js +0 -60
- package/dist/_chunks/th-DgVhVLhL.js.map +0 -1
- package/dist/_chunks/tr-B_idhkEs.js +0 -85
- package/dist/_chunks/tr-B_idhkEs.js.map +0 -1
- package/dist/_chunks/tr-qa1Q5UjC.mjs +0 -85
- package/dist/_chunks/tr-qa1Q5UjC.mjs.map +0 -1
- package/dist/_chunks/uk-BmRqbeQc.mjs +0 -49
- package/dist/_chunks/uk-BmRqbeQc.mjs.map +0 -1
- package/dist/_chunks/uk-LHOivnhP.js +0 -49
- package/dist/_chunks/uk-LHOivnhP.js.map +0 -1
- package/dist/_chunks/vi-CdVRdKDw.js +0 -50
- package/dist/_chunks/vi-CdVRdKDw.js.map +0 -1
- package/dist/_chunks/vi-HW-EdMea.mjs +0 -50
- package/dist/_chunks/vi-HW-EdMea.mjs.map +0 -1
- package/dist/_chunks/zh-5hKkVPA4.mjs +0 -86
- package/dist/_chunks/zh-5hKkVPA4.mjs.map +0 -1
- package/dist/_chunks/zh-Cuq8gMnF.js +0 -86
- package/dist/_chunks/zh-Cuq8gMnF.js.map +0 -1
- package/dist/_chunks/zh-Hans-BHilK-yc.mjs +0 -86
- package/dist/_chunks/zh-Hans-BHilK-yc.mjs.map +0 -1
- package/dist/_chunks/zh-Hans-GQDMKtY4.js +0 -86
- package/dist/_chunks/zh-Hans-GQDMKtY4.js.map +0 -1
- package/packup.config.ts +0 -22
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-COXjHxFm.mjs","sources":["../../../admin/src/components/FormModal/Input/index.jsx","../../../admin/src/components/FormModal/index.jsx","../../../admin/src/pages/Providers/utils/forms.js","../../../admin/src/pages/Providers/index.jsx"],"sourcesContent":["/**\n *\n * Input\n *\n */\n\nimport * as React from 'react';\n\nimport { TextInput, Toggle, Field } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nconst Input = ({\n description,\n disabled,\n intlLabel,\n error,\n name,\n onChange,\n placeholder,\n providerToEditName,\n type,\n value,\n}) => {\n const { formatMessage } = useIntl();\n const inputValue =\n name === 'noName'\n ? `${window.strapi.backendURL}/api/connect/${providerToEditName}/callback`\n : value;\n\n const label = formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { provider: providerToEditName, ...intlLabel.values }\n );\n const hint = description\n ? formatMessage(\n { id: description.id, defaultMessage: description.defaultMessage },\n { provider: providerToEditName, ...description.values }\n )\n : '';\n\n if (type === 'bool') {\n return (\n <Field.Root hint={hint} name={name}>\n <Field.Label>{label}</Field.Label>\n <Toggle\n aria-label={name}\n checked={value}\n disabled={disabled}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.off-label',\n defaultMessage: 'Off',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.on-label',\n defaultMessage: 'On',\n })}\n onChange={(e) => {\n onChange({ target: { name, value: e.target.checked } });\n }}\n />\n <Field.Hint />\n </Field.Root>\n );\n }\n\n const formattedPlaceholder = placeholder\n ? formatMessage(\n { id: placeholder.id, defaultMessage: placeholder.defaultMessage },\n { ...placeholder.values }\n )\n : '';\n\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Field.Root error={errorMessage} name={name}>\n <Field.Label>{label}</Field.Label>\n <TextInput\n disabled={disabled}\n onChange={onChange}\n placeholder={formattedPlaceholder}\n type={type}\n value={inputValue}\n />\n <Field.Error />\n </Field.Root>\n );\n};\n\nInput.defaultProps = {\n description: null,\n disabled: false,\n error: '',\n placeholder: null,\n value: '',\n};\n\nInput.propTypes = {\n description: PropTypes.shape({\n id: PropTypes.string.isRequired,\n defaultMessage: PropTypes.string.isRequired,\n values: PropTypes.object,\n }),\n disabled: PropTypes.bool,\n error: PropTypes.string,\n intlLabel: PropTypes.shape({\n id: PropTypes.string.isRequired,\n defaultMessage: PropTypes.string.isRequired,\n values: PropTypes.object,\n }).isRequired,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n placeholder: PropTypes.shape({\n id: PropTypes.string.isRequired,\n defaultMessage: PropTypes.string.isRequired,\n values: PropTypes.object,\n }),\n providerToEditName: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n};\n\nexport default Input;\n","/**\n *\n * FormModal\n *\n */\n\nimport * as React from 'react';\n\nimport { Button, Flex, Grid, Modal, Breadcrumbs, Crumb } from '@strapi/design-system';\nimport { Form, Formik } from 'formik';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport Input from './Input';\n\nconst FormModal = ({\n headerBreadcrumbs,\n initialData,\n isSubmiting,\n layout,\n isOpen,\n onSubmit,\n onToggle,\n providerToEditName,\n}) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={isOpen} onOpenChange={onToggle}>\n <Modal.Content>\n <Modal.Header>\n <Breadcrumbs label={headerBreadcrumbs.join(', ')}>\n {headerBreadcrumbs.map((crumb, index, arr) => (\n <Crumb isCurrent={index === arr.length - 1} key={crumb}>\n {crumb}\n </Crumb>\n ))}\n </Breadcrumbs>\n </Modal.Header>\n <Formik\n onSubmit={(values) => onSubmit(values)}\n initialValues={initialData}\n validationSchema={layout.schema}\n validateOnChange={false}\n >\n {({ errors, handleChange, values }) => {\n return (\n <Form>\n <Modal.Body>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Grid.Root gap={5}>\n {layout.form.map((row) => {\n return row.map((input) => {\n return (\n <Grid.Item\n key={input.name}\n col={input.size}\n xs={12}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <Input\n {...input}\n error={errors[input.name]}\n onChange={handleChange}\n value={values[input.name]}\n providerToEditName={providerToEditName}\n />\n </Grid.Item>\n );\n });\n })}\n </Grid.Root>\n </Flex>\n </Modal.Body>\n <Modal.Footer>\n <Button variant=\"tertiary\" onClick={onToggle} type=\"button\">\n {formatMessage({\n id: 'app.components.Button.cancel',\n defaultMessage: 'Cancel',\n })}\n </Button>\n <Button type=\"submit\" loading={isSubmiting}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n </Modal.Footer>\n </Form>\n );\n }}\n </Formik>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nFormModal.defaultProps = {\n initialData: null,\n providerToEditName: null,\n};\n\nFormModal.propTypes = {\n headerBreadcrumbs: PropTypes.arrayOf(PropTypes.string).isRequired,\n initialData: PropTypes.object,\n layout: PropTypes.shape({\n form: PropTypes.arrayOf(PropTypes.array),\n schema: PropTypes.object,\n }).isRequired,\n isOpen: PropTypes.bool.isRequired,\n isSubmiting: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n providerToEditName: PropTypes.string,\n};\n\nexport default FormModal;\n","import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../utils';\n\nconst callbackLabel = {\n id: getTrad('PopUpForm.Providers.redirectURL.front-end.label'),\n defaultMessage: 'The redirect URL to your front-end app',\n};\nconst callbackPlaceholder = {\n id: 'http://www.client-app.com',\n defaultMessage: 'http://www.client-app.com',\n};\nconst enabledDescription = {\n id: getTrad('PopUpForm.Providers.enabled.description'),\n defaultMessage: \"If disabled, users won't be able to use this provider.\",\n};\nconst enabledLabel = {\n id: getTrad('PopUpForm.Providers.enabled.label'),\n defaultMessage: 'Enable',\n};\nconst keyLabel = { id: getTrad('PopUpForm.Providers.key.label'), defaultMessage: 'Client ID' };\nconst hintLabel = {\n id: getTrad('PopUpForm.Providers.redirectURL.label'),\n defaultMessage: 'The redirect URL to add in your {provider} application configurations',\n};\nconst textPlaceholder = {\n id: getTrad('PopUpForm.Providers.key.placeholder'),\n defaultMessage: 'TEXT',\n};\n\nconst secretLabel = {\n id: getTrad('PopUpForm.Providers.secret.label'),\n defaultMessage: 'Client Secret',\n};\n\nconst CALLBACK_REGEX = /^$|^[a-z][a-z0-9+.-]*:\\/\\/[^\\s/$.?#](?:[^\\s]*[^\\s/$.?#])?$/i;\nconst SUBDOMAIN_REGEX = /^(([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+)(:\\d+)?(\\/\\S*)?$/i;\n\nconst forms = {\n email: {\n form: [\n [\n {\n intlLabel: enabledLabel,\n name: 'enabled',\n type: 'bool',\n description: enabledDescription,\n size: 6,\n // TODO check if still needed\n // validations: {\n // required: true,\n // },\n },\n ],\n ],\n schema: yup.object().shape({\n enabled: yup.bool().required(translatedErrors.required.id),\n }),\n },\n providers: {\n form: [\n [\n {\n intlLabel: enabledLabel,\n name: 'enabled',\n type: 'bool',\n description: enabledDescription,\n size: 6,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: keyLabel,\n name: 'key',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: secretLabel,\n name: 'secret',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: callbackLabel,\n placeholder: callbackPlaceholder,\n name: 'callback',\n type: 'text',\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: hintLabel,\n name: 'noName',\n type: 'text',\n validations: {},\n size: 12,\n disabled: true,\n },\n ],\n ],\n schema: yup.object().shape({\n enabled: yup.bool().required(translatedErrors.required.id),\n key: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n secret: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n callback: yup.string().when('enabled', {\n is: true,\n then: yup\n .string()\n .matches(CALLBACK_REGEX, translatedErrors.regex.id)\n .required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n }),\n },\n providersWithSubdomain: {\n form: [\n [\n {\n intlLabel: enabledLabel,\n name: 'enabled',\n type: 'bool',\n description: enabledDescription,\n size: 6,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: keyLabel,\n name: 'key',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: secretLabel,\n name: 'secret',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: {\n id: getTrad({ id: 'PopUpForm.Providers.jwksurl.label' }),\n defaultMessage: 'JWKS URL',\n },\n name: 'jwksurl',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: false,\n },\n },\n ],\n\n [\n {\n intlLabel: {\n id: getTrad('PopUpForm.Providers.subdomain.label'),\n defaultMessage: 'Host URI (Subdomain)',\n },\n name: 'subdomain',\n type: 'text',\n placeholder: {\n id: getTrad('PopUpForm.Providers.subdomain.placeholder'),\n defaultMessage: 'my.subdomain.com',\n },\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: callbackLabel,\n placeholder: callbackPlaceholder,\n name: 'callback',\n type: 'text',\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: hintLabel,\n name: 'noName',\n type: 'text',\n validations: {},\n size: 12,\n disabled: true,\n },\n ],\n ],\n schema: yup.object().shape({\n enabled: yup.bool().required(translatedErrors.required.id),\n key: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n secret: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n subdomain: yup.string().when('enabled', {\n is: true,\n then: yup\n .string()\n .matches(SUBDOMAIN_REGEX, translatedErrors.regex.id)\n .required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n callback: yup.string().when('enabled', {\n is: true,\n then: yup\n .string()\n .matches(CALLBACK_REGEX, translatedErrors.regex.id)\n .required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n }),\n },\n};\n\nexport default forms;\n","import * as React from 'react';\n\nimport { useTracking, Layouts } from '@strapi/admin/strapi-admin';\nimport {\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n useCollator,\n} from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n useRBAC,\n} from '@strapi/strapi/admin';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport FormModal from '../../components/FormModal';\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport forms from './utils/forms';\n\nexport const ProvidersPage = () => {\n const { formatMessage, locale } = useIntl();\n const queryClient = useQueryClient();\n const { trackUsage } = useTracking();\n const [isOpen, setIsOpen] = React.useState(false);\n const [providerToEditName, setProviderToEditName] = React.useState(null);\n const { toggleNotification } = useNotification();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const {\n isLoading: isLoadingPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateProviders });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'get-providers'],\n async () => {\n const { data } = await get('/users-permissions/providers');\n\n return data;\n },\n {\n initialData: {},\n }\n );\n\n const submitMutation = useMutation((body) => put('/users-permissions/providers', body), {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'get-providers']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: getTrad('notification.success.submit') }),\n });\n\n trackUsage('didEditAuthenticationProvider');\n\n handleToggleModal();\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: false,\n });\n\n const providers = Object.entries(data)\n .reduce((acc, [name, provider]) => {\n const { icon, enabled, subdomain } = provider;\n\n acc.push({\n name,\n icon: icon === 'envelope' ? ['fas', 'envelope'] : ['fab', icon],\n enabled,\n subdomain,\n });\n\n return acc;\n }, [])\n .sort((a, b) => formatter.compare(a.name, b.name));\n\n const isLoading = isLoadingData || isLoadingPermissions;\n\n const isProviderWithSubdomain = React.useMemo(() => {\n if (!providerToEditName) {\n return false;\n }\n\n const providerToEdit = providers.find((obj) => obj.name === providerToEditName);\n\n return !!providerToEdit?.subdomain;\n }, [providers, providerToEditName]);\n\n const layoutToRender = React.useMemo(() => {\n if (providerToEditName === 'email') {\n return forms.email;\n }\n\n if (isProviderWithSubdomain) {\n return forms.providersWithSubdomain;\n }\n\n return forms.providers;\n }, [providerToEditName, isProviderWithSubdomain]);\n\n const handleToggleModal = () => {\n setIsOpen((prev) => !prev);\n };\n\n const handleClickEdit = (provider) => {\n if (canUpdate) {\n setProviderToEditName(provider.name);\n handleToggleModal();\n }\n };\n\n const handleSubmit = async (values) => {\n trackUsage('willEditAuthenticationProvider');\n\n submitMutation.mutate({ providers: { ...data, [providerToEditName]: values } });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n })}\n />\n <Layouts.Content>\n <Table colCount={3} rowCount={providers.length + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'global.name', defaultMessage: 'Name' })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: getTrad('Providers.status'), defaultMessage: 'Status' })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\">\n <VisuallyHidden>\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </VisuallyHidden>\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {providers.map((provider) => (\n <Tr\n key={provider.name}\n onClick={() => (canUpdate ? handleClickEdit(provider) : undefined)}\n >\n <Td width=\"45%\">\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {provider.name}\n </Typography>\n </Td>\n <Td width=\"65%\">\n <Typography\n textColor={provider.enabled ? 'success600' : 'danger600'}\n data-testid={`enable-${provider.name}`}\n >\n {provider.enabled\n ? formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })\n : formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n {canUpdate && (\n <IconButton\n onClick={() => handleClickEdit(provider)}\n variant=\"ghost\"\n label=\"Edit\"\n >\n <Pencil />\n </IconButton>\n )}\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n <FormModal\n initialData={data[providerToEditName]}\n isOpen={isOpen}\n isSubmiting={submitMutation.isLoading}\n layout={layoutToRender}\n headerBreadcrumbs={[\n formatMessage({\n id: getTrad('PopUpForm.header.edit.providers'),\n defaultMessage: 'Edit Provider',\n }),\n upperFirst(providerToEditName),\n ]}\n onToggle={handleToggleModal}\n onSubmit={handleSubmit}\n providerToEditName={providerToEditName}\n />\n </Layouts.Root>\n );\n};\n\nconst ProtectedProvidersPage = () => (\n <Page.Protect permissions={PERMISSIONS.readProviders}>\n <ProvidersPage />\n </Page.Protect>\n);\n\nexport default ProtectedProvidersPage;\n"],"names":["Input","description","disabled","intlLabel","error","name","onChange","placeholder","providerToEditName","type","value","formatMessage","useIntl","inputValue","window","strapi","backendURL","label","id","defaultMessage","provider","values","hint","_jsxs","Field","Root","_jsx","Label","Toggle","aria-label","checked","offLabel","onLabel","e","target","Hint","formattedPlaceholder","errorMessage","TextInput","Error","defaultProps","propTypes","PropTypes","shape","string","isRequired","object","bool","func","oneOfType","FormModal","headerBreadcrumbs","initialData","isSubmiting","layout","isOpen","onSubmit","onToggle","Modal","open","onOpenChange","Content","Header","Breadcrumbs","join","map","crumb","index","arr","Crumb","isCurrent","length","Formik","initialValues","validationSchema","schema","validateOnChange","errors","handleChange","Form","Body","Flex","direction","alignItems","gap","Grid","form","row","input","Item","col","size","xs","Footer","Button","variant","onClick","loading","arrayOf","array","callbackLabel","getTrad","callbackPlaceholder","enabledDescription","enabledLabel","keyLabel","hintLabel","textPlaceholder","secretLabel","CALLBACK_REGEX","SUBDOMAIN_REGEX","forms","email","yup","enabled","required","translatedErrors","providers","validations","key","when","is","then","otherwise","secret","callback","matches","regex","providersWithSubdomain","subdomain","ProvidersPage","locale","queryClient","useQueryClient","trackUsage","useTracking","setIsOpen","React","useState","setProviderToEditName","toggleNotification","useNotification","get","put","useFetchClient","formatAPIError","useAPIErrorHandler","formatter","useCollator","sensitivity","isLoading","isLoadingPermissions","allowedActions","canUpdate","useRBAC","update","PERMISSIONS","updateProviders","isLoadingData","data","useQuery","submitMutation","useMutation","body","onSuccess","invalidateQueries","message","handleToggleModal","onError","refetchActive","Object","entries","reduce","acc","icon","push","sort","a","b","compare","isProviderWithSubdomain","useMemo","providerToEdit","find","obj","layoutToRender","prev","handleClickEdit","handleSubmit","mutate","Page","Loading","Layouts","Title","Main","title","Table","colCount","rowCount","Thead","Tr","Th","Typography","textColor","VisuallyHidden","Tbody","undefined","Td","width","fontWeight","data-testid","stopPropagation","IconButton","Pencil","upperFirst","ProtectedProvidersPage","Protect","permissions","readProviders"],"mappings":"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"}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
require('react');
|
|
5
|
+
var designSystem = require('@strapi/design-system');
|
|
6
|
+
var icons = require('@strapi/icons');
|
|
7
|
+
var admin = require('@strapi/strapi/admin');
|
|
8
|
+
var reactIntl = require('react-intl');
|
|
9
|
+
var reactQuery = require('react-query');
|
|
10
|
+
var index = require('./index-DAclA-0k.js');
|
|
11
|
+
require('lodash/isEmpty');
|
|
12
|
+
var yup = require('yup');
|
|
13
|
+
|
|
14
|
+
function _interopNamespaceDefault(e) {
|
|
15
|
+
var n = Object.create(null);
|
|
16
|
+
if (e) {
|
|
17
|
+
Object.keys(e).forEach(function (k) {
|
|
18
|
+
if (k !== 'default') {
|
|
19
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
20
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function () { return e[k]; }
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
n.default = e;
|
|
28
|
+
return Object.freeze(n);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
32
|
+
|
|
33
|
+
const layout = [
|
|
34
|
+
{
|
|
35
|
+
label: {
|
|
36
|
+
id: index.getTrad('EditForm.inputToggle.label.email'),
|
|
37
|
+
defaultMessage: 'One account per email address'
|
|
38
|
+
},
|
|
39
|
+
hint: {
|
|
40
|
+
id: index.getTrad('EditForm.inputToggle.description.email'),
|
|
41
|
+
defaultMessage: 'Disallow the user to create multiple accounts using the same email address with different authentication providers.'
|
|
42
|
+
},
|
|
43
|
+
name: 'unique_email',
|
|
44
|
+
type: 'boolean',
|
|
45
|
+
size: 12
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
label: {
|
|
49
|
+
id: index.getTrad('EditForm.inputToggle.label.sign-up'),
|
|
50
|
+
defaultMessage: 'Enable sign-ups'
|
|
51
|
+
},
|
|
52
|
+
hint: {
|
|
53
|
+
id: index.getTrad('EditForm.inputToggle.description.sign-up'),
|
|
54
|
+
defaultMessage: 'When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider.'
|
|
55
|
+
},
|
|
56
|
+
name: 'allow_register',
|
|
57
|
+
type: 'boolean',
|
|
58
|
+
size: 12
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
label: {
|
|
62
|
+
id: index.getTrad('EditForm.inputToggle.label.email-reset-password'),
|
|
63
|
+
defaultMessage: 'Reset password page'
|
|
64
|
+
},
|
|
65
|
+
hint: {
|
|
66
|
+
id: index.getTrad('EditForm.inputToggle.description.email-reset-password'),
|
|
67
|
+
defaultMessage: "URL of your application's reset password page."
|
|
68
|
+
},
|
|
69
|
+
placeholder: {
|
|
70
|
+
id: index.getTrad('EditForm.inputToggle.placeholder.email-reset-password'),
|
|
71
|
+
defaultMessage: 'ex: https://youtfrontend.com/reset-password'
|
|
72
|
+
},
|
|
73
|
+
name: 'email_reset_password',
|
|
74
|
+
type: 'string',
|
|
75
|
+
size: 12
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
label: {
|
|
79
|
+
id: index.getTrad('EditForm.inputToggle.label.email-confirmation'),
|
|
80
|
+
defaultMessage: 'Enable email confirmation'
|
|
81
|
+
},
|
|
82
|
+
hint: {
|
|
83
|
+
id: index.getTrad('EditForm.inputToggle.description.email-confirmation'),
|
|
84
|
+
defaultMessage: 'When enabled (ON), new registered users receive a confirmation email.'
|
|
85
|
+
},
|
|
86
|
+
name: 'email_confirmation',
|
|
87
|
+
type: 'boolean',
|
|
88
|
+
size: 12
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
label: {
|
|
92
|
+
id: index.getTrad('EditForm.inputToggle.label.email-confirmation-redirection'),
|
|
93
|
+
defaultMessage: 'Redirection url'
|
|
94
|
+
},
|
|
95
|
+
hint: {
|
|
96
|
+
id: index.getTrad('EditForm.inputToggle.description.email-confirmation-redirection'),
|
|
97
|
+
defaultMessage: 'After you confirmed your email, choose where you will be redirected.'
|
|
98
|
+
},
|
|
99
|
+
placeholder: {
|
|
100
|
+
id: index.getTrad('EditForm.inputToggle.placeholder.email-confirmation-redirection'),
|
|
101
|
+
defaultMessage: 'ex: https://youtfrontend.com/email-confirmation'
|
|
102
|
+
},
|
|
103
|
+
name: 'email_confirmation_redirection',
|
|
104
|
+
type: 'string',
|
|
105
|
+
size: 12
|
|
106
|
+
}
|
|
107
|
+
];
|
|
108
|
+
|
|
109
|
+
// eslint-disable-next-line prefer-regex-literals
|
|
110
|
+
const URL_REGEX = new RegExp('(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))');
|
|
111
|
+
const schema = yup__namespace.object().shape({
|
|
112
|
+
email_confirmation_redirection: yup__namespace.mixed().when('email_confirmation', {
|
|
113
|
+
is: true,
|
|
114
|
+
then: yup__namespace.string().matches(URL_REGEX).required(),
|
|
115
|
+
otherwise: yup__namespace.string().nullable()
|
|
116
|
+
}),
|
|
117
|
+
email_reset_password: yup__namespace.string(admin.translatedErrors.string).matches(URL_REGEX, {
|
|
118
|
+
id: admin.translatedErrors.regex.id,
|
|
119
|
+
defaultMessage: 'This is not a valid URL'
|
|
120
|
+
}).nullable()
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
const ProtectedAdvancedSettingsPage = ()=>/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Protect, {
|
|
124
|
+
permissions: index.PERMISSIONS.readAdvancedSettings,
|
|
125
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(AdvancedSettingsPage, {})
|
|
126
|
+
});
|
|
127
|
+
const AdvancedSettingsPage = ()=>{
|
|
128
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
129
|
+
const { toggleNotification } = admin.useNotification();
|
|
130
|
+
const { notifyStatus } = designSystem.useNotifyAT();
|
|
131
|
+
const queryClient = reactQuery.useQueryClient();
|
|
132
|
+
const { get, put } = admin.useFetchClient();
|
|
133
|
+
const { formatAPIError } = admin.useAPIErrorHandler();
|
|
134
|
+
const { isLoading: isLoadingForPermissions, allowedActions: { canUpdate } } = admin.useRBAC({
|
|
135
|
+
update: index.PERMISSIONS.updateAdvancedSettings
|
|
136
|
+
});
|
|
137
|
+
const { isLoading: isLoadingData, data } = reactQuery.useQuery([
|
|
138
|
+
'users-permissions',
|
|
139
|
+
'advanced'
|
|
140
|
+
], async ()=>{
|
|
141
|
+
const { data } = await get('/users-permissions/advanced');
|
|
142
|
+
return data;
|
|
143
|
+
}, {
|
|
144
|
+
onSuccess () {
|
|
145
|
+
notifyStatus(formatMessage({
|
|
146
|
+
id: index.getTrad('Form.advancedSettings.data.loaded'),
|
|
147
|
+
defaultMessage: 'Advanced settings data has been loaded'
|
|
148
|
+
}));
|
|
149
|
+
},
|
|
150
|
+
onError () {
|
|
151
|
+
toggleNotification({
|
|
152
|
+
type: 'danger',
|
|
153
|
+
message: formatMessage({
|
|
154
|
+
id: index.getTrad('notification.error'),
|
|
155
|
+
defaultMessage: 'An error occured'
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
const isLoading = isLoadingForPermissions || isLoadingData;
|
|
161
|
+
const submitMutation = reactQuery.useMutation((body)=>put('/users-permissions/advanced', body), {
|
|
162
|
+
async onSuccess () {
|
|
163
|
+
await queryClient.invalidateQueries([
|
|
164
|
+
'users-permissions',
|
|
165
|
+
'advanced'
|
|
166
|
+
]);
|
|
167
|
+
toggleNotification({
|
|
168
|
+
type: 'success',
|
|
169
|
+
message: formatMessage({
|
|
170
|
+
id: index.getTrad('notification.success.saved'),
|
|
171
|
+
defaultMessage: 'Saved'
|
|
172
|
+
})
|
|
173
|
+
});
|
|
174
|
+
},
|
|
175
|
+
onError (error) {
|
|
176
|
+
toggleNotification({
|
|
177
|
+
type: 'danger',
|
|
178
|
+
message: formatAPIError(error)
|
|
179
|
+
});
|
|
180
|
+
},
|
|
181
|
+
refetchActive: true
|
|
182
|
+
});
|
|
183
|
+
const { isLoading: isSubmittingForm } = submitMutation;
|
|
184
|
+
const handleSubmit = async (body)=>{
|
|
185
|
+
submitMutation.mutate({
|
|
186
|
+
...body,
|
|
187
|
+
email_confirmation_redirection: body.email_confirmation ? body.email_confirmation_redirection : ''
|
|
188
|
+
});
|
|
189
|
+
};
|
|
190
|
+
if (isLoading) {
|
|
191
|
+
return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Loading, {});
|
|
192
|
+
}
|
|
193
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(admin.Page.Main, {
|
|
194
|
+
"aria-busy": isSubmittingForm,
|
|
195
|
+
children: [
|
|
196
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Title, {
|
|
197
|
+
children: formatMessage({
|
|
198
|
+
id: 'Settings.PageTitle',
|
|
199
|
+
defaultMessage: 'Settings - {name}'
|
|
200
|
+
}, {
|
|
201
|
+
name: formatMessage({
|
|
202
|
+
id: index.getTrad('HeaderNav.link.advancedSettings'),
|
|
203
|
+
defaultMessage: 'Advanced Settings'
|
|
204
|
+
})
|
|
205
|
+
})
|
|
206
|
+
}),
|
|
207
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Form, {
|
|
208
|
+
onSubmit: handleSubmit,
|
|
209
|
+
initialValues: data.settings,
|
|
210
|
+
validationSchema: schema,
|
|
211
|
+
children: ({ values, isSubmitting, modified })=>{
|
|
212
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
213
|
+
children: [
|
|
214
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Header, {
|
|
215
|
+
title: formatMessage({
|
|
216
|
+
id: index.getTrad('HeaderNav.link.advancedSettings'),
|
|
217
|
+
defaultMessage: 'Advanced Settings'
|
|
218
|
+
}),
|
|
219
|
+
primaryAction: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
220
|
+
loading: isSubmitting,
|
|
221
|
+
type: "submit",
|
|
222
|
+
disabled: !modified || !canUpdate,
|
|
223
|
+
startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Check, {}),
|
|
224
|
+
size: "S",
|
|
225
|
+
children: formatMessage({
|
|
226
|
+
id: 'global.save',
|
|
227
|
+
defaultMessage: 'Save'
|
|
228
|
+
})
|
|
229
|
+
})
|
|
230
|
+
}),
|
|
231
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Content, {
|
|
232
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
233
|
+
background: "neutral0",
|
|
234
|
+
hasRadius: true,
|
|
235
|
+
shadow: "filterShadow",
|
|
236
|
+
paddingTop: 6,
|
|
237
|
+
paddingBottom: 6,
|
|
238
|
+
paddingLeft: 7,
|
|
239
|
+
paddingRight: 7,
|
|
240
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
241
|
+
direction: "column",
|
|
242
|
+
alignItems: "stretch",
|
|
243
|
+
gap: 4,
|
|
244
|
+
children: [
|
|
245
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
246
|
+
variant: "delta",
|
|
247
|
+
tag: "h2",
|
|
248
|
+
children: formatMessage({
|
|
249
|
+
id: 'global.settings',
|
|
250
|
+
defaultMessage: 'Settings'
|
|
251
|
+
})
|
|
252
|
+
}),
|
|
253
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Root, {
|
|
254
|
+
gap: 6,
|
|
255
|
+
children: [
|
|
256
|
+
{
|
|
257
|
+
label: {
|
|
258
|
+
id: index.getTrad('EditForm.inputSelect.label.role'),
|
|
259
|
+
defaultMessage: 'Default role for authenticated users'
|
|
260
|
+
},
|
|
261
|
+
hint: {
|
|
262
|
+
id: index.getTrad('EditForm.inputSelect.description.role'),
|
|
263
|
+
defaultMessage: 'It will attach the new authenticated user to the selected role.'
|
|
264
|
+
},
|
|
265
|
+
options: data.roles.map((role)=>({
|
|
266
|
+
label: role.name,
|
|
267
|
+
value: role.type
|
|
268
|
+
})),
|
|
269
|
+
name: 'default_role',
|
|
270
|
+
size: 6,
|
|
271
|
+
type: 'enumeration'
|
|
272
|
+
},
|
|
273
|
+
...layout
|
|
274
|
+
].map(({ size, ...field })=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
|
275
|
+
col: size,
|
|
276
|
+
direction: "column",
|
|
277
|
+
alignItems: "stretch",
|
|
278
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(admin.InputRenderer, {
|
|
279
|
+
...field,
|
|
280
|
+
disabled: field.name === 'email_confirmation_redirection' && values.email_confirmation === false,
|
|
281
|
+
label: formatMessage(field.label),
|
|
282
|
+
hint: field.hint ? formatMessage(field.hint) : undefined,
|
|
283
|
+
placeholder: field.placeholder ? formatMessage(field.placeholder) : undefined
|
|
284
|
+
})
|
|
285
|
+
}, field.name))
|
|
286
|
+
})
|
|
287
|
+
]
|
|
288
|
+
})
|
|
289
|
+
})
|
|
290
|
+
})
|
|
291
|
+
]
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
})
|
|
295
|
+
]
|
|
296
|
+
});
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
exports.AdvancedSettingsPage = AdvancedSettingsPage;
|
|
300
|
+
exports.ProtectedAdvancedSettingsPage = ProtectedAdvancedSettingsPage;
|
|
301
|
+
//# sourceMappingURL=index-CkYplz_3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CkYplz_3.js","sources":["../../../admin/src/pages/AdvancedSettings/utils/layout.js","../../../admin/src/pages/AdvancedSettings/utils/schema.js","../../../admin/src/pages/AdvancedSettings/index.jsx"],"sourcesContent":["import { getTrad } from '../../../utils';\n\nconst layout = [\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email'),\n defaultMessage: 'One account per email address',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email'),\n defaultMessage:\n 'Disallow the user to create multiple accounts using the same email address with different authentication providers.',\n },\n name: 'unique_email',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.sign-up'),\n defaultMessage: 'Enable sign-ups',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.sign-up'),\n defaultMessage:\n 'When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider.',\n },\n name: 'allow_register',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-reset-password'),\n defaultMessage: 'Reset password page',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-reset-password'),\n defaultMessage: \"URL of your application's reset password page.\",\n },\n placeholder: {\n id: getTrad('EditForm.inputToggle.placeholder.email-reset-password'),\n defaultMessage: 'ex: https://youtfrontend.com/reset-password',\n },\n name: 'email_reset_password',\n type: 'string',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation'),\n defaultMessage: 'Enable email confirmation',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-confirmation'),\n defaultMessage: 'When enabled (ON), new registered users receive a confirmation email.',\n },\n name: 'email_confirmation',\n type: 'boolean',\n size: 12,\n },\n {\n label: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation-redirection'),\n defaultMessage: 'Redirection url',\n },\n hint: {\n id: getTrad('EditForm.inputToggle.description.email-confirmation-redirection'),\n defaultMessage: 'After you confirmed your email, choose where you will be redirected.',\n },\n placeholder: {\n id: getTrad('EditForm.inputToggle.placeholder.email-confirmation-redirection'),\n defaultMessage: 'ex: https://youtfrontend.com/email-confirmation',\n },\n name: 'email_confirmation_redirection',\n type: 'string',\n size: 12,\n },\n];\n\nexport default layout;\n","import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\n// eslint-disable-next-line prefer-regex-literals\nconst URL_REGEX = new RegExp('(^$)|((.+:\\\\/\\\\/.*)(d*)\\\\/?(.*))');\n\nconst schema = yup.object().shape({\n email_confirmation_redirection: yup.mixed().when('email_confirmation', {\n is: true,\n then: yup.string().matches(URL_REGEX).required(),\n otherwise: yup.string().nullable(),\n }),\n email_reset_password: yup\n .string(translatedErrors.string)\n .matches(URL_REGEX, {\n id: translatedErrors.regex.id,\n defaultMessage: 'This is not a valid URL',\n })\n .nullable(),\n});\n\nexport default schema;\n","import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Typography, useNotifyAT } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport {\n useAPIErrorHandler,\n Page,\n Form,\n InputRenderer,\n useNotification,\n useFetchClient,\n useRBAC,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport layout from './utils/layout';\nimport schema from './utils/schema';\n\nconst ProtectedAdvancedSettingsPage = () => (\n <Page.Protect permissions={PERMISSIONS.readAdvancedSettings}>\n <AdvancedSettingsPage />\n </Page.Protect>\n);\n\nconst AdvancedSettingsPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateAdvancedSettings });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'advanced'],\n async () => {\n const { data } = await get('/users-permissions/advanced');\n\n return data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: getTrad('Form.advancedSettings.data.loaded'),\n defaultMessage: 'Advanced settings data has been loaded',\n })\n );\n },\n onError() {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTrad('notification.error'),\n defaultMessage: 'An error occured',\n }),\n });\n },\n }\n );\n\n const isLoading = isLoadingForPermissions || isLoadingData;\n\n const submitMutation = useMutation((body) => put('/users-permissions/advanced', body), {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'advanced']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('notification.success.saved'),\n defaultMessage: 'Saved',\n }),\n });\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: true,\n });\n\n const { isLoading: isSubmittingForm } = submitMutation;\n\n const handleSubmit = async (body) => {\n submitMutation.mutate({\n ...body,\n email_confirmation_redirection: body.email_confirmation\n ? body.email_confirmation_redirection\n : '',\n });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main aria-busy={isSubmittingForm}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n }),\n }\n )}\n </Page.Title>\n <Form onSubmit={handleSubmit} initialValues={data.settings} validationSchema={schema}>\n {({ values, isSubmitting, modified }) => {\n return (\n <>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n primaryAction={\n <Button\n loading={isSubmitting}\n type=\"submit\"\n disabled={!modified || !canUpdate}\n startIcon={<Check />}\n size=\"S\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Layouts.Content>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root gap={6}>\n {[\n {\n label: {\n id: getTrad('EditForm.inputSelect.label.role'),\n defaultMessage: 'Default role for authenticated users',\n },\n hint: {\n id: getTrad('EditForm.inputSelect.description.role'),\n defaultMessage:\n 'It will attach the new authenticated user to the selected role.',\n },\n options: data.roles.map((role) => ({\n label: role.name,\n value: role.type,\n })),\n name: 'default_role',\n size: 6,\n type: 'enumeration',\n },\n ...layout,\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer\n {...field}\n disabled={\n field.name === 'email_confirmation_redirection' &&\n values.email_confirmation === false\n }\n label={formatMessage(field.label)}\n hint={field.hint ? formatMessage(field.hint) : undefined}\n placeholder={\n field.placeholder ? formatMessage(field.placeholder) : undefined\n }\n />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n </Layouts.Content>\n </>\n );\n }}\n </Form>\n </Page.Main>\n );\n};\n\nexport { ProtectedAdvancedSettingsPage, AdvancedSettingsPage };\n"],"names":["layout","label","id","getTrad","defaultMessage","hint","name","type","size","placeholder","URL_REGEX","RegExp","schema","yup","object","shape","email_confirmation_redirection","mixed","when","is","then","string","matches","required","otherwise","nullable","email_reset_password","translatedErrors","regex","ProtectedAdvancedSettingsPage","_jsx","Page","Protect","permissions","PERMISSIONS","readAdvancedSettings","AdvancedSettingsPage","formatMessage","useIntl","toggleNotification","useNotification","notifyStatus","useNotifyAT","queryClient","useQueryClient","get","put","useFetchClient","formatAPIError","useAPIErrorHandler","isLoading","isLoadingForPermissions","allowedActions","canUpdate","useRBAC","update","updateAdvancedSettings","isLoadingData","data","useQuery","onSuccess","onError","message","submitMutation","useMutation","body","invalidateQueries","error","refetchActive","isSubmittingForm","handleSubmit","mutate","email_confirmation","Loading","_jsxs","Main","aria-busy","Title","Form","onSubmit","initialValues","settings","validationSchema","values","isSubmitting","modified","_Fragment","Layouts","Header","title","primaryAction","Button","loading","disabled","startIcon","Check","Content","Box","background","hasRadius","shadow","paddingTop","paddingBottom","paddingLeft","paddingRight","Flex","direction","alignItems","gap","Typography","variant","tag","Grid","Root","options","roles","map","role","value","field","Item","col","InputRenderer","undefined"],"mappings":"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"}
|