@strapi/plugin-users-permissions 0.0.0-next.e41415e8ff5f565ff959667d5c5ba4f20bee013c → 0.0.0-next.e8d8fc824d0f6a695b2a9ebaa4680ed21c3645ca
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/.eslintignore +1 -2
- package/.eslintrc +17 -0
- package/LICENSE +18 -3
- package/admin/src/components/BoundRoute/{index.js → index.jsx} +6 -4
- package/admin/src/components/FormModal/Input/{index.js → index.jsx} +34 -32
- package/admin/src/components/FormModal/index.jsx +115 -0
- package/admin/src/components/Permissions/PermissionRow/{CheckboxWrapper.js → CheckboxWrapper.jsx} +4 -3
- package/admin/src/components/Permissions/PermissionRow/{SubCategory.js → SubCategory.jsx} +27 -15
- package/admin/src/components/Permissions/PermissionRow/{index.js → index.jsx} +4 -2
- package/admin/src/components/Permissions/index.jsx +47 -0
- package/admin/src/components/Permissions/reducer.js +1 -1
- package/admin/src/components/Policies/{index.js → index.jsx} +9 -6
- package/admin/src/components/UsersPermissions/{index.js → index.jsx} +22 -11
- package/admin/src/components/UsersPermissions/reducer.js +1 -1
- package/admin/src/{permissions.js → constants.js} +1 -3
- package/admin/src/contexts/UsersPermissionsContext/{index.js → index.jsx} +1 -0
- package/admin/src/index.js +25 -51
- package/admin/src/pages/AdvancedSettings/index.jsx +214 -0
- package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
- package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
- package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +156 -0
- package/admin/src/pages/EmailTemplates/components/{EmailTable.js → EmailTable.jsx} +27 -22
- package/admin/src/pages/EmailTemplates/index.jsx +148 -0
- package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
- package/admin/src/pages/Providers/index.jsx +262 -0
- package/admin/src/pages/Providers/utils/forms.js +23 -11
- package/admin/src/pages/Roles/constants.js +7 -0
- package/admin/src/pages/Roles/hooks/usePlugins.js +78 -0
- package/admin/src/pages/Roles/index.jsx +24 -0
- package/admin/src/pages/Roles/pages/CreatePage.jsx +194 -0
- package/admin/src/pages/Roles/pages/EditPage.jsx +215 -0
- package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +119 -0
- package/admin/src/pages/Roles/{ListPage/index.js → pages/ListPage/index.jsx} +108 -83
- package/admin/src/translations/en.json +1 -1
- package/admin/src/translations/zh-Hans.json +80 -80
- package/admin/src/utils/index.js +1 -2
- package/admin/src/utils/prefixPluginTranslations.js +13 -0
- package/dist/_chunks/ar-BguGUqwK.js +44 -0
- package/dist/_chunks/ar-BguGUqwK.js.map +1 -0
- package/dist/_chunks/ar-CK8BRRXB.mjs +44 -0
- package/dist/_chunks/ar-CK8BRRXB.mjs.map +1 -0
- package/dist/_chunks/cs-BVigMk0l.mjs +50 -0
- package/dist/_chunks/cs-BVigMk0l.mjs.map +1 -0
- package/dist/_chunks/cs-BW8-K_GY.js +50 -0
- package/dist/_chunks/cs-BW8-K_GY.js.map +1 -0
- package/dist/_chunks/de-BKUdRFI4.mjs +62 -0
- package/dist/_chunks/de-BKUdRFI4.mjs.map +1 -0
- package/dist/_chunks/de-owXpVluI.js +62 -0
- package/dist/_chunks/de-owXpVluI.js.map +1 -0
- package/dist/_chunks/dk-BQiTK50l.mjs +86 -0
- package/dist/_chunks/dk-BQiTK50l.mjs.map +1 -0
- package/dist/_chunks/dk-LXAnbuBk.js +86 -0
- package/dist/_chunks/dk-LXAnbuBk.js.map +1 -0
- package/dist/_chunks/en-DOHtPf-2.mjs +86 -0
- package/dist/_chunks/en-DOHtPf-2.mjs.map +1 -0
- package/dist/_chunks/en-MHo5mcsU.js +86 -0
- package/dist/_chunks/en-MHo5mcsU.js.map +1 -0
- package/dist/_chunks/es-BwLCLXAQ.js +86 -0
- package/dist/_chunks/es-BwLCLXAQ.js.map +1 -0
- package/dist/_chunks/es-DNgOVMjD.mjs +86 -0
- package/dist/_chunks/es-DNgOVMjD.mjs.map +1 -0
- package/dist/_chunks/fr-DkgRugiU.mjs +50 -0
- package/dist/_chunks/fr-DkgRugiU.mjs.map +1 -0
- package/dist/_chunks/fr-DkhpSjjm.js +50 -0
- package/dist/_chunks/fr-DkhpSjjm.js.map +1 -0
- package/dist/_chunks/id-BTemOeTZ.js +62 -0
- package/dist/_chunks/id-BTemOeTZ.js.map +1 -0
- package/dist/_chunks/id-BdEsvnaF.mjs +62 -0
- package/dist/_chunks/id-BdEsvnaF.mjs.map +1 -0
- package/dist/_chunks/index-BP1KkpZq.js +280 -0
- package/dist/_chunks/index-BP1KkpZq.js.map +1 -0
- package/dist/_chunks/index-BnvtBuUS.js +365 -0
- package/dist/_chunks/index-BnvtBuUS.js.map +1 -0
- package/dist/_chunks/index-BphRo4l2.js +252 -0
- package/dist/_chunks/index-BphRo4l2.js.map +1 -0
- package/dist/_chunks/index-C_5QiATG.mjs +344 -0
- package/dist/_chunks/index-C_5QiATG.mjs.map +1 -0
- package/dist/_chunks/index-Cn5HftCc-CvJvlZwK.js +11113 -0
- package/dist/_chunks/index-Cn5HftCc-CvJvlZwK.js.map +1 -0
- package/dist/_chunks/index-Cn5HftCc-Dku5eOkP.mjs +11090 -0
- package/dist/_chunks/index-Cn5HftCc-Dku5eOkP.mjs.map +1 -0
- package/dist/_chunks/index-Cxhs260c.mjs +1142 -0
- package/dist/_chunks/index-Cxhs260c.mjs.map +1 -0
- package/dist/_chunks/index-D4Ge_-Bp.mjs +262 -0
- package/dist/_chunks/index-D4Ge_-Bp.mjs.map +1 -0
- package/dist/_chunks/index-D5yExFYc.mjs +253 -0
- package/dist/_chunks/index-D5yExFYc.mjs.map +1 -0
- package/dist/_chunks/index-D_J3MMcj.mjs +617 -0
- package/dist/_chunks/index-D_J3MMcj.mjs.map +1 -0
- package/dist/_chunks/index-DoogNdMf.js +639 -0
- package/dist/_chunks/index-DoogNdMf.js.map +1 -0
- package/dist/_chunks/index-iJPHXbGD.js +1171 -0
- package/dist/_chunks/index-iJPHXbGD.js.map +1 -0
- package/dist/_chunks/it-B-rv0E24.mjs +62 -0
- package/dist/_chunks/it-B-rv0E24.mjs.map +1 -0
- package/dist/_chunks/it-D1rH6V6_.js +62 -0
- package/dist/_chunks/it-D1rH6V6_.js.map +1 -0
- package/dist/_chunks/ja-C8K-VBPD.mjs +48 -0
- package/dist/_chunks/ja-C8K-VBPD.mjs.map +1 -0
- package/dist/_chunks/ja-DqShgTMf.js +48 -0
- package/dist/_chunks/ja-DqShgTMf.js.map +1 -0
- package/dist/_chunks/ko-B9DGEPWH.js +86 -0
- package/dist/_chunks/ko-B9DGEPWH.js.map +1 -0
- package/dist/_chunks/ko-Busb0wIY.mjs +86 -0
- package/dist/_chunks/ko-Busb0wIY.mjs.map +1 -0
- package/dist/_chunks/ms-ByvsQjRt.mjs +49 -0
- package/dist/_chunks/ms-ByvsQjRt.mjs.map +1 -0
- package/dist/_chunks/ms-CPBU3LWf.js +49 -0
- package/dist/_chunks/ms-CPBU3LWf.js.map +1 -0
- package/dist/_chunks/nl-5qO8Rpcy.mjs +48 -0
- package/dist/_chunks/nl-5qO8Rpcy.mjs.map +1 -0
- package/dist/_chunks/nl-CwNB6YoO.js +48 -0
- package/dist/_chunks/nl-CwNB6YoO.js.map +1 -0
- package/dist/_chunks/pl-BdIzifBE.mjs +86 -0
- package/dist/_chunks/pl-BdIzifBE.mjs.map +1 -0
- package/dist/_chunks/pl-Do9UD69f.js +86 -0
- package/dist/_chunks/pl-Do9UD69f.js.map +1 -0
- package/dist/_chunks/pt-BIO24ioG.mjs +48 -0
- package/dist/_chunks/pt-BIO24ioG.mjs.map +1 -0
- package/dist/_chunks/pt-BR-D7dZhxuP.js +44 -0
- package/dist/_chunks/pt-BR-D7dZhxuP.js.map +1 -0
- package/dist/_chunks/pt-BR-f0p23AQZ.mjs +44 -0
- package/dist/_chunks/pt-BR-f0p23AQZ.mjs.map +1 -0
- package/dist/_chunks/pt-fdvyOnUp.js +48 -0
- package/dist/_chunks/pt-fdvyOnUp.js.map +1 -0
- package/dist/_chunks/ru-C94rjPGA.js +86 -0
- package/dist/_chunks/ru-C94rjPGA.js.map +1 -0
- package/dist/_chunks/ru-VWy-IB7K.mjs +86 -0
- package/dist/_chunks/ru-VWy-IB7K.mjs.map +1 -0
- package/dist/_chunks/sk-BABEhykl.js +50 -0
- package/dist/_chunks/sk-BABEhykl.js.map +1 -0
- package/dist/_chunks/sk-B_LIcepm.mjs +50 -0
- package/dist/_chunks/sk-B_LIcepm.mjs.map +1 -0
- package/dist/_chunks/sv-ABLKOokl.mjs +86 -0
- package/dist/_chunks/sv-ABLKOokl.mjs.map +1 -0
- package/dist/_chunks/sv-Be43LhA9.js +86 -0
- package/dist/_chunks/sv-Be43LhA9.js.map +1 -0
- package/dist/_chunks/th-DKyP7ueR.mjs +60 -0
- package/dist/_chunks/th-DKyP7ueR.mjs.map +1 -0
- package/dist/_chunks/th-DgVhVLhL.js +60 -0
- package/dist/_chunks/th-DgVhVLhL.js.map +1 -0
- package/dist/_chunks/tr-B_idhkEs.js +85 -0
- package/dist/_chunks/tr-B_idhkEs.js.map +1 -0
- package/dist/_chunks/tr-qa1Q5UjC.mjs +85 -0
- package/dist/_chunks/tr-qa1Q5UjC.mjs.map +1 -0
- package/dist/_chunks/uk-BmRqbeQc.mjs +49 -0
- package/dist/_chunks/uk-BmRqbeQc.mjs.map +1 -0
- package/dist/_chunks/uk-LHOivnhP.js +49 -0
- package/dist/_chunks/uk-LHOivnhP.js.map +1 -0
- package/dist/_chunks/vi-CdVRdKDw.js +50 -0
- package/dist/_chunks/vi-CdVRdKDw.js.map +1 -0
- package/dist/_chunks/vi-HW-EdMea.mjs +50 -0
- package/dist/_chunks/vi-HW-EdMea.mjs.map +1 -0
- package/dist/_chunks/zh-5hKkVPA4.mjs +86 -0
- package/dist/_chunks/zh-5hKkVPA4.mjs.map +1 -0
- package/dist/_chunks/zh-Cuq8gMnF.js +86 -0
- package/dist/_chunks/zh-Cuq8gMnF.js.map +1 -0
- package/dist/_chunks/zh-Hans-BHilK-yc.mjs +86 -0
- package/dist/_chunks/zh-Hans-BHilK-yc.mjs.map +1 -0
- package/dist/_chunks/zh-Hans-GQDMKtY4.js +86 -0
- package/dist/_chunks/zh-Hans-GQDMKtY4.js.map +1 -0
- package/dist/admin/index.js +4 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +5 -0
- package/dist/admin/index.mjs.map +1 -0
- package/documentation/content-api.yaml +1 -1
- package/jest.config.front.js +1 -0
- package/package.json +47 -29
- package/packup.config.ts +22 -0
- package/server/bootstrap/index.js +18 -15
- package/server/bootstrap/users-permissions-actions.js +6 -0
- package/server/config.js +29 -0
- package/server/content-types/user/index.js +0 -1
- package/server/controllers/auth.js +74 -38
- package/server/controllers/content-manager-user.js +28 -30
- package/server/controllers/role.js +17 -4
- package/server/controllers/user.js +18 -8
- package/server/controllers/validation/auth.js +81 -25
- package/server/graphql/types/index.js +1 -0
- package/server/graphql/types/me.js +1 -0
- package/server/graphql/types/user-input.js +20 -0
- package/server/middlewares/rateLimit.js +41 -21
- package/server/register.js +1 -1
- package/server/services/jwt.js +3 -3
- package/server/services/permission.js +3 -7
- package/server/services/providers-registry.js +469 -261
- package/server/services/providers.js +10 -5
- package/server/services/role.js +15 -13
- package/server/services/user.js +56 -19
- package/server/services/users-permissions.js +15 -13
- package/server/strategies/users-permissions.js +1 -8
- package/server/utils/index.d.ts +2 -1
- package/server/utils/sanitize/sanitizers.js +7 -3
- package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
- package/.eslintrc.js +0 -14
- package/admin/src/components/FormModal/index.js +0 -123
- package/admin/src/components/Permissions/index.js +0 -54
- package/admin/src/hooks/index.js +0 -5
- package/admin/src/hooks/useFetchRole/index.js +0 -64
- package/admin/src/hooks/useFetchRole/reducer.js +0 -31
- package/admin/src/hooks/useForm/index.js +0 -67
- package/admin/src/hooks/useForm/reducer.js +0 -40
- package/admin/src/hooks/usePlugins/index.js +0 -67
- package/admin/src/hooks/usePlugins/init.js +0 -5
- package/admin/src/hooks/usePlugins/reducer.js +0 -34
- package/admin/src/hooks/useRolesList/index.js +0 -62
- package/admin/src/hooks/useRolesList/init.js +0 -5
- package/admin/src/hooks/useRolesList/reducer.js +0 -31
- package/admin/src/pages/AdvancedSettings/index.js +0 -243
- package/admin/src/pages/AdvancedSettings/utils/api.js +0 -17
- package/admin/src/pages/EmailTemplates/components/EmailForm.js +0 -175
- package/admin/src/pages/EmailTemplates/index.js +0 -160
- package/admin/src/pages/EmailTemplates/utils/api.js +0 -17
- package/admin/src/pages/Providers/index.js +0 -272
- package/admin/src/pages/Providers/reducer.js +0 -54
- package/admin/src/pages/Providers/utils/api.js +0 -25
- package/admin/src/pages/Providers/utils/createProvidersArray.js +0 -21
- package/admin/src/pages/Roles/CreatePage/index.js +0 -182
- package/admin/src/pages/Roles/CreatePage/utils/schema.js +0 -9
- package/admin/src/pages/Roles/EditPage/index.js +0 -194
- package/admin/src/pages/Roles/EditPage/utils/schema.js +0 -9
- package/admin/src/pages/Roles/ListPage/components/TableBody.js +0 -92
- package/admin/src/pages/Roles/ListPage/utils/api.js +0 -31
- package/admin/src/pages/Roles/ProtectedCreatePage/index.js +0 -12
- package/admin/src/pages/Roles/ProtectedEditPage/index.js +0 -12
- package/admin/src/pages/Roles/ProtectedListPage/index.js +0 -15
- package/admin/src/pages/Roles/index.js +0 -27
- package/admin/src/utils/getRequestURL.js +0 -5
- package/server/bootstrap/grant-config.js +0 -131
- package/strapi-admin.js +0 -3
- package/strapi-server.js +0 -3
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
const zh = {
|
|
2
|
+
"BoundRoute.title": "綁定路徑到",
|
|
3
|
+
"EditForm.inputSelect.description.role": "將新的驗證使用者加入此身份。",
|
|
4
|
+
"EditForm.inputSelect.label.role": "驗證使用者預設身份",
|
|
5
|
+
"EditForm.inputToggle.description.email": "禁止使用者使用同一個電子郵件地址 + 不同的驗證方式註冊多個帳號",
|
|
6
|
+
"EditForm.inputToggle.description.email-confirmation": "當啟用後,新註冊的使用者將會收到一封認證郵件。",
|
|
7
|
+
"EditForm.inputToggle.description.email-confirmation-redirection": "認證完後後,使用者被重新導向的網址。",
|
|
8
|
+
"EditForm.inputToggle.description.email-reset-password": "您的應用程式的重設密碼頁面的網址",
|
|
9
|
+
"EditForm.inputToggle.description.sign-up": "當停用後,不論使用任何驗證方式使用者將無法註冊。",
|
|
10
|
+
"EditForm.inputToggle.label.email": "電子郵件地址單一帳號限制",
|
|
11
|
+
"EditForm.inputToggle.label.email-confirmation": "啟用電子郵件地址驗證",
|
|
12
|
+
"EditForm.inputToggle.label.email-confirmation-redirection": "重新導向網址",
|
|
13
|
+
"EditForm.inputToggle.label.email-reset-password": "密碼重設頁面",
|
|
14
|
+
"EditForm.inputToggle.label.sign-up": "啟用註冊",
|
|
15
|
+
"EditForm.inputToggle.placeholder.email-confirmation-redirection": "例如:https://yourfrontend.com/email-confirmation-redirection",
|
|
16
|
+
"EditForm.inputToggle.placeholder.email-reset-password": "例如:https://yourfrontend.com/reset-password",
|
|
17
|
+
"EditPage.form.roles": "角色詳細資訊",
|
|
18
|
+
"Email.template.data.loaded": "已載入電子郵件範本",
|
|
19
|
+
"Email.template.email_confirmation": "電子郵件地址確認",
|
|
20
|
+
"Email.template.form.edit.label": "編輯範本",
|
|
21
|
+
"Email.template.table.action.label": "操作",
|
|
22
|
+
"Email.template.table.icon.label": "圖示",
|
|
23
|
+
"Email.template.table.name.label": "名稱",
|
|
24
|
+
"Form.advancedSettings.data.loaded": "已載入進階設定資料",
|
|
25
|
+
"HeaderNav.link.advancedSettings": "進階設定",
|
|
26
|
+
"HeaderNav.link.emailTemplates": "郵件範本",
|
|
27
|
+
"HeaderNav.link.providers": "驗證方式",
|
|
28
|
+
"Plugin.permissions.plugins.description": "為 {name} 擴充功能定義所有可用的操作",
|
|
29
|
+
"Plugins.header.description": "只有綁定路徑的操作會顯示在下方",
|
|
30
|
+
"Plugins.header.title": "權限",
|
|
31
|
+
"Policies.header.hint": "選取應用程式或擴充功能的操作然後點擊齒輪圖示以顯示綁定路徑",
|
|
32
|
+
"Policies.header.title": "進階設定",
|
|
33
|
+
"PopUpForm.Email.email_templates.inputDescription": "如果您不確定要怎麼使用變數,請 {link}",
|
|
34
|
+
"PopUpForm.Email.link.documentation": "查閱我們的說明文件。",
|
|
35
|
+
"PopUpForm.Email.options.from.email.label": "寄件人地址",
|
|
36
|
+
"PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
|
|
37
|
+
"PopUpForm.Email.options.from.name.label": "寄件人名稱",
|
|
38
|
+
"PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
|
|
39
|
+
"PopUpForm.Email.options.message.label": "訊息",
|
|
40
|
+
"PopUpForm.Email.options.object.label": "主旨",
|
|
41
|
+
"PopUpForm.Email.options.object.placeholder": "請驗證 %APP_NAME% 的電子郵件地址",
|
|
42
|
+
"PopUpForm.Email.options.response_email.label": "回覆地址",
|
|
43
|
+
"PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
|
|
44
|
+
"PopUpForm.Providers.enabled.description": "如果停用,使用者將無法使用這個驗證方式",
|
|
45
|
+
"PopUpForm.Providers.enabled.label": "啟用",
|
|
46
|
+
"PopUpForm.Providers.key.label": "客戶端 ID",
|
|
47
|
+
"PopUpForm.Providers.key.placeholder": "TEXT",
|
|
48
|
+
"PopUpForm.Providers.redirectURL.front-end.label": "您應用程式的前端頁面網址",
|
|
49
|
+
"PopUpForm.Providers.redirectURL.label": "The redirect URL to add in your {provider} application configurations",
|
|
50
|
+
"PopUpForm.Providers.secret.label": "客戶端密鑰",
|
|
51
|
+
"PopUpForm.Providers.secret.placeholder": "TEXT",
|
|
52
|
+
"PopUpForm.Providers.subdomain.label": "Host URI (子網域)",
|
|
53
|
+
"PopUpForm.Providers.subdomain.placeholder": "my.subdomain.com",
|
|
54
|
+
"PopUpForm.header.edit.email-templates": "編輯郵件範本",
|
|
55
|
+
"PopUpForm.header.edit.providers": "編輯供應者",
|
|
56
|
+
"Providers.data.loaded": "已載入供應者",
|
|
57
|
+
"Providers.status": "狀態",
|
|
58
|
+
"Roles.empty": "您目前沒有任何角色。",
|
|
59
|
+
"Roles.empty.search": "沒有符合搜尋的角色。",
|
|
60
|
+
"Settings.roles.deleted": "已刪除角色",
|
|
61
|
+
"Settings.roles.edited": "已編輯角色",
|
|
62
|
+
"Settings.section-label": "使用者與權限外掛程式",
|
|
63
|
+
"components.Input.error.validation.email": "此電子郵件地址無效",
|
|
64
|
+
"components.Input.error.validation.json": "不符合 JSON 格式",
|
|
65
|
+
"components.Input.error.validation.max": "數值過高。",
|
|
66
|
+
"components.Input.error.validation.maxLength": "數值過長。",
|
|
67
|
+
"components.Input.error.validation.min": "數值過低。",
|
|
68
|
+
"components.Input.error.validation.minLength": "數值過短。",
|
|
69
|
+
"components.Input.error.validation.minSupMax": "Can't be superior",
|
|
70
|
+
"components.Input.error.validation.regex": "數值與 regex 不符。",
|
|
71
|
+
"components.Input.error.validation.required": "此數值為必填。",
|
|
72
|
+
"components.Input.error.validation.unique": "此值已被使用。",
|
|
73
|
+
"notification.success.submit": "設定已更新",
|
|
74
|
+
"page.title": "設定 - 角色",
|
|
75
|
+
"plugin.description.long": "使用 JWT 認證保護您的 API。這個擴充功能也使用 ACL 來讓你管理不同群組使用者的權限。",
|
|
76
|
+
"plugin.description.short": "使用 JWT 認證保護您的 API",
|
|
77
|
+
"plugin.name": "身份與權限",
|
|
78
|
+
"popUpWarning.button.cancel": "取消",
|
|
79
|
+
"popUpWarning.button.confirm": "確認",
|
|
80
|
+
"popUpWarning.title": "請確認",
|
|
81
|
+
"popUpWarning.warning.cancel": "您確定要取消變更嗎?"
|
|
82
|
+
};
|
|
83
|
+
export {
|
|
84
|
+
zh as default
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=zh-5hKkVPA4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-5hKkVPA4.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const zh = {
|
|
4
|
+
"BoundRoute.title": "綁定路徑到",
|
|
5
|
+
"EditForm.inputSelect.description.role": "將新的驗證使用者加入此身份。",
|
|
6
|
+
"EditForm.inputSelect.label.role": "驗證使用者預設身份",
|
|
7
|
+
"EditForm.inputToggle.description.email": "禁止使用者使用同一個電子郵件地址 + 不同的驗證方式註冊多個帳號",
|
|
8
|
+
"EditForm.inputToggle.description.email-confirmation": "當啟用後,新註冊的使用者將會收到一封認證郵件。",
|
|
9
|
+
"EditForm.inputToggle.description.email-confirmation-redirection": "認證完後後,使用者被重新導向的網址。",
|
|
10
|
+
"EditForm.inputToggle.description.email-reset-password": "您的應用程式的重設密碼頁面的網址",
|
|
11
|
+
"EditForm.inputToggle.description.sign-up": "當停用後,不論使用任何驗證方式使用者將無法註冊。",
|
|
12
|
+
"EditForm.inputToggle.label.email": "電子郵件地址單一帳號限制",
|
|
13
|
+
"EditForm.inputToggle.label.email-confirmation": "啟用電子郵件地址驗證",
|
|
14
|
+
"EditForm.inputToggle.label.email-confirmation-redirection": "重新導向網址",
|
|
15
|
+
"EditForm.inputToggle.label.email-reset-password": "密碼重設頁面",
|
|
16
|
+
"EditForm.inputToggle.label.sign-up": "啟用註冊",
|
|
17
|
+
"EditForm.inputToggle.placeholder.email-confirmation-redirection": "例如:https://yourfrontend.com/email-confirmation-redirection",
|
|
18
|
+
"EditForm.inputToggle.placeholder.email-reset-password": "例如:https://yourfrontend.com/reset-password",
|
|
19
|
+
"EditPage.form.roles": "角色詳細資訊",
|
|
20
|
+
"Email.template.data.loaded": "已載入電子郵件範本",
|
|
21
|
+
"Email.template.email_confirmation": "電子郵件地址確認",
|
|
22
|
+
"Email.template.form.edit.label": "編輯範本",
|
|
23
|
+
"Email.template.table.action.label": "操作",
|
|
24
|
+
"Email.template.table.icon.label": "圖示",
|
|
25
|
+
"Email.template.table.name.label": "名稱",
|
|
26
|
+
"Form.advancedSettings.data.loaded": "已載入進階設定資料",
|
|
27
|
+
"HeaderNav.link.advancedSettings": "進階設定",
|
|
28
|
+
"HeaderNav.link.emailTemplates": "郵件範本",
|
|
29
|
+
"HeaderNav.link.providers": "驗證方式",
|
|
30
|
+
"Plugin.permissions.plugins.description": "為 {name} 擴充功能定義所有可用的操作",
|
|
31
|
+
"Plugins.header.description": "只有綁定路徑的操作會顯示在下方",
|
|
32
|
+
"Plugins.header.title": "權限",
|
|
33
|
+
"Policies.header.hint": "選取應用程式或擴充功能的操作然後點擊齒輪圖示以顯示綁定路徑",
|
|
34
|
+
"Policies.header.title": "進階設定",
|
|
35
|
+
"PopUpForm.Email.email_templates.inputDescription": "如果您不確定要怎麼使用變數,請 {link}",
|
|
36
|
+
"PopUpForm.Email.link.documentation": "查閱我們的說明文件。",
|
|
37
|
+
"PopUpForm.Email.options.from.email.label": "寄件人地址",
|
|
38
|
+
"PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
|
|
39
|
+
"PopUpForm.Email.options.from.name.label": "寄件人名稱",
|
|
40
|
+
"PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
|
|
41
|
+
"PopUpForm.Email.options.message.label": "訊息",
|
|
42
|
+
"PopUpForm.Email.options.object.label": "主旨",
|
|
43
|
+
"PopUpForm.Email.options.object.placeholder": "請驗證 %APP_NAME% 的電子郵件地址",
|
|
44
|
+
"PopUpForm.Email.options.response_email.label": "回覆地址",
|
|
45
|
+
"PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
|
|
46
|
+
"PopUpForm.Providers.enabled.description": "如果停用,使用者將無法使用這個驗證方式",
|
|
47
|
+
"PopUpForm.Providers.enabled.label": "啟用",
|
|
48
|
+
"PopUpForm.Providers.key.label": "客戶端 ID",
|
|
49
|
+
"PopUpForm.Providers.key.placeholder": "TEXT",
|
|
50
|
+
"PopUpForm.Providers.redirectURL.front-end.label": "您應用程式的前端頁面網址",
|
|
51
|
+
"PopUpForm.Providers.redirectURL.label": "The redirect URL to add in your {provider} application configurations",
|
|
52
|
+
"PopUpForm.Providers.secret.label": "客戶端密鑰",
|
|
53
|
+
"PopUpForm.Providers.secret.placeholder": "TEXT",
|
|
54
|
+
"PopUpForm.Providers.subdomain.label": "Host URI (子網域)",
|
|
55
|
+
"PopUpForm.Providers.subdomain.placeholder": "my.subdomain.com",
|
|
56
|
+
"PopUpForm.header.edit.email-templates": "編輯郵件範本",
|
|
57
|
+
"PopUpForm.header.edit.providers": "編輯供應者",
|
|
58
|
+
"Providers.data.loaded": "已載入供應者",
|
|
59
|
+
"Providers.status": "狀態",
|
|
60
|
+
"Roles.empty": "您目前沒有任何角色。",
|
|
61
|
+
"Roles.empty.search": "沒有符合搜尋的角色。",
|
|
62
|
+
"Settings.roles.deleted": "已刪除角色",
|
|
63
|
+
"Settings.roles.edited": "已編輯角色",
|
|
64
|
+
"Settings.section-label": "使用者與權限外掛程式",
|
|
65
|
+
"components.Input.error.validation.email": "此電子郵件地址無效",
|
|
66
|
+
"components.Input.error.validation.json": "不符合 JSON 格式",
|
|
67
|
+
"components.Input.error.validation.max": "數值過高。",
|
|
68
|
+
"components.Input.error.validation.maxLength": "數值過長。",
|
|
69
|
+
"components.Input.error.validation.min": "數值過低。",
|
|
70
|
+
"components.Input.error.validation.minLength": "數值過短。",
|
|
71
|
+
"components.Input.error.validation.minSupMax": "Can't be superior",
|
|
72
|
+
"components.Input.error.validation.regex": "數值與 regex 不符。",
|
|
73
|
+
"components.Input.error.validation.required": "此數值為必填。",
|
|
74
|
+
"components.Input.error.validation.unique": "此值已被使用。",
|
|
75
|
+
"notification.success.submit": "設定已更新",
|
|
76
|
+
"page.title": "設定 - 角色",
|
|
77
|
+
"plugin.description.long": "使用 JWT 認證保護您的 API。這個擴充功能也使用 ACL 來讓你管理不同群組使用者的權限。",
|
|
78
|
+
"plugin.description.short": "使用 JWT 認證保護您的 API",
|
|
79
|
+
"plugin.name": "身份與權限",
|
|
80
|
+
"popUpWarning.button.cancel": "取消",
|
|
81
|
+
"popUpWarning.button.confirm": "確認",
|
|
82
|
+
"popUpWarning.title": "請確認",
|
|
83
|
+
"popUpWarning.warning.cancel": "您確定要取消變更嗎?"
|
|
84
|
+
};
|
|
85
|
+
exports.default = zh;
|
|
86
|
+
//# sourceMappingURL=zh-Cuq8gMnF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-Cuq8gMnF.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
const zhHans = {
|
|
2
|
+
"BoundRoute.title": "绑定路由到",
|
|
3
|
+
"EditForm.inputSelect.description.role": "新验证身份的用户将被赋予所选角色。",
|
|
4
|
+
"EditForm.inputSelect.label.role": "认证用户的默认角色",
|
|
5
|
+
"EditForm.inputToggle.description.email": "不允许用户使用不同的认证提供商但相同的电子邮件地址来创建多个账户。",
|
|
6
|
+
"EditForm.inputToggle.description.email-confirmation": "启用(开)后,新注册的用户会收到一封确认电子邮件。",
|
|
7
|
+
"EditForm.inputToggle.description.email-confirmation-redirection": "确认您的电子邮件后,选择将您重定向到的位置。",
|
|
8
|
+
"EditForm.inputToggle.description.email-reset-password": "应用程序的重置密码页面的网址",
|
|
9
|
+
"EditForm.inputToggle.description.sign-up": "当禁用(关)时,注册过程将被禁止。任何人无论使用任何的供应商都不可以订阅。",
|
|
10
|
+
"EditForm.inputToggle.label.email": "每个电子邮件地址对应一个账户",
|
|
11
|
+
"EditForm.inputToggle.label.email-confirmation": "启用电子邮件确认",
|
|
12
|
+
"EditForm.inputToggle.label.email-confirmation-redirection": "重定向网址",
|
|
13
|
+
"EditForm.inputToggle.label.email-reset-password": "重置密码页面网址",
|
|
14
|
+
"EditForm.inputToggle.label.sign-up": "启用注册",
|
|
15
|
+
"EditForm.inputToggle.placeholder.email-confirmation-redirection": "例如: https://yourfrontend.com/email-confirmation-redirection",
|
|
16
|
+
"EditForm.inputToggle.placeholder.email-reset-password": "例如: https://yourfrontend.com/reset-password",
|
|
17
|
+
"EditPage.form.roles": "角色详情",
|
|
18
|
+
"Email.template.data.loaded": "电子邮件模板已加载",
|
|
19
|
+
"Email.template.email_confirmation": "邮箱地址确认",
|
|
20
|
+
"Email.template.form.edit.label": "编辑模板",
|
|
21
|
+
"Email.template.table.action.label": "操作",
|
|
22
|
+
"Email.template.table.icon.label": "图标",
|
|
23
|
+
"Email.template.table.name.label": "名称",
|
|
24
|
+
"Form.advancedSettings.data.loaded": "高级设置数据已加载",
|
|
25
|
+
"HeaderNav.link.advancedSettings": "高级设置",
|
|
26
|
+
"HeaderNav.link.emailTemplates": "电子邮件模板",
|
|
27
|
+
"HeaderNav.link.providers": "提供商",
|
|
28
|
+
"Plugin.permissions.plugins.description": "定义 {name} 插件所有允许的操作。",
|
|
29
|
+
"Plugins.header.description": "下面只列出路由绑定的操作。",
|
|
30
|
+
"Plugins.header.title": "权限",
|
|
31
|
+
"Policies.header.hint": "选择应用程序或插件对应的操作,然后点击齿轮图标显示绑定的路由",
|
|
32
|
+
"Policies.header.title": "高级设置",
|
|
33
|
+
"PopUpForm.Email.email_templates.inputDescription": "如果你不确定如何使用变量, {link}",
|
|
34
|
+
"PopUpForm.Email.link.documentation": "查看我们的文档",
|
|
35
|
+
"PopUpForm.Email.options.from.email.label": "发件人地址",
|
|
36
|
+
"PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
|
|
37
|
+
"PopUpForm.Email.options.from.name.label": "发件人名称",
|
|
38
|
+
"PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
|
|
39
|
+
"PopUpForm.Email.options.message.label": "消息",
|
|
40
|
+
"PopUpForm.Email.options.object.label": "主题",
|
|
41
|
+
"PopUpForm.Email.options.object.placeholder": "请为%APP_NAME%确认邮箱地址",
|
|
42
|
+
"PopUpForm.Email.options.response_email.label": "回复邮件",
|
|
43
|
+
"PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
|
|
44
|
+
"PopUpForm.Providers.enabled.description": "如果禁用,用户将无法使用此供应商。",
|
|
45
|
+
"PopUpForm.Providers.enabled.label": "启用",
|
|
46
|
+
"PopUpForm.Providers.key.label": "客户端 ID",
|
|
47
|
+
"PopUpForm.Providers.key.placeholder": "文本",
|
|
48
|
+
"PopUpForm.Providers.redirectURL.front-end.label": "重定向网址",
|
|
49
|
+
"PopUpForm.Providers.redirectURL.label": "添加到{provider}应用配置的跳转网址",
|
|
50
|
+
"PopUpForm.Providers.secret.label": "客户端秘钥",
|
|
51
|
+
"PopUpForm.Providers.secret.placeholder": "文本",
|
|
52
|
+
"PopUpForm.Providers.subdomain.label": "主机URI(子域名)",
|
|
53
|
+
"PopUpForm.Providers.subdomain.placeholder": "my.subdomain.com",
|
|
54
|
+
"PopUpForm.header.edit.email-templates": "编辑电子邮件模版",
|
|
55
|
+
"PopUpForm.header.edit.providers": "编辑提供商",
|
|
56
|
+
"Providers.data.loaded": "提供商已加载",
|
|
57
|
+
"Providers.status": "状态",
|
|
58
|
+
"Roles.empty": "您还没有任何角色。",
|
|
59
|
+
"Roles.empty.search": "没有与搜索相匹配的角色。",
|
|
60
|
+
"Settings.roles.deleted": "角色已被删除",
|
|
61
|
+
"Settings.roles.edited": "角色编辑完成",
|
|
62
|
+
"Settings.section-label": "用户及权限插件",
|
|
63
|
+
"components.Input.error.validation.email": "这是一个无效的电子邮件",
|
|
64
|
+
"components.Input.error.validation.json": "这不符合JSON格式",
|
|
65
|
+
"components.Input.error.validation.max": "值过高。",
|
|
66
|
+
"components.Input.error.validation.maxLength": "值过长。",
|
|
67
|
+
"components.Input.error.validation.min": "值太低。",
|
|
68
|
+
"components.Input.error.validation.minLength": "值太短。",
|
|
69
|
+
"components.Input.error.validation.minSupMax": "不能超过上限",
|
|
70
|
+
"components.Input.error.validation.regex": "该值不符合正则表达式。",
|
|
71
|
+
"components.Input.error.validation.required": "该值为必填项。",
|
|
72
|
+
"components.Input.error.validation.unique": "该值已被使用。",
|
|
73
|
+
"notification.success.submit": "设置已被更新",
|
|
74
|
+
"page.title": "设置 - 角色",
|
|
75
|
+
"plugin.description.long": "使用基于 JWT 的完整身份验证过程来保护 API。这个插件还有一个 ACL 策略,允许你管理用户组之间的权限。",
|
|
76
|
+
"plugin.description.short": "使用基于 JWT 的完整身份验证过程保护 API",
|
|
77
|
+
"plugin.name": "用户及权限插件",
|
|
78
|
+
"popUpWarning.button.cancel": "取消",
|
|
79
|
+
"popUpWarning.button.confirm": "确认",
|
|
80
|
+
"popUpWarning.title": "请确认",
|
|
81
|
+
"popUpWarning.warning.cancel": "你确定你要取消你的修改?"
|
|
82
|
+
};
|
|
83
|
+
export {
|
|
84
|
+
zhHans as default
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=zh-Hans-BHilK-yc.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-Hans-BHilK-yc.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const zhHans = {
|
|
4
|
+
"BoundRoute.title": "绑定路由到",
|
|
5
|
+
"EditForm.inputSelect.description.role": "新验证身份的用户将被赋予所选角色。",
|
|
6
|
+
"EditForm.inputSelect.label.role": "认证用户的默认角色",
|
|
7
|
+
"EditForm.inputToggle.description.email": "不允许用户使用不同的认证提供商但相同的电子邮件地址来创建多个账户。",
|
|
8
|
+
"EditForm.inputToggle.description.email-confirmation": "启用(开)后,新注册的用户会收到一封确认电子邮件。",
|
|
9
|
+
"EditForm.inputToggle.description.email-confirmation-redirection": "确认您的电子邮件后,选择将您重定向到的位置。",
|
|
10
|
+
"EditForm.inputToggle.description.email-reset-password": "应用程序的重置密码页面的网址",
|
|
11
|
+
"EditForm.inputToggle.description.sign-up": "当禁用(关)时,注册过程将被禁止。任何人无论使用任何的供应商都不可以订阅。",
|
|
12
|
+
"EditForm.inputToggle.label.email": "每个电子邮件地址对应一个账户",
|
|
13
|
+
"EditForm.inputToggle.label.email-confirmation": "启用电子邮件确认",
|
|
14
|
+
"EditForm.inputToggle.label.email-confirmation-redirection": "重定向网址",
|
|
15
|
+
"EditForm.inputToggle.label.email-reset-password": "重置密码页面网址",
|
|
16
|
+
"EditForm.inputToggle.label.sign-up": "启用注册",
|
|
17
|
+
"EditForm.inputToggle.placeholder.email-confirmation-redirection": "例如: https://yourfrontend.com/email-confirmation-redirection",
|
|
18
|
+
"EditForm.inputToggle.placeholder.email-reset-password": "例如: https://yourfrontend.com/reset-password",
|
|
19
|
+
"EditPage.form.roles": "角色详情",
|
|
20
|
+
"Email.template.data.loaded": "电子邮件模板已加载",
|
|
21
|
+
"Email.template.email_confirmation": "邮箱地址确认",
|
|
22
|
+
"Email.template.form.edit.label": "编辑模板",
|
|
23
|
+
"Email.template.table.action.label": "操作",
|
|
24
|
+
"Email.template.table.icon.label": "图标",
|
|
25
|
+
"Email.template.table.name.label": "名称",
|
|
26
|
+
"Form.advancedSettings.data.loaded": "高级设置数据已加载",
|
|
27
|
+
"HeaderNav.link.advancedSettings": "高级设置",
|
|
28
|
+
"HeaderNav.link.emailTemplates": "电子邮件模板",
|
|
29
|
+
"HeaderNav.link.providers": "提供商",
|
|
30
|
+
"Plugin.permissions.plugins.description": "定义 {name} 插件所有允许的操作。",
|
|
31
|
+
"Plugins.header.description": "下面只列出路由绑定的操作。",
|
|
32
|
+
"Plugins.header.title": "权限",
|
|
33
|
+
"Policies.header.hint": "选择应用程序或插件对应的操作,然后点击齿轮图标显示绑定的路由",
|
|
34
|
+
"Policies.header.title": "高级设置",
|
|
35
|
+
"PopUpForm.Email.email_templates.inputDescription": "如果你不确定如何使用变量, {link}",
|
|
36
|
+
"PopUpForm.Email.link.documentation": "查看我们的文档",
|
|
37
|
+
"PopUpForm.Email.options.from.email.label": "发件人地址",
|
|
38
|
+
"PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
|
|
39
|
+
"PopUpForm.Email.options.from.name.label": "发件人名称",
|
|
40
|
+
"PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
|
|
41
|
+
"PopUpForm.Email.options.message.label": "消息",
|
|
42
|
+
"PopUpForm.Email.options.object.label": "主题",
|
|
43
|
+
"PopUpForm.Email.options.object.placeholder": "请为%APP_NAME%确认邮箱地址",
|
|
44
|
+
"PopUpForm.Email.options.response_email.label": "回复邮件",
|
|
45
|
+
"PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
|
|
46
|
+
"PopUpForm.Providers.enabled.description": "如果禁用,用户将无法使用此供应商。",
|
|
47
|
+
"PopUpForm.Providers.enabled.label": "启用",
|
|
48
|
+
"PopUpForm.Providers.key.label": "客户端 ID",
|
|
49
|
+
"PopUpForm.Providers.key.placeholder": "文本",
|
|
50
|
+
"PopUpForm.Providers.redirectURL.front-end.label": "重定向网址",
|
|
51
|
+
"PopUpForm.Providers.redirectURL.label": "添加到{provider}应用配置的跳转网址",
|
|
52
|
+
"PopUpForm.Providers.secret.label": "客户端秘钥",
|
|
53
|
+
"PopUpForm.Providers.secret.placeholder": "文本",
|
|
54
|
+
"PopUpForm.Providers.subdomain.label": "主机URI(子域名)",
|
|
55
|
+
"PopUpForm.Providers.subdomain.placeholder": "my.subdomain.com",
|
|
56
|
+
"PopUpForm.header.edit.email-templates": "编辑电子邮件模版",
|
|
57
|
+
"PopUpForm.header.edit.providers": "编辑提供商",
|
|
58
|
+
"Providers.data.loaded": "提供商已加载",
|
|
59
|
+
"Providers.status": "状态",
|
|
60
|
+
"Roles.empty": "您还没有任何角色。",
|
|
61
|
+
"Roles.empty.search": "没有与搜索相匹配的角色。",
|
|
62
|
+
"Settings.roles.deleted": "角色已被删除",
|
|
63
|
+
"Settings.roles.edited": "角色编辑完成",
|
|
64
|
+
"Settings.section-label": "用户及权限插件",
|
|
65
|
+
"components.Input.error.validation.email": "这是一个无效的电子邮件",
|
|
66
|
+
"components.Input.error.validation.json": "这不符合JSON格式",
|
|
67
|
+
"components.Input.error.validation.max": "值过高。",
|
|
68
|
+
"components.Input.error.validation.maxLength": "值过长。",
|
|
69
|
+
"components.Input.error.validation.min": "值太低。",
|
|
70
|
+
"components.Input.error.validation.minLength": "值太短。",
|
|
71
|
+
"components.Input.error.validation.minSupMax": "不能超过上限",
|
|
72
|
+
"components.Input.error.validation.regex": "该值不符合正则表达式。",
|
|
73
|
+
"components.Input.error.validation.required": "该值为必填项。",
|
|
74
|
+
"components.Input.error.validation.unique": "该值已被使用。",
|
|
75
|
+
"notification.success.submit": "设置已被更新",
|
|
76
|
+
"page.title": "设置 - 角色",
|
|
77
|
+
"plugin.description.long": "使用基于 JWT 的完整身份验证过程来保护 API。这个插件还有一个 ACL 策略,允许你管理用户组之间的权限。",
|
|
78
|
+
"plugin.description.short": "使用基于 JWT 的完整身份验证过程保护 API",
|
|
79
|
+
"plugin.name": "用户及权限插件",
|
|
80
|
+
"popUpWarning.button.cancel": "取消",
|
|
81
|
+
"popUpWarning.button.confirm": "确认",
|
|
82
|
+
"popUpWarning.title": "请确认",
|
|
83
|
+
"popUpWarning.warning.cancel": "你确定你要取消你的修改?"
|
|
84
|
+
};
|
|
85
|
+
exports.default = zhHans;
|
|
86
|
+
//# sourceMappingURL=zh-Hans-GQDMKtY4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh-Hans-GQDMKtY4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/jest.config.front.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/plugin-users-permissions",
|
|
3
|
-
"version": "0.0.0-next.
|
|
3
|
+
"version": "0.0.0-next.e8d8fc824d0f6a695b2a9ebaa4680ed21c3645ca",
|
|
4
4
|
"description": "Protect your API with a full-authentication process based on JWT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -19,56 +19,74 @@
|
|
|
19
19
|
"url": "https://strapi.io"
|
|
20
20
|
}
|
|
21
21
|
],
|
|
22
|
+
"exports": {
|
|
23
|
+
"./strapi-admin": {
|
|
24
|
+
"source": "./admin/src/index.js",
|
|
25
|
+
"import": "./dist/admin/index.mjs",
|
|
26
|
+
"require": "./dist/admin/index.js",
|
|
27
|
+
"default": "./dist/admin/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./strapi-server": {
|
|
30
|
+
"source": "./server/index.js",
|
|
31
|
+
"require": "./server/index.js",
|
|
32
|
+
"default": "./server/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./package.json": "./package.json"
|
|
35
|
+
},
|
|
22
36
|
"scripts": {
|
|
23
|
-
"
|
|
24
|
-
"
|
|
37
|
+
"build": "pack-up build",
|
|
38
|
+
"clean": "run -T rimraf dist",
|
|
39
|
+
"lint": "run -T eslint .",
|
|
25
40
|
"test:front": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js",
|
|
26
|
-
"test:front:watch": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js --watchAll",
|
|
27
41
|
"test:front:ce": "run -T cross-env IS_EE=false jest --config ./jest.config.front.js",
|
|
42
|
+
"test:front:watch": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js --watchAll",
|
|
28
43
|
"test:front:watch:ce": "run -T cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll",
|
|
29
|
-
"
|
|
44
|
+
"test:unit": "run -T jest",
|
|
45
|
+
"test:unit:watch": "run -T jest --watch",
|
|
46
|
+
"watch": "pack-up watch"
|
|
30
47
|
},
|
|
31
48
|
"dependencies": {
|
|
32
|
-
"@strapi/design-system": "
|
|
33
|
-
"@strapi/
|
|
34
|
-
"@strapi/
|
|
35
|
-
"@strapi/utils": "0.0.0-next.e41415e8ff5f565ff959667d5c5ba4f20bee013c",
|
|
49
|
+
"@strapi/design-system": "2.0.0-rc.14",
|
|
50
|
+
"@strapi/icons": "2.0.0-rc.14",
|
|
51
|
+
"@strapi/utils": "0.0.0-next.e8d8fc824d0f6a695b2a9ebaa4680ed21c3645ca",
|
|
36
52
|
"bcryptjs": "2.4.3",
|
|
37
|
-
"formik": "2.4.
|
|
53
|
+
"formik": "2.4.5",
|
|
38
54
|
"grant-koa": "5.4.8",
|
|
39
|
-
"immer": "9.0.
|
|
55
|
+
"immer": "9.0.21",
|
|
40
56
|
"jsonwebtoken": "9.0.0",
|
|
41
57
|
"jwk-to-pem": "2.0.5",
|
|
42
|
-
"koa": "
|
|
43
|
-
"koa2-ratelimit": "^1.1.
|
|
58
|
+
"koa": "2.15.2",
|
|
59
|
+
"koa2-ratelimit": "^1.1.3",
|
|
44
60
|
"lodash": "4.17.21",
|
|
45
61
|
"prop-types": "^15.8.1",
|
|
46
62
|
"purest": "4.0.2",
|
|
47
|
-
"react-intl": "6.
|
|
63
|
+
"react-intl": "6.6.2",
|
|
48
64
|
"react-query": "3.39.3",
|
|
49
|
-
"react-redux": "8.
|
|
65
|
+
"react-redux": "8.1.3",
|
|
50
66
|
"url-join": "4.0.1",
|
|
51
|
-
"yup": "
|
|
67
|
+
"yup": "0.32.9"
|
|
52
68
|
},
|
|
53
69
|
"devDependencies": {
|
|
54
|
-
"@
|
|
55
|
-
"@
|
|
56
|
-
"@testing-library/
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"react
|
|
61
|
-
"react-
|
|
62
|
-
"
|
|
70
|
+
"@strapi/pack-up": "5.0.2",
|
|
71
|
+
"@strapi/strapi": "0.0.0-next.e8d8fc824d0f6a695b2a9ebaa4680ed21c3645ca",
|
|
72
|
+
"@testing-library/dom": "10.1.0",
|
|
73
|
+
"@testing-library/react": "15.0.7",
|
|
74
|
+
"@testing-library/user-event": "14.5.2",
|
|
75
|
+
"msw": "1.3.0",
|
|
76
|
+
"react": "18.3.1",
|
|
77
|
+
"react-dom": "18.3.1",
|
|
78
|
+
"react-router-dom": "6.22.3",
|
|
79
|
+
"styled-components": "6.1.8"
|
|
63
80
|
},
|
|
64
81
|
"peerDependencies": {
|
|
82
|
+
"@strapi/strapi": "^5.0.0",
|
|
65
83
|
"react": "^17.0.0 || ^18.0.0",
|
|
66
84
|
"react-dom": "^17.0.0 || ^18.0.0",
|
|
67
|
-
"react-router-dom": "
|
|
68
|
-
"styled-components": "
|
|
85
|
+
"react-router-dom": "^6.0.0",
|
|
86
|
+
"styled-components": "^6.0.0"
|
|
69
87
|
},
|
|
70
88
|
"engines": {
|
|
71
|
-
"node": ">=
|
|
89
|
+
"node": ">=18.0.0 <=22.x.x",
|
|
72
90
|
"npm": ">=6.0.0"
|
|
73
91
|
},
|
|
74
92
|
"strapi": {
|
|
@@ -78,5 +96,5 @@
|
|
|
78
96
|
"required": true,
|
|
79
97
|
"kind": "plugin"
|
|
80
98
|
},
|
|
81
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "e8d8fc824d0f6a695b2a9ebaa4680ed21c3645ca"
|
|
82
100
|
}
|
package/packup.config.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Config, defineConfig } from '@strapi/pack-up';
|
|
2
|
+
import { transformWithEsbuild } from 'vite';
|
|
3
|
+
|
|
4
|
+
const config: Config = defineConfig({
|
|
5
|
+
bundles: [
|
|
6
|
+
{
|
|
7
|
+
source: './admin/src/index.js',
|
|
8
|
+
import: './dist/admin/index.mjs',
|
|
9
|
+
require: './dist/admin/index.js',
|
|
10
|
+
runtime: 'web',
|
|
11
|
+
},
|
|
12
|
+
],
|
|
13
|
+
dist: './dist',
|
|
14
|
+
/**
|
|
15
|
+
* Because we're exporting a server & client package
|
|
16
|
+
* which have different runtimes we want to ignore
|
|
17
|
+
* what they look like in the package.json
|
|
18
|
+
*/
|
|
19
|
+
exports: {},
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export default config;
|
|
@@ -9,23 +9,26 @@
|
|
|
9
9
|
*/
|
|
10
10
|
const crypto = require('crypto');
|
|
11
11
|
const _ = require('lodash');
|
|
12
|
-
const urljoin = require('url-join');
|
|
13
12
|
const { getService } = require('../utils');
|
|
14
|
-
const getGrantConfig = require('./grant-config');
|
|
15
|
-
|
|
16
13
|
const usersPermissionsActions = require('./users-permissions-actions');
|
|
17
14
|
|
|
18
15
|
const initGrant = async (pluginStore) => {
|
|
19
|
-
const
|
|
20
|
-
|
|
16
|
+
const allProviders = getService('providers-registry').getAll();
|
|
17
|
+
|
|
18
|
+
const grantConfig = Object.entries(allProviders).reduce((acc, [name, provider]) => {
|
|
19
|
+
const { icon, enabled, grantConfig } = provider;
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
acc[name] = {
|
|
22
|
+
icon,
|
|
23
|
+
enabled,
|
|
24
|
+
...grantConfig,
|
|
25
|
+
};
|
|
26
|
+
return acc;
|
|
27
|
+
}, {});
|
|
23
28
|
|
|
24
29
|
const prevGrantConfig = (await pluginStore.get({ key: 'grant' })) || {};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// or we have added/deleted provider here.
|
|
28
|
-
if (!prevGrantConfig || !_.isEqual(_.keys(prevGrantConfig), _.keys(grantConfig))) {
|
|
30
|
+
|
|
31
|
+
if (!prevGrantConfig || !_.isEqual(prevGrantConfig, grantConfig)) {
|
|
29
32
|
// merge with the previous provider config.
|
|
30
33
|
_.keys(grantConfig).forEach((key) => {
|
|
31
34
|
if (key in prevGrantConfig) {
|
|
@@ -104,13 +107,13 @@ module.exports = async ({ strapi }) => {
|
|
|
104
107
|
await initEmails(pluginStore);
|
|
105
108
|
await initAdvancedOptions(pluginStore);
|
|
106
109
|
|
|
107
|
-
await strapi
|
|
108
|
-
|
|
109
|
-
|
|
110
|
+
await strapi
|
|
111
|
+
.service('admin::permission')
|
|
112
|
+
.actionProvider.registerMany(usersPermissionsActions.actions);
|
|
110
113
|
|
|
111
114
|
await getService('users-permissions').initialize();
|
|
112
115
|
|
|
113
|
-
if (!strapi.config.get('plugin
|
|
116
|
+
if (!strapi.config.get('plugin::users-permissions.jwtSecret')) {
|
|
114
117
|
if (process.env.NODE_ENV !== 'development') {
|
|
115
118
|
throw new Error(
|
|
116
119
|
`Missing jwtSecret. Please, set configuration variable "jwtSecret" for the users-permissions plugin in config/plugins.js (ex: you can generate one using Node with \`crypto.randomBytes(16).toString('base64')\`).
|
|
@@ -120,7 +123,7 @@ For security reasons, prefer storing the secret in an environment variable and r
|
|
|
120
123
|
|
|
121
124
|
const jwtSecret = crypto.randomBytes(16).toString('base64');
|
|
122
125
|
|
|
123
|
-
strapi.config.set('plugin
|
|
126
|
+
strapi.config.set('plugin::users-permissions.jwtSecret', jwtSecret);
|
|
124
127
|
|
|
125
128
|
if (!process.env.JWT_SECRET) {
|
|
126
129
|
const envPath = process.env.ENV_PATH || '.env';
|
|
@@ -16,6 +16,12 @@ module.exports = {
|
|
|
16
16
|
uid: 'roles.read',
|
|
17
17
|
subCategory: 'roles',
|
|
18
18
|
pluginName: 'users-permissions',
|
|
19
|
+
aliases: [
|
|
20
|
+
{
|
|
21
|
+
actionId: 'plugin::content-manager.explorer.read',
|
|
22
|
+
subjects: ['plugin::users-permissions.role'],
|
|
23
|
+
},
|
|
24
|
+
],
|
|
19
25
|
},
|
|
20
26
|
{
|
|
21
27
|
section: 'plugins',
|