@strapi/plugin-documentation 0.0.0-next.8811cfafd27e6318bde3951dadbe45dfe1acbce3 → 0.0.0-next.883f4fcabd28de02b78b7b00a70e33cd2d151d05
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/LICENSE +18 -3
- package/README.md +0 -1
- package/dist/admin/components/SettingsForm.js +201 -0
- package/dist/admin/components/SettingsForm.js.map +1 -0
- package/dist/admin/components/SettingsForm.mjs +179 -0
- package/dist/admin/components/SettingsForm.mjs.map +1 -0
- package/dist/admin/constants.js +47 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +45 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/index.js +98 -5
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +93 -5
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/pages/App.js +252 -0
- package/dist/admin/pages/App.js.map +1 -0
- package/dist/admin/pages/App.mjs +231 -0
- package/dist/admin/pages/App.mjs.map +1 -0
- package/dist/admin/pages/Settings.js +54 -0
- package/dist/admin/pages/Settings.js.map +1 -0
- package/dist/admin/pages/Settings.mjs +52 -0
- package/dist/admin/pages/Settings.mjs.map +1 -0
- package/dist/admin/pluginId.js +6 -0
- package/dist/admin/pluginId.js.map +1 -0
- package/dist/admin/pluginId.mjs +4 -0
- package/dist/admin/pluginId.mjs.map +1 -0
- package/dist/admin/services/api.js +55 -0
- package/dist/admin/services/api.js.map +1 -0
- package/dist/admin/services/api.mjs +50 -0
- package/dist/admin/services/api.mjs.map +1 -0
- package/dist/admin/src/components/SettingsForm.d.ts +8 -0
- package/dist/admin/src/constants.d.ts +18 -0
- package/dist/admin/src/index.d.ts +14 -0
- package/dist/admin/src/pages/App.d.ts +2 -0
- package/dist/admin/src/pages/Settings.d.ts +2 -0
- package/dist/admin/src/pages/tests/App.test.d.ts +1 -0
- package/dist/admin/src/pages/tests/Settings.test.d.ts +1 -0
- package/dist/admin/src/pluginId.d.ts +1 -0
- package/dist/admin/src/services/api.d.ts +13 -0
- package/dist/admin/src/types.d.ts +16 -0
- package/dist/admin/src/utils/baseQuery.d.ts +5 -0
- package/dist/admin/src/utils/getTrad.d.ts +1 -0
- package/dist/admin/src/utils/index.d.ts +2 -0
- package/dist/admin/src/utils/prefixPluginTranslations.d.ts +2 -0
- package/dist/admin/translations/ar.json.js +25 -0
- package/dist/admin/translations/ar.json.js.map +1 -0
- package/dist/admin/translations/ar.json.mjs +23 -0
- package/dist/admin/translations/ar.json.mjs.map +1 -0
- package/dist/admin/translations/cs.json.js +26 -0
- package/dist/admin/translations/cs.json.js.map +1 -0
- package/dist/admin/translations/cs.json.mjs +24 -0
- package/dist/admin/translations/cs.json.mjs.map +1 -0
- package/dist/admin/translations/de.json.js +31 -0
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/translations/de.json.mjs +29 -0
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/translations/dk.json.js +44 -0
- package/dist/admin/translations/dk.json.js.map +1 -0
- package/dist/admin/translations/dk.json.mjs +42 -0
- package/dist/admin/translations/dk.json.mjs.map +1 -0
- package/dist/admin/translations/en.json.js +47 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +45 -0
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/translations/es.json.js +44 -0
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/translations/es.json.mjs +42 -0
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/translations/fr.json.js +31 -0
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/translations/fr.json.mjs +29 -0
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/translations/id.json.js +29 -0
- package/dist/admin/translations/id.json.js.map +1 -0
- package/dist/admin/translations/id.json.mjs +27 -0
- package/dist/admin/translations/id.json.mjs.map +1 -0
- package/dist/admin/translations/it.json.js +31 -0
- package/dist/admin/translations/it.json.js.map +1 -0
- package/dist/admin/translations/it.json.mjs +29 -0
- package/dist/admin/translations/it.json.mjs.map +1 -0
- package/dist/admin/translations/ko.json.js +44 -0
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/translations/ko.json.mjs +42 -0
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/translations/ms.json.js +28 -0
- package/dist/admin/translations/ms.json.js.map +1 -0
- package/dist/admin/translations/ms.json.mjs +26 -0
- package/dist/admin/translations/ms.json.mjs.map +1 -0
- package/dist/admin/translations/nl.json.js +26 -0
- package/dist/admin/translations/nl.json.js.map +1 -0
- package/dist/admin/translations/nl.json.mjs +24 -0
- package/dist/admin/translations/nl.json.mjs.map +1 -0
- package/dist/admin/translations/pl.json.js +44 -0
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/translations/pl.json.mjs +42 -0
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/translations/pt-BR.json.js +26 -0
- package/dist/admin/translations/pt-BR.json.js.map +1 -0
- package/dist/admin/translations/pt-BR.json.mjs +24 -0
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
- package/dist/admin/translations/pt.json.js +26 -0
- package/dist/admin/translations/pt.json.js.map +1 -0
- package/dist/admin/translations/pt.json.mjs +24 -0
- package/dist/admin/translations/pt.json.mjs.map +1 -0
- package/dist/admin/translations/ru.json.js +44 -0
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/translations/ru.json.mjs +42 -0
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/translations/sk.json.js +29 -0
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/translations/sk.json.mjs +27 -0
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/translations/sv.json.js +44 -0
- package/dist/admin/translations/sv.json.js.map +1 -0
- package/dist/admin/translations/sv.json.mjs +42 -0
- package/dist/admin/translations/sv.json.mjs.map +1 -0
- package/dist/admin/translations/th.json.js +29 -0
- package/dist/admin/translations/th.json.js.map +1 -0
- package/dist/admin/translations/th.json.mjs +27 -0
- package/dist/admin/translations/th.json.mjs.map +1 -0
- package/dist/admin/translations/tr.json.js +44 -0
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/translations/tr.json.mjs +42 -0
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/translations/uk.json.js +47 -0
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/translations/uk.json.mjs +45 -0
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/translations/vi.json.js +29 -0
- package/dist/admin/translations/vi.json.js.map +1 -0
- package/dist/admin/translations/vi.json.mjs +27 -0
- package/dist/admin/translations/vi.json.mjs.map +1 -0
- package/dist/admin/translations/zh-Hans.json.js +33 -0
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/translations/zh-Hans.json.mjs +31 -0
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/translations/zh.json.js +44 -0
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/translations/zh.json.mjs +42 -0
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/baseQuery.js +8 -0
- package/dist/admin/utils/baseQuery.js.map +1 -0
- package/dist/admin/utils/baseQuery.mjs +6 -0
- package/dist/admin/utils/baseQuery.mjs.map +1 -0
- package/dist/admin/utils/getTrad.js +8 -0
- package/dist/admin/utils/getTrad.js.map +1 -0
- package/dist/admin/utils/getTrad.mjs +6 -0
- package/dist/admin/utils/getTrad.mjs.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.js +11 -0
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
- package/dist/server/bootstrap.js +57 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +55 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/config/default-plugin-config.js +88 -0
- package/dist/server/config/default-plugin-config.js.map +1 -0
- package/dist/server/config/default-plugin-config.mjs +86 -0
- package/dist/server/config/default-plugin-config.mjs.map +1 -0
- package/dist/server/config/index.js +10 -0
- package/dist/server/config/index.js.map +1 -0
- package/dist/server/config/index.mjs +8 -0
- package/dist/server/config/index.mjs.map +1 -0
- package/dist/server/controllers/documentation.js +185 -0
- package/dist/server/controllers/documentation.js.map +1 -0
- package/dist/server/controllers/documentation.mjs +181 -0
- package/dist/server/controllers/documentation.mjs.map +1 -0
- package/dist/server/controllers/index.js +10 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +8 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/index.js +20 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/index.mjs +18 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/middlewares/documentation.js +27 -0
- package/dist/server/middlewares/documentation.js.map +1 -0
- package/dist/server/middlewares/documentation.mjs +25 -0
- package/dist/server/middlewares/documentation.mjs.map +1 -0
- package/dist/server/middlewares/restrict-access.js +23 -0
- package/dist/server/middlewares/restrict-access.js.map +1 -0
- package/dist/server/middlewares/restrict-access.mjs +21 -0
- package/dist/server/middlewares/restrict-access.mjs.map +1 -0
- package/dist/server/public/index.html.js +6 -0
- package/dist/server/public/index.html.js.map +1 -0
- package/dist/server/public/index.html.mjs +4 -0
- package/dist/server/public/index.html.mjs.map +1 -0
- package/dist/server/public/login.html.js +6 -0
- package/dist/server/public/login.html.js.map +1 -0
- package/dist/server/public/login.html.mjs +4 -0
- package/dist/server/public/login.html.mjs.map +1 -0
- package/dist/server/register.js +12 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +10 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/index.js +106 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +104 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/services/documentation.js +182 -0
- package/dist/server/services/documentation.js.map +1 -0
- package/dist/server/services/documentation.mjs +180 -0
- package/dist/server/services/documentation.mjs.map +1 -0
- package/dist/server/services/helpers/build-api-endpoint-path.js +162 -0
- package/dist/server/services/helpers/build-api-endpoint-path.js.map +1 -0
- package/dist/server/services/helpers/build-api-endpoint-path.mjs +141 -0
- package/dist/server/services/helpers/build-api-endpoint-path.mjs.map +1 -0
- package/dist/server/services/helpers/build-component-schema.js +167 -0
- package/dist/server/services/helpers/build-component-schema.js.map +1 -0
- package/dist/server/services/helpers/build-component-schema.mjs +165 -0
- package/dist/server/services/helpers/build-component-schema.mjs.map +1 -0
- package/dist/server/services/helpers/utils/clean-schema-attributes.js +301 -0
- package/dist/server/services/helpers/utils/clean-schema-attributes.js.map +1 -0
- package/dist/server/services/helpers/utils/clean-schema-attributes.mjs +299 -0
- package/dist/server/services/helpers/utils/clean-schema-attributes.mjs.map +1 -0
- package/dist/server/services/helpers/utils/get-api-responses.js +88 -0
- package/dist/server/services/helpers/utils/get-api-responses.js.map +1 -0
- package/dist/server/services/helpers/utils/get-api-responses.mjs +86 -0
- package/dist/server/services/helpers/utils/get-api-responses.mjs.map +1 -0
- package/dist/server/services/helpers/utils/get-schema-data.js +43 -0
- package/dist/server/services/helpers/utils/get-schema-data.js.map +1 -0
- package/dist/server/services/helpers/utils/get-schema-data.mjs +41 -0
- package/dist/server/services/helpers/utils/get-schema-data.mjs.map +1 -0
- package/dist/server/services/helpers/utils/loop-content-type-names.js +40 -0
- package/dist/server/services/helpers/utils/loop-content-type-names.js.map +1 -0
- package/dist/server/services/helpers/utils/loop-content-type-names.mjs +38 -0
- package/dist/server/services/helpers/utils/loop-content-type-names.mjs.map +1 -0
- package/dist/server/services/helpers/utils/pascal-case.js +10 -0
- package/dist/server/services/helpers/utils/pascal-case.js.map +1 -0
- package/dist/server/services/helpers/utils/pascal-case.mjs +8 -0
- package/dist/server/services/helpers/utils/pascal-case.mjs.map +1 -0
- package/dist/server/services/helpers/utils/query-params.js +109 -0
- package/dist/server/services/helpers/utils/query-params.js.map +1 -0
- package/dist/server/services/helpers/utils/query-params.mjs +107 -0
- package/dist/server/services/helpers/utils/query-params.mjs.map +1 -0
- package/dist/server/services/helpers/utils/routes.js +11 -0
- package/dist/server/services/helpers/utils/routes.js.map +1 -0
- package/dist/server/services/helpers/utils/routes.mjs +9 -0
- package/dist/server/services/helpers/utils/routes.mjs.map +1 -0
- package/dist/server/services/index.js +13 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +11 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/override.js +45 -0
- package/dist/server/services/override.js.map +1 -0
- package/dist/server/services/override.mjs +43 -0
- package/dist/server/services/override.mjs.map +1 -0
- package/dist/server/services/utils/get-plugins-that-need-documentation.js +24 -0
- package/dist/server/services/utils/get-plugins-that-need-documentation.js.map +1 -0
- package/dist/server/services/utils/get-plugins-that-need-documentation.mjs +22 -0
- package/dist/server/services/utils/get-plugins-that-need-documentation.mjs.map +1 -0
- package/dist/server/src/bootstrap.d.ts +5 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -0
- package/dist/server/src/config/default-plugin-config.d.ts +3 -0
- package/dist/server/src/config/default-plugin-config.d.ts.map +1 -0
- package/dist/server/src/config/index.d.ts +4 -0
- package/dist/server/src/config/index.d.ts.map +1 -0
- package/dist/server/src/controllers/documentation.d.ts +12 -0
- package/dist/server/src/controllers/documentation.d.ts.map +1 -0
- package/dist/server/src/controllers/index.d.ts +14 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +91 -0
- package/dist/server/src/index.d.ts.map +1 -0
- package/dist/server/src/middlewares/documentation.d.ts +5 -0
- package/dist/server/src/middlewares/documentation.d.ts.map +1 -0
- package/dist/server/src/middlewares/restrict-access.d.ts +4 -0
- package/dist/server/src/middlewares/restrict-access.d.ts.map +1 -0
- package/dist/server/src/register.d.ts +5 -0
- package/dist/server/src/register.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts +36 -0
- package/dist/server/src/routes/index.d.ts.map +1 -0
- package/dist/server/src/services/__mocks__/mock-content-types.d.ts +449 -0
- package/dist/server/src/services/__mocks__/mock-content-types.d.ts.map +1 -0
- package/dist/server/src/services/__mocks__/mock-strapi-data.d.ts +592 -0
- package/dist/server/src/services/__mocks__/mock-strapi-data.d.ts.map +1 -0
- package/dist/server/src/services/documentation.d.ts +36 -0
- package/dist/server/src/services/documentation.d.ts.map +1 -0
- package/dist/server/src/services/helpers/build-api-endpoint-path.d.ts +7 -0
- package/dist/server/src/services/helpers/build-api-endpoint-path.d.ts.map +1 -0
- package/dist/server/src/services/helpers/build-component-schema.d.ts +4 -0
- package/dist/server/src/services/helpers/build-component-schema.d.ts.map +1 -0
- package/dist/server/src/services/helpers/index.d.ts +4 -0
- package/dist/server/src/services/helpers/index.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts +15 -0
- package/dist/server/src/services/helpers/utils/clean-schema-attributes.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/get-api-responses.d.ts +15 -0
- package/dist/server/src/services/helpers/utils/get-api-responses.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/get-schema-data.d.ts +12 -0
- package/dist/server/src/services/helpers/utils/get-schema-data.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/loop-content-type-names.d.ts +7 -0
- package/dist/server/src/services/helpers/utils/loop-content-type-names.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/pascal-case.d.ts +3 -0
- package/dist/server/src/services/helpers/utils/pascal-case.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/query-params.d.ts +4 -0
- package/dist/server/src/services/helpers/utils/query-params.d.ts.map +1 -0
- package/dist/server/src/services/helpers/utils/routes.d.ts +3 -0
- package/dist/server/src/services/helpers/utils/routes.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +43 -0
- package/dist/server/src/services/index.d.ts.map +1 -0
- package/dist/server/src/services/override.d.ts +21 -0
- package/dist/server/src/services/override.d.ts.map +1 -0
- package/dist/server/src/services/utils/get-plugins-that-need-documentation.d.ts +4 -0
- package/dist/server/src/services/utils/get-plugins-that-need-documentation.d.ts.map +1 -0
- package/dist/server/src/types.d.ts +28 -0
- package/dist/server/src/types.d.ts.map +1 -0
- package/dist/server/src/utils.d.ts +12 -0
- package/dist/server/src/utils.d.ts.map +1 -0
- package/dist/server/utils.js +10 -0
- package/dist/server/utils.js.map +1 -0
- package/dist/server/utils.mjs +8 -0
- package/dist/server/utils.mjs.map +1 -0
- package/dist/tests/server.d.ts +2 -0
- package/package.json +55 -36
- package/.eslintignore +0 -1
- package/.eslintrc +0 -17
- package/admin/src/constants.js +0 -17
- package/admin/src/hooks/useDocumentation.js +0 -77
- package/admin/src/index.js +0 -76
- package/admin/src/pages/PluginPage/index.jsx +0 -230
- package/admin/src/pages/PluginPage/tests/index.test.jsx +0 -206
- package/admin/src/pages/SettingsPage/index.jsx +0 -211
- package/admin/src/pages/SettingsPage/tests/index.test.jsx +0 -124
- package/admin/src/pluginId.js +0 -5
- package/admin/src/translations/ar.json +0 -20
- package/admin/src/translations/cs.json +0 -21
- package/admin/src/translations/de.json +0 -26
- package/admin/src/translations/dk.json +0 -39
- package/admin/src/translations/en.json +0 -39
- package/admin/src/translations/es.json +0 -39
- package/admin/src/translations/fr.json +0 -26
- package/admin/src/translations/id.json +0 -24
- package/admin/src/translations/it.json +0 -26
- package/admin/src/translations/ko.json +0 -39
- package/admin/src/translations/ms.json +0 -23
- package/admin/src/translations/nl.json +0 -21
- package/admin/src/translations/pl.json +0 -39
- package/admin/src/translations/pt-BR.json +0 -21
- package/admin/src/translations/pt.json +0 -21
- package/admin/src/translations/ru.json +0 -39
- package/admin/src/translations/sk.json +0 -24
- package/admin/src/translations/sv.json +0 -39
- package/admin/src/translations/th.json +0 -24
- package/admin/src/translations/tr.json +0 -39
- package/admin/src/translations/uk.json +0 -23
- package/admin/src/translations/vi.json +0 -24
- package/admin/src/translations/zh-Hans.json +0 -28
- package/admin/src/translations/zh.json +0 -39
- package/admin/src/utils/getTrad.js +0 -5
- package/admin/src/utils/index.js +0 -2
- package/dist/_chunks/ar-3945178e.js +0 -24
- package/dist/_chunks/ar-3945178e.js.map +0 -1
- package/dist/_chunks/ar-a504b634.mjs +0 -24
- package/dist/_chunks/ar-a504b634.mjs.map +0 -1
- package/dist/_chunks/cs-053272e2.js +0 -25
- package/dist/_chunks/cs-053272e2.js.map +0 -1
- package/dist/_chunks/cs-feb7f04c.mjs +0 -25
- package/dist/_chunks/cs-feb7f04c.mjs.map +0 -1
- package/dist/_chunks/de-09853142.js +0 -30
- package/dist/_chunks/de-09853142.js.map +0 -1
- package/dist/_chunks/de-a33e1fea.mjs +0 -30
- package/dist/_chunks/de-a33e1fea.mjs.map +0 -1
- package/dist/_chunks/dk-05d66fde.js +0 -43
- package/dist/_chunks/dk-05d66fde.js.map +0 -1
- package/dist/_chunks/dk-ed9fcdcf.mjs +0 -43
- package/dist/_chunks/dk-ed9fcdcf.mjs.map +0 -1
- package/dist/_chunks/en-70db76ff.js +0 -43
- package/dist/_chunks/en-70db76ff.js.map +0 -1
- package/dist/_chunks/en-96395a32.mjs +0 -43
- package/dist/_chunks/en-96395a32.mjs.map +0 -1
- package/dist/_chunks/es-22de55e3.mjs +0 -43
- package/dist/_chunks/es-22de55e3.mjs.map +0 -1
- package/dist/_chunks/es-497d8815.js +0 -43
- package/dist/_chunks/es-497d8815.js.map +0 -1
- package/dist/_chunks/fr-24238f91.js +0 -30
- package/dist/_chunks/fr-24238f91.js.map +0 -1
- package/dist/_chunks/fr-70c3898d.mjs +0 -30
- package/dist/_chunks/fr-70c3898d.mjs.map +0 -1
- package/dist/_chunks/id-e9ab0af3.js +0 -28
- package/dist/_chunks/id-e9ab0af3.js.map +0 -1
- package/dist/_chunks/id-e9e00780.mjs +0 -28
- package/dist/_chunks/id-e9e00780.mjs.map +0 -1
- package/dist/_chunks/index-4cc861a3.js +0 -202
- package/dist/_chunks/index-4cc861a3.js.map +0 -1
- package/dist/_chunks/index-54726c75.js +0 -194
- package/dist/_chunks/index-54726c75.js.map +0 -1
- package/dist/_chunks/index-54f593c0.mjs +0 -167
- package/dist/_chunks/index-54f593c0.mjs.map +0 -1
- package/dist/_chunks/index-5ce6f663.mjs +0 -203
- package/dist/_chunks/index-5ce6f663.mjs.map +0 -1
- package/dist/_chunks/index-8258437b.mjs +0 -173
- package/dist/_chunks/index-8258437b.mjs.map +0 -1
- package/dist/_chunks/index-f5ad9f0c.js +0 -169
- package/dist/_chunks/index-f5ad9f0c.js.map +0 -1
- package/dist/_chunks/it-28ef2963.mjs +0 -30
- package/dist/_chunks/it-28ef2963.mjs.map +0 -1
- package/dist/_chunks/it-5255d492.js +0 -30
- package/dist/_chunks/it-5255d492.js.map +0 -1
- package/dist/_chunks/ko-34e7eb26.js +0 -43
- package/dist/_chunks/ko-34e7eb26.js.map +0 -1
- package/dist/_chunks/ko-a29301ee.mjs +0 -43
- package/dist/_chunks/ko-a29301ee.mjs.map +0 -1
- package/dist/_chunks/ms-63bb66e1.js +0 -27
- package/dist/_chunks/ms-63bb66e1.js.map +0 -1
- package/dist/_chunks/ms-87588bdb.mjs +0 -27
- package/dist/_chunks/ms-87588bdb.mjs.map +0 -1
- package/dist/_chunks/nl-0319020c.js +0 -25
- package/dist/_chunks/nl-0319020c.js.map +0 -1
- package/dist/_chunks/nl-91bcd809.mjs +0 -25
- package/dist/_chunks/nl-91bcd809.mjs.map +0 -1
- package/dist/_chunks/pl-2d57c604.js +0 -43
- package/dist/_chunks/pl-2d57c604.js.map +0 -1
- package/dist/_chunks/pl-7d7fe7b2.mjs +0 -43
- package/dist/_chunks/pl-7d7fe7b2.mjs.map +0 -1
- package/dist/_chunks/pt-9b66f3d5.mjs +0 -25
- package/dist/_chunks/pt-9b66f3d5.mjs.map +0 -1
- package/dist/_chunks/pt-BR-0024d4be.mjs +0 -25
- package/dist/_chunks/pt-BR-0024d4be.mjs.map +0 -1
- package/dist/_chunks/pt-BR-cf80ef96.js +0 -25
- package/dist/_chunks/pt-BR-cf80ef96.js.map +0 -1
- package/dist/_chunks/pt-b91837bc.js +0 -25
- package/dist/_chunks/pt-b91837bc.js.map +0 -1
- package/dist/_chunks/ru-468d9a30.mjs +0 -43
- package/dist/_chunks/ru-468d9a30.mjs.map +0 -1
- package/dist/_chunks/ru-91348271.js +0 -43
- package/dist/_chunks/ru-91348271.js.map +0 -1
- package/dist/_chunks/sk-01b7713b.mjs +0 -28
- package/dist/_chunks/sk-01b7713b.mjs.map +0 -1
- package/dist/_chunks/sk-10c03ab1.js +0 -28
- package/dist/_chunks/sk-10c03ab1.js.map +0 -1
- package/dist/_chunks/sv-7edbe28d.mjs +0 -43
- package/dist/_chunks/sv-7edbe28d.mjs.map +0 -1
- package/dist/_chunks/sv-e5237308.js +0 -43
- package/dist/_chunks/sv-e5237308.js.map +0 -1
- package/dist/_chunks/th-200a02f1.js +0 -28
- package/dist/_chunks/th-200a02f1.js.map +0 -1
- package/dist/_chunks/th-4fcead7f.mjs +0 -28
- package/dist/_chunks/th-4fcead7f.mjs.map +0 -1
- package/dist/_chunks/tr-8290d257.mjs +0 -43
- package/dist/_chunks/tr-8290d257.mjs.map +0 -1
- package/dist/_chunks/tr-fd36715f.js +0 -43
- package/dist/_chunks/tr-fd36715f.js.map +0 -1
- package/dist/_chunks/uk-bf914720.mjs +0 -27
- package/dist/_chunks/uk-bf914720.mjs.map +0 -1
- package/dist/_chunks/uk-cb462605.js +0 -27
- package/dist/_chunks/uk-cb462605.js.map +0 -1
- package/dist/_chunks/useDocumentation-69156a83.mjs +0 -66
- package/dist/_chunks/useDocumentation-69156a83.mjs.map +0 -1
- package/dist/_chunks/useDocumentation-bc5be6cb.js +0 -65
- package/dist/_chunks/useDocumentation-bc5be6cb.js.map +0 -1
- package/dist/_chunks/vi-d2e2e100.js +0 -28
- package/dist/_chunks/vi-d2e2e100.js.map +0 -1
- package/dist/_chunks/vi-ddc8357e.mjs +0 -28
- package/dist/_chunks/vi-ddc8357e.mjs.map +0 -1
- package/dist/_chunks/zh-7b489db7.mjs +0 -43
- package/dist/_chunks/zh-7b489db7.mjs.map +0 -1
- package/dist/_chunks/zh-8da2191f.js +0 -43
- package/dist/_chunks/zh-8da2191f.js.map +0 -1
- package/dist/_chunks/zh-Hans-6cefb513.mjs +0 -32
- package/dist/_chunks/zh-Hans-6cefb513.mjs.map +0 -1
- package/dist/_chunks/zh-Hans-c2e4b737.js +0 -32
- package/dist/_chunks/zh-Hans-c2e4b737.js.map +0 -1
- package/jest.config.front.js +0 -7
- package/jest.config.js +0 -6
- package/packup.config.ts +0 -22
- package/server/bootstrap.js +0 -54
- package/server/config/default-plugin-config.js +0 -35
- package/server/config/index.js +0 -7
- package/server/controllers/documentation.js +0 -241
- package/server/controllers/index.js +0 -7
- package/server/index.js +0 -17
- package/server/middlewares/documentation.js +0 -25
- package/server/middlewares/index.js +0 -7
- package/server/middlewares/restrict-access.js +0 -24
- package/server/public/index.html +0 -70
- package/server/public/login.html +0 -145
- package/server/register.js +0 -11
- package/server/routes/index.js +0 -84
- package/server/services/__mocks__/mock-content-types.js +0 -269
- package/server/services/__mocks__/mock-strapi-data.js +0 -183
- package/server/services/__tests__/build-component-schema.test.js +0 -761
- package/server/services/__tests__/documentation.test.js +0 -481
- package/server/services/__tests__/override.test.js +0 -85
- package/server/services/documentation.js +0 -247
- package/server/services/helpers/build-api-endpoint-path.js +0 -186
- package/server/services/helpers/build-component-schema.js +0 -254
- package/server/services/helpers/index.js +0 -9
- package/server/services/helpers/utils/clean-schema-attributes.js +0 -244
- package/server/services/helpers/utils/get-api-responses.js +0 -105
- package/server/services/helpers/utils/get-schema-data.js +0 -32
- package/server/services/helpers/utils/loop-content-type-names.js +0 -55
- package/server/services/helpers/utils/pascal-case.js +0 -9
- package/server/services/helpers/utils/query-params.js +0 -105
- package/server/services/helpers/utils/routes.js +0 -10
- package/server/services/index.js +0 -9
- package/server/services/override.js +0 -52
- package/server/services/utils/default-openapi-components.js +0 -40
- package/server/services/utils/get-plugins-that-need-documentation.js +0 -24
- package/strapi-server.js +0 -3
- package/tests/server.js +0 -37
- package/tests/setup.js +0 -15
package/LICENSE
CHANGED
|
@@ -2,7 +2,21 @@ Copyright (c) 2015-present Strapi Solutions SAS
|
|
|
2
2
|
|
|
3
3
|
Portions of the Strapi software are licensed as follows:
|
|
4
4
|
|
|
5
|
-
* All software that resides under an "ee/" directory (the “EE Software”), if that directory exists, is licensed under the license defined
|
|
5
|
+
* All software that resides under an "ee/" directory (the “EE Software”), if that directory exists, is licensed under the license defined below.
|
|
6
|
+
|
|
7
|
+
Enterprise License
|
|
8
|
+
|
|
9
|
+
If you or the company you represent has entered into a written agreement referencing the Enterprise Edition of the Strapi source code available at
|
|
10
|
+
https://github.com/strapi/strapi, then such agreement applies to your use of the Enterprise Edition of the Strapi Software. If you or the company you
|
|
11
|
+
represent is using the Enterprise Edition of the Strapi Software in connection with a subscription to our cloud offering, then the agreement you have
|
|
12
|
+
agreed to with respect to our cloud offering and the licenses included in such agreement apply to your use of the Enterprise Edition of the Strapi Software.
|
|
13
|
+
Otherwise, the Strapi Enterprise Software License Agreement (found here https://strapi.io/enterprise-terms) applies to your use of the Enterprise Edition of the Strapi Software.
|
|
14
|
+
|
|
15
|
+
BY ACCESSING OR USING THE ENTERPRISE EDITION OF THE STRAPI SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE RELEVANT REFERENCED AGREEMENT.
|
|
16
|
+
IF YOU ARE NOT AUTHORIZED TO ACCEPT THESE TERMS ON BEHALF OF THE COMPANY YOU REPRESENT OR IF YOU DO NOT AGREE TO ALL OF THE RELEVANT TERMS AND CONDITIONS REFERENCED AND YOU
|
|
17
|
+
HAVE NOT OTHERWISE EXECUTED A WRITTEN AGREEMENT WITH STRAPI, YOU ARE NOT AUTHORIZED TO ACCESS OR USE OR ALLOW ANY USER TO ACCESS OR USE ANY PART OF
|
|
18
|
+
THE ENTERPRISE EDITION OF THE STRAPI SOFTWARE. YOUR ACCESS RIGHTS ARE CONDITIONAL ON YOUR CONSENT TO THE RELEVANT REFERENCED TERMS TO THE EXCLUSION OF ALL OTHER TERMS;
|
|
19
|
+
IF THE RELEVANT REFERENCED TERMS ARE CONSIDERED AN OFFER BY YOU, ACCEPTANCE IS EXPRESSLY LIMITED TO THE RELEVANT REFERENCED TERMS.
|
|
6
20
|
|
|
7
21
|
* All software outside of the above-mentioned directories or restrictions above is available under the "MIT Expat" license as set forth below.
|
|
8
22
|
|
|
@@ -18,5 +32,6 @@ furnished to do so, subject to the following conditions:
|
|
|
18
32
|
The above copyright notice and this permission notice shall be included in all
|
|
19
33
|
copies or substantial portions of the Software.
|
|
20
34
|
|
|
21
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
-
|
|
35
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
36
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
37
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
CHANGED
|
@@ -59,7 +59,6 @@ It has the following structure
|
|
|
59
59
|
...
|
|
60
60
|
},
|
|
61
61
|
"x-strapi-config": {
|
|
62
|
-
"path": "/documentation", // Change this line to change to url of the doc
|
|
63
62
|
"showGeneratedFiles": true // Do not change this line at the moment...
|
|
64
63
|
},
|
|
65
64
|
"servers": {}, // Your servers config (it will be automated)
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var designSystem = require('@strapi/design-system');
|
|
6
|
+
var icons = require('@strapi/icons');
|
|
7
|
+
var admin = require('@strapi/strapi/admin');
|
|
8
|
+
var formik = require('formik');
|
|
9
|
+
var reactIntl = require('react-intl');
|
|
10
|
+
var styledComponents = require('styled-components');
|
|
11
|
+
var yup = require('yup');
|
|
12
|
+
var constants = require('../constants.js');
|
|
13
|
+
var getTrad = require('../utils/getTrad.js');
|
|
14
|
+
|
|
15
|
+
function _interopNamespaceDefault(e) {
|
|
16
|
+
var n = Object.create(null);
|
|
17
|
+
if (e) {
|
|
18
|
+
Object.keys(e).forEach(function (k) {
|
|
19
|
+
if (k !== 'default') {
|
|
20
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
21
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return e[k]; }
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
n.default = e;
|
|
29
|
+
return Object.freeze(n);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
33
|
+
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
34
|
+
|
|
35
|
+
const schema = yup__namespace.object().shape({
|
|
36
|
+
restrictedAccess: yup__namespace.boolean(),
|
|
37
|
+
password: yup__namespace.string().when('restrictedAccess', (value, initSchema)=>{
|
|
38
|
+
return value ? initSchema.required(admin.translatedErrors.required.id).min(8).matches(/[a-z]/, 'components.Input.error.contain.lowercase').matches(/[A-Z]/, 'components.Input.error.contain.uppercase').matches(/\d/, 'components.Input.error.contain.number') : initSchema;
|
|
39
|
+
})
|
|
40
|
+
});
|
|
41
|
+
const FieldActionWrapper = styledComponents.styled(designSystem.Field.Action)`
|
|
42
|
+
svg {
|
|
43
|
+
height: 1.6rem;
|
|
44
|
+
width: 1.6rem;
|
|
45
|
+
path {
|
|
46
|
+
fill: ${({ theme })=>theme.colors.neutral600};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
`;
|
|
50
|
+
const SettingsForm = ({ data, onSubmit })=>{
|
|
51
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
52
|
+
const [passwordShown, setPasswordShown] = React__namespace.useState(false);
|
|
53
|
+
const { allowedActions } = admin.useRBAC(constants.PERMISSIONS);
|
|
54
|
+
return /*#__PURE__*/ jsxRuntime.jsx(formik.Formik, {
|
|
55
|
+
enableReinitialize: true,
|
|
56
|
+
initialValues: {
|
|
57
|
+
restrictedAccess: data?.documentationAccess.restrictedAccess || false,
|
|
58
|
+
password: ''
|
|
59
|
+
},
|
|
60
|
+
onSubmit: onSubmit,
|
|
61
|
+
validationSchema: schema,
|
|
62
|
+
children: ({ handleSubmit, values, handleChange, errors, setFieldTouched, setFieldValue, setFieldError, dirty })=>{
|
|
63
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(formik.Form, {
|
|
64
|
+
noValidate: true,
|
|
65
|
+
onSubmit: handleSubmit,
|
|
66
|
+
children: [
|
|
67
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Header, {
|
|
68
|
+
title: formatMessage({
|
|
69
|
+
id: getTrad.getTrad('plugin.name'),
|
|
70
|
+
defaultMessage: 'Documentation'
|
|
71
|
+
}),
|
|
72
|
+
subtitle: formatMessage({
|
|
73
|
+
id: getTrad.getTrad('pages.SettingsPage.header.description'),
|
|
74
|
+
defaultMessage: 'Configure the documentation plugin'
|
|
75
|
+
}),
|
|
76
|
+
primaryAction: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
77
|
+
type: "submit",
|
|
78
|
+
startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Check, {}),
|
|
79
|
+
disabled: !dirty && allowedActions.canUpdate,
|
|
80
|
+
children: formatMessage({
|
|
81
|
+
id: getTrad.getTrad('pages.SettingsPage.Button.save'),
|
|
82
|
+
defaultMessage: 'Save'
|
|
83
|
+
})
|
|
84
|
+
})
|
|
85
|
+
}),
|
|
86
|
+
/*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Content, {
|
|
87
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
88
|
+
background: "neutral0",
|
|
89
|
+
hasRadius: true,
|
|
90
|
+
shadow: "filterShadow",
|
|
91
|
+
paddingTop: 6,
|
|
92
|
+
paddingBottom: 6,
|
|
93
|
+
paddingLeft: 7,
|
|
94
|
+
paddingRight: 7,
|
|
95
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
96
|
+
direction: "column",
|
|
97
|
+
alignItems: "stretch",
|
|
98
|
+
gap: 4,
|
|
99
|
+
children: [
|
|
100
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
101
|
+
variant: "delta",
|
|
102
|
+
tag: "h2",
|
|
103
|
+
children: formatMessage({
|
|
104
|
+
id: 'global.settings',
|
|
105
|
+
defaultMessage: 'Settings'
|
|
106
|
+
})
|
|
107
|
+
}),
|
|
108
|
+
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
|
|
109
|
+
gap: 4,
|
|
110
|
+
children: [
|
|
111
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
|
112
|
+
col: 6,
|
|
113
|
+
s: 12,
|
|
114
|
+
direction: "column",
|
|
115
|
+
alignItems: "stretch",
|
|
116
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
|
|
117
|
+
name: "restrictedAccess",
|
|
118
|
+
hint: formatMessage({
|
|
119
|
+
id: getTrad.getTrad('pages.SettingsPage.toggle.hint'),
|
|
120
|
+
defaultMessage: 'Make the documentation endpoint private'
|
|
121
|
+
}),
|
|
122
|
+
children: [
|
|
123
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
|
|
124
|
+
children: formatMessage({
|
|
125
|
+
id: getTrad.getTrad('pages.SettingsPage.toggle.label'),
|
|
126
|
+
defaultMessage: 'Restricted Access'
|
|
127
|
+
})
|
|
128
|
+
}),
|
|
129
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Toggle, {
|
|
130
|
+
checked: values.restrictedAccess,
|
|
131
|
+
onChange: ()=>{
|
|
132
|
+
if (values.restrictedAccess === true) {
|
|
133
|
+
setFieldValue('password', '', false);
|
|
134
|
+
setFieldTouched('password', false, false);
|
|
135
|
+
setFieldError('password', undefined);
|
|
136
|
+
}
|
|
137
|
+
setFieldValue('restrictedAccess', !values.restrictedAccess, false);
|
|
138
|
+
},
|
|
139
|
+
onLabel: "On",
|
|
140
|
+
offLabel: "Off"
|
|
141
|
+
}),
|
|
142
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Hint, {})
|
|
143
|
+
]
|
|
144
|
+
})
|
|
145
|
+
}),
|
|
146
|
+
values.restrictedAccess && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
|
147
|
+
col: 6,
|
|
148
|
+
s: 12,
|
|
149
|
+
direction: "column",
|
|
150
|
+
alignItems: "stretch",
|
|
151
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
|
|
152
|
+
name: "password",
|
|
153
|
+
error: errors.password ? formatMessage({
|
|
154
|
+
id: errors.password,
|
|
155
|
+
defaultMessage: errors.password
|
|
156
|
+
}) : undefined,
|
|
157
|
+
children: [
|
|
158
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
|
|
159
|
+
children: formatMessage({
|
|
160
|
+
id: 'global.password',
|
|
161
|
+
defaultMessage: 'Password'
|
|
162
|
+
})
|
|
163
|
+
}),
|
|
164
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
|
|
165
|
+
placeholder: "**********",
|
|
166
|
+
type: passwordShown ? 'text' : 'password',
|
|
167
|
+
value: values.password,
|
|
168
|
+
onChange: handleChange,
|
|
169
|
+
endAction: /*#__PURE__*/ jsxRuntime.jsx(FieldActionWrapper, {
|
|
170
|
+
onClick: (e)=>{
|
|
171
|
+
e.stopPropagation();
|
|
172
|
+
setPasswordShown((prev)=>!prev);
|
|
173
|
+
},
|
|
174
|
+
label: formatMessage(passwordShown ? {
|
|
175
|
+
id: 'Auth.form.password.show-password',
|
|
176
|
+
defaultMessage: 'Show password'
|
|
177
|
+
} : {
|
|
178
|
+
id: 'Auth.form.password.hide-password',
|
|
179
|
+
defaultMessage: 'Hide password'
|
|
180
|
+
}),
|
|
181
|
+
children: passwordShown ? /*#__PURE__*/ jsxRuntime.jsx(icons.Eye, {}) : /*#__PURE__*/ jsxRuntime.jsx(icons.EyeStriked, {})
|
|
182
|
+
})
|
|
183
|
+
}),
|
|
184
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
|
|
185
|
+
]
|
|
186
|
+
})
|
|
187
|
+
})
|
|
188
|
+
]
|
|
189
|
+
})
|
|
190
|
+
]
|
|
191
|
+
})
|
|
192
|
+
})
|
|
193
|
+
})
|
|
194
|
+
]
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
exports.SettingsForm = SettingsForm;
|
|
201
|
+
//# sourceMappingURL=SettingsForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsForm.js","sources":["../../../admin/src/components/SettingsForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n TextInput,\n Toggle,\n Typography,\n Field,\n} from '@strapi/design-system';\n// Strapi Icons\nimport { Check, Eye as Show, EyeStriked as Hide } from '@strapi/icons';\nimport { translatedErrors, useRBAC, Layouts } from '@strapi/strapi/admin';\nimport { Form, Formik, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { PERMISSIONS } from '../constants';\nimport { DocumentInfos, SettingsInput } from '../types';\nimport { getTrad } from '../utils';\n\nconst schema = yup.object().shape({\n restrictedAccess: yup.boolean(),\n password: yup.string().when('restrictedAccess', (value, initSchema) => {\n return value\n ? initSchema\n .required(translatedErrors.required.id)\n .min(8)\n .matches(/[a-z]/, 'components.Input.error.contain.lowercase')\n .matches(/[A-Z]/, 'components.Input.error.contain.uppercase')\n .matches(/\\d/, 'components.Input.error.contain.number')\n : initSchema;\n }),\n});\n\nconst FieldActionWrapper = styled(Field.Action)`\n svg {\n height: 1.6rem;\n width: 1.6rem;\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\ntype SettingsFormProps = {\n data?: DocumentInfos;\n onSubmit: (body: SettingsInput, formik: FormikHelpers<SettingsInput>) => Promise<void>;\n};\n\nexport const SettingsForm = ({ data, onSubmit }: SettingsFormProps) => {\n const { formatMessage } = useIntl();\n const [passwordShown, setPasswordShown] = React.useState(false);\n const { allowedActions } = useRBAC(PERMISSIONS);\n\n return (\n <Formik\n enableReinitialize\n initialValues={{\n restrictedAccess: data?.documentationAccess.restrictedAccess || false,\n password: '',\n }}\n onSubmit={onSubmit}\n validationSchema={schema}\n >\n {({\n handleSubmit,\n values,\n handleChange,\n errors,\n setFieldTouched,\n setFieldValue,\n setFieldError,\n dirty,\n }) => {\n return (\n <Form noValidate onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('plugin.name'),\n defaultMessage: 'Documentation',\n })}\n subtitle={formatMessage({\n id: getTrad('pages.SettingsPage.header.description'),\n defaultMessage: 'Configure the documentation plugin',\n })}\n primaryAction={\n <Button\n type=\"submit\"\n startIcon={<Check />}\n disabled={!dirty && allowedActions.canUpdate}\n >\n {formatMessage({\n id: getTrad('pages.SettingsPage.Button.save'),\n defaultMessage: 'Save',\n })}\n </Button>\n }\n />\n <Layouts.Content>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root gap={4}>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"restrictedAccess\"\n hint={formatMessage({\n id: getTrad('pages.SettingsPage.toggle.hint'),\n defaultMessage: 'Make the documentation endpoint private',\n })}\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('pages.SettingsPage.toggle.label'),\n defaultMessage: 'Restricted Access',\n })}\n </Field.Label>\n <Toggle\n checked={values.restrictedAccess}\n onChange={() => {\n if (values.restrictedAccess === true) {\n setFieldValue('password', '', false);\n setFieldTouched('password', false, false);\n setFieldError('password', undefined);\n }\n\n setFieldValue('restrictedAccess', !values.restrictedAccess, false);\n }}\n onLabel=\"On\"\n offLabel=\"Off\"\n />\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n {values.restrictedAccess && (\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"password\"\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : undefined\n }\n >\n <Field.Label>\n {formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n </Field.Label>\n <TextInput\n placeholder=\"**********\"\n type={passwordShown ? 'text' : 'password'}\n value={values.password}\n onChange={handleChange}\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Show /> : <Hide />}\n </FieldActionWrapper>\n }\n />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n )}\n </Grid.Root>\n </Flex>\n </Box>\n </Layouts.Content>\n </Form>\n );\n }}\n </Formik>\n );\n};\n"],"names":["schema","yup","object","shape","restrictedAccess","boolean","password","string","when","value","initSchema","required","translatedErrors","id","min","matches","FieldActionWrapper","styled","Field","Action","theme","colors","neutral600","SettingsForm","data","onSubmit","formatMessage","useIntl","passwordShown","setPasswordShown","React","useState","allowedActions","useRBAC","PERMISSIONS","_jsx","Formik","enableReinitialize","initialValues","documentationAccess","validationSchema","handleSubmit","values","handleChange","errors","setFieldTouched","setFieldValue","setFieldError","dirty","_jsxs","Form","noValidate","Layouts","Header","title","getTrad","defaultMessage","subtitle","primaryAction","Button","type","startIcon","Check","disabled","canUpdate","Content","Box","background","hasRadius","shadow","paddingTop","paddingBottom","paddingLeft","paddingRight","Flex","direction","alignItems","gap","Typography","variant","tag","Grid","Root","Item","col","s","name","hint","Label","Toggle","checked","onChange","undefined","onLabel","offLabel","Hint","error","TextInput","placeholder","endAction","onClick","e","stopPropagation","prev","label","Show","Hide","Error"],"mappings":"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"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Field, Button, Box, Flex, Typography, Grid, Toggle, TextInput } from '@strapi/design-system';
|
|
4
|
+
import { Check, Eye, EyeStriked } from '@strapi/icons';
|
|
5
|
+
import { translatedErrors, useRBAC, Layouts } from '@strapi/strapi/admin';
|
|
6
|
+
import { Formik, Form } from 'formik';
|
|
7
|
+
import { useIntl } from 'react-intl';
|
|
8
|
+
import { styled } from 'styled-components';
|
|
9
|
+
import * as yup from 'yup';
|
|
10
|
+
import { PERMISSIONS } from '../constants.mjs';
|
|
11
|
+
import { getTrad } from '../utils/getTrad.mjs';
|
|
12
|
+
|
|
13
|
+
const schema = yup.object().shape({
|
|
14
|
+
restrictedAccess: yup.boolean(),
|
|
15
|
+
password: yup.string().when('restrictedAccess', (value, initSchema)=>{
|
|
16
|
+
return value ? initSchema.required(translatedErrors.required.id).min(8).matches(/[a-z]/, 'components.Input.error.contain.lowercase').matches(/[A-Z]/, 'components.Input.error.contain.uppercase').matches(/\d/, 'components.Input.error.contain.number') : initSchema;
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
const FieldActionWrapper = styled(Field.Action)`
|
|
20
|
+
svg {
|
|
21
|
+
height: 1.6rem;
|
|
22
|
+
width: 1.6rem;
|
|
23
|
+
path {
|
|
24
|
+
fill: ${({ theme })=>theme.colors.neutral600};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
`;
|
|
28
|
+
const SettingsForm = ({ data, onSubmit })=>{
|
|
29
|
+
const { formatMessage } = useIntl();
|
|
30
|
+
const [passwordShown, setPasswordShown] = React.useState(false);
|
|
31
|
+
const { allowedActions } = useRBAC(PERMISSIONS);
|
|
32
|
+
return /*#__PURE__*/ jsx(Formik, {
|
|
33
|
+
enableReinitialize: true,
|
|
34
|
+
initialValues: {
|
|
35
|
+
restrictedAccess: data?.documentationAccess.restrictedAccess || false,
|
|
36
|
+
password: ''
|
|
37
|
+
},
|
|
38
|
+
onSubmit: onSubmit,
|
|
39
|
+
validationSchema: schema,
|
|
40
|
+
children: ({ handleSubmit, values, handleChange, errors, setFieldTouched, setFieldValue, setFieldError, dirty })=>{
|
|
41
|
+
return /*#__PURE__*/ jsxs(Form, {
|
|
42
|
+
noValidate: true,
|
|
43
|
+
onSubmit: handleSubmit,
|
|
44
|
+
children: [
|
|
45
|
+
/*#__PURE__*/ jsx(Layouts.Header, {
|
|
46
|
+
title: formatMessage({
|
|
47
|
+
id: getTrad('plugin.name'),
|
|
48
|
+
defaultMessage: 'Documentation'
|
|
49
|
+
}),
|
|
50
|
+
subtitle: formatMessage({
|
|
51
|
+
id: getTrad('pages.SettingsPage.header.description'),
|
|
52
|
+
defaultMessage: 'Configure the documentation plugin'
|
|
53
|
+
}),
|
|
54
|
+
primaryAction: /*#__PURE__*/ jsx(Button, {
|
|
55
|
+
type: "submit",
|
|
56
|
+
startIcon: /*#__PURE__*/ jsx(Check, {}),
|
|
57
|
+
disabled: !dirty && allowedActions.canUpdate,
|
|
58
|
+
children: formatMessage({
|
|
59
|
+
id: getTrad('pages.SettingsPage.Button.save'),
|
|
60
|
+
defaultMessage: 'Save'
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
}),
|
|
64
|
+
/*#__PURE__*/ jsx(Layouts.Content, {
|
|
65
|
+
children: /*#__PURE__*/ jsx(Box, {
|
|
66
|
+
background: "neutral0",
|
|
67
|
+
hasRadius: true,
|
|
68
|
+
shadow: "filterShadow",
|
|
69
|
+
paddingTop: 6,
|
|
70
|
+
paddingBottom: 6,
|
|
71
|
+
paddingLeft: 7,
|
|
72
|
+
paddingRight: 7,
|
|
73
|
+
children: /*#__PURE__*/ jsxs(Flex, {
|
|
74
|
+
direction: "column",
|
|
75
|
+
alignItems: "stretch",
|
|
76
|
+
gap: 4,
|
|
77
|
+
children: [
|
|
78
|
+
/*#__PURE__*/ jsx(Typography, {
|
|
79
|
+
variant: "delta",
|
|
80
|
+
tag: "h2",
|
|
81
|
+
children: formatMessage({
|
|
82
|
+
id: 'global.settings',
|
|
83
|
+
defaultMessage: 'Settings'
|
|
84
|
+
})
|
|
85
|
+
}),
|
|
86
|
+
/*#__PURE__*/ jsxs(Grid.Root, {
|
|
87
|
+
gap: 4,
|
|
88
|
+
children: [
|
|
89
|
+
/*#__PURE__*/ jsx(Grid.Item, {
|
|
90
|
+
col: 6,
|
|
91
|
+
s: 12,
|
|
92
|
+
direction: "column",
|
|
93
|
+
alignItems: "stretch",
|
|
94
|
+
children: /*#__PURE__*/ jsxs(Field.Root, {
|
|
95
|
+
name: "restrictedAccess",
|
|
96
|
+
hint: formatMessage({
|
|
97
|
+
id: getTrad('pages.SettingsPage.toggle.hint'),
|
|
98
|
+
defaultMessage: 'Make the documentation endpoint private'
|
|
99
|
+
}),
|
|
100
|
+
children: [
|
|
101
|
+
/*#__PURE__*/ jsx(Field.Label, {
|
|
102
|
+
children: formatMessage({
|
|
103
|
+
id: getTrad('pages.SettingsPage.toggle.label'),
|
|
104
|
+
defaultMessage: 'Restricted Access'
|
|
105
|
+
})
|
|
106
|
+
}),
|
|
107
|
+
/*#__PURE__*/ jsx(Toggle, {
|
|
108
|
+
checked: values.restrictedAccess,
|
|
109
|
+
onChange: ()=>{
|
|
110
|
+
if (values.restrictedAccess === true) {
|
|
111
|
+
setFieldValue('password', '', false);
|
|
112
|
+
setFieldTouched('password', false, false);
|
|
113
|
+
setFieldError('password', undefined);
|
|
114
|
+
}
|
|
115
|
+
setFieldValue('restrictedAccess', !values.restrictedAccess, false);
|
|
116
|
+
},
|
|
117
|
+
onLabel: "On",
|
|
118
|
+
offLabel: "Off"
|
|
119
|
+
}),
|
|
120
|
+
/*#__PURE__*/ jsx(Field.Hint, {})
|
|
121
|
+
]
|
|
122
|
+
})
|
|
123
|
+
}),
|
|
124
|
+
values.restrictedAccess && /*#__PURE__*/ jsx(Grid.Item, {
|
|
125
|
+
col: 6,
|
|
126
|
+
s: 12,
|
|
127
|
+
direction: "column",
|
|
128
|
+
alignItems: "stretch",
|
|
129
|
+
children: /*#__PURE__*/ jsxs(Field.Root, {
|
|
130
|
+
name: "password",
|
|
131
|
+
error: errors.password ? formatMessage({
|
|
132
|
+
id: errors.password,
|
|
133
|
+
defaultMessage: errors.password
|
|
134
|
+
}) : undefined,
|
|
135
|
+
children: [
|
|
136
|
+
/*#__PURE__*/ jsx(Field.Label, {
|
|
137
|
+
children: formatMessage({
|
|
138
|
+
id: 'global.password',
|
|
139
|
+
defaultMessage: 'Password'
|
|
140
|
+
})
|
|
141
|
+
}),
|
|
142
|
+
/*#__PURE__*/ jsx(TextInput, {
|
|
143
|
+
placeholder: "**********",
|
|
144
|
+
type: passwordShown ? 'text' : 'password',
|
|
145
|
+
value: values.password,
|
|
146
|
+
onChange: handleChange,
|
|
147
|
+
endAction: /*#__PURE__*/ jsx(FieldActionWrapper, {
|
|
148
|
+
onClick: (e)=>{
|
|
149
|
+
e.stopPropagation();
|
|
150
|
+
setPasswordShown((prev)=>!prev);
|
|
151
|
+
},
|
|
152
|
+
label: formatMessage(passwordShown ? {
|
|
153
|
+
id: 'Auth.form.password.show-password',
|
|
154
|
+
defaultMessage: 'Show password'
|
|
155
|
+
} : {
|
|
156
|
+
id: 'Auth.form.password.hide-password',
|
|
157
|
+
defaultMessage: 'Hide password'
|
|
158
|
+
}),
|
|
159
|
+
children: passwordShown ? /*#__PURE__*/ jsx(Eye, {}) : /*#__PURE__*/ jsx(EyeStriked, {})
|
|
160
|
+
})
|
|
161
|
+
}),
|
|
162
|
+
/*#__PURE__*/ jsx(Field.Error, {})
|
|
163
|
+
]
|
|
164
|
+
})
|
|
165
|
+
})
|
|
166
|
+
]
|
|
167
|
+
})
|
|
168
|
+
]
|
|
169
|
+
})
|
|
170
|
+
})
|
|
171
|
+
})
|
|
172
|
+
]
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
export { SettingsForm };
|
|
179
|
+
//# sourceMappingURL=SettingsForm.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsForm.mjs","sources":["../../../admin/src/components/SettingsForm.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n TextInput,\n Toggle,\n Typography,\n Field,\n} from '@strapi/design-system';\n// Strapi Icons\nimport { Check, Eye as Show, EyeStriked as Hide } from '@strapi/icons';\nimport { translatedErrors, useRBAC, Layouts } from '@strapi/strapi/admin';\nimport { Form, Formik, FormikHelpers } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { PERMISSIONS } from '../constants';\nimport { DocumentInfos, SettingsInput } from '../types';\nimport { getTrad } from '../utils';\n\nconst schema = yup.object().shape({\n restrictedAccess: yup.boolean(),\n password: yup.string().when('restrictedAccess', (value, initSchema) => {\n return value\n ? initSchema\n .required(translatedErrors.required.id)\n .min(8)\n .matches(/[a-z]/, 'components.Input.error.contain.lowercase')\n .matches(/[A-Z]/, 'components.Input.error.contain.uppercase')\n .matches(/\\d/, 'components.Input.error.contain.number')\n : initSchema;\n }),\n});\n\nconst FieldActionWrapper = styled(Field.Action)`\n svg {\n height: 1.6rem;\n width: 1.6rem;\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n`;\n\ntype SettingsFormProps = {\n data?: DocumentInfos;\n onSubmit: (body: SettingsInput, formik: FormikHelpers<SettingsInput>) => Promise<void>;\n};\n\nexport const SettingsForm = ({ data, onSubmit }: SettingsFormProps) => {\n const { formatMessage } = useIntl();\n const [passwordShown, setPasswordShown] = React.useState(false);\n const { allowedActions } = useRBAC(PERMISSIONS);\n\n return (\n <Formik\n enableReinitialize\n initialValues={{\n restrictedAccess: data?.documentationAccess.restrictedAccess || false,\n password: '',\n }}\n onSubmit={onSubmit}\n validationSchema={schema}\n >\n {({\n handleSubmit,\n values,\n handleChange,\n errors,\n setFieldTouched,\n setFieldValue,\n setFieldError,\n dirty,\n }) => {\n return (\n <Form noValidate onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('plugin.name'),\n defaultMessage: 'Documentation',\n })}\n subtitle={formatMessage({\n id: getTrad('pages.SettingsPage.header.description'),\n defaultMessage: 'Configure the documentation plugin',\n })}\n primaryAction={\n <Button\n type=\"submit\"\n startIcon={<Check />}\n disabled={!dirty && allowedActions.canUpdate}\n >\n {formatMessage({\n id: getTrad('pages.SettingsPage.Button.save'),\n defaultMessage: 'Save',\n })}\n </Button>\n }\n />\n <Layouts.Content>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root gap={4}>\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"restrictedAccess\"\n hint={formatMessage({\n id: getTrad('pages.SettingsPage.toggle.hint'),\n defaultMessage: 'Make the documentation endpoint private',\n })}\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('pages.SettingsPage.toggle.label'),\n defaultMessage: 'Restricted Access',\n })}\n </Field.Label>\n <Toggle\n checked={values.restrictedAccess}\n onChange={() => {\n if (values.restrictedAccess === true) {\n setFieldValue('password', '', false);\n setFieldTouched('password', false, false);\n setFieldError('password', undefined);\n }\n\n setFieldValue('restrictedAccess', !values.restrictedAccess, false);\n }}\n onLabel=\"On\"\n offLabel=\"Off\"\n />\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n {values.restrictedAccess && (\n <Grid.Item col={6} s={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"password\"\n error={\n errors.password\n ? formatMessage({\n id: errors.password,\n defaultMessage: errors.password,\n })\n : undefined\n }\n >\n <Field.Label>\n {formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n })}\n </Field.Label>\n <TextInput\n placeholder=\"**********\"\n type={passwordShown ? 'text' : 'password'}\n value={values.password}\n onChange={handleChange}\n endAction={\n <FieldActionWrapper\n onClick={(e) => {\n e.stopPropagation();\n setPasswordShown((prev) => !prev);\n }}\n label={formatMessage(\n passwordShown\n ? {\n id: 'Auth.form.password.show-password',\n defaultMessage: 'Show password',\n }\n : {\n id: 'Auth.form.password.hide-password',\n defaultMessage: 'Hide password',\n }\n )}\n >\n {passwordShown ? <Show /> : <Hide />}\n </FieldActionWrapper>\n }\n />\n <Field.Error />\n </Field.Root>\n </Grid.Item>\n )}\n </Grid.Root>\n </Flex>\n </Box>\n </Layouts.Content>\n </Form>\n );\n }}\n </Formik>\n );\n};\n"],"names":["schema","yup","object","shape","restrictedAccess","boolean","password","string","when","value","initSchema","required","translatedErrors","id","min","matches","FieldActionWrapper","styled","Field","Action","theme","colors","neutral600","SettingsForm","data","onSubmit","formatMessage","useIntl","passwordShown","setPasswordShown","React","useState","allowedActions","useRBAC","PERMISSIONS","_jsx","Formik","enableReinitialize","initialValues","documentationAccess","validationSchema","handleSubmit","values","handleChange","errors","setFieldTouched","setFieldValue","setFieldError","dirty","_jsxs","Form","noValidate","Layouts","Header","title","getTrad","defaultMessage","subtitle","primaryAction","Button","type","startIcon","Check","disabled","canUpdate","Content","Box","background","hasRadius","shadow","paddingTop","paddingBottom","paddingLeft","paddingRight","Flex","direction","alignItems","gap","Typography","variant","tag","Grid","Root","Item","col","s","name","hint","Label","Toggle","checked","onChange","undefined","onLabel","offLabel","Hint","error","TextInput","placeholder","endAction","onClick","e","stopPropagation","prev","label","Show","Hide","Error"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const PERMISSIONS = {
|
|
4
|
+
// This permission regards the main component (App) and is used to tell
|
|
5
|
+
// If the plugin link should be displayed in the menu
|
|
6
|
+
// And also if the plugin is accessible. This use case is found when a user types the url of the
|
|
7
|
+
// plugin directly in the browser
|
|
8
|
+
main: [
|
|
9
|
+
{
|
|
10
|
+
action: 'plugin::documentation.read',
|
|
11
|
+
subject: null
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
action: 'plugin::documentation.settings.regenerate',
|
|
15
|
+
subject: null
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
action: 'plugin::documentation.settings.update',
|
|
19
|
+
subject: null
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
open: [
|
|
23
|
+
{
|
|
24
|
+
action: 'plugin::documentation.read',
|
|
25
|
+
subject: null
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
action: 'plugin::documentation.settings.regenerate',
|
|
29
|
+
subject: null
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
regenerate: [
|
|
33
|
+
{
|
|
34
|
+
action: 'plugin::documentation.settings.regenerate',
|
|
35
|
+
subject: null
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
update: [
|
|
39
|
+
{
|
|
40
|
+
action: 'plugin::documentation.settings.update',
|
|
41
|
+
subject: null
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
exports.PERMISSIONS = PERMISSIONS;
|
|
47
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../admin/src/constants.ts"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n main: [\n { action: 'plugin::documentation.read', subject: null },\n { action: 'plugin::documentation.settings.regenerate', subject: null },\n { action: 'plugin::documentation.settings.update', subject: null },\n ],\n open: [\n { action: 'plugin::documentation.read', subject: null },\n { action: 'plugin::documentation.settings.regenerate', subject: null },\n ],\n regenerate: [{ action: 'plugin::documentation.settings.regenerate', subject: null }],\n update: [{ action: 'plugin::documentation.settings.update', subject: null }],\n};\n"],"names":["PERMISSIONS","main","action","subject","open","regenerate","update"],"mappings":";;MAAaA,WAAc,GAAA;;;;;IAKzBC,IAAM,EAAA;AACJ,QAAA;YAAEC,MAAQ,EAAA,4BAAA;YAA8BC,OAAS,EAAA;AAAK,SAAA;AACtD,QAAA;YAAED,MAAQ,EAAA,2CAAA;YAA6CC,OAAS,EAAA;AAAK,SAAA;AACrE,QAAA;YAAED,MAAQ,EAAA,uCAAA;YAAyCC,OAAS,EAAA;AAAK;AAClE,KAAA;IACDC,IAAM,EAAA;AACJ,QAAA;YAAEF,MAAQ,EAAA,4BAAA;YAA8BC,OAAS,EAAA;AAAK,SAAA;AACtD,QAAA;YAAED,MAAQ,EAAA,2CAAA;YAA6CC,OAAS,EAAA;AAAK;AACtE,KAAA;IACDE,UAAY,EAAA;AAAC,QAAA;YAAEH,MAAQ,EAAA,2CAAA;YAA6CC,OAAS,EAAA;AAAK;AAAE,KAAA;IACpFG,MAAQ,EAAA;AAAC,QAAA;YAAEJ,MAAQ,EAAA,uCAAA;YAAyCC,OAAS,EAAA;AAAK;AAAE;AAC9E;;;;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const PERMISSIONS = {
|
|
2
|
+
// This permission regards the main component (App) and is used to tell
|
|
3
|
+
// If the plugin link should be displayed in the menu
|
|
4
|
+
// And also if the plugin is accessible. This use case is found when a user types the url of the
|
|
5
|
+
// plugin directly in the browser
|
|
6
|
+
main: [
|
|
7
|
+
{
|
|
8
|
+
action: 'plugin::documentation.read',
|
|
9
|
+
subject: null
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
action: 'plugin::documentation.settings.regenerate',
|
|
13
|
+
subject: null
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
action: 'plugin::documentation.settings.update',
|
|
17
|
+
subject: null
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
open: [
|
|
21
|
+
{
|
|
22
|
+
action: 'plugin::documentation.read',
|
|
23
|
+
subject: null
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
action: 'plugin::documentation.settings.regenerate',
|
|
27
|
+
subject: null
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
regenerate: [
|
|
31
|
+
{
|
|
32
|
+
action: 'plugin::documentation.settings.regenerate',
|
|
33
|
+
subject: null
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
update: [
|
|
37
|
+
{
|
|
38
|
+
action: 'plugin::documentation.settings.update',
|
|
39
|
+
subject: null
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export { PERMISSIONS };
|
|
45
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../admin/src/constants.ts"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n main: [\n { action: 'plugin::documentation.read', subject: null },\n { action: 'plugin::documentation.settings.regenerate', subject: null },\n { action: 'plugin::documentation.settings.update', subject: null },\n ],\n open: [\n { action: 'plugin::documentation.read', subject: null },\n { action: 'plugin::documentation.settings.regenerate', subject: null },\n ],\n regenerate: [{ action: 'plugin::documentation.settings.regenerate', subject: null }],\n update: [{ action: 'plugin::documentation.settings.update', subject: null }],\n};\n"],"names":["PERMISSIONS","main","action","subject","open","regenerate","update"],"mappings":"MAAaA,WAAc,GAAA;;;;;IAKzBC,IAAM,EAAA;AACJ,QAAA;YAAEC,MAAQ,EAAA,4BAAA;YAA8BC,OAAS,EAAA;AAAK,SAAA;AACtD,QAAA;YAAED,MAAQ,EAAA,2CAAA;YAA6CC,OAAS,EAAA;AAAK,SAAA;AACrE,QAAA;YAAED,MAAQ,EAAA,uCAAA;YAAyCC,OAAS,EAAA;AAAK;AAClE,KAAA;IACDC,IAAM,EAAA;AACJ,QAAA;YAAEF,MAAQ,EAAA,4BAAA;YAA8BC,OAAS,EAAA;AAAK,SAAA;AACtD,QAAA;YAAED,MAAQ,EAAA,2CAAA;YAA6CC,OAAS,EAAA;AAAK;AACtE,KAAA;IACDE,UAAY,EAAA;AAAC,QAAA;YAAEH,MAAQ,EAAA,2CAAA;YAA6CC,OAAS,EAAA;AAAK;AAAE,KAAA;IACpFG,MAAQ,EAAA;AAAC,QAAA;YAAEJ,MAAQ,EAAA,uCAAA;YAAyCC,OAAS,EAAA;AAAK;AAAE;AAC9E;;;;"}
|