@strapi/plugin-users-permissions 4.23.0 → 4.23.1
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/_chunks/{index-n3_BB2IX.js → index--hz9O9hT.js} +2 -2
- package/dist/_chunks/{index-n3_BB2IX.js.map → index--hz9O9hT.js.map} +1 -1
- package/dist/_chunks/{index-0mLL_8vR.js → index-1oct3HJ4.js} +12 -12
- package/dist/_chunks/{index-0mLL_8vR.js.map → index-1oct3HJ4.js.map} +1 -1
- package/dist/_chunks/{index-r2sL6daw.mjs → index-2sUOuoaT.mjs} +2 -2
- package/dist/_chunks/{index-r2sL6daw.mjs.map → index-2sUOuoaT.mjs.map} +1 -1
- package/dist/_chunks/{index-duDzoPIj.mjs → index-3uVBnIkm.mjs} +12 -12
- package/dist/_chunks/{index-duDzoPIj.mjs.map → index-3uVBnIkm.mjs.map} +1 -1
- package/dist/_chunks/{index-5NjYl5zP.js → index-6ACB6Zb0.js} +2 -2
- package/dist/_chunks/{index-5NjYl5zP.js.map → index-6ACB6Zb0.js.map} +1 -1
- package/dist/_chunks/{index-Pf0THMXE.js → index-JPBI0Mb4.js} +2 -2
- package/dist/_chunks/{index-Pf0THMXE.js.map → index-JPBI0Mb4.js.map} +1 -1
- package/dist/_chunks/{index-IkWThHpX.mjs → index-LK8llN3f.mjs} +2 -2
- package/dist/_chunks/{index-IkWThHpX.mjs.map → index-LK8llN3f.mjs.map} +1 -1
- package/dist/_chunks/{index-KON9250R.mjs → index-jaFMaH8G.mjs} +2 -2
- package/dist/_chunks/{index-KON9250R.mjs.map → index-jaFMaH8G.mjs.map} +1 -1
- package/dist/_chunks/{index-cDoSHOCB.mjs → index-xfEUZ84j.mjs} +2 -2
- package/dist/_chunks/{index-cDoSHOCB.mjs.map → index-xfEUZ84j.mjs.map} +1 -1
- package/dist/_chunks/{index-ocoaOzEA.js → index-xn95CXH0.js} +2 -2
- package/dist/_chunks/{index-ocoaOzEA.js.map → index-xn95CXH0.js.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +7 -7
|
@@ -8,7 +8,7 @@ const icons = require("@strapi/icons");
|
|
|
8
8
|
const formik = require("formik");
|
|
9
9
|
const reactIntl = require("react-intl");
|
|
10
10
|
const reactQuery = require("react-query");
|
|
11
|
-
const index = require("./index-
|
|
11
|
+
const index = require("./index-1oct3HJ4.js");
|
|
12
12
|
require("lodash/isEmpty");
|
|
13
13
|
const yup = require("yup");
|
|
14
14
|
function _interopNamespace(e) {
|
|
@@ -317,4 +317,4 @@ const AdvancedSettingsPage = () => {
|
|
|
317
317
|
] });
|
|
318
318
|
};
|
|
319
319
|
exports.default = ProtectedAdvancedSettingsPage;
|
|
320
|
-
//# sourceMappingURL=index
|
|
320
|
+
//# sourceMappingURL=index--hz9O9hT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-n3_BB2IX.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 intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email'),\n defaultMessage: 'One account per email address',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.sign-up'),\n defaultMessage: 'Enable sign-ups',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-reset-password'),\n defaultMessage: 'Reset password page',\n },\n description: {\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: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation'),\n defaultMessage: 'Enable email confirmation',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation-redirection'),\n defaultMessage: 'Redirection url',\n },\n description: {\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: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n];\n\nexport default layout;\n","import { translatedErrors } from '@strapi/helper-plugin';\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, translatedErrors.regex)\n .nullable(),\n});\n\nexport default schema;\n","import React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Main,\n Option,\n Select,\n Typography,\n useNotifyAT,\n} from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n Form,\n GenericInput,\n LoadingIndicatorPage,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { Check } from '@strapi/icons';\nimport { Formik } from 'formik';\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 <CheckPagePermissions permissions={PERMISSIONS.readAdvancedSettings}>\n <AdvancedSettingsPage />\n </CheckPagePermissions>\n);\n\nconst AdvancedSettingsPage = () => {\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { notifyStatus } = useNotifyAT();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n useFocusWhenNavigate();\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: 'warning',\n message: { id: getTrad('notification.error'), defaultMessage: 'An error occured' },\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: { id: getTrad('notification.success.saved'), defaultMessage: 'Saved' },\n });\n\n unlockApp();\n },\n onError(error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n\n unlockApp();\n },\n refetchActive: true,\n });\n\n const { isLoading: isSubmittingForm } = submitMutation;\n\n const handleSubmit = async (body) => {\n lockApp();\n\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 (\n <Main aria-busy=\"true\">\n <SettingsPageTitle\n name={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <SettingsPageTitle\n name={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={data.settings}\n validateOnChange={false}\n validationSchema={schema}\n enableReinitialize\n >\n {({ errors, values, handleChange, isSubmitting, dirty }) => {\n return (\n <Form>\n <HeaderLayout\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={canUpdate ? !dirty : !canUpdate}\n startIcon={<Check />}\n size=\"S\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <ContentLayout>\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\" as=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid gap={6}>\n <GridItem col={6} s={12}>\n <Select\n label={formatMessage({\n id: getTrad('EditForm.inputSelect.label.role'),\n defaultMessage: 'Default role for authenticated users',\n })}\n value={values.default_role}\n hint={formatMessage({\n id: getTrad('EditForm.inputSelect.description.role'),\n defaultMessage:\n 'It will attach the new authenticated user to the selected role.',\n })}\n onChange={(e) =>\n handleChange({ target: { name: 'default_role', value: e } })\n }\n >\n {data.roles.map((role) => {\n return (\n <Option key={role.type} value={role.type}>\n {role.name}\n </Option>\n );\n })}\n </Select>\n </GridItem>\n {layout.map((input) => {\n let value = values[input.name];\n\n if (!value) {\n value = input.type === 'bool' ? false : '';\n }\n\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n value={value}\n error={errors[input.name]}\n disabled={\n input.name === 'email_confirmation_redirection' &&\n values.email_confirmation === false\n }\n onChange={handleChange}\n />\n </GridItem>\n );\n })}\n </Grid>\n </Flex>\n </Box>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\nexport default ProtectedAdvancedSettingsPage;\n"],"names":["getTrad","yup","translatedErrors","jsx","CheckPagePermissions","PERMISSIONS","useIntl","useNotification","useOverlayBlocker","useNotifyAT","useQueryClient","useFetchClient","useAPIErrorHandler","useFocusWhenNavigate","useRBAC","useQuery","data","useMutation","jsxs","Main","SettingsPageTitle","HeaderLayout","ContentLayout","LoadingIndicatorPage","Formik","Form","Button","Check","Box","Flex","Typography","Grid","GridItem","Select","Option","GenericInput"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index--hz9O9hT.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 intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email'),\n defaultMessage: 'One account per email address',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.sign-up'),\n defaultMessage: 'Enable sign-ups',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-reset-password'),\n defaultMessage: 'Reset password page',\n },\n description: {\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: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation'),\n defaultMessage: 'Enable email confirmation',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation-redirection'),\n defaultMessage: 'Redirection url',\n },\n description: {\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: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n];\n\nexport default layout;\n","import { translatedErrors } from '@strapi/helper-plugin';\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, translatedErrors.regex)\n .nullable(),\n});\n\nexport default schema;\n","import React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Main,\n Option,\n Select,\n Typography,\n useNotifyAT,\n} from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n Form,\n GenericInput,\n LoadingIndicatorPage,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { Check } from '@strapi/icons';\nimport { Formik } from 'formik';\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 <CheckPagePermissions permissions={PERMISSIONS.readAdvancedSettings}>\n <AdvancedSettingsPage />\n </CheckPagePermissions>\n);\n\nconst AdvancedSettingsPage = () => {\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { notifyStatus } = useNotifyAT();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n useFocusWhenNavigate();\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: 'warning',\n message: { id: getTrad('notification.error'), defaultMessage: 'An error occured' },\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: { id: getTrad('notification.success.saved'), defaultMessage: 'Saved' },\n });\n\n unlockApp();\n },\n onError(error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n\n unlockApp();\n },\n refetchActive: true,\n });\n\n const { isLoading: isSubmittingForm } = submitMutation;\n\n const handleSubmit = async (body) => {\n lockApp();\n\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 (\n <Main aria-busy=\"true\">\n <SettingsPageTitle\n name={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <SettingsPageTitle\n name={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={data.settings}\n validateOnChange={false}\n validationSchema={schema}\n enableReinitialize\n >\n {({ errors, values, handleChange, isSubmitting, dirty }) => {\n return (\n <Form>\n <HeaderLayout\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={canUpdate ? !dirty : !canUpdate}\n startIcon={<Check />}\n size=\"S\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <ContentLayout>\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\" as=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid gap={6}>\n <GridItem col={6} s={12}>\n <Select\n label={formatMessage({\n id: getTrad('EditForm.inputSelect.label.role'),\n defaultMessage: 'Default role for authenticated users',\n })}\n value={values.default_role}\n hint={formatMessage({\n id: getTrad('EditForm.inputSelect.description.role'),\n defaultMessage:\n 'It will attach the new authenticated user to the selected role.',\n })}\n onChange={(e) =>\n handleChange({ target: { name: 'default_role', value: e } })\n }\n >\n {data.roles.map((role) => {\n return (\n <Option key={role.type} value={role.type}>\n {role.name}\n </Option>\n );\n })}\n </Select>\n </GridItem>\n {layout.map((input) => {\n let value = values[input.name];\n\n if (!value) {\n value = input.type === 'bool' ? false : '';\n }\n\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n value={value}\n error={errors[input.name]}\n disabled={\n input.name === 'email_confirmation_redirection' &&\n values.email_confirmation === false\n }\n onChange={handleChange}\n />\n </GridItem>\n );\n })}\n </Grid>\n </Flex>\n </Box>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\nexport default ProtectedAdvancedSettingsPage;\n"],"names":["getTrad","yup","translatedErrors","jsx","CheckPagePermissions","PERMISSIONS","useIntl","useNotification","useOverlayBlocker","useNotifyAT","useQueryClient","useFetchClient","useAPIErrorHandler","useFocusWhenNavigate","useRBAC","useQuery","data","useMutation","jsxs","Main","SettingsPageTitle","HeaderLayout","ContentLayout","LoadingIndicatorPage","Formik","Form","Button","Check","Box","Flex","Typography","Grid","GridItem","Select","Option","GenericInput"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ const __variableDynamicImportRuntimeHelper = (glob, path) => {
|
|
|
10
10
|
});
|
|
11
11
|
};
|
|
12
12
|
const name$1 = "@strapi/plugin-users-permissions";
|
|
13
|
-
const version = "4.
|
|
13
|
+
const version = "4.23.0";
|
|
14
14
|
const description = "Protect your API with a full-authentication process based on JWT";
|
|
15
15
|
const repository = {
|
|
16
16
|
type: "git",
|
|
@@ -56,10 +56,10 @@ const scripts = {
|
|
|
56
56
|
watch: "pack-up watch"
|
|
57
57
|
};
|
|
58
58
|
const dependencies = {
|
|
59
|
-
"@strapi/design-system": "1.
|
|
60
|
-
"@strapi/helper-plugin": "4.
|
|
61
|
-
"@strapi/icons": "1.
|
|
62
|
-
"@strapi/utils": "4.
|
|
59
|
+
"@strapi/design-system": "1.18.0",
|
|
60
|
+
"@strapi/helper-plugin": "4.23.0",
|
|
61
|
+
"@strapi/icons": "1.18.0",
|
|
62
|
+
"@strapi/utils": "4.23.0",
|
|
63
63
|
bcryptjs: "2.4.3",
|
|
64
64
|
formik: "2.4.0",
|
|
65
65
|
"grant-koa": "5.4.8",
|
|
@@ -78,8 +78,8 @@ const dependencies = {
|
|
|
78
78
|
yup: "0.32.9"
|
|
79
79
|
};
|
|
80
80
|
const devDependencies = {
|
|
81
|
-
"@strapi/pack-up": "4.
|
|
82
|
-
"@strapi/strapi": "4.
|
|
81
|
+
"@strapi/pack-up": "4.23.0",
|
|
82
|
+
"@strapi/strapi": "4.23.0",
|
|
83
83
|
"@testing-library/dom": "9.2.0",
|
|
84
84
|
"@testing-library/react": "14.0.0",
|
|
85
85
|
"@testing-library/user-event": "14.4.3",
|
|
@@ -171,7 +171,7 @@ const index = {
|
|
|
171
171
|
id: "roles",
|
|
172
172
|
to: `/settings/users-permissions/roles`,
|
|
173
173
|
async Component() {
|
|
174
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
174
|
+
const component = await Promise.resolve().then(() => require("./index-6ACB6Zb0.js"));
|
|
175
175
|
return component;
|
|
176
176
|
},
|
|
177
177
|
permissions: PERMISSIONS.accessRoles
|
|
@@ -184,7 +184,7 @@ const index = {
|
|
|
184
184
|
id: "providers",
|
|
185
185
|
to: `/settings/users-permissions/providers`,
|
|
186
186
|
async Component() {
|
|
187
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
187
|
+
const component = await Promise.resolve().then(() => require("./index-xn95CXH0.js"));
|
|
188
188
|
return component;
|
|
189
189
|
},
|
|
190
190
|
permissions: PERMISSIONS.readProviders
|
|
@@ -197,7 +197,7 @@ const index = {
|
|
|
197
197
|
id: "email-templates",
|
|
198
198
|
to: `/settings/users-permissions/email-templates`,
|
|
199
199
|
async Component() {
|
|
200
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
200
|
+
const component = await Promise.resolve().then(() => require("./index-JPBI0Mb4.js"));
|
|
201
201
|
return component;
|
|
202
202
|
},
|
|
203
203
|
permissions: PERMISSIONS.readEmailTemplates
|
|
@@ -210,7 +210,7 @@ const index = {
|
|
|
210
210
|
id: "advanced-settings",
|
|
211
211
|
to: `/settings/users-permissions/advanced-settings`,
|
|
212
212
|
async Component() {
|
|
213
|
-
const component = await Promise.resolve().then(() => require("./index
|
|
213
|
+
const component = await Promise.resolve().then(() => require("./index--hz9O9hT.js"));
|
|
214
214
|
return component;
|
|
215
215
|
},
|
|
216
216
|
permissions: PERMISSIONS.readAdvancedSettings
|
|
@@ -246,4 +246,4 @@ const index = {
|
|
|
246
246
|
exports.PERMISSIONS = PERMISSIONS;
|
|
247
247
|
exports.getTrad = getTrad;
|
|
248
248
|
exports.index = index;
|
|
249
|
-
//# sourceMappingURL=index-
|
|
249
|
+
//# sourceMappingURL=index-1oct3HJ4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-1oct3HJ4.js","sources":["../../admin/src/constants.js","../../admin/src/pluginId.js","../../admin/src/utils/getTrad.js","../../admin/src/index.js"],"sourcesContent":["export const PERMISSIONS = {\n // Roles\n accessRoles: [\n { action: 'plugin::users-permissions.roles.create', subject: null },\n { action: 'plugin::users-permissions.roles.read', subject: null },\n ],\n createRole: [{ action: 'plugin::users-permissions.roles.create', subject: null }],\n deleteRole: [{ action: 'plugin::users-permissions.roles.delete', subject: null }],\n readRoles: [{ action: 'plugin::users-permissions.roles.read', subject: null }],\n updateRole: [{ action: 'plugin::users-permissions.roles.update', subject: null }],\n\n // AdvancedSettings\n readAdvancedSettings: [\n { action: 'plugin::users-permissions.advanced-settings.read', subject: null },\n ],\n updateAdvancedSettings: [\n { action: 'plugin::users-permissions.advanced-settings.update', subject: null },\n ],\n\n // Emails\n readEmailTemplates: [{ action: 'plugin::users-permissions.email-templates.read', subject: null }],\n updateEmailTemplates: [\n { action: 'plugin::users-permissions.email-templates.update', subject: null },\n ],\n\n // Providers\n readProviders: [{ action: 'plugin::users-permissions.providers.read', subject: null }],\n updateProviders: [{ action: 'plugin::users-permissions.providers.update', subject: null }],\n};\n","import pluginPkg from '../../package.json';\n\nconst pluginId = pluginPkg.name.replace(/^@strapi\\/plugin-/i, '');\n\nexport default pluginId;\n","import pluginId from '../pluginId';\n\nconst getTrad = (id) => `${pluginId}.${id}`;\n\nexport default getTrad;\n","// NOTE TO PLUGINS DEVELOPERS:\n// If you modify this file by adding new options to the plugin entry point\n// Here's the file: strapi/docs/3.0.0-beta.x/plugin-development/frontend-field-api.md\n// Here's the file: strapi/docs/3.0.0-beta.x/guides/registering-a-field-in-admin.md\n// Also the strapi-generate-plugins/files/admin/src/index.js needs to be updated\n// IF THE DOC IS NOT UPDATED THE PULL REQUEST WILL NOT BE MERGED\nimport { prefixPluginTranslations } from '@strapi/helper-plugin';\n\nimport pluginPkg from '../../package.json';\n\nimport { PERMISSIONS } from './constants';\nimport getTrad from './utils/getTrad';\n\nconst name = pluginPkg.strapi.name;\n\nexport default {\n register(app) {\n // Create the plugin's settings section\n app.createSettingSection(\n {\n id: 'users-permissions',\n intlLabel: {\n id: getTrad('Settings.section-label'),\n defaultMessage: 'Users & Permissions plugin',\n },\n },\n [\n {\n intlLabel: {\n id: 'global.roles',\n defaultMessage: 'Roles',\n },\n id: 'roles',\n to: `/settings/users-permissions/roles`,\n async Component() {\n const component = await import('./pages/Roles');\n\n return component;\n },\n permissions: PERMISSIONS.accessRoles,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n },\n id: 'providers',\n to: `/settings/users-permissions/providers`,\n async Component() {\n const component = await import('./pages/Providers');\n\n return component;\n },\n permissions: PERMISSIONS.readProviders,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n },\n id: 'email-templates',\n to: `/settings/users-permissions/email-templates`,\n async Component() {\n const component = await import('./pages/EmailTemplates');\n\n return component;\n },\n permissions: PERMISSIONS.readEmailTemplates,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n },\n id: 'advanced-settings',\n to: `/settings/users-permissions/advanced-settings`,\n async Component() {\n const component = await import('./pages/AdvancedSettings');\n\n return component;\n },\n permissions: PERMISSIONS.readAdvancedSettings,\n },\n ]\n );\n\n app.registerPlugin({\n id: 'users-permissions',\n name,\n });\n },\n bootstrap() {},\n async registerTrads({ locales }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, 'users-permissions'),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["prefixPluginTranslations"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { Check } from "@strapi/icons";
|
|
|
6
6
|
import { Formik } from "formik";
|
|
7
7
|
import { useIntl } from "react-intl";
|
|
8
8
|
import { useQueryClient, useQuery, useMutation } from "react-query";
|
|
9
|
-
import { g as getTrad, P as PERMISSIONS } from "./index-
|
|
9
|
+
import { g as getTrad, P as PERMISSIONS } from "./index-3uVBnIkm.mjs";
|
|
10
10
|
import "lodash/isEmpty";
|
|
11
11
|
import * as yup from "yup";
|
|
12
12
|
const layout = [
|
|
@@ -298,4 +298,4 @@ const AdvancedSettingsPage = () => {
|
|
|
298
298
|
export {
|
|
299
299
|
ProtectedAdvancedSettingsPage as default
|
|
300
300
|
};
|
|
301
|
-
//# sourceMappingURL=index-
|
|
301
|
+
//# sourceMappingURL=index-2sUOuoaT.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-r2sL6daw.mjs","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 intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email'),\n defaultMessage: 'One account per email address',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.sign-up'),\n defaultMessage: 'Enable sign-ups',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-reset-password'),\n defaultMessage: 'Reset password page',\n },\n description: {\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: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation'),\n defaultMessage: 'Enable email confirmation',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation-redirection'),\n defaultMessage: 'Redirection url',\n },\n description: {\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: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n];\n\nexport default layout;\n","import { translatedErrors } from '@strapi/helper-plugin';\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, translatedErrors.regex)\n .nullable(),\n});\n\nexport default schema;\n","import React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Main,\n Option,\n Select,\n Typography,\n useNotifyAT,\n} from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n Form,\n GenericInput,\n LoadingIndicatorPage,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { Check } from '@strapi/icons';\nimport { Formik } from 'formik';\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 <CheckPagePermissions permissions={PERMISSIONS.readAdvancedSettings}>\n <AdvancedSettingsPage />\n </CheckPagePermissions>\n);\n\nconst AdvancedSettingsPage = () => {\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { notifyStatus } = useNotifyAT();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n useFocusWhenNavigate();\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: 'warning',\n message: { id: getTrad('notification.error'), defaultMessage: 'An error occured' },\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: { id: getTrad('notification.success.saved'), defaultMessage: 'Saved' },\n });\n\n unlockApp();\n },\n onError(error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n\n unlockApp();\n },\n refetchActive: true,\n });\n\n const { isLoading: isSubmittingForm } = submitMutation;\n\n const handleSubmit = async (body) => {\n lockApp();\n\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 (\n <Main aria-busy=\"true\">\n <SettingsPageTitle\n name={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <SettingsPageTitle\n name={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={data.settings}\n validateOnChange={false}\n validationSchema={schema}\n enableReinitialize\n >\n {({ errors, values, handleChange, isSubmitting, dirty }) => {\n return (\n <Form>\n <HeaderLayout\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={canUpdate ? !dirty : !canUpdate}\n startIcon={<Check />}\n size=\"S\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <ContentLayout>\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\" as=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid gap={6}>\n <GridItem col={6} s={12}>\n <Select\n label={formatMessage({\n id: getTrad('EditForm.inputSelect.label.role'),\n defaultMessage: 'Default role for authenticated users',\n })}\n value={values.default_role}\n hint={formatMessage({\n id: getTrad('EditForm.inputSelect.description.role'),\n defaultMessage:\n 'It will attach the new authenticated user to the selected role.',\n })}\n onChange={(e) =>\n handleChange({ target: { name: 'default_role', value: e } })\n }\n >\n {data.roles.map((role) => {\n return (\n <Option key={role.type} value={role.type}>\n {role.name}\n </Option>\n );\n })}\n </Select>\n </GridItem>\n {layout.map((input) => {\n let value = values[input.name];\n\n if (!value) {\n value = input.type === 'bool' ? false : '';\n }\n\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n value={value}\n error={errors[input.name]}\n disabled={\n input.name === 'email_confirmation_redirection' &&\n values.email_confirmation === false\n }\n onChange={handleChange}\n />\n </GridItem>\n );\n })}\n </Grid>\n </Flex>\n </Box>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\nexport default ProtectedAdvancedSettingsPage;\n"],"names":["data"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-2sUOuoaT.mjs","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 intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email'),\n defaultMessage: 'One account per email address',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.sign-up'),\n defaultMessage: 'Enable sign-ups',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-reset-password'),\n defaultMessage: 'Reset password page',\n },\n description: {\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: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation'),\n defaultMessage: 'Enable email confirmation',\n },\n description: {\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: 'bool',\n size: {\n col: 12,\n xs: 12,\n },\n },\n {\n intlLabel: {\n id: getTrad('EditForm.inputToggle.label.email-confirmation-redirection'),\n defaultMessage: 'Redirection url',\n },\n description: {\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: 'text',\n size: {\n col: 6,\n xs: 12,\n },\n },\n];\n\nexport default layout;\n","import { translatedErrors } from '@strapi/helper-plugin';\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, translatedErrors.regex)\n .nullable(),\n});\n\nexport default schema;\n","import React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Main,\n Option,\n Select,\n Typography,\n useNotifyAT,\n} from '@strapi/design-system';\nimport {\n CheckPagePermissions,\n Form,\n GenericInput,\n LoadingIndicatorPage,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useNotification,\n useOverlayBlocker,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { Check } from '@strapi/icons';\nimport { Formik } from 'formik';\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 <CheckPagePermissions permissions={PERMISSIONS.readAdvancedSettings}>\n <AdvancedSettingsPage />\n </CheckPagePermissions>\n);\n\nconst AdvancedSettingsPage = () => {\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { notifyStatus } = useNotifyAT();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n useFocusWhenNavigate();\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: 'warning',\n message: { id: getTrad('notification.error'), defaultMessage: 'An error occured' },\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: { id: getTrad('notification.success.saved'), defaultMessage: 'Saved' },\n });\n\n unlockApp();\n },\n onError(error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n\n unlockApp();\n },\n refetchActive: true,\n });\n\n const { isLoading: isSubmittingForm } = submitMutation;\n\n const handleSubmit = async (body) => {\n lockApp();\n\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 (\n <Main aria-busy=\"true\">\n <SettingsPageTitle\n name={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <HeaderLayout\n title={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <ContentLayout>\n <LoadingIndicatorPage />\n </ContentLayout>\n </Main>\n );\n }\n\n return (\n <Main aria-busy={isSubmittingForm}>\n <SettingsPageTitle\n name={formatMessage({\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n })}\n />\n <Formik\n onSubmit={handleSubmit}\n initialValues={data.settings}\n validateOnChange={false}\n validationSchema={schema}\n enableReinitialize\n >\n {({ errors, values, handleChange, isSubmitting, dirty }) => {\n return (\n <Form>\n <HeaderLayout\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={canUpdate ? !dirty : !canUpdate}\n startIcon={<Check />}\n size=\"S\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <ContentLayout>\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\" as=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid gap={6}>\n <GridItem col={6} s={12}>\n <Select\n label={formatMessage({\n id: getTrad('EditForm.inputSelect.label.role'),\n defaultMessage: 'Default role for authenticated users',\n })}\n value={values.default_role}\n hint={formatMessage({\n id: getTrad('EditForm.inputSelect.description.role'),\n defaultMessage:\n 'It will attach the new authenticated user to the selected role.',\n })}\n onChange={(e) =>\n handleChange({ target: { name: 'default_role', value: e } })\n }\n >\n {data.roles.map((role) => {\n return (\n <Option key={role.type} value={role.type}>\n {role.name}\n </Option>\n );\n })}\n </Select>\n </GridItem>\n {layout.map((input) => {\n let value = values[input.name];\n\n if (!value) {\n value = input.type === 'bool' ? false : '';\n }\n\n return (\n <GridItem key={input.name} {...input.size}>\n <GenericInput\n {...input}\n value={value}\n error={errors[input.name]}\n disabled={\n input.name === 'email_confirmation_redirection' &&\n values.email_confirmation === false\n }\n onChange={handleChange}\n />\n </GridItem>\n );\n })}\n </Grid>\n </Flex>\n </Box>\n </ContentLayout>\n </Form>\n );\n }}\n </Formik>\n </Main>\n );\n};\n\nexport default ProtectedAdvancedSettingsPage;\n"],"names":["data"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ const __variableDynamicImportRuntimeHelper = (glob, path) => {
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
const name$1 = "@strapi/plugin-users-permissions";
|
|
12
|
-
const version = "4.
|
|
12
|
+
const version = "4.23.0";
|
|
13
13
|
const description = "Protect your API with a full-authentication process based on JWT";
|
|
14
14
|
const repository = {
|
|
15
15
|
type: "git",
|
|
@@ -55,10 +55,10 @@ const scripts = {
|
|
|
55
55
|
watch: "pack-up watch"
|
|
56
56
|
};
|
|
57
57
|
const dependencies = {
|
|
58
|
-
"@strapi/design-system": "1.
|
|
59
|
-
"@strapi/helper-plugin": "4.
|
|
60
|
-
"@strapi/icons": "1.
|
|
61
|
-
"@strapi/utils": "4.
|
|
58
|
+
"@strapi/design-system": "1.18.0",
|
|
59
|
+
"@strapi/helper-plugin": "4.23.0",
|
|
60
|
+
"@strapi/icons": "1.18.0",
|
|
61
|
+
"@strapi/utils": "4.23.0",
|
|
62
62
|
bcryptjs: "2.4.3",
|
|
63
63
|
formik: "2.4.0",
|
|
64
64
|
"grant-koa": "5.4.8",
|
|
@@ -77,8 +77,8 @@ const dependencies = {
|
|
|
77
77
|
yup: "0.32.9"
|
|
78
78
|
};
|
|
79
79
|
const devDependencies = {
|
|
80
|
-
"@strapi/pack-up": "4.
|
|
81
|
-
"@strapi/strapi": "4.
|
|
80
|
+
"@strapi/pack-up": "4.23.0",
|
|
81
|
+
"@strapi/strapi": "4.23.0",
|
|
82
82
|
"@testing-library/dom": "9.2.0",
|
|
83
83
|
"@testing-library/react": "14.0.0",
|
|
84
84
|
"@testing-library/user-event": "14.4.3",
|
|
@@ -170,7 +170,7 @@ const index = {
|
|
|
170
170
|
id: "roles",
|
|
171
171
|
to: `/settings/users-permissions/roles`,
|
|
172
172
|
async Component() {
|
|
173
|
-
const component = await import("./index-
|
|
173
|
+
const component = await import("./index-LK8llN3f.mjs");
|
|
174
174
|
return component;
|
|
175
175
|
},
|
|
176
176
|
permissions: PERMISSIONS.accessRoles
|
|
@@ -183,7 +183,7 @@ const index = {
|
|
|
183
183
|
id: "providers",
|
|
184
184
|
to: `/settings/users-permissions/providers`,
|
|
185
185
|
async Component() {
|
|
186
|
-
const component = await import("./index-
|
|
186
|
+
const component = await import("./index-jaFMaH8G.mjs");
|
|
187
187
|
return component;
|
|
188
188
|
},
|
|
189
189
|
permissions: PERMISSIONS.readProviders
|
|
@@ -196,7 +196,7 @@ const index = {
|
|
|
196
196
|
id: "email-templates",
|
|
197
197
|
to: `/settings/users-permissions/email-templates`,
|
|
198
198
|
async Component() {
|
|
199
|
-
const component = await import("./index-
|
|
199
|
+
const component = await import("./index-xfEUZ84j.mjs");
|
|
200
200
|
return component;
|
|
201
201
|
},
|
|
202
202
|
permissions: PERMISSIONS.readEmailTemplates
|
|
@@ -209,7 +209,7 @@ const index = {
|
|
|
209
209
|
id: "advanced-settings",
|
|
210
210
|
to: `/settings/users-permissions/advanced-settings`,
|
|
211
211
|
async Component() {
|
|
212
|
-
const component = await import("./index-
|
|
212
|
+
const component = await import("./index-2sUOuoaT.mjs");
|
|
213
213
|
return component;
|
|
214
214
|
},
|
|
215
215
|
permissions: PERMISSIONS.readAdvancedSettings
|
|
@@ -247,4 +247,4 @@ export {
|
|
|
247
247
|
getTrad as g,
|
|
248
248
|
index as i
|
|
249
249
|
};
|
|
250
|
-
//# sourceMappingURL=index-
|
|
250
|
+
//# sourceMappingURL=index-3uVBnIkm.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-3uVBnIkm.mjs","sources":["../../admin/src/constants.js","../../admin/src/pluginId.js","../../admin/src/utils/getTrad.js","../../admin/src/index.js"],"sourcesContent":["export const PERMISSIONS = {\n // Roles\n accessRoles: [\n { action: 'plugin::users-permissions.roles.create', subject: null },\n { action: 'plugin::users-permissions.roles.read', subject: null },\n ],\n createRole: [{ action: 'plugin::users-permissions.roles.create', subject: null }],\n deleteRole: [{ action: 'plugin::users-permissions.roles.delete', subject: null }],\n readRoles: [{ action: 'plugin::users-permissions.roles.read', subject: null }],\n updateRole: [{ action: 'plugin::users-permissions.roles.update', subject: null }],\n\n // AdvancedSettings\n readAdvancedSettings: [\n { action: 'plugin::users-permissions.advanced-settings.read', subject: null },\n ],\n updateAdvancedSettings: [\n { action: 'plugin::users-permissions.advanced-settings.update', subject: null },\n ],\n\n // Emails\n readEmailTemplates: [{ action: 'plugin::users-permissions.email-templates.read', subject: null }],\n updateEmailTemplates: [\n { action: 'plugin::users-permissions.email-templates.update', subject: null },\n ],\n\n // Providers\n readProviders: [{ action: 'plugin::users-permissions.providers.read', subject: null }],\n updateProviders: [{ action: 'plugin::users-permissions.providers.update', subject: null }],\n};\n","import pluginPkg from '../../package.json';\n\nconst pluginId = pluginPkg.name.replace(/^@strapi\\/plugin-/i, '');\n\nexport default pluginId;\n","import pluginId from '../pluginId';\n\nconst getTrad = (id) => `${pluginId}.${id}`;\n\nexport default getTrad;\n","// NOTE TO PLUGINS DEVELOPERS:\n// If you modify this file by adding new options to the plugin entry point\n// Here's the file: strapi/docs/3.0.0-beta.x/plugin-development/frontend-field-api.md\n// Here's the file: strapi/docs/3.0.0-beta.x/guides/registering-a-field-in-admin.md\n// Also the strapi-generate-plugins/files/admin/src/index.js needs to be updated\n// IF THE DOC IS NOT UPDATED THE PULL REQUEST WILL NOT BE MERGED\nimport { prefixPluginTranslations } from '@strapi/helper-plugin';\n\nimport pluginPkg from '../../package.json';\n\nimport { PERMISSIONS } from './constants';\nimport getTrad from './utils/getTrad';\n\nconst name = pluginPkg.strapi.name;\n\nexport default {\n register(app) {\n // Create the plugin's settings section\n app.createSettingSection(\n {\n id: 'users-permissions',\n intlLabel: {\n id: getTrad('Settings.section-label'),\n defaultMessage: 'Users & Permissions plugin',\n },\n },\n [\n {\n intlLabel: {\n id: 'global.roles',\n defaultMessage: 'Roles',\n },\n id: 'roles',\n to: `/settings/users-permissions/roles`,\n async Component() {\n const component = await import('./pages/Roles');\n\n return component;\n },\n permissions: PERMISSIONS.accessRoles,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n },\n id: 'providers',\n to: `/settings/users-permissions/providers`,\n async Component() {\n const component = await import('./pages/Providers');\n\n return component;\n },\n permissions: PERMISSIONS.readProviders,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n },\n id: 'email-templates',\n to: `/settings/users-permissions/email-templates`,\n async Component() {\n const component = await import('./pages/EmailTemplates');\n\n return component;\n },\n permissions: PERMISSIONS.readEmailTemplates,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n },\n id: 'advanced-settings',\n to: `/settings/users-permissions/advanced-settings`,\n async Component() {\n const component = await import('./pages/AdvancedSettings');\n\n return component;\n },\n permissions: PERMISSIONS.readAdvancedSettings,\n },\n ]\n );\n\n app.registerPlugin({\n id: 'users-permissions',\n name,\n });\n },\n bootstrap() {},\n async registerTrads({ locales }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, 'users-permissions'),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const helperPlugin = require("@strapi/helper-plugin");
|
|
6
6
|
const reactRouterDom = require("react-router-dom");
|
|
7
|
-
const index = require("./index-
|
|
7
|
+
const index = require("./index-1oct3HJ4.js");
|
|
8
8
|
const designSystem = require("@strapi/design-system");
|
|
9
9
|
const icons = require("@strapi/icons");
|
|
10
10
|
const formik = require("formik");
|
|
@@ -1188,4 +1188,4 @@ const Roles = () => {
|
|
|
1188
1188
|
] }) });
|
|
1189
1189
|
};
|
|
1190
1190
|
exports.default = Roles;
|
|
1191
|
-
//# sourceMappingURL=index-
|
|
1191
|
+
//# sourceMappingURL=index-6ACB6Zb0.js.map
|