@strapi/plugin-users-permissions 0.0.0-next.d9724d67b33363354d7171a9f2265e1c42485e13 → 0.0.0-next.da19c0501ff87d14fb664b55b8e0630d3c548485
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/admin/src/pages/Providers/index.jsx +74 -76
- package/admin/src/pages/Roles/pages/CreatePage.jsx +4 -13
- package/admin/src/pages/Roles/pages/EditPage.jsx +4 -13
- package/admin/src/pages/Roles/pages/ListPage/index.jsx +91 -93
- package/admin/src/translations/en.json +1 -0
- package/dist/admin/pages/Providers/index.js +84 -88
- package/dist/admin/pages/Providers/index.js.map +1 -1
- package/dist/admin/pages/Providers/index.mjs +84 -88
- package/dist/admin/pages/Providers/index.mjs.map +1 -1
- package/dist/admin/pages/Roles/pages/CreatePage.js +2 -1
- package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -1
- package/dist/admin/pages/Roles/pages/CreatePage.mjs +3 -2
- package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -1
- package/dist/admin/pages/Roles/pages/EditPage.js +2 -1
- package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -1
- package/dist/admin/pages/Roles/pages/EditPage.mjs +3 -2
- package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -1
- package/dist/admin/pages/Roles/pages/ListPage/index.js +95 -99
- package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -1
- package/dist/admin/pages/Roles/pages/ListPage/index.mjs +95 -99
- package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -1
- package/dist/admin/translations/en.json.js +1 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +1 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/server/bootstrap/index.js +28 -7
- package/dist/server/bootstrap/index.js.map +1 -1
- package/dist/server/bootstrap/index.mjs +28 -7
- package/dist/server/bootstrap/index.mjs.map +1 -1
- package/dist/server/config.js +16 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs +16 -0
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/controllers/auth.js +204 -3
- package/dist/server/controllers/auth.js.map +1 -1
- package/dist/server/controllers/auth.mjs +204 -3
- package/dist/server/controllers/auth.mjs.map +1 -1
- package/dist/server/routes/content-api/auth.js +16 -0
- package/dist/server/routes/content-api/auth.js.map +1 -1
- package/dist/server/routes/content-api/auth.mjs +16 -0
- package/dist/server/routes/content-api/auth.mjs.map +1 -1
- package/dist/server/routes/content-api/validation.js +1 -0
- package/dist/server/routes/content-api/validation.js.map +1 -1
- package/dist/server/routes/content-api/validation.mjs +1 -0
- package/dist/server/routes/content-api/validation.mjs.map +1 -1
- package/dist/server/services/constants.js +19 -0
- package/dist/server/services/constants.js.map +1 -0
- package/dist/server/services/constants.mjs +17 -0
- package/dist/server/services/constants.mjs.map +1 -0
- package/dist/server/services/jwt.js +45 -2
- package/dist/server/services/jwt.js.map +1 -1
- package/dist/server/services/jwt.mjs +45 -2
- package/dist/server/services/jwt.mjs.map +1 -1
- package/dist/server/services/user.js +29 -20
- package/dist/server/services/user.js.map +1 -1
- package/dist/server/services/user.mjs +29 -20
- package/dist/server/services/user.mjs.map +1 -1
- package/package.json +5 -5
- package/server/bootstrap/index.js +31 -0
- package/server/config.js +22 -0
- package/server/controllers/auth.js +248 -8
- package/server/routes/content-api/auth.js +12 -0
- package/server/routes/content-api/validation.js +1 -0
- package/server/services/constants.js +9 -0
- package/server/services/jwt.js +50 -2
- package/server/services/user.js +11 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePage.js","sources":["../../../../../admin/src/pages/Roles/pages/CreatePage.jsx"],"sourcesContent":["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"],"names":["CreatePage","formatMessage","useIntl","toggleNotification","useNotification","navigate","useNavigate","isLoading","isLoadingPlugins","permissions","routes","usePlugins","trackUsage","useTracking","permissionsRef","React","useRef","post","useFetchClient","mutation","useMutation","body","onError","type","message","id","defaultMessage","onSuccess","getTrad","handleCreateRoleSubmit","data","current","getPermissions","mutate","users","_jsxs","Main","_jsx","Page","Title","name","Formik","enableReinitialize","initialValues","description","onSubmit","validationSchema","createRoleSchema","handleSubmit","values","handleChange","errors","Form","noValidate","Layouts","Header","primaryAction","Button","loading","startIcon","Check","title","subtitle","Content","Flex","background","direction","alignItems","gap","hasRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","shadow","Typography","variant","tag","Grid","Root","Item","col","Field","error","required","Label","TextInput","value","onChange","Error","Textarea","UsersPermissions","ref","ProtectedRolesCreatePage","Protect","PERMISSIONS","createRole"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreatePage.js","sources":["../../../../../admin/src/pages/Roles/pages/CreatePage.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Grid, Textarea, TextInput, Typography, Field } 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 <Page.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 type=\"text\" 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 </Page.Main>\n );\n};\n\nexport const ProtectedRolesCreatePage = () => (\n <Page.Protect permissions={PERMISSIONS.createRole}>\n <CreatePage />\n </Page.Protect>\n);\n"],"names":["CreatePage","formatMessage","useIntl","toggleNotification","useNotification","navigate","useNavigate","isLoading","isLoadingPlugins","permissions","routes","usePlugins","trackUsage","useTracking","permissionsRef","React","useRef","post","useFetchClient","mutation","useMutation","body","onError","type","message","id","defaultMessage","onSuccess","getTrad","handleCreateRoleSubmit","data","current","getPermissions","mutate","users","_jsxs","Page","Main","_jsx","Title","name","Formik","enableReinitialize","initialValues","description","onSubmit","validationSchema","createRoleSchema","handleSubmit","values","handleChange","errors","Form","noValidate","Layouts","Header","primaryAction","Button","loading","startIcon","Check","title","subtitle","Content","Flex","background","direction","alignItems","gap","hasRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","shadow","Typography","variant","tag","Grid","Root","Item","col","Field","error","required","Label","TextInput","value","onChange","Error","Textarea","UsersPermissions","ref","ProtectedRolesCreatePage","Protect","PERMISSIONS","createRole"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { Button, Flex, Typography, Grid, Field, TextInput, Textarea } from '@strapi/design-system';
|
|
4
4
|
import { Check } from '@strapi/icons';
|
|
5
5
|
import { Page, useNotification, useTracking, useFetchClient, Layouts } from '@strapi/strapi/admin';
|
|
6
6
|
import { Formik, Form } from 'formik';
|
|
@@ -55,7 +55,7 @@ const CreatePage = ()=>{
|
|
|
55
55
|
users: []
|
|
56
56
|
});
|
|
57
57
|
};
|
|
58
|
-
return /*#__PURE__*/ jsxs(Main, {
|
|
58
|
+
return /*#__PURE__*/ jsxs(Page.Main, {
|
|
59
59
|
children: [
|
|
60
60
|
/*#__PURE__*/ jsx(Page.Title, {
|
|
61
61
|
children: formatMessage({
|
|
@@ -143,6 +143,7 @@ const CreatePage = ()=>{
|
|
|
143
143
|
})
|
|
144
144
|
}),
|
|
145
145
|
/*#__PURE__*/ jsx(TextInput, {
|
|
146
|
+
type: "text",
|
|
146
147
|
value: values.name || '',
|
|
147
148
|
onChange: handleChange
|
|
148
149
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePage.mjs","sources":["../../../../../admin/src/pages/Roles/pages/CreatePage.jsx"],"sourcesContent":["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"],"names":["CreatePage","formatMessage","useIntl","toggleNotification","useNotification","navigate","useNavigate","isLoading","isLoadingPlugins","permissions","routes","usePlugins","trackUsage","useTracking","permissionsRef","React","useRef","post","useFetchClient","mutation","useMutation","body","onError","type","message","id","defaultMessage","onSuccess","getTrad","handleCreateRoleSubmit","data","current","getPermissions","mutate","users","_jsxs","Main","_jsx","Page","Title","name","Formik","enableReinitialize","initialValues","description","onSubmit","validationSchema","createRoleSchema","handleSubmit","values","handleChange","errors","Form","noValidate","Layouts","Header","primaryAction","Button","loading","startIcon","Check","title","subtitle","Content","Flex","background","direction","alignItems","gap","hasRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","shadow","Typography","variant","tag","Grid","Root","Item","col","Field","error","required","Label","TextInput","value","onChange","Error","Textarea","UsersPermissions","ref","ProtectedRolesCreatePage","Protect","PERMISSIONS","createRole"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreatePage.mjs","sources":["../../../../../admin/src/pages/Roles/pages/CreatePage.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Grid, Textarea, TextInput, Typography, Field } 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 <Page.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 type=\"text\" 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 </Page.Main>\n );\n};\n\nexport const ProtectedRolesCreatePage = () => (\n <Page.Protect permissions={PERMISSIONS.createRole}>\n <CreatePage />\n </Page.Protect>\n);\n"],"names":["CreatePage","formatMessage","useIntl","toggleNotification","useNotification","navigate","useNavigate","isLoading","isLoadingPlugins","permissions","routes","usePlugins","trackUsage","useTracking","permissionsRef","React","useRef","post","useFetchClient","mutation","useMutation","body","onError","type","message","id","defaultMessage","onSuccess","getTrad","handleCreateRoleSubmit","data","current","getPermissions","mutate","users","_jsxs","Page","Main","_jsx","Title","name","Formik","enableReinitialize","initialValues","description","onSubmit","validationSchema","createRoleSchema","handleSubmit","values","handleChange","errors","Form","noValidate","Layouts","Header","primaryAction","Button","loading","startIcon","Check","title","subtitle","Content","Flex","background","direction","alignItems","gap","hasRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","shadow","Typography","variant","tag","Grid","Root","Item","col","Field","error","required","Label","TextInput","value","onChange","Error","Textarea","UsersPermissions","ref","ProtectedRolesCreatePage","Protect","PERMISSIONS","createRole"],"mappings":"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"}
|
|
@@ -81,7 +81,7 @@ const EditPage = ()=>{
|
|
|
81
81
|
if (isLoadingRole) {
|
|
82
82
|
return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Loading, {});
|
|
83
83
|
}
|
|
84
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(
|
|
84
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(admin.Page.Main, {
|
|
85
85
|
children: [
|
|
86
86
|
/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Title, {
|
|
87
87
|
children: formatMessage({
|
|
@@ -168,6 +168,7 @@ const EditPage = ()=>{
|
|
|
168
168
|
})
|
|
169
169
|
}),
|
|
170
170
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
|
|
171
|
+
type: "text",
|
|
171
172
|
value: values.name || '',
|
|
172
173
|
onChange: handleChange
|
|
173
174
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditPage.js","sources":["../../../../../admin/src/pages/Roles/pages/EditPage.jsx"],"sourcesContent":["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"],"names":["EditPage","formatMessage","useIntl","toggleNotification","useNotification","params","id","useMatch","get","useFetchClient","isLoading","isLoadingPlugins","routes","usePlugins","data","role","isLoadingRole","refetch","refetchRole","useQuery","permissionsRef","React","useRef","put","formatAPIError","useAPIErrorHandler","mutation","useMutation","body","onError","error","type","message","onSuccess","getTrad","defaultMessage","handleEditRoleSubmit","permissions","current","getPermissions","mutate","users","_jsx","Page","Loading","_jsxs","Main","Title","name","Formik","enableReinitialize","initialValues","description","onSubmit","validationSchema","createRoleSchema","handleSubmit","values","handleChange","errors","Form","noValidate","Layouts","Header","primaryAction","Button","disabled","code","loading","startIcon","Check","title","subtitle","navigationAction","BackButton","fallback","Content","Flex","background","direction","alignItems","gap","hasRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","shadow","Typography","variant","tag","Grid","Root","Item","col","Field","required","Label","TextInput","value","onChange","Error","Textarea","UsersPermissions","ref","ProtectedRolesEditPage","Protect","PERMISSIONS","updateRole"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditPage.js","sources":["../../../../../admin/src/pages/Roles/pages/EditPage.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, TextInput, Textarea, Typography, Grid, Field } 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 <Page.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 type=\"text\" 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 </Page.Main>\n );\n};\n\nexport const ProtectedRolesEditPage = () => (\n <Page.Protect permissions={PERMISSIONS.updateRole}>\n <EditPage />\n </Page.Protect>\n);\n"],"names":["EditPage","formatMessage","useIntl","toggleNotification","useNotification","params","id","useMatch","get","useFetchClient","isLoading","isLoadingPlugins","routes","usePlugins","data","role","isLoadingRole","refetch","refetchRole","useQuery","permissionsRef","React","useRef","put","formatAPIError","useAPIErrorHandler","mutation","useMutation","body","onError","error","type","message","onSuccess","getTrad","defaultMessage","handleEditRoleSubmit","permissions","current","getPermissions","mutate","users","_jsx","Page","Loading","_jsxs","Main","Title","name","Formik","enableReinitialize","initialValues","description","onSubmit","validationSchema","createRoleSchema","handleSubmit","values","handleChange","errors","Form","noValidate","Layouts","Header","primaryAction","Button","disabled","code","loading","startIcon","Check","title","subtitle","navigationAction","BackButton","fallback","Content","Flex","background","direction","alignItems","gap","hasRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","shadow","Typography","variant","tag","Grid","Root","Item","col","Field","required","Label","TextInput","value","onChange","Error","Textarea","UsersPermissions","ref","ProtectedRolesEditPage","Protect","PERMISSIONS","updateRole"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { Button, Flex, Typography, Grid, Field, TextInput, Textarea } from '@strapi/design-system';
|
|
4
4
|
import { Check } from '@strapi/icons';
|
|
5
5
|
import { Page, useNotification, useFetchClient, useAPIErrorHandler, Layouts, BackButton } from '@strapi/strapi/admin';
|
|
6
6
|
import { Formik, Form } from 'formik';
|
|
@@ -60,7 +60,7 @@ const EditPage = ()=>{
|
|
|
60
60
|
if (isLoadingRole) {
|
|
61
61
|
return /*#__PURE__*/ jsx(Page.Loading, {});
|
|
62
62
|
}
|
|
63
|
-
return /*#__PURE__*/ jsxs(Main, {
|
|
63
|
+
return /*#__PURE__*/ jsxs(Page.Main, {
|
|
64
64
|
children: [
|
|
65
65
|
/*#__PURE__*/ jsx(Page.Title, {
|
|
66
66
|
children: formatMessage({
|
|
@@ -147,6 +147,7 @@ const EditPage = ()=>{
|
|
|
147
147
|
})
|
|
148
148
|
}),
|
|
149
149
|
/*#__PURE__*/ jsx(TextInput, {
|
|
150
|
+
type: "text",
|
|
150
151
|
value: values.name || '',
|
|
151
152
|
onChange: handleChange
|
|
152
153
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditPage.mjs","sources":["../../../../../admin/src/pages/Roles/pages/EditPage.jsx"],"sourcesContent":["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"],"names":["EditPage","formatMessage","useIntl","toggleNotification","useNotification","params","id","useMatch","get","useFetchClient","isLoading","isLoadingPlugins","routes","usePlugins","data","role","isLoadingRole","refetch","refetchRole","useQuery","permissionsRef","React","useRef","put","formatAPIError","useAPIErrorHandler","mutation","useMutation","body","onError","error","type","message","onSuccess","getTrad","defaultMessage","handleEditRoleSubmit","permissions","current","getPermissions","mutate","users","_jsx","Page","Loading","_jsxs","Main","Title","name","Formik","enableReinitialize","initialValues","description","onSubmit","validationSchema","createRoleSchema","handleSubmit","values","handleChange","errors","Form","noValidate","Layouts","Header","primaryAction","Button","disabled","code","loading","startIcon","Check","title","subtitle","navigationAction","BackButton","fallback","Content","Flex","background","direction","alignItems","gap","hasRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","shadow","Typography","variant","tag","Grid","Root","Item","col","Field","required","Label","TextInput","value","onChange","Error","Textarea","UsersPermissions","ref","ProtectedRolesEditPage","Protect","PERMISSIONS","updateRole"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditPage.mjs","sources":["../../../../../admin/src/pages/Roles/pages/EditPage.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, TextInput, Textarea, Typography, Grid, Field } 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 <Page.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 type=\"text\" 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 </Page.Main>\n );\n};\n\nexport const ProtectedRolesEditPage = () => (\n <Page.Protect permissions={PERMISSIONS.updateRole}>\n <EditPage />\n </Page.Protect>\n);\n"],"names":["EditPage","formatMessage","useIntl","toggleNotification","useNotification","params","id","useMatch","get","useFetchClient","isLoading","isLoadingPlugins","routes","usePlugins","data","role","isLoadingRole","refetch","refetchRole","useQuery","permissionsRef","React","useRef","put","formatAPIError","useAPIErrorHandler","mutation","useMutation","body","onError","error","type","message","onSuccess","getTrad","defaultMessage","handleEditRoleSubmit","permissions","current","getPermissions","mutate","users","_jsx","Page","Loading","_jsxs","Main","Title","name","Formik","enableReinitialize","initialValues","description","onSubmit","validationSchema","createRoleSchema","handleSubmit","values","handleChange","errors","Form","noValidate","Layouts","Header","primaryAction","Button","disabled","code","loading","startIcon","Check","title","subtitle","navigationAction","BackButton","fallback","Content","Flex","background","direction","alignItems","gap","hasRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","shadow","Typography","variant","tag","Grid","Root","Item","col","Field","required","Label","TextInput","value","onChange","Error","Textarea","UsersPermissions","ref","ProtectedRolesEditPage","Protect","PERMISSIONS","updateRole"],"mappings":"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"}
|
|
@@ -104,7 +104,7 @@ const RolesListPage = ()=>{
|
|
|
104
104
|
if (isLoading) {
|
|
105
105
|
return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Loading, {});
|
|
106
106
|
}
|
|
107
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(admin.
|
|
107
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(admin.Page.Main, {
|
|
108
108
|
children: [
|
|
109
109
|
/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Title, {
|
|
110
110
|
children: formatMessage({
|
|
@@ -114,113 +114,109 @@ const RolesListPage = ()=>{
|
|
|
114
114
|
name: pageTitle
|
|
115
115
|
})
|
|
116
116
|
}),
|
|
117
|
-
/*#__PURE__*/ jsxRuntime.
|
|
117
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Header, {
|
|
118
|
+
title: formatMessage({
|
|
119
|
+
id: 'global.roles',
|
|
120
|
+
defaultMessage: 'Roles'
|
|
121
|
+
}),
|
|
122
|
+
subtitle: formatMessage({
|
|
123
|
+
id: 'Settings.roles.list.description',
|
|
124
|
+
defaultMessage: 'List of roles'
|
|
125
|
+
}),
|
|
126
|
+
primaryAction: canCreate ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.LinkButton, {
|
|
127
|
+
to: "new",
|
|
128
|
+
tag: reactRouterDom.NavLink,
|
|
129
|
+
onClick: ()=>trackUsage('willCreateRole'),
|
|
130
|
+
startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Plus, {}),
|
|
131
|
+
size: "S",
|
|
132
|
+
children: formatMessage({
|
|
133
|
+
id: getTrad('List.button.roles'),
|
|
134
|
+
defaultMessage: 'Add new role'
|
|
135
|
+
})
|
|
136
|
+
}) : null
|
|
137
|
+
}),
|
|
138
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Action, {
|
|
139
|
+
startActions: /*#__PURE__*/ jsxRuntime.jsx(admin.SearchInput, {
|
|
140
|
+
label: formatMessage({
|
|
141
|
+
id: 'app.component.search.label',
|
|
142
|
+
defaultMessage: 'Search'
|
|
143
|
+
})
|
|
144
|
+
})
|
|
145
|
+
}),
|
|
146
|
+
/*#__PURE__*/ jsxRuntime.jsxs(admin.Layouts.Content, {
|
|
118
147
|
children: [
|
|
119
|
-
/*#__PURE__*/ jsxRuntime.jsx(admin.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}),
|
|
124
|
-
subtitle: formatMessage({
|
|
125
|
-
id: 'Settings.roles.list.description',
|
|
126
|
-
defaultMessage: 'List of roles'
|
|
127
|
-
}),
|
|
128
|
-
primaryAction: canCreate ? /*#__PURE__*/ jsxRuntime.jsx(designSystem.LinkButton, {
|
|
129
|
-
to: "new",
|
|
130
|
-
tag: reactRouterDom.NavLink,
|
|
131
|
-
onClick: ()=>trackUsage('willCreateRole'),
|
|
132
|
-
startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Plus, {}),
|
|
133
|
-
size: "S",
|
|
134
|
-
children: formatMessage({
|
|
135
|
-
id: getTrad('List.button.roles'),
|
|
136
|
-
defaultMessage: 'Add new role'
|
|
137
|
-
})
|
|
138
|
-
}) : null
|
|
139
|
-
}),
|
|
140
|
-
/*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Action, {
|
|
141
|
-
startActions: /*#__PURE__*/ jsxRuntime.jsx(admin.SearchInput, {
|
|
142
|
-
label: formatMessage({
|
|
143
|
-
id: 'app.component.search.label',
|
|
144
|
-
defaultMessage: 'Search'
|
|
145
|
-
})
|
|
146
|
-
})
|
|
147
|
-
}),
|
|
148
|
-
/*#__PURE__*/ jsxRuntime.jsxs(admin.Layouts.Content, {
|
|
148
|
+
!canRead && /*#__PURE__*/ jsxRuntime.jsx(admin.Page.NoPermissions, {}),
|
|
149
|
+
canRead && sortedRoles && sortedRoles?.length ? /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Table, {
|
|
150
|
+
colCount: colCount,
|
|
151
|
+
rowCount: rowCount,
|
|
149
152
|
children: [
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
variant: "sigma",
|
|
181
|
-
textColor: "neutral600",
|
|
182
|
-
children: formatMessage({
|
|
183
|
-
id: 'global.users',
|
|
184
|
-
defaultMessage: 'Users'
|
|
185
|
-
})
|
|
186
|
-
})
|
|
187
|
-
}),
|
|
188
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
|
|
189
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
|
|
190
|
-
children: formatMessage({
|
|
191
|
-
id: 'global.actions',
|
|
192
|
-
defaultMessage: 'Actions'
|
|
193
|
-
})
|
|
194
|
-
})
|
|
153
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Thead, {
|
|
154
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
|
|
155
|
+
children: [
|
|
156
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
|
|
157
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
158
|
+
variant: "sigma",
|
|
159
|
+
textColor: "neutral600",
|
|
160
|
+
children: formatMessage({
|
|
161
|
+
id: 'global.name',
|
|
162
|
+
defaultMessage: 'Name'
|
|
163
|
+
})
|
|
164
|
+
})
|
|
165
|
+
}),
|
|
166
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
|
|
167
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
168
|
+
variant: "sigma",
|
|
169
|
+
textColor: "neutral600",
|
|
170
|
+
children: formatMessage({
|
|
171
|
+
id: 'global.description',
|
|
172
|
+
defaultMessage: 'Description'
|
|
173
|
+
})
|
|
174
|
+
})
|
|
175
|
+
}),
|
|
176
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
|
|
177
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
178
|
+
variant: "sigma",
|
|
179
|
+
textColor: "neutral600",
|
|
180
|
+
children: formatMessage({
|
|
181
|
+
id: 'global.users',
|
|
182
|
+
defaultMessage: 'Users'
|
|
195
183
|
})
|
|
196
|
-
|
|
184
|
+
})
|
|
185
|
+
}),
|
|
186
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
|
|
187
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
|
|
188
|
+
children: formatMessage({
|
|
189
|
+
id: 'global.actions',
|
|
190
|
+
defaultMessage: 'Actions'
|
|
191
|
+
})
|
|
192
|
+
})
|
|
197
193
|
})
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
194
|
+
]
|
|
195
|
+
})
|
|
196
|
+
}),
|
|
197
|
+
/*#__PURE__*/ jsxRuntime.jsx(TableBody, {
|
|
198
|
+
sortedRoles: sortedRoles,
|
|
199
|
+
canDelete: canDelete,
|
|
200
|
+
canUpdate: canUpdate,
|
|
201
|
+
permissions: constants.PERMISSIONS,
|
|
202
|
+
setRoleToDelete: setRoleToDelete,
|
|
203
|
+
onDelete: [
|
|
204
|
+
showConfirmDelete,
|
|
205
|
+
setShowConfirmDelete
|
|
210
206
|
]
|
|
211
|
-
}) : /*#__PURE__*/ jsxRuntime.jsx(designSystem.EmptyStateLayout, {
|
|
212
|
-
content: formatMessage(emptyLayout[emptyContent])
|
|
213
207
|
})
|
|
214
208
|
]
|
|
215
|
-
}),
|
|
216
|
-
|
|
217
|
-
open: showConfirmDelete,
|
|
218
|
-
onOpenChange: handleShowConfirmDelete,
|
|
219
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(admin.ConfirmDialog, {
|
|
220
|
-
onConfirm: handleConfirmDelete
|
|
221
|
-
})
|
|
209
|
+
}) : /*#__PURE__*/ jsxRuntime.jsx(designSystem.EmptyStateLayout, {
|
|
210
|
+
content: formatMessage(emptyLayout[emptyContent])
|
|
222
211
|
})
|
|
223
212
|
]
|
|
213
|
+
}),
|
|
214
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Dialog.Root, {
|
|
215
|
+
open: showConfirmDelete,
|
|
216
|
+
onOpenChange: handleShowConfirmDelete,
|
|
217
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(admin.ConfirmDialog, {
|
|
218
|
+
onConfirm: handleConfirmDelete
|
|
219
|
+
})
|
|
224
220
|
})
|
|
225
221
|
]
|
|
226
222
|
});
|