@strapi/admin 5.57.0 → 5.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin/src/components/FormInputs/Boolean.js +3 -2
- package/dist/admin/admin/src/components/FormInputs/Boolean.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Boolean.mjs +3 -2
- package/dist/admin/admin/src/components/FormInputs/Boolean.mjs.map +1 -1
- package/dist/admin/admin/src/constants.js +14 -0
- package/dist/admin/admin/src/constants.js.map +1 -1
- package/dist/admin/admin/src/constants.mjs +14 -0
- package/dist/admin/admin/src/constants.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js +6 -12
- package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/ResetPassword.mjs +6 -12
- package/dist/admin/admin/src/pages/Auth/components/ResetPassword.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +10 -2
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +10 -2
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +6 -56
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +6 -56
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.js +217 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.js.map +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.mjs +195 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.mjs.map +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.js +185 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.js.map +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.mjs +162 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.mjs.map +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.js +342 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.js.map +1 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.mjs +320 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.mjs.map +1 -0
- package/dist/admin/admin/src/services/admin.js +11 -1
- package/dist/admin/admin/src/services/admin.js.map +1 -1
- package/dist/admin/admin/src/services/admin.mjs +11 -2
- package/dist/admin/admin/src/services/admin.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +71 -4
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +71 -4
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/src/utils/browserStrapi.js +1 -1
- package/dist/admin/admin/src/utils/browserStrapi.js.map +1 -1
- package/dist/admin/admin/src/utils/browserStrapi.mjs +1 -1
- package/dist/admin/admin/src/utils/browserStrapi.mjs.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.js +24 -0
- package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.mjs +24 -1
- package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js +52 -22
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs +53 -23
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js +16 -29
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs +18 -31
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.js +473 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.js.map +1 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.mjs +471 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.mjs.map +1 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.js +2 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.mjs +2 -0
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.mjs.map +1 -1
- package/dist/admin/index.js +1 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/shared/utils/get-project-type.js +49 -0
- package/dist/admin/shared/utils/get-project-type.js.map +1 -0
- package/dist/admin/shared/utils/get-project-type.mjs +46 -0
- package/dist/admin/shared/utils/get-project-type.mjs.map +1 -0
- package/dist/admin/src/constants.d.ts +10 -0
- package/dist/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.d.ts +12 -0
- package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.d.ts +14 -0
- package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.d.ts +2 -0
- package/dist/admin/src/services/admin.d.ts +2 -2
- package/dist/admin/src/types/permissions.d.ts +1 -0
- package/dist/admin/src/utils/getFetchClient.d.ts +25 -0
- package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +29 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.d.ts +6 -1
- package/dist/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.d.ts +2 -0
- package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.d.ts +2 -0
- package/dist/ee/server/src/audit-logs/entitlements.d.ts +8 -0
- package/dist/ee/server/src/audit-logs/entitlements.d.ts.map +1 -0
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts +16 -0
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/admin.d.ts +36 -10
- package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/index.d.ts +36 -10
- package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
- package/dist/ee/server/src/index.d.ts +36 -10
- package/dist/ee/server/src/index.d.ts.map +1 -1
- package/dist/server/ee/server/src/audit-logs/entitlements.js +25 -0
- package/dist/server/ee/server/src/audit-logs/entitlements.js.map +1 -0
- package/dist/server/ee/server/src/audit-logs/entitlements.mjs +23 -0
- package/dist/server/ee/server/src/audit-logs/entitlements.mjs.map +1 -0
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +20 -8
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +19 -9
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.js +76 -3
- package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.mjs +76 -3
- package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +28 -10
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs +28 -10
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs.map +1 -1
- package/dist/server/ee/server/src/index.js +2 -0
- package/dist/server/ee/server/src/index.js.map +1 -1
- package/dist/server/ee/server/src/index.mjs +2 -0
- package/dist/server/ee/server/src/index.mjs.map +1 -1
- package/dist/server/server/src/audit-logs/auth.js +72 -0
- package/dist/server/server/src/audit-logs/auth.js.map +1 -0
- package/dist/server/server/src/audit-logs/auth.mjs +67 -0
- package/dist/server/server/src/audit-logs/auth.mjs.map +1 -0
- package/dist/server/server/src/config/admin-actions.js +7 -0
- package/dist/server/server/src/config/admin-actions.js.map +1 -1
- package/dist/server/server/src/config/admin-actions.mjs +7 -0
- package/dist/server/server/src/config/admin-actions.mjs.map +1 -1
- package/dist/server/server/src/controllers/admin.js +6 -0
- package/dist/server/server/src/controllers/admin.js.map +1 -1
- package/dist/server/server/src/controllers/admin.mjs +6 -0
- package/dist/server/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/server/src/controllers/authentication.js +34 -8
- package/dist/server/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/server/src/controllers/authentication.mjs +34 -8
- package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/server/src/register.js +4 -0
- package/dist/server/server/src/register.js.map +1 -1
- package/dist/server/server/src/register.mjs +4 -0
- package/dist/server/server/src/register.mjs.map +1 -1
- package/dist/server/server/src/routes/admin.js +18 -0
- package/dist/server/server/src/routes/admin.js.map +1 -1
- package/dist/server/server/src/routes/admin.mjs +18 -0
- package/dist/server/server/src/routes/admin.mjs.map +1 -1
- package/dist/server/server/src/services/auth.js +4 -2
- package/dist/server/server/src/services/auth.js.map +1 -1
- package/dist/server/server/src/services/auth.mjs +4 -3
- package/dist/server/server/src/services/auth.mjs.map +1 -1
- package/dist/server/server/src/services/debug-dump.js +173 -0
- package/dist/server/server/src/services/debug-dump.js.map +1 -0
- package/dist/server/server/src/services/debug-dump.mjs +166 -0
- package/dist/server/server/src/services/debug-dump.mjs.map +1 -0
- package/dist/server/server/src/services/index.js +3 -1
- package/dist/server/server/src/services/index.js.map +1 -1
- package/dist/server/server/src/services/index.mjs +3 -1
- package/dist/server/server/src/services/index.mjs.map +1 -1
- package/dist/server/server/src/utils/debug-dump/redact.js +197 -0
- package/dist/server/server/src/utils/debug-dump/redact.js.map +1 -0
- package/dist/server/server/src/utils/debug-dump/redact.mjs +194 -0
- package/dist/server/server/src/utils/debug-dump/redact.mjs.map +1 -0
- package/dist/server/shared/utils/get-project-type.js +49 -0
- package/dist/server/shared/utils/get-project-type.js.map +1 -0
- package/dist/server/shared/utils/get-project-type.mjs +46 -0
- package/dist/server/shared/utils/get-project-type.mjs.map +1 -0
- package/dist/server/src/audit-logs/auth.d.ts +72 -0
- package/dist/server/src/audit-logs/auth.d.ts.map +1 -0
- package/dist/server/src/config/admin-actions.d.ts.map +1 -1
- package/dist/server/src/controllers/admin.d.ts +3 -0
- package/dist/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/server/src/controllers/authentication.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +3 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +8 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/routes/admin.d.ts.map +1 -1
- package/dist/server/src/services/auth.d.ts +6 -0
- package/dist/server/src/services/auth.d.ts.map +1 -1
- package/dist/server/src/services/debug-dump.d.ts +9 -0
- package/dist/server/src/services/debug-dump.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +5 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/utils/debug-dump/redact.d.ts +8 -0
- package/dist/server/src/utils/debug-dump/redact.d.ts.map +1 -0
- package/dist/shared/contracts/admin.d.ts +106 -0
- package/dist/shared/contracts/admin.d.ts.map +1 -1
- package/dist/shared/utils/__tests__/get-project-type.test.d.ts +1 -0
- package/dist/shared/utils/__tests__/get-project-type.test.d.ts.map +1 -0
- package/dist/shared/utils/get-project-type.d.ts +37 -0
- package/dist/shared/utils/get-project-type.d.ts.map +1 -0
- package/package.json +8 -8
- package/dist/admin/admin/src/utils/getProjectType.js +0 -22
- package/dist/admin/admin/src/utils/getProjectType.js.map +0 -1
- package/dist/admin/admin/src/utils/getProjectType.mjs +0 -20
- package/dist/admin/admin/src/utils/getProjectType.mjs.map +0 -1
- package/dist/admin/src/utils/getProjectType.d.ts +0 -16
|
@@ -15,7 +15,8 @@ const BooleanInput = /*#__PURE__*/ React.forwardRef(({ name, required, label, hi
|
|
|
15
15
|
const handleClear = ()=>{
|
|
16
16
|
field.onChange(name, null);
|
|
17
17
|
};
|
|
18
|
-
const
|
|
18
|
+
const isUnset = field.value === null || field.value === undefined;
|
|
19
|
+
const showClearButton = !required && !isUnset && !disabled;
|
|
19
20
|
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
|
|
20
21
|
error: field.error,
|
|
21
22
|
name: name,
|
|
@@ -43,7 +44,7 @@ const BooleanInput = /*#__PURE__*/ React.forwardRef(({ name, required, label, hi
|
|
|
43
44
|
}),
|
|
44
45
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Toggle, {
|
|
45
46
|
ref: composedRefs,
|
|
46
|
-
checked:
|
|
47
|
+
checked: isUnset ? null : field.value || false,
|
|
47
48
|
offLabel: formatMessage({
|
|
48
49
|
id: 'app.components.ToggleCheckbox.off-label',
|
|
49
50
|
defaultMessage: 'False'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Boolean.js","sources":["../../../../../../admin/src/components/FormInputs/Boolean.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { Toggle, useComposedRefs, Field, Flex, TextButton } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst BooleanInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, disabled, ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField<boolean | null>(name);\n const fieldRef = useFocusInputField<HTMLInputElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n const handleClear = () => {\n field.onChange(name, null);\n };\n\n const
|
|
1
|
+
{"version":3,"file":"Boolean.js","sources":["../../../../../../admin/src/components/FormInputs/Boolean.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { Toggle, useComposedRefs, Field, Flex, TextButton } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst BooleanInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, disabled, ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField<boolean | null>(name);\n const fieldRef = useFocusInputField<HTMLInputElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n const handleClear = () => {\n field.onChange(name, null);\n };\n\n const isUnset = field.value === null || field.value === undefined;\n\n const showClearButton = !required && !isUnset && !disabled;\n\n return (\n <Field.Root error={field.error} name={name} hint={hint} required={required} maxWidth=\"320px\">\n <Flex justifyContent=\"space-between\" alignItems=\"flex-end\" gap={2}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n {showClearButton && (\n <TextButton onClick={handleClear}>\n {formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n </TextButton>\n )}\n </Flex>\n <Toggle\n ref={composedRefs}\n checked={isUnset ? null : field.value || false}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.off-label',\n defaultMessage: 'False',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.on-label',\n defaultMessage: 'True',\n })}\n onChange={field.onChange}\n name={name}\n disabled={disabled}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedBooleanInput = memo(BooleanInput);\n\nexport { MemoizedBooleanInput as BooleanInput };\n"],"names":["BooleanInput","forwardRef","name","required","label","hint","labelAction","disabled","props","ref","formatMessage","useIntl","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","handleClear","onChange","isUnset","value","undefined","showClearButton","_jsxs","Field","Root","error","maxWidth","Flex","justifyContent","alignItems","gap","_jsx","Label","action","TextButton","onClick","id","defaultMessage","Toggle","checked","offLabel","onLabel","Hint","Error","MemoizedBooleanInput","memo"],"mappings":";;;;;;;;;AAUA,MAAMA,6BAAeC,gBAAAA,CACnB,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAEC,QAAQ,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;IACjE,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,aAAAA,CAAyBX,IAAAA,CAAAA;AACvC,IAAA,MAAMY,WAAWC,qCAAAA,CAAqCb,IAAAA,CAAAA;IAEtD,MAAMc,YAAAA,GAAeC,6BAAgBR,GAAAA,EAAKK,QAAAA,CAAAA;AAE1C,IAAA,MAAMI,WAAAA,GAAc,IAAA;QAClBN,KAAAA,CAAMO,QAAQ,CAACjB,IAAAA,EAAM,IAAA,CAAA;AACvB,IAAA,CAAA;AAEA,IAAA,MAAMkB,UAAUR,KAAAA,CAAMS,KAAK,KAAK,IAAA,IAAQT,KAAAA,CAAMS,KAAK,KAAKC,SAAAA;AAExD,IAAA,MAAMC,eAAAA,GAAkB,CAACpB,QAAAA,IAAY,CAACiB,WAAW,CAACb,QAAAA;IAElD,qBACEiB,eAAA,CAACC,mBAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOf,MAAMe,KAAK;QAAEzB,IAAAA,EAAMA,IAAAA;QAAMG,IAAAA,EAAMA,IAAAA;QAAMF,QAAAA,EAAUA,QAAAA;QAAUyB,QAAAA,EAAS,OAAA;;0BACnFJ,eAAA,CAACK,iBAAAA,EAAAA;gBAAKC,cAAAA,EAAe,eAAA;gBAAgBC,UAAAA,EAAW,UAAA;gBAAWC,GAAAA,EAAK,CAAA;;AAC9D,kCAAAC,cAAA,CAACR,mBAAMS,KAAK,EAAA;wBAACC,MAAAA,EAAQ7B,WAAAA;AAAcF,wBAAAA,QAAAA,EAAAA;;AAClCmB,oBAAAA,eAAAA,kBACCU,cAAA,CAACG,uBAAAA,EAAAA;wBAAWC,OAAAA,EAASnB,WAAAA;kCAClBR,aAAAA,CAAc;4BAAE4B,EAAAA,EAAI,YAAA;4BAAcC,cAAAA,EAAgB;AAAQ,yBAAA;;;;0BAIjEN,cAAA,CAACO,mBAAAA,EAAAA;gBACC/B,GAAAA,EAAKO,YAAAA;AACLyB,gBAAAA,OAAAA,EAASrB,OAAAA,GAAU,IAAA,GAAOR,KAAAA,CAAMS,KAAK,IAAI,KAAA;AACzCqB,gBAAAA,QAAAA,EAAUhC,aAAAA,CAAc;oBACtB4B,EAAAA,EAAI,yCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;AACAI,gBAAAA,OAAAA,EAASjC,aAAAA,CAAc;oBACrB4B,EAAAA,EAAI,wCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;AACApB,gBAAAA,QAAAA,EAAUP,MAAMO,QAAQ;gBACxBjB,IAAAA,EAAMA,IAAAA;gBACNK,QAAAA,EAAUA,QAAAA;AACT,gBAAA,GAAGC;;AAEN,0BAAAyB,cAAA,CAACR,mBAAMmB,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAX,cAAA,CAACR,mBAAMoB,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,qCAAuBC,UAAAA,CAAK/C,YAAAA;;;;"}
|
|
@@ -13,7 +13,8 @@ const BooleanInput = /*#__PURE__*/ forwardRef(({ name, required, label, hint, la
|
|
|
13
13
|
const handleClear = ()=>{
|
|
14
14
|
field.onChange(name, null);
|
|
15
15
|
};
|
|
16
|
-
const
|
|
16
|
+
const isUnset = field.value === null || field.value === undefined;
|
|
17
|
+
const showClearButton = !required && !isUnset && !disabled;
|
|
17
18
|
return /*#__PURE__*/ jsxs(Field.Root, {
|
|
18
19
|
error: field.error,
|
|
19
20
|
name: name,
|
|
@@ -41,7 +42,7 @@ const BooleanInput = /*#__PURE__*/ forwardRef(({ name, required, label, hint, la
|
|
|
41
42
|
}),
|
|
42
43
|
/*#__PURE__*/ jsx(Toggle, {
|
|
43
44
|
ref: composedRefs,
|
|
44
|
-
checked:
|
|
45
|
+
checked: isUnset ? null : field.value || false,
|
|
45
46
|
offLabel: formatMessage({
|
|
46
47
|
id: 'app.components.ToggleCheckbox.off-label',
|
|
47
48
|
defaultMessage: 'False'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Boolean.mjs","sources":["../../../../../../admin/src/components/FormInputs/Boolean.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { Toggle, useComposedRefs, Field, Flex, TextButton } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst BooleanInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, disabled, ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField<boolean | null>(name);\n const fieldRef = useFocusInputField<HTMLInputElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n const handleClear = () => {\n field.onChange(name, null);\n };\n\n const
|
|
1
|
+
{"version":3,"file":"Boolean.mjs","sources":["../../../../../../admin/src/components/FormInputs/Boolean.tsx"],"sourcesContent":["import { forwardRef, memo } from 'react';\n\nimport { Toggle, useComposedRefs, Field, Flex, TextButton } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useFocusInputField } from '../../hooks/useFocusInputField';\nimport { useField } from '../Form';\n\nimport { InputProps } from './types';\n\nconst BooleanInput = forwardRef<HTMLInputElement, InputProps>(\n ({ name, required, label, hint, labelAction, disabled, ...props }, ref) => {\n const { formatMessage } = useIntl();\n const field = useField<boolean | null>(name);\n const fieldRef = useFocusInputField<HTMLInputElement>(name);\n\n const composedRefs = useComposedRefs(ref, fieldRef);\n\n const handleClear = () => {\n field.onChange(name, null);\n };\n\n const isUnset = field.value === null || field.value === undefined;\n\n const showClearButton = !required && !isUnset && !disabled;\n\n return (\n <Field.Root error={field.error} name={name} hint={hint} required={required} maxWidth=\"320px\">\n <Flex justifyContent=\"space-between\" alignItems=\"flex-end\" gap={2}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n {showClearButton && (\n <TextButton onClick={handleClear}>\n {formatMessage({ id: 'clearLabel', defaultMessage: 'Clear' })}\n </TextButton>\n )}\n </Flex>\n <Toggle\n ref={composedRefs}\n checked={isUnset ? null : field.value || false}\n offLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.off-label',\n defaultMessage: 'False',\n })}\n onLabel={formatMessage({\n id: 'app.components.ToggleCheckbox.on-label',\n defaultMessage: 'True',\n })}\n onChange={field.onChange}\n name={name}\n disabled={disabled}\n {...props}\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n );\n }\n);\n\nconst MemoizedBooleanInput = memo(BooleanInput);\n\nexport { MemoizedBooleanInput as BooleanInput };\n"],"names":["BooleanInput","forwardRef","name","required","label","hint","labelAction","disabled","props","ref","formatMessage","useIntl","field","useField","fieldRef","useFocusInputField","composedRefs","useComposedRefs","handleClear","onChange","isUnset","value","undefined","showClearButton","_jsxs","Field","Root","error","maxWidth","Flex","justifyContent","alignItems","gap","_jsx","Label","action","TextButton","onClick","id","defaultMessage","Toggle","checked","offLabel","onLabel","Hint","Error","MemoizedBooleanInput","memo"],"mappings":";;;;;;;AAUA,MAAMA,6BAAeC,UAAAA,CACnB,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAEC,WAAW,EAAEC,QAAQ,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;IACjE,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,QAAQC,QAAAA,CAAyBX,IAAAA,CAAAA;AACvC,IAAA,MAAMY,WAAWC,kBAAAA,CAAqCb,IAAAA,CAAAA;IAEtD,MAAMc,YAAAA,GAAeC,gBAAgBR,GAAAA,EAAKK,QAAAA,CAAAA;AAE1C,IAAA,MAAMI,WAAAA,GAAc,IAAA;QAClBN,KAAAA,CAAMO,QAAQ,CAACjB,IAAAA,EAAM,IAAA,CAAA;AACvB,IAAA,CAAA;AAEA,IAAA,MAAMkB,UAAUR,KAAAA,CAAMS,KAAK,KAAK,IAAA,IAAQT,KAAAA,CAAMS,KAAK,KAAKC,SAAAA;AAExD,IAAA,MAAMC,eAAAA,GAAkB,CAACpB,QAAAA,IAAY,CAACiB,WAAW,CAACb,QAAAA;IAElD,qBACEiB,IAAA,CAACC,MAAMC,IAAI,EAAA;AAACC,QAAAA,KAAAA,EAAOf,MAAMe,KAAK;QAAEzB,IAAAA,EAAMA,IAAAA;QAAMG,IAAAA,EAAMA,IAAAA;QAAMF,QAAAA,EAAUA,QAAAA;QAAUyB,QAAAA,EAAS,OAAA;;0BACnFJ,IAAA,CAACK,IAAAA,EAAAA;gBAAKC,cAAAA,EAAe,eAAA;gBAAgBC,UAAAA,EAAW,UAAA;gBAAWC,GAAAA,EAAK,CAAA;;AAC9D,kCAAAC,GAAA,CAACR,MAAMS,KAAK,EAAA;wBAACC,MAAAA,EAAQ7B,WAAAA;AAAcF,wBAAAA,QAAAA,EAAAA;;AAClCmB,oBAAAA,eAAAA,kBACCU,GAAA,CAACG,UAAAA,EAAAA;wBAAWC,OAAAA,EAASnB,WAAAA;kCAClBR,aAAAA,CAAc;4BAAE4B,EAAAA,EAAI,YAAA;4BAAcC,cAAAA,EAAgB;AAAQ,yBAAA;;;;0BAIjEN,GAAA,CAACO,MAAAA,EAAAA;gBACC/B,GAAAA,EAAKO,YAAAA;AACLyB,gBAAAA,OAAAA,EAASrB,OAAAA,GAAU,IAAA,GAAOR,KAAAA,CAAMS,KAAK,IAAI,KAAA;AACzCqB,gBAAAA,QAAAA,EAAUhC,aAAAA,CAAc;oBACtB4B,EAAAA,EAAI,yCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;AACAI,gBAAAA,OAAAA,EAASjC,aAAAA,CAAc;oBACrB4B,EAAAA,EAAI,wCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;AACApB,gBAAAA,QAAAA,EAAUP,MAAMO,QAAQ;gBACxBjB,IAAAA,EAAMA,IAAAA;gBACNK,QAAAA,EAAUA,QAAAA;AACT,gBAAA,GAAGC;;AAEN,0BAAAyB,GAAA,CAACR,MAAMmB,IAAI,EAAA,EAAA,CAAA;AACX,0BAAAX,GAAA,CAACR,MAAMoB,KAAK,EAAA,EAAA;;;AAGlB,CAAA,CAAA;AAGF,MAAMC,qCAAuBC,IAAAA,CAAK/C,YAAAA;;;;"}
|
|
@@ -306,6 +306,20 @@ const ADMIN_PERMISSIONS_CE = {
|
|
|
306
306
|
}
|
|
307
307
|
]
|
|
308
308
|
},
|
|
309
|
+
'debug-dump': {
|
|
310
|
+
main: [
|
|
311
|
+
{
|
|
312
|
+
action: 'admin::debug-dump.read',
|
|
313
|
+
subject: null
|
|
314
|
+
}
|
|
315
|
+
],
|
|
316
|
+
read: [
|
|
317
|
+
{
|
|
318
|
+
action: 'admin::debug-dump.read',
|
|
319
|
+
subject: null
|
|
320
|
+
}
|
|
321
|
+
]
|
|
322
|
+
},
|
|
309
323
|
plugins: {
|
|
310
324
|
main: [
|
|
311
325
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../admin/src/constants.ts"],"sourcesContent":["import { PermissionMap } from './types/permissions';\n\nimport type { StrapiAppSettingLink } from './core/apis/router';\n\nexport const ADMIN_PERMISSIONS_CE = {\n contentManager: {\n main: [],\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n },\n marketplace: {\n main: [{ action: 'admin::marketplace.read', subject: null }],\n read: [{ action: 'admin::marketplace.read', subject: null }],\n },\n settings: {\n roles: {\n main: [\n { action: 'admin::roles.create', subject: null },\n { action: 'admin::roles.update', subject: null },\n { action: 'admin::roles.read', subject: null },\n { action: 'admin::roles.delete', subject: null },\n ],\n create: [{ action: 'admin::roles.create', subject: null }],\n delete: [{ action: 'admin::roles.delete', subject: null }],\n read: [{ action: 'admin::roles.read', subject: null }],\n update: [{ action: 'admin::roles.update', subject: null }],\n },\n users: {\n main: [\n { action: 'admin::users.create', subject: null },\n { action: 'admin::users.read', subject: null },\n { action: 'admin::users.update', subject: null },\n { action: 'admin::users.delete', subject: null },\n ],\n create: [{ action: 'admin::users.create', subject: null }],\n delete: [{ action: 'admin::users.delete', subject: null }],\n read: [{ action: 'admin::users.read', subject: null }],\n update: [{ action: 'admin::users.update', subject: null }],\n },\n webhooks: {\n main: [\n { action: 'admin::webhooks.create', subject: null },\n { action: 'admin::webhooks.read', subject: null },\n { action: 'admin::webhooks.update', subject: null },\n { action: 'admin::webhooks.delete', subject: null },\n ],\n create: [{ action: 'admin::webhooks.create', subject: null }],\n delete: [{ action: 'admin::webhooks.delete', subject: null }],\n read: [\n { action: 'admin::webhooks.read', subject: null },\n // NOTE: We need to check with the API\n { action: 'admin::webhooks.update', subject: null },\n { action: 'admin::webhooks.delete', subject: null },\n ],\n update: [{ action: 'admin::webhooks.update', subject: null }],\n },\n 'admin-tokens': {\n main: [{ action: 'admin::admin-tokens.access', subject: null }],\n create: [{ action: 'admin::admin-tokens.create', subject: null }],\n delete: [{ action: 'admin::admin-tokens.delete', subject: null }],\n read: [{ action: 'admin::admin-tokens.read', subject: null }],\n update: [{ action: 'admin::admin-tokens.update', subject: null }],\n regenerate: [{ action: 'admin::admin-tokens.regenerate', subject: null }],\n },\n 'api-tokens': {\n main: [{ action: 'admin::api-tokens.access', subject: null }],\n create: [{ action: 'admin::api-tokens.create', subject: null }],\n delete: [{ action: 'admin::api-tokens.delete', subject: null }],\n read: [{ action: 'admin::api-tokens.read', subject: null }],\n update: [{ action: 'admin::api-tokens.update', subject: null }],\n regenerate: [{ action: 'admin::api-tokens.regenerate', subject: null }],\n },\n 'transfer-tokens': {\n main: [{ action: 'admin::transfer.tokens.access', subject: null }],\n create: [{ action: 'admin::transfer.tokens.create', subject: null }],\n delete: [{ action: 'admin::transfer.tokens.delete', subject: null }],\n read: [{ action: 'admin::transfer.tokens.read', subject: null }],\n update: [{ action: 'admin::transfer.tokens.update', subject: null }],\n regenerate: [{ action: 'admin::transfer.tokens.regenerate', subject: null }],\n },\n 'project-settings': {\n read: [{ action: 'admin::project-settings.read', subject: null }],\n update: [{ action: 'admin::project-settings.update', subject: null }],\n },\n plugins: {\n main: [{ action: 'admin::marketplace.read', subject: null }],\n read: [{ action: 'admin::marketplace.read', subject: null }],\n },\n },\n} satisfies Partial<PermissionMap>;\n\nexport const HOOKS = {\n /**\n * Hook that allows to mutate the displayed headers of the list view table\n * @constant\n * @type {string}\n */\n INJECT_COLUMN_IN_TABLE: 'Admin/CM/pages/ListView/inject-column-in-table',\n\n /**\n * Hook that allows to mutate the displayed filters of the list view\n * @constant\n * @type {string}\n */\n INJECT_LIST_VIEW_FILTERS: 'Admin/CM/pages/ListView/inject-in-filters',\n\n /**\n * Hook that allows to mutate the CM's collection types links pre-set filters\n * @constant\n * @type {string}\n */\n MUTATE_COLLECTION_TYPES_LINKS: 'Admin/CM/pages/App/mutate-collection-types-links',\n\n /**\n * Hook that allows to mutate the CM's edit view layout\n * @constant\n * @type {string}\n */\n MUTATE_EDIT_VIEW_LAYOUT: 'Admin/CM/pages/EditView/mutate-edit-view-layout',\n\n /**\n * Hook that allows to mutate the CM's single types links pre-set filters\n * @constant\n * @type {string}\n */\n MUTATE_SINGLE_TYPES_LINKS: 'Admin/CM/pages/App/mutate-single-types-links',\n};\n\nexport interface SettingsMenuLink\n extends Omit<StrapiAppSettingLink, 'Component' | 'permissions' | 'licenseOnly'> {\n licenseOnly?: boolean;\n}\n\nexport type SettingsMenu = {\n admin: SettingsMenuLink[];\n global: SettingsMenuLink[];\n};\n\nexport const SETTINGS_LINKS_CE = (): SettingsMenu => ({\n global: [\n {\n intlLabel: { id: 'Settings.application.title', defaultMessage: 'Overview' },\n to: '/settings/application-infos',\n id: '000-application-infos',\n },\n {\n intlLabel: { id: 'Settings.webhooks.title', defaultMessage: 'Webhooks' },\n to: '/settings/webhooks',\n id: 'webhooks',\n },\n {\n intlLabel: { id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' },\n to: '/settings/api-tokens?sort=name:ASC',\n id: 'api-tokens',\n },\n {\n intlLabel: { id: 'Settings.transferTokens.title', defaultMessage: 'Transfer Tokens' },\n to: '/settings/transfer-tokens?sort=name:ASC',\n id: 'transfer-tokens',\n },\n {\n intlLabel: {\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n },\n to: '/settings/list-plugins',\n id: 'plugins',\n },\n // If the Enterprise/Cloud feature is not enabled and if the config doesn't disable it, we promote the Enterprise/Cloud feature by displaying them in the settings menu.\n // Disable this by adding \"promoteEE: false\" to your `./config/admin.js` file\n ...(!window.strapi.features.isEnabled(window.strapi.features.SSO) &&\n window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/purchase-single-sign-on',\n id: 'sso-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ...(!window.strapi.features.isEnabled('cms-content-history') && window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'Settings.content-history.title', defaultMessage: 'Content History' },\n to: '/settings/purchase-content-history',\n id: 'content-history-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n {\n intlLabel: { id: 'global.roles', defaultMessage: 'Roles' },\n to: '/settings/roles',\n id: 'roles',\n },\n {\n intlLabel: { id: 'global.users', defaultMessage: 'Users' },\n // Init the search params directly\n to: '/settings/users?pageSize=10&page=1&sort=firstname',\n id: 'users',\n },\n {\n intlLabel: { id: 'Settings.adminTokens.title', defaultMessage: 'Admin Tokens' },\n to: '/settings/admin-tokens',\n id: 'admin-tokens',\n },\n ...(!window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) &&\n window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/purchase-audit-logs',\n id: 'auditLogs-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_CE","contentManager","main","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","marketplace","read","settings","roles","create","delete","update","users","webhooks","regenerate","plugins","HOOKS","INJECT_COLUMN_IN_TABLE","INJECT_LIST_VIEW_FILTERS","MUTATE_COLLECTION_TYPES_LINKS","MUTATE_EDIT_VIEW_LAYOUT","MUTATE_SINGLE_TYPES_LINKS","SETTINGS_LINKS_CE","global","intlLabel","id","defaultMessage","to","window","strapi","features","isEnabled","SSO","flags","promoteEE","licenseOnly","admin","AUDIT_LOGS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../admin/src/constants.ts"],"sourcesContent":["import { PermissionMap } from './types/permissions';\n\nimport type { StrapiAppSettingLink } from './core/apis/router';\n\nexport const ADMIN_PERMISSIONS_CE = {\n contentManager: {\n main: [],\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n },\n marketplace: {\n main: [{ action: 'admin::marketplace.read', subject: null }],\n read: [{ action: 'admin::marketplace.read', subject: null }],\n },\n settings: {\n roles: {\n main: [\n { action: 'admin::roles.create', subject: null },\n { action: 'admin::roles.update', subject: null },\n { action: 'admin::roles.read', subject: null },\n { action: 'admin::roles.delete', subject: null },\n ],\n create: [{ action: 'admin::roles.create', subject: null }],\n delete: [{ action: 'admin::roles.delete', subject: null }],\n read: [{ action: 'admin::roles.read', subject: null }],\n update: [{ action: 'admin::roles.update', subject: null }],\n },\n users: {\n main: [\n { action: 'admin::users.create', subject: null },\n { action: 'admin::users.read', subject: null },\n { action: 'admin::users.update', subject: null },\n { action: 'admin::users.delete', subject: null },\n ],\n create: [{ action: 'admin::users.create', subject: null }],\n delete: [{ action: 'admin::users.delete', subject: null }],\n read: [{ action: 'admin::users.read', subject: null }],\n update: [{ action: 'admin::users.update', subject: null }],\n },\n webhooks: {\n main: [\n { action: 'admin::webhooks.create', subject: null },\n { action: 'admin::webhooks.read', subject: null },\n { action: 'admin::webhooks.update', subject: null },\n { action: 'admin::webhooks.delete', subject: null },\n ],\n create: [{ action: 'admin::webhooks.create', subject: null }],\n delete: [{ action: 'admin::webhooks.delete', subject: null }],\n read: [\n { action: 'admin::webhooks.read', subject: null },\n // NOTE: We need to check with the API\n { action: 'admin::webhooks.update', subject: null },\n { action: 'admin::webhooks.delete', subject: null },\n ],\n update: [{ action: 'admin::webhooks.update', subject: null }],\n },\n 'admin-tokens': {\n main: [{ action: 'admin::admin-tokens.access', subject: null }],\n create: [{ action: 'admin::admin-tokens.create', subject: null }],\n delete: [{ action: 'admin::admin-tokens.delete', subject: null }],\n read: [{ action: 'admin::admin-tokens.read', subject: null }],\n update: [{ action: 'admin::admin-tokens.update', subject: null }],\n regenerate: [{ action: 'admin::admin-tokens.regenerate', subject: null }],\n },\n 'api-tokens': {\n main: [{ action: 'admin::api-tokens.access', subject: null }],\n create: [{ action: 'admin::api-tokens.create', subject: null }],\n delete: [{ action: 'admin::api-tokens.delete', subject: null }],\n read: [{ action: 'admin::api-tokens.read', subject: null }],\n update: [{ action: 'admin::api-tokens.update', subject: null }],\n regenerate: [{ action: 'admin::api-tokens.regenerate', subject: null }],\n },\n 'transfer-tokens': {\n main: [{ action: 'admin::transfer.tokens.access', subject: null }],\n create: [{ action: 'admin::transfer.tokens.create', subject: null }],\n delete: [{ action: 'admin::transfer.tokens.delete', subject: null }],\n read: [{ action: 'admin::transfer.tokens.read', subject: null }],\n update: [{ action: 'admin::transfer.tokens.update', subject: null }],\n regenerate: [{ action: 'admin::transfer.tokens.regenerate', subject: null }],\n },\n 'project-settings': {\n read: [{ action: 'admin::project-settings.read', subject: null }],\n update: [{ action: 'admin::project-settings.update', subject: null }],\n },\n 'debug-dump': {\n main: [{ action: 'admin::debug-dump.read', subject: null }],\n read: [{ action: 'admin::debug-dump.read', subject: null }],\n },\n plugins: {\n main: [{ action: 'admin::marketplace.read', subject: null }],\n read: [{ action: 'admin::marketplace.read', subject: null }],\n },\n },\n} satisfies Partial<PermissionMap>;\n\nexport const HOOKS = {\n /**\n * Hook that allows to mutate the displayed headers of the list view table\n * @constant\n * @type {string}\n */\n INJECT_COLUMN_IN_TABLE: 'Admin/CM/pages/ListView/inject-column-in-table',\n\n /**\n * Hook that allows to mutate the displayed filters of the list view\n * @constant\n * @type {string}\n */\n INJECT_LIST_VIEW_FILTERS: 'Admin/CM/pages/ListView/inject-in-filters',\n\n /**\n * Hook that allows to mutate the CM's collection types links pre-set filters\n * @constant\n * @type {string}\n */\n MUTATE_COLLECTION_TYPES_LINKS: 'Admin/CM/pages/App/mutate-collection-types-links',\n\n /**\n * Hook that allows to mutate the CM's edit view layout\n * @constant\n * @type {string}\n */\n MUTATE_EDIT_VIEW_LAYOUT: 'Admin/CM/pages/EditView/mutate-edit-view-layout',\n\n /**\n * Hook that allows to mutate the CM's single types links pre-set filters\n * @constant\n * @type {string}\n */\n MUTATE_SINGLE_TYPES_LINKS: 'Admin/CM/pages/App/mutate-single-types-links',\n};\n\nexport interface SettingsMenuLink\n extends Omit<StrapiAppSettingLink, 'Component' | 'permissions' | 'licenseOnly'> {\n licenseOnly?: boolean;\n}\n\nexport type SettingsMenu = {\n admin: SettingsMenuLink[];\n global: SettingsMenuLink[];\n};\n\nexport const SETTINGS_LINKS_CE = (): SettingsMenu => ({\n global: [\n {\n intlLabel: { id: 'Settings.application.title', defaultMessage: 'Overview' },\n to: '/settings/application-infos',\n id: '000-application-infos',\n },\n {\n intlLabel: { id: 'Settings.webhooks.title', defaultMessage: 'Webhooks' },\n to: '/settings/webhooks',\n id: 'webhooks',\n },\n {\n intlLabel: { id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' },\n to: '/settings/api-tokens?sort=name:ASC',\n id: 'api-tokens',\n },\n {\n intlLabel: { id: 'Settings.transferTokens.title', defaultMessage: 'Transfer Tokens' },\n to: '/settings/transfer-tokens?sort=name:ASC',\n id: 'transfer-tokens',\n },\n {\n intlLabel: {\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n },\n to: '/settings/list-plugins',\n id: 'plugins',\n },\n // If the Enterprise/Cloud feature is not enabled and if the config doesn't disable it, we promote the Enterprise/Cloud feature by displaying them in the settings menu.\n // Disable this by adding \"promoteEE: false\" to your `./config/admin.js` file\n ...(!window.strapi.features.isEnabled(window.strapi.features.SSO) &&\n window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/purchase-single-sign-on',\n id: 'sso-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ...(!window.strapi.features.isEnabled('cms-content-history') && window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'Settings.content-history.title', defaultMessage: 'Content History' },\n to: '/settings/purchase-content-history',\n id: 'content-history-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n {\n intlLabel: { id: 'global.roles', defaultMessage: 'Roles' },\n to: '/settings/roles',\n id: 'roles',\n },\n {\n intlLabel: { id: 'global.users', defaultMessage: 'Users' },\n // Init the search params directly\n to: '/settings/users?pageSize=10&page=1&sort=firstname',\n id: 'users',\n },\n {\n intlLabel: { id: 'Settings.adminTokens.title', defaultMessage: 'Admin Tokens' },\n to: '/settings/admin-tokens',\n id: 'admin-tokens',\n },\n ...(!window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) &&\n window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/purchase-audit-logs',\n id: 'auditLogs-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_CE","contentManager","main","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","marketplace","read","settings","roles","create","delete","update","users","webhooks","regenerate","plugins","HOOKS","INJECT_COLUMN_IN_TABLE","INJECT_LIST_VIEW_FILTERS","MUTATE_COLLECTION_TYPES_LINKS","MUTATE_EDIT_VIEW_LAYOUT","MUTATE_SINGLE_TYPES_LINKS","SETTINGS_LINKS_CE","global","intlLabel","id","defaultMessage","to","window","strapi","features","isEnabled","SSO","flags","promoteEE","licenseOnly","admin","AUDIT_LOGS"],"mappings":"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"}
|
|
@@ -304,6 +304,20 @@ const ADMIN_PERMISSIONS_CE = {
|
|
|
304
304
|
}
|
|
305
305
|
]
|
|
306
306
|
},
|
|
307
|
+
'debug-dump': {
|
|
308
|
+
main: [
|
|
309
|
+
{
|
|
310
|
+
action: 'admin::debug-dump.read',
|
|
311
|
+
subject: null
|
|
312
|
+
}
|
|
313
|
+
],
|
|
314
|
+
read: [
|
|
315
|
+
{
|
|
316
|
+
action: 'admin::debug-dump.read',
|
|
317
|
+
subject: null
|
|
318
|
+
}
|
|
319
|
+
]
|
|
320
|
+
},
|
|
307
321
|
plugins: {
|
|
308
322
|
main: [
|
|
309
323
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../../../admin/src/constants.ts"],"sourcesContent":["import { PermissionMap } from './types/permissions';\n\nimport type { StrapiAppSettingLink } from './core/apis/router';\n\nexport const ADMIN_PERMISSIONS_CE = {\n contentManager: {\n main: [],\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n },\n marketplace: {\n main: [{ action: 'admin::marketplace.read', subject: null }],\n read: [{ action: 'admin::marketplace.read', subject: null }],\n },\n settings: {\n roles: {\n main: [\n { action: 'admin::roles.create', subject: null },\n { action: 'admin::roles.update', subject: null },\n { action: 'admin::roles.read', subject: null },\n { action: 'admin::roles.delete', subject: null },\n ],\n create: [{ action: 'admin::roles.create', subject: null }],\n delete: [{ action: 'admin::roles.delete', subject: null }],\n read: [{ action: 'admin::roles.read', subject: null }],\n update: [{ action: 'admin::roles.update', subject: null }],\n },\n users: {\n main: [\n { action: 'admin::users.create', subject: null },\n { action: 'admin::users.read', subject: null },\n { action: 'admin::users.update', subject: null },\n { action: 'admin::users.delete', subject: null },\n ],\n create: [{ action: 'admin::users.create', subject: null }],\n delete: [{ action: 'admin::users.delete', subject: null }],\n read: [{ action: 'admin::users.read', subject: null }],\n update: [{ action: 'admin::users.update', subject: null }],\n },\n webhooks: {\n main: [\n { action: 'admin::webhooks.create', subject: null },\n { action: 'admin::webhooks.read', subject: null },\n { action: 'admin::webhooks.update', subject: null },\n { action: 'admin::webhooks.delete', subject: null },\n ],\n create: [{ action: 'admin::webhooks.create', subject: null }],\n delete: [{ action: 'admin::webhooks.delete', subject: null }],\n read: [\n { action: 'admin::webhooks.read', subject: null },\n // NOTE: We need to check with the API\n { action: 'admin::webhooks.update', subject: null },\n { action: 'admin::webhooks.delete', subject: null },\n ],\n update: [{ action: 'admin::webhooks.update', subject: null }],\n },\n 'admin-tokens': {\n main: [{ action: 'admin::admin-tokens.access', subject: null }],\n create: [{ action: 'admin::admin-tokens.create', subject: null }],\n delete: [{ action: 'admin::admin-tokens.delete', subject: null }],\n read: [{ action: 'admin::admin-tokens.read', subject: null }],\n update: [{ action: 'admin::admin-tokens.update', subject: null }],\n regenerate: [{ action: 'admin::admin-tokens.regenerate', subject: null }],\n },\n 'api-tokens': {\n main: [{ action: 'admin::api-tokens.access', subject: null }],\n create: [{ action: 'admin::api-tokens.create', subject: null }],\n delete: [{ action: 'admin::api-tokens.delete', subject: null }],\n read: [{ action: 'admin::api-tokens.read', subject: null }],\n update: [{ action: 'admin::api-tokens.update', subject: null }],\n regenerate: [{ action: 'admin::api-tokens.regenerate', subject: null }],\n },\n 'transfer-tokens': {\n main: [{ action: 'admin::transfer.tokens.access', subject: null }],\n create: [{ action: 'admin::transfer.tokens.create', subject: null }],\n delete: [{ action: 'admin::transfer.tokens.delete', subject: null }],\n read: [{ action: 'admin::transfer.tokens.read', subject: null }],\n update: [{ action: 'admin::transfer.tokens.update', subject: null }],\n regenerate: [{ action: 'admin::transfer.tokens.regenerate', subject: null }],\n },\n 'project-settings': {\n read: [{ action: 'admin::project-settings.read', subject: null }],\n update: [{ action: 'admin::project-settings.update', subject: null }],\n },\n plugins: {\n main: [{ action: 'admin::marketplace.read', subject: null }],\n read: [{ action: 'admin::marketplace.read', subject: null }],\n },\n },\n} satisfies Partial<PermissionMap>;\n\nexport const HOOKS = {\n /**\n * Hook that allows to mutate the displayed headers of the list view table\n * @constant\n * @type {string}\n */\n INJECT_COLUMN_IN_TABLE: 'Admin/CM/pages/ListView/inject-column-in-table',\n\n /**\n * Hook that allows to mutate the displayed filters of the list view\n * @constant\n * @type {string}\n */\n INJECT_LIST_VIEW_FILTERS: 'Admin/CM/pages/ListView/inject-in-filters',\n\n /**\n * Hook that allows to mutate the CM's collection types links pre-set filters\n * @constant\n * @type {string}\n */\n MUTATE_COLLECTION_TYPES_LINKS: 'Admin/CM/pages/App/mutate-collection-types-links',\n\n /**\n * Hook that allows to mutate the CM's edit view layout\n * @constant\n * @type {string}\n */\n MUTATE_EDIT_VIEW_LAYOUT: 'Admin/CM/pages/EditView/mutate-edit-view-layout',\n\n /**\n * Hook that allows to mutate the CM's single types links pre-set filters\n * @constant\n * @type {string}\n */\n MUTATE_SINGLE_TYPES_LINKS: 'Admin/CM/pages/App/mutate-single-types-links',\n};\n\nexport interface SettingsMenuLink\n extends Omit<StrapiAppSettingLink, 'Component' | 'permissions' | 'licenseOnly'> {\n licenseOnly?: boolean;\n}\n\nexport type SettingsMenu = {\n admin: SettingsMenuLink[];\n global: SettingsMenuLink[];\n};\n\nexport const SETTINGS_LINKS_CE = (): SettingsMenu => ({\n global: [\n {\n intlLabel: { id: 'Settings.application.title', defaultMessage: 'Overview' },\n to: '/settings/application-infos',\n id: '000-application-infos',\n },\n {\n intlLabel: { id: 'Settings.webhooks.title', defaultMessage: 'Webhooks' },\n to: '/settings/webhooks',\n id: 'webhooks',\n },\n {\n intlLabel: { id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' },\n to: '/settings/api-tokens?sort=name:ASC',\n id: 'api-tokens',\n },\n {\n intlLabel: { id: 'Settings.transferTokens.title', defaultMessage: 'Transfer Tokens' },\n to: '/settings/transfer-tokens?sort=name:ASC',\n id: 'transfer-tokens',\n },\n {\n intlLabel: {\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n },\n to: '/settings/list-plugins',\n id: 'plugins',\n },\n // If the Enterprise/Cloud feature is not enabled and if the config doesn't disable it, we promote the Enterprise/Cloud feature by displaying them in the settings menu.\n // Disable this by adding \"promoteEE: false\" to your `./config/admin.js` file\n ...(!window.strapi.features.isEnabled(window.strapi.features.SSO) &&\n window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/purchase-single-sign-on',\n id: 'sso-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ...(!window.strapi.features.isEnabled('cms-content-history') && window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'Settings.content-history.title', defaultMessage: 'Content History' },\n to: '/settings/purchase-content-history',\n id: 'content-history-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n {\n intlLabel: { id: 'global.roles', defaultMessage: 'Roles' },\n to: '/settings/roles',\n id: 'roles',\n },\n {\n intlLabel: { id: 'global.users', defaultMessage: 'Users' },\n // Init the search params directly\n to: '/settings/users?pageSize=10&page=1&sort=firstname',\n id: 'users',\n },\n {\n intlLabel: { id: 'Settings.adminTokens.title', defaultMessage: 'Admin Tokens' },\n to: '/settings/admin-tokens',\n id: 'admin-tokens',\n },\n ...(!window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) &&\n window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/purchase-audit-logs',\n id: 'auditLogs-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_CE","contentManager","main","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","marketplace","read","settings","roles","create","delete","update","users","webhooks","regenerate","plugins","HOOKS","INJECT_COLUMN_IN_TABLE","INJECT_LIST_VIEW_FILTERS","MUTATE_COLLECTION_TYPES_LINKS","MUTATE_EDIT_VIEW_LAYOUT","MUTATE_SINGLE_TYPES_LINKS","SETTINGS_LINKS_CE","global","intlLabel","id","defaultMessage","to","window","strapi","features","isEnabled","SSO","flags","promoteEE","licenseOnly","admin","AUDIT_LOGS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../admin/src/constants.ts"],"sourcesContent":["import { PermissionMap } from './types/permissions';\n\nimport type { StrapiAppSettingLink } from './core/apis/router';\n\nexport const ADMIN_PERMISSIONS_CE = {\n contentManager: {\n main: [],\n collectionTypesConfigurations: [\n {\n action: 'plugin::content-manager.collection-types.configure-view',\n subject: null,\n },\n ],\n componentsConfigurations: [\n {\n action: 'plugin::content-manager.components.configure-layout',\n subject: null,\n },\n ],\n singleTypesConfigurations: [\n {\n action: 'plugin::content-manager.single-types.configure-view',\n subject: null,\n },\n ],\n },\n marketplace: {\n main: [{ action: 'admin::marketplace.read', subject: null }],\n read: [{ action: 'admin::marketplace.read', subject: null }],\n },\n settings: {\n roles: {\n main: [\n { action: 'admin::roles.create', subject: null },\n { action: 'admin::roles.update', subject: null },\n { action: 'admin::roles.read', subject: null },\n { action: 'admin::roles.delete', subject: null },\n ],\n create: [{ action: 'admin::roles.create', subject: null }],\n delete: [{ action: 'admin::roles.delete', subject: null }],\n read: [{ action: 'admin::roles.read', subject: null }],\n update: [{ action: 'admin::roles.update', subject: null }],\n },\n users: {\n main: [\n { action: 'admin::users.create', subject: null },\n { action: 'admin::users.read', subject: null },\n { action: 'admin::users.update', subject: null },\n { action: 'admin::users.delete', subject: null },\n ],\n create: [{ action: 'admin::users.create', subject: null }],\n delete: [{ action: 'admin::users.delete', subject: null }],\n read: [{ action: 'admin::users.read', subject: null }],\n update: [{ action: 'admin::users.update', subject: null }],\n },\n webhooks: {\n main: [\n { action: 'admin::webhooks.create', subject: null },\n { action: 'admin::webhooks.read', subject: null },\n { action: 'admin::webhooks.update', subject: null },\n { action: 'admin::webhooks.delete', subject: null },\n ],\n create: [{ action: 'admin::webhooks.create', subject: null }],\n delete: [{ action: 'admin::webhooks.delete', subject: null }],\n read: [\n { action: 'admin::webhooks.read', subject: null },\n // NOTE: We need to check with the API\n { action: 'admin::webhooks.update', subject: null },\n { action: 'admin::webhooks.delete', subject: null },\n ],\n update: [{ action: 'admin::webhooks.update', subject: null }],\n },\n 'admin-tokens': {\n main: [{ action: 'admin::admin-tokens.access', subject: null }],\n create: [{ action: 'admin::admin-tokens.create', subject: null }],\n delete: [{ action: 'admin::admin-tokens.delete', subject: null }],\n read: [{ action: 'admin::admin-tokens.read', subject: null }],\n update: [{ action: 'admin::admin-tokens.update', subject: null }],\n regenerate: [{ action: 'admin::admin-tokens.regenerate', subject: null }],\n },\n 'api-tokens': {\n main: [{ action: 'admin::api-tokens.access', subject: null }],\n create: [{ action: 'admin::api-tokens.create', subject: null }],\n delete: [{ action: 'admin::api-tokens.delete', subject: null }],\n read: [{ action: 'admin::api-tokens.read', subject: null }],\n update: [{ action: 'admin::api-tokens.update', subject: null }],\n regenerate: [{ action: 'admin::api-tokens.regenerate', subject: null }],\n },\n 'transfer-tokens': {\n main: [{ action: 'admin::transfer.tokens.access', subject: null }],\n create: [{ action: 'admin::transfer.tokens.create', subject: null }],\n delete: [{ action: 'admin::transfer.tokens.delete', subject: null }],\n read: [{ action: 'admin::transfer.tokens.read', subject: null }],\n update: [{ action: 'admin::transfer.tokens.update', subject: null }],\n regenerate: [{ action: 'admin::transfer.tokens.regenerate', subject: null }],\n },\n 'project-settings': {\n read: [{ action: 'admin::project-settings.read', subject: null }],\n update: [{ action: 'admin::project-settings.update', subject: null }],\n },\n 'debug-dump': {\n main: [{ action: 'admin::debug-dump.read', subject: null }],\n read: [{ action: 'admin::debug-dump.read', subject: null }],\n },\n plugins: {\n main: [{ action: 'admin::marketplace.read', subject: null }],\n read: [{ action: 'admin::marketplace.read', subject: null }],\n },\n },\n} satisfies Partial<PermissionMap>;\n\nexport const HOOKS = {\n /**\n * Hook that allows to mutate the displayed headers of the list view table\n * @constant\n * @type {string}\n */\n INJECT_COLUMN_IN_TABLE: 'Admin/CM/pages/ListView/inject-column-in-table',\n\n /**\n * Hook that allows to mutate the displayed filters of the list view\n * @constant\n * @type {string}\n */\n INJECT_LIST_VIEW_FILTERS: 'Admin/CM/pages/ListView/inject-in-filters',\n\n /**\n * Hook that allows to mutate the CM's collection types links pre-set filters\n * @constant\n * @type {string}\n */\n MUTATE_COLLECTION_TYPES_LINKS: 'Admin/CM/pages/App/mutate-collection-types-links',\n\n /**\n * Hook that allows to mutate the CM's edit view layout\n * @constant\n * @type {string}\n */\n MUTATE_EDIT_VIEW_LAYOUT: 'Admin/CM/pages/EditView/mutate-edit-view-layout',\n\n /**\n * Hook that allows to mutate the CM's single types links pre-set filters\n * @constant\n * @type {string}\n */\n MUTATE_SINGLE_TYPES_LINKS: 'Admin/CM/pages/App/mutate-single-types-links',\n};\n\nexport interface SettingsMenuLink\n extends Omit<StrapiAppSettingLink, 'Component' | 'permissions' | 'licenseOnly'> {\n licenseOnly?: boolean;\n}\n\nexport type SettingsMenu = {\n admin: SettingsMenuLink[];\n global: SettingsMenuLink[];\n};\n\nexport const SETTINGS_LINKS_CE = (): SettingsMenu => ({\n global: [\n {\n intlLabel: { id: 'Settings.application.title', defaultMessage: 'Overview' },\n to: '/settings/application-infos',\n id: '000-application-infos',\n },\n {\n intlLabel: { id: 'Settings.webhooks.title', defaultMessage: 'Webhooks' },\n to: '/settings/webhooks',\n id: 'webhooks',\n },\n {\n intlLabel: { id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' },\n to: '/settings/api-tokens?sort=name:ASC',\n id: 'api-tokens',\n },\n {\n intlLabel: { id: 'Settings.transferTokens.title', defaultMessage: 'Transfer Tokens' },\n to: '/settings/transfer-tokens?sort=name:ASC',\n id: 'transfer-tokens',\n },\n {\n intlLabel: {\n id: 'global.plugins',\n defaultMessage: 'Plugins',\n },\n to: '/settings/list-plugins',\n id: 'plugins',\n },\n // If the Enterprise/Cloud feature is not enabled and if the config doesn't disable it, we promote the Enterprise/Cloud feature by displaying them in the settings menu.\n // Disable this by adding \"promoteEE: false\" to your `./config/admin.js` file\n ...(!window.strapi.features.isEnabled(window.strapi.features.SSO) &&\n window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/purchase-single-sign-on',\n id: 'sso-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ...(!window.strapi.features.isEnabled('cms-content-history') && window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'Settings.content-history.title', defaultMessage: 'Content History' },\n to: '/settings/purchase-content-history',\n id: 'content-history-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n {\n intlLabel: { id: 'global.roles', defaultMessage: 'Roles' },\n to: '/settings/roles',\n id: 'roles',\n },\n {\n intlLabel: { id: 'global.users', defaultMessage: 'Users' },\n // Init the search params directly\n to: '/settings/users?pageSize=10&page=1&sort=firstname',\n id: 'users',\n },\n {\n intlLabel: { id: 'Settings.adminTokens.title', defaultMessage: 'Admin Tokens' },\n to: '/settings/admin-tokens',\n id: 'admin-tokens',\n },\n ...(!window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS) &&\n window.strapi?.flags?.promoteEE\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/purchase-audit-logs',\n id: 'auditLogs-purchase-page',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_CE","contentManager","main","collectionTypesConfigurations","action","subject","componentsConfigurations","singleTypesConfigurations","marketplace","read","settings","roles","create","delete","update","users","webhooks","regenerate","plugins","HOOKS","INJECT_COLUMN_IN_TABLE","INJECT_LIST_VIEW_FILTERS","MUTATE_COLLECTION_TYPES_LINKS","MUTATE_EDIT_VIEW_LAYOUT","MUTATE_SINGLE_TYPES_LINKS","SETTINGS_LINKS_CE","global","intlLabel","id","defaultMessage","to","window","strapi","features","isEnabled","SSO","flags","promoteEE","licenseOnly","admin","AUDIT_LOGS"],"mappings":"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"}
|
|
@@ -55,26 +55,20 @@ const RESET_PASSWORD_SCHEMA = yup__namespace.object().shape({
|
|
|
55
55
|
const byteSize = strings.getByteSize(value);
|
|
56
56
|
return byteSize <= 72;
|
|
57
57
|
}).test('lowercase', {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
defaultMessage: 'Password must contain at least 1 lowercase letter'
|
|
61
|
-
}
|
|
58
|
+
id: 'components.Input.error.contain.lowercase',
|
|
59
|
+
defaultMessage: 'Password must contain at least 1 lowercase letter'
|
|
62
60
|
}, (value)=>{
|
|
63
61
|
if (!value) return true;
|
|
64
62
|
return /[a-z]/.test(value);
|
|
65
63
|
}).test('uppercase', {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
defaultMessage: 'Password must contain at least 1 uppercase letter'
|
|
69
|
-
}
|
|
64
|
+
id: 'components.Input.error.contain.uppercase',
|
|
65
|
+
defaultMessage: 'Password must contain at least 1 uppercase letter'
|
|
70
66
|
}, (value)=>{
|
|
71
67
|
if (!value) return true;
|
|
72
68
|
return /[A-Z]/.test(value);
|
|
73
69
|
}).test('number', {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
defaultMessage: 'Password must contain at least 1 number'
|
|
77
|
-
}
|
|
70
|
+
id: 'components.Input.error.contain.number',
|
|
71
|
+
defaultMessage: 'Password must contain at least 1 number'
|
|
78
72
|
}, (value)=>{
|
|
79
73
|
if (!value) return true;
|
|
80
74
|
return /\d/.test(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResetPassword.js","sources":["../../../../../../../admin/src/pages/Auth/components/ResetPassword.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate, Navigate, useLocation } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { ResetPassword } from '../../../../../shared/contracts/authentication';\nimport { Form } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useTypedDispatch } from '../../../core/store/hooks';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../layouts/UnauthenticatedLayout';\nimport { login } from '../../../reducer';\nimport { useResetPasswordMutation } from '../../../services/auth';\nimport { isBaseQueryError } from '../../../utils/baseQuery';\nimport { getByteSize } from '../../../utils/strings';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nconst RESET_PASSWORD_SCHEMA = yup.object().shape({\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n // bcrypt has a max length of 72 bytes (not characters!)\n .test(\n 'required-byte-size',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value || typeof value !== 'string') return true; // validated elsewhere\n\n const byteSize = getByteSize(value);\n return byteSize <= 72;\n }\n )\n .test(\n 'lowercase',\n {\n message: {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[a-z]/.test(value);\n }\n )\n .test(\n 'uppercase',\n {\n message: {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[A-Z]/.test(value);\n }\n )\n .test(\n 'number',\n {\n message: {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n },\n (value) => {\n if (!value) return true;\n return /\\d/.test(value);\n }\n )\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .nullable(),\n});\n\nconst ResetPassword = () => {\n const { formatMessage } = useIntl();\n const dispatch = useTypedDispatch();\n const navigate = useNavigate();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [resetPassword, { error }] = useResetPasswordMutation();\n\n const handleSubmit = async (body: ResetPassword.Request['body']) => {\n const res = await resetPassword(body);\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n navigate('/');\n }\n };\n /**\n * If someone doesn't have a reset password token\n * then they should just be redirected back to the login page.\n */\n if (!query.get('code')) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={7}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Box>\n {error ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {isBaseQueryError(error)\n ? formatAPIError(error)\n : formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n })}\n </Typography>\n ) : null}\n </Column>\n <Form\n method=\"POST\"\n initialValues={{\n password: '',\n confirmPassword: '',\n }}\n onSubmit={(values) => {\n // We know query.code is defined because we check for it above.\n handleSubmit({ password: values.password, resetPasswordToken: query.get('code')! });\n }}\n validationSchema={RESET_PASSWORD_SCHEMA}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {[\n {\n hint: formatMessage({\n id: 'Auth.form.password.hint',\n defaultMessage:\n 'Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number',\n }),\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n required: true,\n type: 'password' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n required: true,\n type: 'password' as const,\n },\n ].map((field) => (\n <InputRenderer key={field.name} {...field} />\n ))}\n <Button fullWidth type=\"submit\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Button>\n </Flex>\n </Form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({ id: 'Auth.link.ready', defaultMessage: 'Ready to sign in?' })}\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport { ResetPassword };\n"],"names":["RESET_PASSWORD_SCHEMA","yup","object","shape","password","string","min","id","translatedErrors","minLength","defaultMessage","values","test","value","byteSize","getByteSize","message","required","nullable","confirmPassword","oneOf","ref","ResetPassword","formatMessage","useIntl","dispatch","useTypedDispatch","navigate","useNavigate","search","searchString","useLocation","query","React","useMemo","URLSearchParams","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","resetPassword","error","useResetPasswordMutation","handleSubmit","body","res","login","token","data","get","_jsx","Navigate","to","UnauthenticatedLayout","_jsxs","Main","LayoutContent","Column","Logo","Box","paddingTop","paddingBottom","Typography","tag","variant","role","tabIndex","textColor","isBaseQueryError","Form","method","initialValues","onSubmit","resetPasswordToken","validationSchema","Flex","direction","alignItems","gap","hint","label","name","type","map","field","InputRenderer","Button","fullWidth","justifyContent","Link","NavLink"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResetPassword.js","sources":["../../../../../../../admin/src/pages/Auth/components/ResetPassword.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate, Navigate, useLocation } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { ResetPassword } from '../../../../../shared/contracts/authentication';\nimport { Form } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useTypedDispatch } from '../../../core/store/hooks';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../layouts/UnauthenticatedLayout';\nimport { login } from '../../../reducer';\nimport { useResetPasswordMutation } from '../../../services/auth';\nimport { isBaseQueryError } from '../../../utils/baseQuery';\nimport { getByteSize } from '../../../utils/strings';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nconst RESET_PASSWORD_SCHEMA = yup.object().shape({\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n // bcrypt has a max length of 72 bytes (not characters!)\n .test(\n 'required-byte-size',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value || typeof value !== 'string') return true; // validated elsewhere\n\n const byteSize = getByteSize(value);\n return byteSize <= 72;\n }\n )\n .test(\n 'lowercase',\n {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n (value) => {\n if (!value) return true;\n return /[a-z]/.test(value);\n }\n )\n .test(\n 'uppercase',\n {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n (value) => {\n if (!value) return true;\n return /[A-Z]/.test(value);\n }\n )\n .test(\n 'number',\n {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n (value) => {\n if (!value) return true;\n return /\\d/.test(value);\n }\n )\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .nullable(),\n});\n\nconst ResetPassword = () => {\n const { formatMessage } = useIntl();\n const dispatch = useTypedDispatch();\n const navigate = useNavigate();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [resetPassword, { error }] = useResetPasswordMutation();\n\n const handleSubmit = async (body: ResetPassword.Request['body']) => {\n const res = await resetPassword(body);\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n navigate('/');\n }\n };\n /**\n * If someone doesn't have a reset password token\n * then they should just be redirected back to the login page.\n */\n if (!query.get('code')) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={7}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Box>\n {error ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {isBaseQueryError(error)\n ? formatAPIError(error)\n : formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n })}\n </Typography>\n ) : null}\n </Column>\n <Form\n method=\"POST\"\n initialValues={{\n password: '',\n confirmPassword: '',\n }}\n onSubmit={(values) => {\n // We know query.code is defined because we check for it above.\n handleSubmit({ password: values.password, resetPasswordToken: query.get('code')! });\n }}\n validationSchema={RESET_PASSWORD_SCHEMA}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {[\n {\n hint: formatMessage({\n id: 'Auth.form.password.hint',\n defaultMessage:\n 'Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number',\n }),\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n required: true,\n type: 'password' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n required: true,\n type: 'password' as const,\n },\n ].map((field) => (\n <InputRenderer key={field.name} {...field} />\n ))}\n <Button fullWidth type=\"submit\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Button>\n </Flex>\n </Form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({ id: 'Auth.link.ready', defaultMessage: 'Ready to sign in?' })}\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport { ResetPassword };\n"],"names":["RESET_PASSWORD_SCHEMA","yup","object","shape","password","string","min","id","translatedErrors","minLength","defaultMessage","values","test","value","byteSize","getByteSize","required","nullable","confirmPassword","oneOf","ref","ResetPassword","formatMessage","useIntl","dispatch","useTypedDispatch","navigate","useNavigate","search","searchString","useLocation","query","React","useMemo","URLSearchParams","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","resetPassword","error","useResetPasswordMutation","handleSubmit","body","res","login","token","data","get","_jsx","Navigate","to","UnauthenticatedLayout","_jsxs","Main","LayoutContent","Column","Logo","Box","paddingTop","paddingBottom","Typography","tag","variant","role","tabIndex","textColor","isBaseQueryError","Form","method","initialValues","onSubmit","resetPasswordToken","validationSchema","Flex","direction","alignItems","gap","hint","label","name","type","map","field","InputRenderer","Button","fullWidth","justifyContent","Link","NavLink"],"mappings":"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"}
|
|
@@ -32,26 +32,20 @@ const RESET_PASSWORD_SCHEMA = yup.object().shape({
|
|
|
32
32
|
const byteSize = getByteSize(value);
|
|
33
33
|
return byteSize <= 72;
|
|
34
34
|
}).test('lowercase', {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
defaultMessage: 'Password must contain at least 1 lowercase letter'
|
|
38
|
-
}
|
|
35
|
+
id: 'components.Input.error.contain.lowercase',
|
|
36
|
+
defaultMessage: 'Password must contain at least 1 lowercase letter'
|
|
39
37
|
}, (value)=>{
|
|
40
38
|
if (!value) return true;
|
|
41
39
|
return /[a-z]/.test(value);
|
|
42
40
|
}).test('uppercase', {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
defaultMessage: 'Password must contain at least 1 uppercase letter'
|
|
46
|
-
}
|
|
41
|
+
id: 'components.Input.error.contain.uppercase',
|
|
42
|
+
defaultMessage: 'Password must contain at least 1 uppercase letter'
|
|
47
43
|
}, (value)=>{
|
|
48
44
|
if (!value) return true;
|
|
49
45
|
return /[A-Z]/.test(value);
|
|
50
46
|
}).test('number', {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
defaultMessage: 'Password must contain at least 1 number'
|
|
54
|
-
}
|
|
47
|
+
id: 'components.Input.error.contain.number',
|
|
48
|
+
defaultMessage: 'Password must contain at least 1 number'
|
|
55
49
|
}, (value)=>{
|
|
56
50
|
if (!value) return true;
|
|
57
51
|
return /\d/.test(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResetPassword.mjs","sources":["../../../../../../../admin/src/pages/Auth/components/ResetPassword.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate, Navigate, useLocation } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { ResetPassword } from '../../../../../shared/contracts/authentication';\nimport { Form } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useTypedDispatch } from '../../../core/store/hooks';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../layouts/UnauthenticatedLayout';\nimport { login } from '../../../reducer';\nimport { useResetPasswordMutation } from '../../../services/auth';\nimport { isBaseQueryError } from '../../../utils/baseQuery';\nimport { getByteSize } from '../../../utils/strings';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nconst RESET_PASSWORD_SCHEMA = yup.object().shape({\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n // bcrypt has a max length of 72 bytes (not characters!)\n .test(\n 'required-byte-size',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value || typeof value !== 'string') return true; // validated elsewhere\n\n const byteSize = getByteSize(value);\n return byteSize <= 72;\n }\n )\n .test(\n 'lowercase',\n {\n message: {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[a-z]/.test(value);\n }\n )\n .test(\n 'uppercase',\n {\n message: {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n },\n (value) => {\n if (!value) return true;\n return /[A-Z]/.test(value);\n }\n )\n .test(\n 'number',\n {\n message: {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n },\n (value) => {\n if (!value) return true;\n return /\\d/.test(value);\n }\n )\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .nullable(),\n});\n\nconst ResetPassword = () => {\n const { formatMessage } = useIntl();\n const dispatch = useTypedDispatch();\n const navigate = useNavigate();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [resetPassword, { error }] = useResetPasswordMutation();\n\n const handleSubmit = async (body: ResetPassword.Request['body']) => {\n const res = await resetPassword(body);\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n navigate('/');\n }\n };\n /**\n * If someone doesn't have a reset password token\n * then they should just be redirected back to the login page.\n */\n if (!query.get('code')) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={7}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Box>\n {error ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {isBaseQueryError(error)\n ? formatAPIError(error)\n : formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n })}\n </Typography>\n ) : null}\n </Column>\n <Form\n method=\"POST\"\n initialValues={{\n password: '',\n confirmPassword: '',\n }}\n onSubmit={(values) => {\n // We know query.code is defined because we check for it above.\n handleSubmit({ password: values.password, resetPasswordToken: query.get('code')! });\n }}\n validationSchema={RESET_PASSWORD_SCHEMA}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {[\n {\n hint: formatMessage({\n id: 'Auth.form.password.hint',\n defaultMessage:\n 'Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number',\n }),\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n required: true,\n type: 'password' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n required: true,\n type: 'password' as const,\n },\n ].map((field) => (\n <InputRenderer key={field.name} {...field} />\n ))}\n <Button fullWidth type=\"submit\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Button>\n </Flex>\n </Form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({ id: 'Auth.link.ready', defaultMessage: 'Ready to sign in?' })}\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport { ResetPassword };\n"],"names":["RESET_PASSWORD_SCHEMA","yup","object","shape","password","string","min","id","translatedErrors","minLength","defaultMessage","values","test","value","byteSize","getByteSize","message","required","nullable","confirmPassword","oneOf","ref","ResetPassword","formatMessage","useIntl","dispatch","useTypedDispatch","navigate","useNavigate","search","searchString","useLocation","query","React","useMemo","URLSearchParams","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","resetPassword","error","useResetPasswordMutation","handleSubmit","body","res","login","token","data","get","_jsx","Navigate","to","UnauthenticatedLayout","_jsxs","Main","LayoutContent","Column","Logo","Box","paddingTop","paddingBottom","Typography","tag","variant","role","tabIndex","textColor","isBaseQueryError","Form","method","initialValues","onSubmit","resetPasswordToken","validationSchema","Flex","direction","alignItems","gap","hint","label","name","type","map","field","InputRenderer","Button","fullWidth","justifyContent","Link","NavLink"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResetPassword.mjs","sources":["../../../../../../../admin/src/pages/Auth/components/ResetPassword.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Main, Typography, Link } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { NavLink, useNavigate, Navigate, useLocation } from 'react-router-dom';\nimport * as yup from 'yup';\n\nimport { ResetPassword } from '../../../../../shared/contracts/authentication';\nimport { Form } from '../../../components/Form';\nimport { InputRenderer } from '../../../components/FormInputs/Renderer';\nimport { Logo } from '../../../components/UnauthenticatedLogo';\nimport { useTypedDispatch } from '../../../core/store/hooks';\nimport { useAPIErrorHandler } from '../../../hooks/useAPIErrorHandler';\nimport {\n Column,\n LayoutContent,\n UnauthenticatedLayout,\n} from '../../../layouts/UnauthenticatedLayout';\nimport { login } from '../../../reducer';\nimport { useResetPasswordMutation } from '../../../services/auth';\nimport { isBaseQueryError } from '../../../utils/baseQuery';\nimport { getByteSize } from '../../../utils/strings';\nimport { translatedErrors } from '../../../utils/translatedErrors';\n\nconst RESET_PASSWORD_SCHEMA = yup.object().shape({\n password: yup\n .string()\n .min(8, {\n id: translatedErrors.minLength.id,\n defaultMessage: 'Password must be at least 8 characters',\n values: { min: 8 },\n })\n // bcrypt has a max length of 72 bytes (not characters!)\n .test(\n 'required-byte-size',\n {\n id: 'components.Input.error.contain.maxBytes',\n defaultMessage: 'Password must be less than 73 bytes',\n },\n function (value) {\n if (!value || typeof value !== 'string') return true; // validated elsewhere\n\n const byteSize = getByteSize(value);\n return byteSize <= 72;\n }\n )\n .test(\n 'lowercase',\n {\n id: 'components.Input.error.contain.lowercase',\n defaultMessage: 'Password must contain at least 1 lowercase letter',\n },\n (value) => {\n if (!value) return true;\n return /[a-z]/.test(value);\n }\n )\n .test(\n 'uppercase',\n {\n id: 'components.Input.error.contain.uppercase',\n defaultMessage: 'Password must contain at least 1 uppercase letter',\n },\n (value) => {\n if (!value) return true;\n return /[A-Z]/.test(value);\n }\n )\n .test(\n 'number',\n {\n id: 'components.Input.error.contain.number',\n defaultMessage: 'Password must contain at least 1 number',\n },\n (value) => {\n if (!value) return true;\n return /\\d/.test(value);\n }\n )\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Password is required',\n })\n .nullable(),\n confirmPassword: yup\n .string()\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'Confirm password is required',\n })\n .oneOf([yup.ref('password'), null], {\n id: 'components.Input.error.password.noMatch',\n defaultMessage: 'Passwords must match',\n })\n .nullable(),\n});\n\nconst ResetPassword = () => {\n const { formatMessage } = useIntl();\n const dispatch = useTypedDispatch();\n const navigate = useNavigate();\n const { search: searchString } = useLocation();\n const query = React.useMemo(() => new URLSearchParams(searchString), [searchString]);\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const [resetPassword, { error }] = useResetPasswordMutation();\n\n const handleSubmit = async (body: ResetPassword.Request['body']) => {\n const res = await resetPassword(body);\n\n if ('data' in res) {\n dispatch(login({ token: res.data.token }));\n navigate('/');\n }\n };\n /**\n * If someone doesn't have a reset password token\n * then they should just be redirected back to the login page.\n */\n if (!query.get('code')) {\n return <Navigate to=\"/auth/login\" />;\n }\n\n return (\n <UnauthenticatedLayout>\n <Main>\n <LayoutContent>\n <Column>\n <Logo />\n <Box paddingTop={6} paddingBottom={7}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Box>\n {error ? (\n <Typography id=\"global-form-error\" role=\"alert\" tabIndex={-1} textColor=\"danger600\">\n {isBaseQueryError(error)\n ? formatAPIError(error)\n : formatMessage({\n id: 'notification.error',\n defaultMessage: 'An error occurred',\n })}\n </Typography>\n ) : null}\n </Column>\n <Form\n method=\"POST\"\n initialValues={{\n password: '',\n confirmPassword: '',\n }}\n onSubmit={(values) => {\n // We know query.code is defined because we check for it above.\n handleSubmit({ password: values.password, resetPasswordToken: query.get('code')! });\n }}\n validationSchema={RESET_PASSWORD_SCHEMA}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n {[\n {\n hint: formatMessage({\n id: 'Auth.form.password.hint',\n defaultMessage:\n 'Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number',\n }),\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n required: true,\n type: 'password' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n required: true,\n type: 'password' as const,\n },\n ].map((field) => (\n <InputRenderer key={field.name} {...field} />\n ))}\n <Button fullWidth type=\"submit\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Button>\n </Flex>\n </Form>\n </LayoutContent>\n <Flex justifyContent=\"center\">\n <Box paddingTop={4}>\n <Link tag={NavLink} to=\"/auth/login\">\n {formatMessage({ id: 'Auth.link.ready', defaultMessage: 'Ready to sign in?' })}\n </Link>\n </Box>\n </Flex>\n </Main>\n </UnauthenticatedLayout>\n );\n};\n\nexport { ResetPassword };\n"],"names":["RESET_PASSWORD_SCHEMA","yup","object","shape","password","string","min","id","translatedErrors","minLength","defaultMessage","values","test","value","byteSize","getByteSize","required","nullable","confirmPassword","oneOf","ref","ResetPassword","formatMessage","useIntl","dispatch","useTypedDispatch","navigate","useNavigate","search","searchString","useLocation","query","React","useMemo","URLSearchParams","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","resetPassword","error","useResetPasswordMutation","handleSubmit","body","res","login","token","data","get","_jsx","Navigate","to","UnauthenticatedLayout","_jsxs","Main","LayoutContent","Column","Logo","Box","paddingTop","paddingBottom","Typography","tag","variant","role","tabIndex","textColor","isBaseQueryError","Form","method","initialValues","onSubmit","resetPasswordToken","validationSchema","Flex","direction","alignItems","gap","hint","label","name","type","map","field","InputRenderer","Button","fullWidth","justifyContent","Link","NavLink"],"mappings":"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"}
|
|
@@ -22,13 +22,21 @@ const SettingsNav = ({ isFullPage = false })=>{
|
|
|
22
22
|
const { trackUsage } = Tracking.useTracking();
|
|
23
23
|
const { pathname } = reactRouterDom.useLocation();
|
|
24
24
|
const { license } = useLicenseLimits.useLicenseLimits();
|
|
25
|
-
|
|
25
|
+
// The live license's features, plus what a lapsed license granted: the same availability the
|
|
26
|
+
// Plan card shows, kept until the license key or file is removed.
|
|
27
|
+
const availableFeatureNames = [
|
|
28
|
+
...(license?.features ?? []).map((feature)=>feature.name),
|
|
29
|
+
...(license?.planEntitlements ?? []).filter((entitlement)=>entitlement.available).map((entitlement)=>entitlement.feature)
|
|
30
|
+
];
|
|
26
31
|
const linksIdsToLicenseFeaturesNames = {
|
|
27
32
|
'content-releases': 'cms-content-releases',
|
|
28
33
|
'review-workflows': 'review-workflows',
|
|
29
34
|
sso: 'sso',
|
|
30
35
|
auditLogs: 'audit-logs',
|
|
31
|
-
'auditLogs-purchase-page': 'audit-logs'
|
|
36
|
+
'auditLogs-purchase-page': 'audit-logs',
|
|
37
|
+
// A lapsed license renders these as purchase links, under their own ids
|
|
38
|
+
'sso-purchase-page': 'sso',
|
|
39
|
+
'content-history-purchase-page': 'cms-content-history'
|
|
32
40
|
};
|
|
33
41
|
const filteredMenu = menu.filter((section)=>!section.links.every((link)=>link.isDisplayed === false));
|
|
34
42
|
const sections = filteredMenu.map((section)=>{
|