@strapi/plugin-users-permissions 0.0.0-next.fc9d26d995624dc886b29f563e1de655d47e6609 → 0.0.0-next.fdac61dd05ca665168f51f655f1d165b55ec4231
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/chunks/{ar-G6bUGuUb.js → ar-G6bUGuUb.mjs} +1 -1
- package/dist/admin/chunks/ar-G6bUGuUb.mjs.map +1 -0
- package/dist/admin/chunks/{cs-Bu59JqhG.js → cs-Bu59JqhG.mjs} +1 -1
- package/dist/admin/chunks/cs-Bu59JqhG.mjs.map +1 -0
- package/dist/admin/chunks/{de-B81A69_5.js → de-B81A69_5.mjs} +1 -1
- package/dist/admin/chunks/de-B81A69_5.mjs.map +1 -0
- package/dist/admin/chunks/{dk-BaelzvBE.js → dk-BaelzvBE.mjs} +1 -1
- package/dist/admin/chunks/dk-BaelzvBE.mjs.map +1 -0
- package/dist/admin/chunks/{en-BhgCBe7M.js → en-BhgCBe7M.mjs} +1 -1
- package/dist/admin/chunks/en-BhgCBe7M.mjs.map +1 -0
- package/dist/admin/chunks/{es-B0wXmvRj.js → es-B0wXmvRj.mjs} +1 -1
- package/dist/admin/chunks/es-B0wXmvRj.mjs.map +1 -0
- package/dist/admin/chunks/{fr-CGYvGUXg.js → fr-CGYvGUXg.mjs} +1 -1
- package/dist/admin/chunks/fr-CGYvGUXg.mjs.map +1 -0
- package/dist/admin/chunks/{id-CNzbwFjA.js → id-CNzbwFjA.mjs} +1 -1
- package/dist/admin/chunks/id-CNzbwFjA.mjs.map +1 -0
- package/dist/admin/chunks/{index-DG6Abn44.js → index-B-Z_z_qb.mjs} +30 -30
- package/dist/admin/chunks/index-B-Z_z_qb.mjs.map +1 -0
- package/dist/admin/chunks/{index-CxiKMwJn.js → index-B2MJiSOD.mjs} +2 -2
- package/dist/admin/chunks/index-B2MJiSOD.mjs.map +1 -0
- package/dist/admin/chunks/{index-DgONbTcJ.js → index-COXjHxFm.mjs} +2 -2
- package/dist/admin/chunks/index-COXjHxFm.mjs.map +1 -0
- package/dist/admin/chunks/{index-xVVRcuDA.js → index-Cu2GvTiT.mjs} +2 -2
- package/dist/admin/chunks/index-Cu2GvTiT.mjs.map +1 -0
- package/dist/admin/chunks/{index-De_N0gr1.js → index-DVNIct2-.mjs} +2 -2
- package/dist/admin/chunks/index-DVNIct2-.mjs.map +1 -0
- package/dist/admin/chunks/{it-B2H2foTf.js → it-B2H2foTf.mjs} +1 -1
- package/dist/admin/chunks/it-B2H2foTf.mjs.map +1 -0
- package/dist/admin/chunks/{ja-C0z9d7L9.js → ja-C0z9d7L9.mjs} +1 -1
- package/dist/admin/chunks/ja-C0z9d7L9.mjs.map +1 -0
- package/dist/admin/chunks/{ko-CzUgzpeS.js → ko-CzUgzpeS.mjs} +1 -1
- package/dist/admin/chunks/ko-CzUgzpeS.mjs.map +1 -0
- package/dist/admin/chunks/{ms-CCacxjim.js → ms-CCacxjim.mjs} +1 -1
- package/dist/admin/chunks/ms-CCacxjim.mjs.map +1 -0
- package/dist/admin/chunks/{nl-DDC3nZW-.js → nl-DDC3nZW-.mjs} +1 -1
- package/dist/admin/chunks/nl-DDC3nZW-.mjs.map +1 -0
- package/dist/admin/chunks/{pl-XkS463rN.js → pl-XkS463rN.mjs} +1 -1
- package/dist/admin/chunks/pl-XkS463rN.mjs.map +1 -0
- package/dist/admin/chunks/{pt-BR-8cC7z8Km.js → pt-BR-8cC7z8Km.mjs} +1 -1
- package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs.map +1 -0
- package/dist/admin/chunks/{pt-DQpEvio8.js → pt-DQpEvio8.mjs} +1 -1
- package/dist/admin/chunks/pt-DQpEvio8.mjs.map +1 -0
- package/dist/admin/chunks/{ru-nzL_7Mhg.js → ru-nzL_7Mhg.mjs} +1 -1
- package/dist/admin/chunks/ru-nzL_7Mhg.mjs.map +1 -0
- package/dist/admin/chunks/{sk-Ddxc_tZA.js → sk-Ddxc_tZA.mjs} +1 -1
- package/dist/admin/chunks/sk-Ddxc_tZA.mjs.map +1 -0
- package/dist/admin/chunks/{sv-By3RYpMG.js → sv-By3RYpMG.mjs} +1 -1
- package/dist/admin/chunks/sv-By3RYpMG.mjs.map +1 -0
- package/dist/admin/chunks/{th-COl50vqb.js → th-COl50vqb.mjs} +1 -1
- package/dist/admin/chunks/th-COl50vqb.mjs.map +1 -0
- package/dist/admin/chunks/{tr-80SJU6jg.js → tr-80SJU6jg.mjs} +1 -1
- package/dist/admin/chunks/tr-80SJU6jg.mjs.map +1 -0
- package/dist/admin/chunks/{uk-D8JHuzch.js → uk-D8JHuzch.mjs} +1 -1
- package/dist/admin/chunks/uk-D8JHuzch.mjs.map +1 -0
- package/dist/admin/chunks/{vi-69AF03Iv.js → vi-69AF03Iv.mjs} +1 -1
- package/dist/admin/chunks/vi-69AF03Iv.mjs.map +1 -0
- package/dist/admin/chunks/{zh-BzSkqxo-.js → zh-BzSkqxo-.mjs} +1 -1
- package/dist/admin/chunks/zh-BzSkqxo-.mjs.map +1 -0
- package/dist/admin/chunks/{zh-Hans-DmDcSsp7.js → zh-Hans-DmDcSsp7.mjs} +1 -1
- package/dist/admin/chunks/zh-Hans-DmDcSsp7.mjs.map +1 -0
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +30 -3
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +30 -3
- package/dist/server/index.mjs.map +1 -1
- package/package.json +5 -5
- package/rollup.config.mjs +2 -2
- package/server/controllers/validation/auth.js +24 -1
- package/dist/admin/chunks/ar-G6bUGuUb.js.map +0 -1
- package/dist/admin/chunks/cs-Bu59JqhG.js.map +0 -1
- package/dist/admin/chunks/de-B81A69_5.js.map +0 -1
- package/dist/admin/chunks/dk-BaelzvBE.js.map +0 -1
- package/dist/admin/chunks/en-BhgCBe7M.js.map +0 -1
- package/dist/admin/chunks/es-B0wXmvRj.js.map +0 -1
- package/dist/admin/chunks/fr-CGYvGUXg.js.map +0 -1
- package/dist/admin/chunks/id-CNzbwFjA.js.map +0 -1
- package/dist/admin/chunks/index-CxiKMwJn.js.map +0 -1
- package/dist/admin/chunks/index-DG6Abn44.js.map +0 -1
- package/dist/admin/chunks/index-De_N0gr1.js.map +0 -1
- package/dist/admin/chunks/index-DgONbTcJ.js.map +0 -1
- package/dist/admin/chunks/index-xVVRcuDA.js.map +0 -1
- package/dist/admin/chunks/it-B2H2foTf.js.map +0 -1
- package/dist/admin/chunks/ja-C0z9d7L9.js.map +0 -1
- package/dist/admin/chunks/ko-CzUgzpeS.js.map +0 -1
- package/dist/admin/chunks/ms-CCacxjim.js.map +0 -1
- package/dist/admin/chunks/nl-DDC3nZW-.js.map +0 -1
- package/dist/admin/chunks/pl-XkS463rN.js.map +0 -1
- package/dist/admin/chunks/pt-BR-8cC7z8Km.js.map +0 -1
- package/dist/admin/chunks/pt-DQpEvio8.js.map +0 -1
- package/dist/admin/chunks/ru-nzL_7Mhg.js.map +0 -1
- package/dist/admin/chunks/sk-Ddxc_tZA.js.map +0 -1
- package/dist/admin/chunks/sv-By3RYpMG.js.map +0 -1
- package/dist/admin/chunks/th-COl50vqb.js.map +0 -1
- package/dist/admin/chunks/tr-80SJU6jg.js.map +0 -1
- package/dist/admin/chunks/uk-D8JHuzch.js.map +0 -1
- package/dist/admin/chunks/vi-69AF03Iv.js.map +0 -1
- package/dist/admin/chunks/zh-BzSkqxo-.js.map +0 -1
- package/dist/admin/chunks/zh-Hans-DmDcSsp7.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Cu2GvTiT.mjs","sources":["../../../admin/src/contexts/UsersPermissionsContext/index.jsx","../../../admin/src/utils/formatPluginName.js","../../../admin/src/components/Permissions/init.js","../../../admin/src/components/Permissions/PermissionRow/CheckboxWrapper.jsx","../../../admin/src/components/Permissions/PermissionRow/SubCategory.jsx","../../../admin/src/components/Permissions/PermissionRow/index.jsx","../../../admin/src/components/Permissions/reducer.js","../../../admin/src/components/Permissions/index.jsx","../../../admin/src/components/BoundRoute/getMethodColor.js","../../../admin/src/components/BoundRoute/index.jsx","../../../admin/src/components/Policies/index.jsx","../../../admin/src/components/UsersPermissions/init.js","../../../admin/src/components/UsersPermissions/reducer.js","../../../admin/src/components/UsersPermissions/index.jsx","../../../admin/src/pages/Roles/constants.js","../../../admin/src/utils/cleanPermissions.js","../../../admin/src/pages/Roles/hooks/usePlugins.js","../../../admin/src/pages/Roles/pages/CreatePage.jsx","../../../admin/src/pages/Roles/pages/EditPage.jsx","../../../admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx","../../../admin/src/pages/Roles/pages/ListPage/index.jsx","../../../admin/src/pages/Roles/index.jsx"],"sourcesContent":["import React, { createContext, useContext } from 'react';\n\nimport PropTypes from 'prop-types';\n\nconst UsersPermissions = createContext({});\n\nconst UsersPermissionsProvider = ({ children, value }) => {\n return <UsersPermissions.Provider value={value}>{children}</UsersPermissions.Provider>;\n};\n\nconst useUsersPermissions = () => useContext(UsersPermissions);\n\nUsersPermissionsProvider.propTypes = {\n children: PropTypes.node.isRequired,\n value: PropTypes.object.isRequired,\n};\n\nexport { UsersPermissions, UsersPermissionsProvider, useUsersPermissions };\n","import upperFirst from 'lodash/upperFirst';\n\nfunction formatPluginName(pluginSlug) {\n switch (pluginSlug) {\n case 'application':\n return 'Application';\n case 'plugin::content-manager':\n return 'Content manager';\n case 'plugin::content-type-builder':\n return 'Content types builder';\n case 'plugin::documentation':\n return 'Documentation';\n case 'plugin::email':\n return 'Email';\n case 'plugin::i18n':\n return 'i18n';\n case 'plugin::upload':\n return 'Upload';\n case 'plugin::users-permissions':\n return 'Users-permissions';\n default:\n return upperFirst(pluginSlug.replace('api::', '').replace('plugin::', ''));\n }\n}\n\nexport default formatPluginName;\n","const init = (initialState, permissions) => {\n const collapses = Object.keys(permissions)\n .sort()\n .map((name) => ({ name, isOpen: false }));\n\n return { ...initialState, collapses };\n};\n\nexport default init;\n","import { Box } from '@strapi/design-system';\nimport { styled, css } from 'styled-components';\n\nconst activeCheckboxWrapperStyles = css`\n background: ${(props) => props.theme.colors.primary100};\n\n #cog {\n opacity: 1;\n }\n`;\n\nconst CheckboxWrapper = styled(Box)`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n #cog {\n opacity: 0;\n path {\n fill: ${(props) => props.theme.colors.primary600};\n }\n }\n\n /* Show active style both on hover and when the action is selected */\n ${(props) => props.isActive && activeCheckboxWrapperStyles}\n &:hover {\n ${activeCheckboxWrapperStyles}\n }\n`;\n\nexport default CheckboxWrapper;\n","import React, { useCallback, useMemo } from 'react';\n\nimport { Box, Checkbox, Flex, Typography, Grid, VisuallyHidden } from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport get from 'lodash/get';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useUsersPermissions } from '../../../contexts/UsersPermissionsContext';\n\nimport CheckboxWrapper from './CheckboxWrapper';\n\nconst Border = styled.div`\n flex: 1;\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\nconst SubCategory = ({ subCategory }) => {\n const { formatMessage } = useIntl();\n const { onChange, onChangeSelectAll, onSelectedAction, selectedAction, modifiedData } =\n useUsersPermissions();\n\n const currentScopedModifiedData = useMemo(() => {\n return get(modifiedData, subCategory.name, {});\n }, [modifiedData, subCategory]);\n\n const hasAllActionsSelected = useMemo(() => {\n return Object.values(currentScopedModifiedData).every((action) => action.enabled === true);\n }, [currentScopedModifiedData]);\n\n const hasSomeActionsSelected = useMemo(() => {\n return (\n Object.values(currentScopedModifiedData).some((action) => action.enabled === true) &&\n !hasAllActionsSelected\n );\n }, [currentScopedModifiedData, hasAllActionsSelected]);\n\n const handleChangeSelectAll = useCallback(\n ({ target: { name } }) => {\n onChangeSelectAll({ target: { name, value: !hasAllActionsSelected } });\n },\n [hasAllActionsSelected, onChangeSelectAll]\n );\n\n const isActionSelected = useCallback(\n (actionName) => {\n return selectedAction === actionName;\n },\n [selectedAction]\n );\n\n return (\n <Box>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {subCategory.label}\n </Typography>\n </Box>\n <Border />\n <Box paddingLeft={4}>\n <Checkbox\n name={subCategory.name}\n checked={hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected}\n onCheckedChange={(value) =>\n handleChangeSelectAll({ target: { name: subCategory.name, value } })\n }\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Flex paddingTop={6} paddingBottom={6}>\n <Grid.Root gap={2} style={{ flex: 1 }}>\n {subCategory.actions.map((action) => {\n const name = `${action.name}.enabled`;\n\n return (\n <Grid.Item col={6} key={action.name} direction=\"column\" alignItems=\"stretch\">\n <CheckboxWrapper isActive={isActionSelected(action.name)} padding={2} hasRadius>\n <Checkbox\n checked={get(modifiedData, name, false)}\n name={name}\n onCheckedChange={(value) => onChange({ target: { name, value } })}\n >\n {action.label}\n </Checkbox>\n <button\n type=\"button\"\n onClick={() => onSelectedAction(action.name)}\n style={{ display: 'inline-flex', alignItems: 'center' }}\n >\n <VisuallyHidden tag=\"span\">\n {formatMessage(\n {\n id: 'app.utils.show-bound-route',\n defaultMessage: 'Show bound route for {route}',\n },\n {\n route: action.name,\n }\n )}\n </VisuallyHidden>\n <Cog id=\"cog\" cursor=\"pointer\" />\n </button>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nSubCategory.propTypes = {\n subCategory: PropTypes.object.isRequired,\n};\n\nexport default SubCategory;\n","import React, { useMemo } from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport sortBy from 'lodash/sortBy';\nimport PropTypes from 'prop-types';\n\nimport SubCategory from './SubCategory';\n\nconst PermissionRow = ({ name, permissions }) => {\n const subCategories = useMemo(() => {\n return sortBy(\n Object.values(permissions.controllers).reduce((acc, curr, index) => {\n const currentName = `${name}.controllers.${Object.keys(permissions.controllers)[index]}`;\n const actions = sortBy(\n Object.keys(curr).reduce((acc, current) => {\n return [\n ...acc,\n {\n ...curr[current],\n label: current,\n name: `${currentName}.${current}`,\n },\n ];\n }, []),\n 'label'\n );\n\n return [\n ...acc,\n {\n actions,\n label: Object.keys(permissions.controllers)[index],\n name: currentName,\n },\n ];\n }, []),\n 'label'\n );\n }, [name, permissions]);\n\n return (\n <Box padding={6}>\n {subCategories.map((subCategory) => (\n <SubCategory key={subCategory.name} subCategory={subCategory} />\n ))}\n </Box>\n );\n};\n\nPermissionRow.propTypes = {\n name: PropTypes.string.isRequired,\n permissions: PropTypes.object.isRequired,\n};\n\nexport default PermissionRow;\n","import { produce } from 'immer';\n\nconst initialState = {\n collapses: [],\n};\n\nconst reducer = (state, action) =>\n // eslint-disable-next-line consistent-return\n produce(state, (draftState) => {\n switch (action.type) {\n case 'TOGGLE_COLLAPSE': {\n draftState.collapses = state.collapses.map((collapse, index) => {\n if (index === action.index) {\n return { ...collapse, isOpen: !collapse.isOpen };\n }\n\n return { ...collapse, isOpen: false };\n });\n\n break;\n }\n default:\n return draftState;\n }\n });\n\nexport { initialState, reducer };\n","import React, { useReducer } from 'react';\n\nimport { Accordion, Flex } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useUsersPermissions } from '../../contexts/UsersPermissionsContext';\nimport formatPluginName from '../../utils/formatPluginName';\n\nimport init from './init';\nimport PermissionRow from './PermissionRow';\nimport { initialState, reducer } from './reducer';\n\nconst Permissions = () => {\n const { modifiedData } = useUsersPermissions();\n const { formatMessage } = useIntl();\n const [{ collapses }] = useReducer(reducer, initialState, (state) => init(state, modifiedData));\n\n return (\n <Accordion.Root size=\"M\">\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n {collapses.map((collapse, index) => (\n <Accordion.Item key={collapse.name} value={collapse.name}>\n <Accordion.Header variant={index % 2 === 0 ? 'secondary' : undefined}>\n <Accordion.Trigger\n caretPosition=\"right\"\n description={formatMessage(\n {\n id: 'users-permissions.Plugin.permissions.plugins.description',\n defaultMessage: 'Define all allowed actions for the {name} plugin.',\n },\n { name: collapse.name }\n )}\n >\n {formatPluginName(collapse.name)}\n </Accordion.Trigger>\n </Accordion.Header>\n <Accordion.Content>\n <PermissionRow permissions={modifiedData[collapse.name]} name={collapse.name} />\n </Accordion.Content>\n </Accordion.Item>\n ))}\n </Flex>\n </Accordion.Root>\n );\n};\n\nexport default Permissions;\n","const getMethodColor = (verb) => {\n switch (verb) {\n case 'POST': {\n return {\n text: 'success600',\n border: 'success200',\n background: 'success100',\n };\n }\n case 'GET': {\n return {\n text: 'secondary600',\n border: 'secondary200',\n background: 'secondary100',\n };\n }\n case 'PUT': {\n return {\n text: 'warning600',\n border: 'warning200',\n background: 'warning100',\n };\n }\n case 'DELETE': {\n return {\n text: 'danger600',\n border: 'danger200',\n background: 'danger100',\n };\n }\n default: {\n return {\n text: 'neutral600',\n border: 'neutral200',\n background: 'neutral100',\n };\n }\n }\n};\n\nexport default getMethodColor;\n","import * as React from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport map from 'lodash/map';\nimport tail from 'lodash/tail';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport getMethodColor from './getMethodColor';\n\nconst MethodBox = styled(Box)`\n margin: -1px;\n border-radius: ${({ theme }) => theme.spaces[1]} 0 0 ${({ theme }) => theme.spaces[1]};\n`;\n\nfunction BoundRoute({ route }) {\n const { formatMessage } = useIntl();\n\n const { method, handler: title, path } = route;\n const formattedRoute = path ? tail(path.split('/')) : [];\n const [controller = '', action = ''] = title ? title.split('.') : [];\n const colors = getMethodColor(route.method);\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'users-permissions.BoundRoute.title',\n defaultMessage: 'Bound route to',\n })}\n \n <span>{controller}</span>\n <Typography variant=\"delta\" textColor=\"primary600\">\n .{action}\n </Typography>\n </Typography>\n <Flex hasRadius background=\"neutral0\" borderColor=\"neutral200\" gap={0}>\n <MethodBox background={colors.background} borderColor={colors.border} padding={2}>\n <Typography fontWeight=\"bold\" textColor={colors.text}>\n {method}\n </Typography>\n </MethodBox>\n <Box paddingLeft={2} paddingRight={2}>\n {map(formattedRoute, (value) => (\n <Typography key={value} textColor={value.includes(':') ? 'neutral600' : 'neutral900'}>\n /{value}\n </Typography>\n ))}\n </Box>\n </Flex>\n </Flex>\n );\n}\n\nBoundRoute.defaultProps = {\n route: {\n handler: 'Nocontroller.error',\n method: 'GET',\n path: '/there-is-no-path',\n },\n};\n\nBoundRoute.propTypes = {\n route: PropTypes.shape({\n handler: PropTypes.string,\n method: PropTypes.string,\n path: PropTypes.string,\n }),\n};\n\nexport default BoundRoute;\n","import * as React from 'react';\n\nimport { Flex, Grid, Typography } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport without from 'lodash/without';\nimport { useIntl } from 'react-intl';\n\nimport { useUsersPermissions } from '../../contexts/UsersPermissionsContext';\nimport BoundRoute from '../BoundRoute';\n\nconst Policies = () => {\n const { formatMessage } = useIntl();\n const { selectedAction, routes } = useUsersPermissions();\n\n const path = without(selectedAction.split('.'), 'controllers');\n const controllerRoutes = get(routes, path[0]);\n const pathResolved = path.slice(1).join('.');\n\n const displayedRoutes = isEmpty(controllerRoutes)\n ? []\n : controllerRoutes.filter((o) => o.handler.endsWith(pathResolved));\n\n return (\n <Grid.Item\n col={5}\n background=\"neutral150\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n style={{ minHeight: '100%' }}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {selectedAction ? (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n {displayedRoutes.map((route, key) => (\n // eslint-disable-next-line react/no-array-index-key\n <BoundRoute key={key} route={route} />\n ))}\n </Flex>\n ) : (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'users-permissions.Policies.header.title',\n defaultMessage: 'Advanced settings',\n })}\n </Typography>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: 'users-permissions.Policies.header.hint',\n defaultMessage:\n \"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route\",\n })}\n </Typography>\n </Flex>\n )}\n </Grid.Item>\n );\n};\n\nexport default Policies;\n","const init = (state, permissions, routes) => {\n return {\n ...state,\n initialData: permissions,\n modifiedData: permissions,\n routes,\n };\n};\n\nexport default init;\n","/* eslint-disable consistent-return */\nimport { produce } from 'immer';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport take from 'lodash/take';\n\nexport const initialState = {\n initialData: {},\n modifiedData: {},\n routes: {},\n selectedAction: '',\n policies: [],\n};\n\nconst reducer = (state, action) =>\n produce(state, (draftState) => {\n switch (action.type) {\n case 'ON_CHANGE': {\n const keysLength = action.keys.length;\n const isChangingCheckbox = action.keys[keysLength - 1] === 'enabled';\n\n if (action.value && isChangingCheckbox) {\n const selectedAction = take(action.keys, keysLength - 1).join('.');\n draftState.selectedAction = selectedAction;\n }\n\n set(draftState, ['modifiedData', ...action.keys], action.value);\n break;\n }\n case 'ON_CHANGE_SELECT_ALL': {\n const pathToValue = ['modifiedData', ...action.keys];\n const oldValues = get(state, pathToValue, {});\n const updatedValues = Object.keys(oldValues).reduce((acc, current) => {\n acc[current] = { ...oldValues[current], enabled: action.value };\n\n return acc;\n }, {});\n\n set(draftState, pathToValue, updatedValues);\n\n break;\n }\n case 'ON_RESET': {\n draftState.modifiedData = state.initialData;\n break;\n }\n case 'ON_SUBMIT_SUCCEEDED': {\n draftState.initialData = state.modifiedData;\n break;\n }\n\n case 'SELECT_ACTION': {\n const { actionToSelect } = action;\n draftState.selectedAction = actionToSelect === state.selectedAction ? '' : actionToSelect;\n break;\n }\n default:\n return draftState;\n }\n });\n\nexport default reducer;\n","import React, { forwardRef, memo, useImperativeHandle, useReducer } from 'react';\n\nimport { Flex, Grid, Typography } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { UsersPermissionsProvider } from '../../contexts/UsersPermissionsContext';\nimport getTrad from '../../utils/getTrad';\nimport Permissions from '../Permissions';\nimport Policies from '../Policies';\n\nimport init from './init';\nimport reducer, { initialState } from './reducer';\n\nconst UsersPermissions = forwardRef(({ permissions, routes }, ref) => {\n const { formatMessage } = useIntl();\n const [state, dispatch] = useReducer(reducer, initialState, (state) =>\n init(state, permissions, routes)\n );\n\n useImperativeHandle(ref, () => ({\n getPermissions() {\n return {\n permissions: state.modifiedData,\n };\n },\n resetForm() {\n dispatch({ type: 'ON_RESET' });\n },\n setFormAfterSubmit() {\n dispatch({ type: 'ON_SUBMIT_SUCCEEDED' });\n },\n }));\n\n const handleChange = ({ target: { name, value } }) =>\n dispatch({\n type: 'ON_CHANGE',\n keys: name.split('.'),\n value: value === 'empty__string_value' ? '' : value,\n });\n\n const handleChangeSelectAll = ({ target: { name, value } }) =>\n dispatch({\n type: 'ON_CHANGE_SELECT_ALL',\n keys: name.split('.'),\n value,\n });\n\n const handleSelectedAction = (actionToSelect) =>\n dispatch({\n type: 'SELECT_ACTION',\n actionToSelect,\n });\n\n const providerValue = {\n ...state,\n onChange: handleChange,\n onChangeSelectAll: handleChangeSelectAll,\n onSelectedAction: handleSelectedAction,\n };\n\n return (\n <UsersPermissionsProvider value={providerValue}>\n <Grid.Root gap={0} shadow=\"filterShadow\" hasRadius background=\"neutral0\">\n <Grid.Item\n col={7}\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTrad('Plugins.header.title'),\n defaultMessage: 'Permissions',\n })}\n </Typography>\n <Typography tag=\"p\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('Plugins.header.description'),\n defaultMessage: 'Only actions bound by a route are listed below.',\n })}\n </Typography>\n </Flex>\n <Permissions />\n </Flex>\n </Grid.Item>\n <Policies />\n </Grid.Root>\n </UsersPermissionsProvider>\n );\n});\n\nUsersPermissions.propTypes = {\n permissions: PropTypes.object.isRequired,\n routes: PropTypes.object.isRequired,\n};\n\nexport default memo(UsersPermissions);\n","import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nexport const createRoleSchema = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n","import isEmpty from 'lodash/isEmpty';\n\nconst cleanPermissions = (permissions) =>\n Object.keys(permissions).reduce((acc, current) => {\n const currentPermission = permissions[current].controllers;\n const cleanedControllers = Object.keys(currentPermission).reduce((acc2, curr) => {\n if (isEmpty(currentPermission[curr])) {\n return acc2;\n }\n\n acc2[curr] = currentPermission[curr];\n\n return acc2;\n }, {});\n\n if (isEmpty(cleanedControllers)) {\n return acc;\n }\n\n acc[current] = { controllers: cleanedControllers };\n\n return acc;\n }, {});\n\nexport default cleanPermissions;\n","import { useEffect } from 'react';\n\nimport { useAPIErrorHandler, useNotification, useFetchClient } from '@strapi/strapi/admin';\nimport { useQueries } from 'react-query';\n\nimport { cleanPermissions, getTrad } from '../../../utils';\n\nexport const usePlugins = () => {\n const { toggleNotification } = useNotification();\n const { get } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler(getTrad);\n\n const [\n {\n data: permissions,\n isLoading: isLoadingPermissions,\n error: permissionsError,\n refetch: refetchPermissions,\n },\n { data: routes, isLoading: isLoadingRoutes, error: routesError, refetch: refetchRoutes },\n ] = useQueries([\n {\n queryKey: ['users-permissions', 'permissions'],\n async queryFn() {\n const {\n data: { permissions },\n } = await get(`/users-permissions/permissions`);\n\n return permissions;\n },\n },\n {\n queryKey: ['users-permissions', 'routes'],\n async queryFn() {\n const {\n data: { routes },\n } = await get(`/users-permissions/routes`);\n\n return routes;\n },\n },\n ]);\n\n const refetchQueries = async () => {\n await Promise.all([refetchPermissions(), refetchRoutes()]);\n };\n\n useEffect(() => {\n if (permissionsError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(permissionsError),\n });\n }\n }, [toggleNotification, permissionsError, formatAPIError]);\n\n useEffect(() => {\n if (routesError) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(routesError),\n });\n }\n }, [toggleNotification, routesError, formatAPIError]);\n\n const isLoading = isLoadingPermissions || isLoadingRoutes;\n\n return {\n // TODO: these return values need to be memoized, otherwise\n // they will create infinite rendering loops when used as\n // effect dependencies\n permissions: permissions ? cleanPermissions(permissions) : {},\n routes: routes ?? {},\n\n getData: refetchQueries,\n isLoading,\n };\n};\n","import * as React from 'react';\n\nimport {\n Button,\n Flex,\n Grid,\n Main,\n Textarea,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport { Page, useTracking, useNotification, useFetchClient, Layouts } from '@strapi/strapi/admin';\nimport { Formik, Form } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useMutation } from 'react-query';\nimport { useNavigate } from 'react-router-dom';\n\nimport UsersPermissions from '../../../components/UsersPermissions';\nimport { PERMISSIONS } from '../../../constants';\nimport getTrad from '../../../utils/getTrad';\nimport { createRoleSchema } from '../constants';\nimport { usePlugins } from '../hooks/usePlugins';\n\nexport const CreatePage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const navigate = useNavigate();\n const { isLoading: isLoadingPlugins, permissions, routes } = usePlugins();\n const { trackUsage } = useTracking();\n const permissionsRef = React.useRef();\n const { post } = useFetchClient();\n const mutation = useMutation((body) => post(`/users-permissions/roles`, body), {\n onError() {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n },\n\n onSuccess() {\n trackUsage('didCreateRole');\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('Settings.roles.created'),\n defaultMessage: 'Role created',\n }),\n });\n\n // Forcing redirecting since we don't have the id in the response\n navigate(-1);\n },\n });\n\n const handleCreateRoleSubmit = async (data) => {\n // TODO: refactor. Child -> parent component communication is evil;\n // We should either move the provider one level up or move the state\n // straight into redux.\n const permissions = permissionsRef.current.getPermissions();\n\n await mutation.mutate({ ...data, ...permissions, users: [] });\n };\n\n return (\n <Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n { name: 'Roles' }\n )}\n </Page.Title>\n <Formik\n enableReinitialize\n initialValues={{ name: '', description: '' }}\n onSubmit={handleCreateRoleSubmit}\n validationSchema={createRoleSchema}\n >\n {({ handleSubmit, values, handleChange, errors }) => (\n <Form noValidate onSubmit={handleSubmit}>\n <Layouts.Header\n primaryAction={\n !isLoadingPlugins && (\n <Button type=\"submit\" loading={mutation.isLoading} startIcon={<Check />}>\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n )\n }\n title={formatMessage({\n id: 'Settings.roles.create.title',\n defaultMessage: 'Create a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n />\n <Layouts.Content>\n <Flex\n background=\"neutral0\"\n direction=\"column\"\n alignItems=\"stretch\"\n gap={7}\n hasRadius\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n shadow=\"filterShadow\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\">\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTrad('EditPage.form.roles'),\n defaultMessage: 'Role details',\n })}\n </Typography>\n\n <Grid.Root gap={4}>\n <Grid.Item col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"name\"\n error={\n errors?.name\n ? formatMessage({ id: errors.name, defaultMessage: 'Name is required' })\n : false\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput value={values.name || ''} onChange={handleChange} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"description\"\n error={\n errors?.description\n ? formatMessage({\n id: errors.description,\n defaultMessage: 'Description is required',\n })\n : false\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea value={values.description || ''} onChange={handleChange} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n\n {!isLoadingPlugins && (\n <UsersPermissions\n ref={permissionsRef}\n permissions={permissions}\n routes={routes}\n />\n )}\n </Flex>\n </Layouts.Content>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nexport const ProtectedRolesCreatePage = () => (\n <Page.Protect permissions={PERMISSIONS.createRole}>\n <CreatePage />\n </Page.Protect>\n);\n","import * as React from 'react';\n\nimport {\n Main,\n Button,\n Flex,\n TextInput,\n Textarea,\n Typography,\n Grid,\n Field,\n} from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport {\n Page,\n BackButton,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { Formik, Form } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useQuery, useMutation } from 'react-query';\nimport { useMatch } from 'react-router-dom';\n\nimport UsersPermissions from '../../../components/UsersPermissions';\nimport { PERMISSIONS } from '../../../constants';\nimport getTrad from '../../../utils/getTrad';\nimport { createRoleSchema } from '../constants';\nimport { usePlugins } from '../hooks/usePlugins';\n\nexport const EditPage = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const {\n params: { id },\n } = useMatch(`/settings/users-permissions/roles/:id`);\n const { get } = useFetchClient();\n const { isLoading: isLoadingPlugins, routes } = usePlugins();\n const {\n data: role,\n isLoading: isLoadingRole,\n refetch: refetchRole,\n } = useQuery(['users-permissions', 'role', id], async () => {\n // TODO: why doesn't this endpoint follow the admin API conventions?\n const {\n data: { role },\n } = await get(`/users-permissions/roles/${id}`);\n\n return role;\n });\n\n const permissionsRef = React.useRef();\n const { put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n const mutation = useMutation((body) => put(`/users-permissions/roles/${id}`, body), {\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n\n async onSuccess() {\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('Settings.roles.created'),\n defaultMessage: 'Role edited',\n }),\n });\n\n await refetchRole();\n },\n });\n\n const handleEditRoleSubmit = async (data) => {\n const permissions = permissionsRef.current.getPermissions();\n\n await mutation.mutate({ ...data, ...permissions, users: [] });\n };\n\n if (isLoadingRole) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n { name: 'Roles' }\n )}\n </Page.Title>\n <Formik\n enableReinitialize\n initialValues={{ name: role.name, description: role.description }}\n onSubmit={handleEditRoleSubmit}\n validationSchema={createRoleSchema}\n >\n {({ handleSubmit, values, handleChange, errors }) => (\n <Form noValidate onSubmit={handleSubmit}>\n <Layouts.Header\n primaryAction={\n !isLoadingPlugins ? (\n <Button\n disabled={role.code === 'strapi-super-admin'}\n type=\"submit\"\n loading={mutation.isLoading}\n startIcon={<Check />}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n ) : null\n }\n title={role.name}\n subtitle={role.description}\n navigationAction={<BackButton fallback=\"..\" />}\n />\n <Layouts.Content>\n <Flex\n background=\"neutral0\"\n direction=\"column\"\n alignItems=\"stretch\"\n gap={7}\n hasRadius\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n shadow=\"filterShadow\"\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTrad('EditPage.form.roles'),\n defaultMessage: 'Role details',\n })}\n </Typography>\n\n <Grid.Root gap={4}>\n <Grid.Item col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"name\"\n error={\n errors?.name\n ? formatMessage({\n id: errors.name,\n defaultMessage: 'Name is required',\n })\n : false\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n </Field.Label>\n <TextInput value={values.name || ''} onChange={handleChange} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"description\"\n error={\n errors?.description\n ? formatMessage({\n id: errors.description,\n defaultMessage: 'Description is required',\n })\n : false\n }\n required\n >\n <Field.Label>\n {formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Field.Label>\n <Textarea value={values.description || ''} onChange={handleChange} />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n\n {!isLoadingPlugins && (\n <UsersPermissions\n ref={permissionsRef}\n permissions={role.permissions}\n routes={routes}\n />\n )}\n </Flex>\n </Layouts.Content>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nexport const ProtectedRolesEditPage = () => (\n <Page.Protect permissions={PERMISSIONS.updateRole}>\n <EditPage />\n </Page.Protect>\n);\n","import * as React from 'react';\n\nimport { Flex, IconButton, Link, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Pencil, Trash } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, NavLink } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nconst EditLink = styled(Link)`\n align-items: center;\n height: 3.2rem;\n width: 3.2rem;\n display: flex;\n justify-content: center;\n padding: ${({ theme }) => `${theme.spaces[2]}`};\n\n svg {\n height: 1.6rem;\n width: 1.6rem;\n\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n\n &:hover,\n &:focus {\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral800};\n }\n }\n }\n`;\n\nconst TableBody = ({ sortedRoles, canDelete, canUpdate, setRoleToDelete, onDelete }) => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const [showConfirmDelete, setShowConfirmDelete] = onDelete;\n\n const checkCanDeleteRole = (role) =>\n canDelete && !['public', 'authenticated'].includes(role.type);\n\n const handleClickDelete = (id) => {\n setRoleToDelete(id);\n setShowConfirmDelete(!showConfirmDelete);\n };\n\n return (\n <Tbody>\n {sortedRoles?.map((role) => (\n <Tr cursor=\"pointer\" key={role.name} onClick={() => navigate(role.id.toString())}>\n <Td width=\"20%\">\n <Typography>{role.name}</Typography>\n </Td>\n <Td width=\"50%\">\n <Typography>{role.description}</Typography>\n </Td>\n <Td width=\"30%\">\n <Typography>\n {formatMessage(\n {\n id: 'Roles.RoleRow.user-count',\n defaultMessage: '{number, plural, =0 {# user} one {# user} other {# users}}',\n },\n { number: role.nb_users }\n )}\n </Typography>\n </Td>\n <Td>\n <Flex justifyContent=\"end\" onClick={(e) => e.stopPropagation()}>\n {canUpdate ? (\n <EditLink\n tag={NavLink}\n to={role.id.toString()}\n aria-label={formatMessage(\n { id: 'app.component.table.edit', defaultMessage: 'Edit {target}' },\n { target: `${role.name}` }\n )}\n >\n <Pencil />\n </EditLink>\n ) : null}\n\n {checkCanDeleteRole(role) && (\n <IconButton\n onClick={() => handleClickDelete(role.id.toString())}\n variant=\"ghost\"\n label={formatMessage(\n { id: 'global.delete-target', defaultMessage: 'Delete {target}' },\n { target: `${role.name}` }\n )}\n >\n <Trash />\n </IconButton>\n )}\n </Flex>\n </Td>\n </Tr>\n ))}\n </Tbody>\n );\n};\n\nexport default TableBody;\n\nTableBody.defaultProps = {\n canDelete: false,\n canUpdate: false,\n};\n\nTableBody.propTypes = {\n onDelete: PropTypes.array.isRequired,\n setRoleToDelete: PropTypes.func.isRequired,\n sortedRoles: PropTypes.array.isRequired,\n canDelete: PropTypes.bool,\n canUpdate: PropTypes.bool,\n};\n","import React, { useState } from 'react';\n\nimport {\n Table,\n Th,\n Thead,\n Tr,\n Typography,\n useNotifyAT,\n VisuallyHidden,\n EmptyStateLayout,\n useCollator,\n useFilter,\n LinkButton,\n Dialog,\n} from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport {\n ConfirmDialog,\n useTracking,\n Page,\n SearchInput,\n useNotification,\n useQueryParams,\n useFetchClient,\n useRBAC,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery } from 'react-query';\nimport { NavLink } from 'react-router-dom';\n\nimport { PERMISSIONS } from '../../../../constants';\nimport { getTrad } from '../../../../utils';\n\nimport TableBody from './components/TableBody';\n\nexport const RolesListPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage, locale } = useIntl();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const [{ query }] = useQueryParams();\n const _q = query?._q || '';\n const [showConfirmDelete, setShowConfirmDelete] = useState(false);\n const [roleToDelete, setRoleToDelete] = useState();\n const { del, get } = useFetchClient();\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canRead, canDelete, canCreate, canUpdate },\n } = useRBAC({\n create: PERMISSIONS.createRole,\n read: PERMISSIONS.readRoles,\n update: PERMISSIONS.updateRole,\n delete: PERMISSIONS.deleteRole,\n });\n\n const {\n isLoading: isLoadingForData,\n data: { roles },\n isFetching,\n refetch,\n } = useQuery('get-roles', () => fetchData(toggleNotification, formatMessage, notifyStatus), {\n initialData: {},\n enabled: canRead,\n });\n\n const { contains } = useFilter(locale, {\n sensitivity: 'base',\n });\n\n /**\n * @type {Intl.Collator}\n */\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const isLoading = isLoadingForData || isFetching || isLoadingForPermissions;\n\n const handleShowConfirmDelete = () => {\n setShowConfirmDelete(!showConfirmDelete);\n };\n\n const deleteData = async (id, formatMessage, toggleNotification) => {\n try {\n await del(`/users-permissions/roles/${id}`);\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n };\n\n const fetchData = async (toggleNotification, formatMessage, notifyStatus) => {\n try {\n const { data } = await get('/users-permissions/roles');\n notifyStatus('The roles have loaded successfully');\n\n return data;\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n\n throw new Error(err);\n }\n };\n\n const emptyLayout = {\n roles: {\n id: getTrad('Roles.empty'),\n defaultMessage: \"You don't have any roles yet.\",\n },\n search: {\n id: getTrad('Roles.empty.search'),\n defaultMessage: 'No roles match the search.',\n },\n };\n\n const pageTitle = formatMessage({\n id: 'global.roles',\n defaultMessage: 'Roles',\n });\n\n const deleteMutation = useMutation((id) => deleteData(id, formatMessage, toggleNotification), {\n async onSuccess() {\n await refetch();\n },\n });\n\n const handleConfirmDelete = async () => {\n await deleteMutation.mutateAsync(roleToDelete);\n setShowConfirmDelete(!showConfirmDelete);\n };\n\n const sortedRoles = (roles || [])\n .filter((role) => contains(role.name, _q) || contains(role.description, _q))\n .sort(\n (a, b) => formatter.compare(a.name, b.name) || formatter.compare(a.description, b.description)\n );\n\n const emptyContent = _q && !sortedRoles.length ? 'search' : 'roles';\n\n const colCount = 4;\n const rowCount = (roles?.length || 0) + 1;\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 { name: pageTitle }\n )}\n </Page.Title>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: 'global.roles',\n defaultMessage: 'Roles',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.list.description',\n defaultMessage: 'List of roles',\n })}\n primaryAction={\n canCreate ? (\n <LinkButton\n to=\"new\"\n tag={NavLink}\n onClick={() => trackUsage('willCreateRole')}\n startIcon={<Plus />}\n size=\"S\"\n >\n {formatMessage({\n id: getTrad('List.button.roles'),\n defaultMessage: 'Add new role',\n })}\n </LinkButton>\n ) : null\n }\n />\n\n <Layouts.Action\n startActions={\n <SearchInput\n label={formatMessage({\n id: 'app.component.search.label',\n defaultMessage: 'Search',\n })}\n />\n }\n />\n\n <Layouts.Content>\n {!canRead && <Page.NoPermissions />}\n {canRead && sortedRoles && sortedRoles?.length ? (\n <Table colCount={colCount} rowCount={rowCount}>\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({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: 'global.users',\n defaultMessage: 'Users',\n })}\n </Typography>\n </Th>\n <Th>\n <VisuallyHidden>\n {formatMessage({\n id: 'global.actions',\n defaultMessage: 'Actions',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <TableBody\n sortedRoles={sortedRoles}\n canDelete={canDelete}\n canUpdate={canUpdate}\n permissions={PERMISSIONS}\n setRoleToDelete={setRoleToDelete}\n onDelete={[showConfirmDelete, setShowConfirmDelete]}\n />\n </Table>\n ) : (\n <EmptyStateLayout content={formatMessage(emptyLayout[emptyContent])} />\n )}\n </Layouts.Content>\n <Dialog.Root open={showConfirmDelete} onOpenChange={handleShowConfirmDelete}>\n <ConfirmDialog onConfirm={handleConfirmDelete} />\n </Dialog.Root>\n </Page.Main>\n </Layouts.Root>\n );\n};\n\nexport const ProtectedRolesListPage = () => {\n return (\n <Page.Protect permissions={PERMISSIONS.accessRoles}>\n <RolesListPage />\n </Page.Protect>\n );\n};\n","import * as React from 'react';\n\nimport { Page } from '@strapi/strapi/admin';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { PERMISSIONS } from '../../constants';\n\nimport { ProtectedRolesCreatePage } from './pages/CreatePage';\nimport { ProtectedRolesEditPage } from './pages/EditPage';\nimport { ProtectedRolesListPage } from './pages/ListPage';\n\nconst Roles = () => {\n return (\n <Page.Protect permissions={PERMISSIONS.accessRoles}>\n <Routes>\n <Route index element={<ProtectedRolesListPage />} />\n <Route path=\"new\" element={<ProtectedRolesCreatePage />} />\n <Route path=\":id\" element={<ProtectedRolesEditPage />} />\n </Routes>\n </Page.Protect>\n );\n};\n\nexport default Roles;\n"],"names":["UsersPermissions","createContext","UsersPermissionsProvider","children","value","_jsx","Provider","useUsersPermissions","useContext","propTypes","PropTypes","node","isRequired","object","formatPluginName","pluginSlug","upperFirst","replace","init","initialState","permissions","collapses","Object","keys","sort","map","name","isOpen","activeCheckboxWrapperStyles","css","props","theme","colors","primary100","CheckboxWrapper","styled","Box","primary600","isActive","Border","div","neutral150","SubCategory","subCategory","formatMessage","useIntl","onChange","onChangeSelectAll","onSelectedAction","selectedAction","modifiedData","currentScopedModifiedData","useMemo","get","hasAllActionsSelected","values","every","action","enabled","hasSomeActionsSelected","some","handleChangeSelectAll","useCallback","target","isActionSelected","actionName","_jsxs","Flex","justifyContent","alignItems","paddingRight","Typography","variant","textColor","label","paddingLeft","Checkbox","checked","onCheckedChange","id","defaultMessage","paddingTop","paddingBottom","Grid","Root","gap","style","flex","actions","Item","col","direction","padding","hasRadius","button","type","onClick","display","VisuallyHidden","tag","route","Cog","cursor","PermissionRow","subCategories","sortBy","controllers","reduce","acc","curr","index","currentName","current","string","reducer","state","produce","draftState","collapse","Permissions","useReducer","Accordion","size","Header","undefined","Trigger","caretPosition","description","Content","getMethodColor","verb","text","border","background","MethodBox","spaces","BoundRoute","method","handler","title","path","formattedRoute","tail","split","controller","span","borderColor","fontWeight","includes","defaultProps","shape","Policies","routes","without","controllerRoutes","pathResolved","slice","join","displayedRoutes","isEmpty","filter","o","endsWith","minHeight","key","initialData","policies","keysLength","length","isChangingCheckbox","take","set","pathToValue","oldValues","updatedValues","actionToSelect","forwardRef","ref","dispatch","useImperativeHandle","getPermissions","resetForm","setFormAfterSubmit","handleChange","handleSelectedAction","providerValue","shadow","getTrad","memo","createRoleSchema","yup","required","translatedErrors","cleanPermissions","currentPermission","cleanedControllers","acc2","usePlugins","toggleNotification","useNotification","useFetchClient","formatAPIError","useAPIErrorHandler","data","isLoading","isLoadingPermissions","error","permissionsError","refetch","refetchPermissions","isLoadingRoutes","routesError","refetchRoutes","useQueries","queryKey","queryFn","refetchQueries","Promise","all","useEffect","message","getData","CreatePage","navigate","useNavigate","isLoadingPlugins","trackUsage","useTracking","permissionsRef","React","useRef","post","mutation","useMutation","body","onError","onSuccess","handleCreateRoleSubmit","mutate","users","Main","Page","Title","Formik","enableReinitialize","initialValues","onSubmit","validationSchema","handleSubmit","errors","Form","noValidate","Layouts","primaryAction","Button","loading","startIcon","Check","subtitle","Field","Label","TextInput","Error","Textarea","ProtectedRolesCreatePage","Protect","PERMISSIONS","createRole","EditPage","params","useMatch","role","isLoadingRole","refetchRole","useQuery","put","handleEditRoleSubmit","Loading","disabled","code","navigationAction","BackButton","fallback","ProtectedRolesEditPage","updateRole","EditLink","Link","neutral500","neutral800","TableBody","sortedRoles","canDelete","canUpdate","setRoleToDelete","onDelete","showConfirmDelete","setShowConfirmDelete","checkCanDeleteRole","handleClickDelete","Tbody","Tr","toString","Td","width","number","nb_users","e","stopPropagation","NavLink","to","aria-label","Pencil","IconButton","Trash","array","func","bool","RolesListPage","locale","notifyStatus","useNotifyAT","query","useQueryParams","_q","useState","roleToDelete","del","isLoadingForPermissions","allowedActions","canRead","canCreate","useRBAC","create","read","readRoles","update","delete","deleteRole","isLoadingForData","roles","isFetching","fetchData","contains","useFilter","sensitivity","formatter","useCollator","handleShowConfirmDelete","deleteData","err","emptyLayout","search","pageTitle","deleteMutation","handleConfirmDelete","mutateAsync","a","b","compare","emptyContent","colCount","rowCount","LinkButton","Plus","Action","startActions","SearchInput","NoPermissions","Table","Thead","Th","EmptyStateLayout","content","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","ProtectedRolesListPage","accessRoles","Roles","Routes","Route","element"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { Modal, Breadcrumbs, Crumb, VisuallyHidden, Grid, Button, Table, Thead,
|
|
|
5
5
|
import { translatedErrors, Form, InputRenderer, Page, useNotification, useFetchClient, useAPIErrorHandler, useRBAC, Layouts } from '@strapi/strapi/admin';
|
|
6
6
|
import { useIntl } from 'react-intl';
|
|
7
7
|
import { useQueryClient, useQuery, useMutation } from 'react-query';
|
|
8
|
-
import { g as getTrad, P as PERMISSIONS } from './index-
|
|
8
|
+
import { g as getTrad, P as PERMISSIONS } from './index-B-Z_z_qb.mjs';
|
|
9
9
|
import 'lodash/isEmpty';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import * as yup from 'yup';
|
|
@@ -445,4 +445,4 @@ const EmailTemplatesPage = ()=>{
|
|
|
445
445
|
};
|
|
446
446
|
|
|
447
447
|
export { EmailTemplatesPage, ProtectedEmailTemplatesPage };
|
|
448
|
-
//# sourceMappingURL=index-
|
|
448
|
+
//# sourceMappingURL=index-DVNIct2-.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DVNIct2-.mjs","sources":["../../../admin/src/pages/EmailTemplates/utils/schema.js","../../../admin/src/pages/EmailTemplates/components/EmailForm.jsx","../../../admin/src/pages/EmailTemplates/components/EmailTable.jsx","../../../admin/src/pages/EmailTemplates/index.jsx"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nconst schema = yup.object().shape({\n options: yup\n .object()\n .shape({\n from: yup\n .object()\n .shape({\n name: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n email: yup.string().email(translatedErrors.email).required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(),\n response_email: yup.string().email(translatedErrors.email),\n object: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n message: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(translatedErrors.required.id),\n});\n\nexport default schema;\n","import * as React from 'react';\n\nimport { Button, Grid, Modal, Breadcrumbs, Crumb, VisuallyHidden } from '@strapi/design-system';\nimport { Form, InputRenderer } from '@strapi/strapi/admin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\nimport schema from '../utils/schema';\n\nconst EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onToggle}>\n <Modal.Content>\n <Modal.Header>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${\n template.display\n ? formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\n })\n : ''\n }`}\n >\n <Crumb>\n {formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}\n </Crumb>\n <Crumb isCurrent>\n {template.display\n ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display })\n : ''}\n </Crumb>\n </Breadcrumbs>\n <VisuallyHidden>\n <Modal.Title>\n {`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${template.display ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display }) : ''}`}\n </Modal.Title>\n </VisuallyHidden>\n </Modal.Header>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <Modal.Body>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.name.label'),\n defaultMessage: 'Shipper name',\n }),\n name: 'options.from.name',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.email.label'),\n defaultMessage: 'Shipper email',\n }),\n name: 'options.from.email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.response_email.label'),\n defaultMessage: 'Response email',\n }),\n name: 'options.response_email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.object.label'),\n defaultMessage: 'Subject',\n }),\n name: 'options.object',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.message.label'),\n defaultMessage: 'Message',\n }),\n name: 'options.message',\n size: 12,\n type: 'text',\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">Cancel</Button>\n </Modal.Close>\n <Button loading={isSubmitting} type=\"submit\">\n Finish\n </Button>\n </Modal.Footer>\n </>\n );\n }}\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nEmailForm.defaultProps = {\n template: {},\n};\n\nEmailForm.propTypes = {\n template: PropTypes.shape({\n display: PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n from: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n }),\n message: PropTypes.string,\n object: PropTypes.string,\n response_email: PropTypes.string,\n }),\n }),\n open: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n};\n\nexport default EmailForm;\n","import * as React from 'react';\n\nimport {\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n Box,\n} from '@strapi/design-system';\nimport { Check, Pencil, ArrowClockwise as Refresh } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nconst EmailTable = ({ canUpdate, onEditClick }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Table colCount={3} rowCount={3}>\n <Thead>\n <Tr>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.icon.label'),\n defaultMessage: 'icon',\n })}\n </VisuallyHidden>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('Email.template.table.name.label'),\n defaultMessage: 'name',\n })}\n </Typography>\n </Th>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.action.label'),\n defaultMessage: 'action',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('reset_password')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Refresh\n aria-label={formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('reset_password')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('email_confirmation')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Check\n aria-label={formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('email_confirmation')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n );\n};\n\nEmailTable.propTypes = {\n canUpdate: PropTypes.bool.isRequired,\n onEditClick: PropTypes.func.isRequired,\n};\n\nexport default EmailTable;\n","import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { useNotifyAT } from '@strapi/design-system';\nimport {\n Page,\n useAPIErrorHandler,\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 EmailForm from './components/EmailForm';\nimport EmailTable from './components/EmailTable';\n\nconst ProtectedEmailTemplatesPage = () => (\n <Page.Protect permissions={PERMISSIONS.readEmailTemplates}>\n <EmailTemplatesPage />\n </Page.Protect>\n);\nconst EmailTemplatesPage = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const [templateToEdit, setTemplateToEdit] = React.useState(null);\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateEmailTemplates });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'email-templates'],\n async () => {\n const { data } = await get('/users-permissions/email-templates');\n\n return data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: getTrad('Email.template.data.loaded'),\n defaultMessage: 'Email templates has been loaded',\n })\n );\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n }\n );\n\n const isLoading = isLoadingForPermissions || isLoadingData;\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const handleEditClick = (template) => {\n setTemplateToEdit(template);\n handleToggle();\n };\n\n const submitMutation = useMutation(\n (body) => put('/users-permissions/email-templates', { 'email-templates': body }),\n {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'email-templates']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n trackUsage('didEditEmailTemplates');\n\n handleToggle();\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: true,\n }\n );\n\n const handleSubmit = (body) => {\n trackUsage('willEditEmailTemplates');\n\n const editedTemplates = { ...data, [templateToEdit]: body };\n submitMutation.mutate(editedTemplates);\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main aria-busy={submitMutation.isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n })}\n />\n <Layouts.Content>\n <EmailTable onEditClick={handleEditClick} canUpdate={canUpdate} />\n <EmailForm\n template={data[templateToEdit]}\n onToggle={handleToggle}\n open={isModalOpen}\n onSubmit={handleSubmit}\n />\n </Layouts.Content>\n </Page.Main>\n );\n};\n\nexport { ProtectedEmailTemplatesPage, EmailTemplatesPage };\n"],"names":["schema","yup","object","shape","options","from","name","string","required","id","translatedErrors","defaultMessage","email","response_email","message","EmailForm","template","onToggle","open","onSubmit","formatMessage","useIntl","_jsx","Modal","Root","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","getTrad","display","Crumb","isCurrent","VisuallyHidden","Title","Form","initialValues","validationSchema","isSubmitting","_Fragment","Body","Grid","gap","size","type","map","field","Item","col","direction","alignItems","InputRenderer","Footer","Close","Button","variant","loading","defaultProps","propTypes","PropTypes","icon","bool","isRequired","func","EmailTable","canUpdate","onEditClick","Table","colCount","rowCount","Thead","Tr","Th","width","Typography","textColor","Tbody","cursor","onClick","Td","Box","height","padding","Refresh","aria-label","e","stopPropagation","IconButton","disabled","Pencil","Check","ProtectedEmailTemplatesPage","Page","Protect","permissions","PERMISSIONS","readEmailTemplates","EmailTemplatesPage","trackUsage","useTracking","notifyStatus","useNotifyAT","toggleNotification","useNotification","queryClient","useQueryClient","get","put","useFetchClient","formatAPIError","useAPIErrorHandler","isModalOpen","setIsModalOpen","React","useState","templateToEdit","setTemplateToEdit","isLoading","isLoadingForPermissions","allowedActions","useRBAC","update","updateEmailTemplates","isLoadingData","data","useQuery","onSuccess","onError","error","handleToggle","prev","handleEditClick","submitMutation","useMutation","body","invalidateQueries","refetchActive","handleSubmit","editedTemplates","mutate","Loading","Main","aria-busy","Layouts","title"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"it-B2H2foTf.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ja-C0z9d7L9.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ko-CzUgzpeS.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ms-CCacxjim.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nl-DDC3nZW-.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pl-XkS463rN.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pt-BR-8cC7z8Km.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pt-DQpEvio8.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ru-nzL_7Mhg.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sk-Ddxc_tZA.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sv-By3RYpMG.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"th-COl50vqb.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tr-80SJU6jg.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uk-D8JHuzch.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vi-69AF03Iv.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-BzSkqxo-.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-Hans-DmDcSsp7.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/admin/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { i as default } from './chunks/index-
|
|
1
|
+
export { i as default } from './chunks/index-B-Z_z_qb.mjs';
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/server/index.js
CHANGED
|
@@ -3462,7 +3462,16 @@ function requireAuth$1() {
|
|
|
3462
3462
|
const createRegisterSchema = (config)=>yup.object({
|
|
3463
3463
|
email: yup.string().email().required(),
|
|
3464
3464
|
username: yup.string().required(),
|
|
3465
|
-
password: yup.string().required().test(
|
|
3465
|
+
password: yup.string().required().test(function(value) {
|
|
3466
|
+
if (!value) return true;
|
|
3467
|
+
const isValid = new TextEncoder().encode(value).length <= 72;
|
|
3468
|
+
if (!isValid) {
|
|
3469
|
+
return this.createError({
|
|
3470
|
+
message: 'Password must be less than 73 bytes'
|
|
3471
|
+
});
|
|
3472
|
+
}
|
|
3473
|
+
return true;
|
|
3474
|
+
}).test(async function(value) {
|
|
3466
3475
|
if (typeof config?.validatePassword === 'function') {
|
|
3467
3476
|
try {
|
|
3468
3477
|
const isValid = await config.validatePassword(value);
|
|
@@ -3490,7 +3499,16 @@ function requireAuth$1() {
|
|
|
3490
3499
|
email: yup.string().email().required()
|
|
3491
3500
|
}).noUnknown();
|
|
3492
3501
|
const createResetPasswordSchema = (config)=>yup.object({
|
|
3493
|
-
password: yup.string().required().test(
|
|
3502
|
+
password: yup.string().required().test(function(value) {
|
|
3503
|
+
if (!value) return true;
|
|
3504
|
+
const isValid = new TextEncoder().encode(value).length <= 72;
|
|
3505
|
+
if (!isValid) {
|
|
3506
|
+
return this.createError({
|
|
3507
|
+
message: 'Password must be less than 73 bytes'
|
|
3508
|
+
});
|
|
3509
|
+
}
|
|
3510
|
+
return true;
|
|
3511
|
+
}).test(async function(value) {
|
|
3494
3512
|
if (typeof config?.validatePassword === 'function') {
|
|
3495
3513
|
try {
|
|
3496
3514
|
const isValid = await config.validatePassword(value);
|
|
@@ -3513,7 +3531,16 @@ function requireAuth$1() {
|
|
|
3513
3531
|
code: yup.string().required()
|
|
3514
3532
|
}).noUnknown();
|
|
3515
3533
|
const createChangePasswordSchema = (config)=>yup.object({
|
|
3516
|
-
password: yup.string().required().test(
|
|
3534
|
+
password: yup.string().required().test(function(value) {
|
|
3535
|
+
if (!value) return true;
|
|
3536
|
+
const isValid = new TextEncoder().encode(value).length <= 72;
|
|
3537
|
+
if (!isValid) {
|
|
3538
|
+
return this.createError({
|
|
3539
|
+
message: 'Password must be less than 73 bytes'
|
|
3540
|
+
});
|
|
3541
|
+
}
|
|
3542
|
+
return true;
|
|
3543
|
+
}).test(async function(value) {
|
|
3517
3544
|
if (typeof config?.validatePassword === 'function') {
|
|
3518
3545
|
try {
|
|
3519
3546
|
const isValid = await config.validatePassword(value);
|