@strapi/plugin-users-permissions 5.0.0-beta.4 → 5.0.0-beta.6

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.
Files changed (135) hide show
  1. package/admin/src/components/FormModal/index.jsx +1 -1
  2. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +1 -1
  3. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +13 -18
  4. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +4 -4
  5. package/admin/src/pages/Roles/pages/ListPage/index.jsx +1 -1
  6. package/package.json +6 -6
  7. package/server/services/user.js +21 -4
  8. package/dist/_chunks/ar-BguGUqwK.js +0 -44
  9. package/dist/_chunks/ar-BguGUqwK.js.map +0 -1
  10. package/dist/_chunks/ar-CK8BRRXB.mjs +0 -44
  11. package/dist/_chunks/ar-CK8BRRXB.mjs.map +0 -1
  12. package/dist/_chunks/cs-BVigMk0l.mjs +0 -50
  13. package/dist/_chunks/cs-BVigMk0l.mjs.map +0 -1
  14. package/dist/_chunks/cs-BW8-K_GY.js +0 -50
  15. package/dist/_chunks/cs-BW8-K_GY.js.map +0 -1
  16. package/dist/_chunks/de-BKUdRFI4.mjs +0 -62
  17. package/dist/_chunks/de-BKUdRFI4.mjs.map +0 -1
  18. package/dist/_chunks/de-owXpVluI.js +0 -62
  19. package/dist/_chunks/de-owXpVluI.js.map +0 -1
  20. package/dist/_chunks/dk-BQiTK50l.mjs +0 -86
  21. package/dist/_chunks/dk-BQiTK50l.mjs.map +0 -1
  22. package/dist/_chunks/dk-LXAnbuBk.js +0 -86
  23. package/dist/_chunks/dk-LXAnbuBk.js.map +0 -1
  24. package/dist/_chunks/en-DOHtPf-2.mjs +0 -86
  25. package/dist/_chunks/en-DOHtPf-2.mjs.map +0 -1
  26. package/dist/_chunks/en-MHo5mcsU.js +0 -86
  27. package/dist/_chunks/en-MHo5mcsU.js.map +0 -1
  28. package/dist/_chunks/es-BwLCLXAQ.js +0 -86
  29. package/dist/_chunks/es-BwLCLXAQ.js.map +0 -1
  30. package/dist/_chunks/es-DNgOVMjD.mjs +0 -86
  31. package/dist/_chunks/es-DNgOVMjD.mjs.map +0 -1
  32. package/dist/_chunks/fr-DkgRugiU.mjs +0 -50
  33. package/dist/_chunks/fr-DkgRugiU.mjs.map +0 -1
  34. package/dist/_chunks/fr-DkhpSjjm.js +0 -50
  35. package/dist/_chunks/fr-DkhpSjjm.js.map +0 -1
  36. package/dist/_chunks/id-BTemOeTZ.js +0 -62
  37. package/dist/_chunks/id-BTemOeTZ.js.map +0 -1
  38. package/dist/_chunks/id-BdEsvnaF.mjs +0 -62
  39. package/dist/_chunks/id-BdEsvnaF.mjs.map +0 -1
  40. package/dist/_chunks/index-7wfWos1T.js +0 -248
  41. package/dist/_chunks/index-7wfWos1T.js.map +0 -1
  42. package/dist/_chunks/index-BPGl32Qx.mjs +0 -253
  43. package/dist/_chunks/index-BPGl32Qx.mjs.map +0 -1
  44. package/dist/_chunks/index-BQQx9fm3.js +0 -1174
  45. package/dist/_chunks/index-BQQx9fm3.js.map +0 -1
  46. package/dist/_chunks/index-BzscZzdb.js +0 -358
  47. package/dist/_chunks/index-BzscZzdb.js.map +0 -1
  48. package/dist/_chunks/index-Cgtj8fbz.js +0 -634
  49. package/dist/_chunks/index-Cgtj8fbz.js.map +0 -1
  50. package/dist/_chunks/index-DR9uuqpY.mjs +0 -1143
  51. package/dist/_chunks/index-DR9uuqpY.mjs.map +0 -1
  52. package/dist/_chunks/index-Doewayrm.mjs +0 -249
  53. package/dist/_chunks/index-Doewayrm.mjs.map +0 -1
  54. package/dist/_chunks/index-N9_Qd-tg.mjs +0 -611
  55. package/dist/_chunks/index-N9_Qd-tg.mjs.map +0 -1
  56. package/dist/_chunks/index-i37IN_fH-BF_n1AVy.mjs +0 -10310
  57. package/dist/_chunks/index-i37IN_fH-BF_n1AVy.mjs.map +0 -1
  58. package/dist/_chunks/index-i37IN_fH-_tlNeVkL.js +0 -10334
  59. package/dist/_chunks/index-i37IN_fH-_tlNeVkL.js.map +0 -1
  60. package/dist/_chunks/index-l2QT_IDT.js +0 -272
  61. package/dist/_chunks/index-l2QT_IDT.js.map +0 -1
  62. package/dist/_chunks/index-vs42H81V.mjs +0 -336
  63. package/dist/_chunks/index-vs42H81V.mjs.map +0 -1
  64. package/dist/_chunks/it-B-rv0E24.mjs +0 -62
  65. package/dist/_chunks/it-B-rv0E24.mjs.map +0 -1
  66. package/dist/_chunks/it-D1rH6V6_.js +0 -62
  67. package/dist/_chunks/it-D1rH6V6_.js.map +0 -1
  68. package/dist/_chunks/ja-C8K-VBPD.mjs +0 -48
  69. package/dist/_chunks/ja-C8K-VBPD.mjs.map +0 -1
  70. package/dist/_chunks/ja-DqShgTMf.js +0 -48
  71. package/dist/_chunks/ja-DqShgTMf.js.map +0 -1
  72. package/dist/_chunks/ko-B9DGEPWH.js +0 -86
  73. package/dist/_chunks/ko-B9DGEPWH.js.map +0 -1
  74. package/dist/_chunks/ko-Busb0wIY.mjs +0 -86
  75. package/dist/_chunks/ko-Busb0wIY.mjs.map +0 -1
  76. package/dist/_chunks/ms-ByvsQjRt.mjs +0 -49
  77. package/dist/_chunks/ms-ByvsQjRt.mjs.map +0 -1
  78. package/dist/_chunks/ms-CPBU3LWf.js +0 -49
  79. package/dist/_chunks/ms-CPBU3LWf.js.map +0 -1
  80. package/dist/_chunks/nl-5qO8Rpcy.mjs +0 -48
  81. package/dist/_chunks/nl-5qO8Rpcy.mjs.map +0 -1
  82. package/dist/_chunks/nl-CwNB6YoO.js +0 -48
  83. package/dist/_chunks/nl-CwNB6YoO.js.map +0 -1
  84. package/dist/_chunks/pl-BdIzifBE.mjs +0 -86
  85. package/dist/_chunks/pl-BdIzifBE.mjs.map +0 -1
  86. package/dist/_chunks/pl-Do9UD69f.js +0 -86
  87. package/dist/_chunks/pl-Do9UD69f.js.map +0 -1
  88. package/dist/_chunks/pt-BIO24ioG.mjs +0 -48
  89. package/dist/_chunks/pt-BIO24ioG.mjs.map +0 -1
  90. package/dist/_chunks/pt-BR-D7dZhxuP.js +0 -44
  91. package/dist/_chunks/pt-BR-D7dZhxuP.js.map +0 -1
  92. package/dist/_chunks/pt-BR-f0p23AQZ.mjs +0 -44
  93. package/dist/_chunks/pt-BR-f0p23AQZ.mjs.map +0 -1
  94. package/dist/_chunks/pt-fdvyOnUp.js +0 -48
  95. package/dist/_chunks/pt-fdvyOnUp.js.map +0 -1
  96. package/dist/_chunks/ru-C94rjPGA.js +0 -86
  97. package/dist/_chunks/ru-C94rjPGA.js.map +0 -1
  98. package/dist/_chunks/ru-VWy-IB7K.mjs +0 -86
  99. package/dist/_chunks/ru-VWy-IB7K.mjs.map +0 -1
  100. package/dist/_chunks/sk-BABEhykl.js +0 -50
  101. package/dist/_chunks/sk-BABEhykl.js.map +0 -1
  102. package/dist/_chunks/sk-B_LIcepm.mjs +0 -50
  103. package/dist/_chunks/sk-B_LIcepm.mjs.map +0 -1
  104. package/dist/_chunks/sv-ABLKOokl.mjs +0 -86
  105. package/dist/_chunks/sv-ABLKOokl.mjs.map +0 -1
  106. package/dist/_chunks/sv-Be43LhA9.js +0 -86
  107. package/dist/_chunks/sv-Be43LhA9.js.map +0 -1
  108. package/dist/_chunks/th-DKyP7ueR.mjs +0 -60
  109. package/dist/_chunks/th-DKyP7ueR.mjs.map +0 -1
  110. package/dist/_chunks/th-DgVhVLhL.js +0 -60
  111. package/dist/_chunks/th-DgVhVLhL.js.map +0 -1
  112. package/dist/_chunks/tr-B_idhkEs.js +0 -85
  113. package/dist/_chunks/tr-B_idhkEs.js.map +0 -1
  114. package/dist/_chunks/tr-qa1Q5UjC.mjs +0 -85
  115. package/dist/_chunks/tr-qa1Q5UjC.mjs.map +0 -1
  116. package/dist/_chunks/uk-BmRqbeQc.mjs +0 -49
  117. package/dist/_chunks/uk-BmRqbeQc.mjs.map +0 -1
  118. package/dist/_chunks/uk-LHOivnhP.js +0 -49
  119. package/dist/_chunks/uk-LHOivnhP.js.map +0 -1
  120. package/dist/_chunks/vi-CdVRdKDw.js +0 -50
  121. package/dist/_chunks/vi-CdVRdKDw.js.map +0 -1
  122. package/dist/_chunks/vi-HW-EdMea.mjs +0 -50
  123. package/dist/_chunks/vi-HW-EdMea.mjs.map +0 -1
  124. package/dist/_chunks/zh-5hKkVPA4.mjs +0 -86
  125. package/dist/_chunks/zh-5hKkVPA4.mjs.map +0 -1
  126. package/dist/_chunks/zh-Cuq8gMnF.js +0 -86
  127. package/dist/_chunks/zh-Cuq8gMnF.js.map +0 -1
  128. package/dist/_chunks/zh-Hans-BHilK-yc.mjs +0 -86
  129. package/dist/_chunks/zh-Hans-BHilK-yc.mjs.map +0 -1
  130. package/dist/_chunks/zh-Hans-GQDMKtY4.js +0 -86
  131. package/dist/_chunks/zh-Hans-GQDMKtY4.js.map +0 -1
  132. package/dist/admin/index.js +0 -4
  133. package/dist/admin/index.js.map +0 -1
  134. package/dist/admin/index.mjs +0 -5
  135. package/dist/admin/index.mjs.map +0 -1
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const fr = {
4
- "BoundRoute.title": "Route associée à",
5
- "EditForm.inputSelect.description.role": "Choisissez le rôle qui sera lié aux utilisateurs lors de leur enregistrement.",
6
- "EditForm.inputSelect.label.role": "Rôle par defaut pour les nouveaux utilisateurs",
7
- "EditForm.inputToggle.description.email": "Interdire l'utilisateur de créer de multiple comptes avec la même adresse e-mail avec des providers différents",
8
- "EditForm.inputToggle.description.email-confirmation": "Quand cette option est activée (ON), les nouveaux utilisateurs enregistrés reçoivent un e-mail de confirmation.",
9
- "EditForm.inputToggle.description.email-confirmation-redirection": "Après confirmation de votre e-mail, choisissez où vous allez être redirigé.",
10
- "EditForm.inputToggle.description.email-reset-password": "URL de la page de réinitialisation de mot de passe.",
11
- "EditForm.inputToggle.description.sign-up": "Quand l'inscription est désactivée (OFF), aucun utilisateur ne peut s'inscrire qu'importe le provider",
12
- "EditForm.inputToggle.label.email": "Un compte par adresse e-mail",
13
- "EditForm.inputToggle.label.email-confirmation": "Activer l'e-mail de confirmation",
14
- "EditForm.inputToggle.label.email-confirmation-redirection": "Redirection de l'URL",
15
- "EditForm.inputToggle.label.email-reset-password": "Page de réinitialisation de mot de passe",
16
- "EditForm.inputToggle.label.sign-up": "Activer l'inscription",
17
- "HeaderNav.link.advancedSettings": "Paramètres avancés",
18
- "HeaderNav.link.emailTemplates": "Templates d'e-mail",
19
- "HeaderNav.link.providers": "Fournisseurs",
20
- "Plugin.permissions.plugins.description": "Définissez les actions autorisées dans le {name} plugin.",
21
- "Plugins.header.description": "Sont listés uniquement les actions associées à une route.",
22
- "Plugins.header.title": "Permissions",
23
- "Policies.header.hint": "Sélectionnez les actions de l'application ou d'un plugin et cliquer sur l'icon de paramètres pour voir les routes associées à cette action",
24
- "Policies.header.title": "Paramètres avancés",
25
- "PopUpForm.Email.email_templates.inputDescription": "Regardez la documentation des variables, {link}",
26
- "PopUpForm.Email.options.from.email.label": "E-mail de l'envoyeur",
27
- "PopUpForm.Email.options.from.email.placeholder": "arthurdupont@gmail.com",
28
- "PopUpForm.Email.options.from.name.label": "Nom de l'envoyeur",
29
- "PopUpForm.Email.options.from.name.placeholder": "Arthur Dupont",
30
- "PopUpForm.Email.options.message.label": "Message",
31
- "PopUpForm.Email.options.object.label": "Objet",
32
- "PopUpForm.Email.options.response_email.label": "E-mail de réponse",
33
- "PopUpForm.Email.options.response_email.placeholder": "arthurdupont@gmail.com",
34
- "PopUpForm.Providers.enabled.description": "S'il est désactivé les utilisateurs ne pourront pas utiliser ce provider.",
35
- "PopUpForm.Providers.enabled.label": "Activer",
36
- "PopUpForm.Providers.key.label": "Client ID",
37
- "PopUpForm.Providers.key.placeholder": "TEXT",
38
- "PopUpForm.Providers.redirectURL.front-end.label": "L'URL de redirection de votre app front-end",
39
- "PopUpForm.Providers.secret.label": "Client Secret",
40
- "PopUpForm.Providers.secret.placeholder": "TEXT",
41
- "PopUpForm.Providers.subdomain.label": "Host URI (Subdomain)",
42
- "PopUpForm.Providers.subdomain.placeholder": "my.subdomain.com",
43
- "PopUpForm.header.edit.email-templates": "Editer E-mail Templates",
44
- "notification.success.submit": "Les configurations ont bien été sauvegardés",
45
- "plugin.description.long": "Protégez votre API avec un système d'authentification complet basé sur JWT (JSON Web Token). Ce plugin ajoute aussi une stratégie ACL (Access Control Layer) qui vous permet de gérer les permissions entre les groupes d'utilisateurs.",
46
- "plugin.description.short": "Protégez votre API avec un système d'authentification complet basé sur JWT.",
47
- "plugin.name": "Rôles et autorisations"
48
- };
49
- exports.default = fr;
50
- //# sourceMappingURL=fr-DkhpSjjm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fr-DkhpSjjm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const id = {
4
- "BoundRoute.title": "Rute terikat ke",
5
- "EditForm.inputSelect.description.role": "Ini akan melampirkan pengguna baru yang diautentikasi ke peran yang dipilih.",
6
- "EditForm.inputSelect.label.role": "Peran default untuk pengguna yang diautentikasi",
7
- "EditForm.inputToggle.description.email": "Larang pengguna membuat beberapa akun menggunakan alamat email yang sama dengan penyedia otentikasi yang berbeda.",
8
- "EditForm.inputToggle.description.email-confirmation": "Saat diaktifkan (ON), pengguna baru yang terdaftar menerima email konfirmasi.",
9
- "EditForm.inputToggle.description.email-confirmation-redirection": "Setelah Anda mengkonfirmasi email Anda, pilih ke mana Anda akan diarahkan.",
10
- "EditForm.inputToggle.description.email-reset-password": "URL halaman setel ulang sandi aplikasi Anda",
11
- "EditForm.inputToggle.description.sign-up": "Saat dinonaktifkan (OFF), proses pendaftaran dilarang. Tidak ada yang bisa berlangganan lagi tidak peduli penyedia yang digunakan.",
12
- "EditForm.inputToggle.label.email": "Satu akun per alamat email",
13
- "EditForm.inputToggle.label.email-confirmation": "Aktifkan konfirmasi email",
14
- "EditForm.inputToggle.label.email-confirmation-redirection": "URL pengalihan",
15
- "EditForm.inputToggle.label.email-reset-password": "Atur ulang halaman kata sandi",
16
- "EditForm.inputToggle.label.sign-up": "Aktifkan pendaftaran",
17
- "Email.template.email_confirmation": "Konfirmasi alamat email",
18
- "HeaderNav.link.advancedSettings": "Pengaturan lanjutan",
19
- "HeaderNav.link.emailTemplates": "Template email",
20
- "HeaderNav.link.providers": "Penyedia",
21
- "Plugin.permissions.plugins.description": "Tentukan semua tindakan yang diizinkan untuk plugin {name}.",
22
- "Plugins.header.description": "Hanya tindakan yang terikat oleh rute yang dicantumkan di bawah.",
23
- "Plugins.header.title": "Izin",
24
- "Policies.header.hint": "Pilih tindakan aplikasi atau tindakan plugin dan klik ikon roda gigi untuk menampilkan rute terikat",
25
- "Policies.header.title": "Pengaturan lanjutan",
26
- "PopUpForm.Email.email_templates.inputDescription": "Jika Anda tidak yakin bagaimana menggunakan variabel, {link}",
27
- "PopUpForm.Email.link.documentation": "lihat dokumentasi kami.",
28
- "PopUpForm.Email.options.from.email.label": "Email pengirim",
29
- "PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
30
- "PopUpForm.Email.options.from.name.label": "Nama pengirim",
31
- "PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
32
- "PopUpForm.Email.options.message.label": "Pesan",
33
- "PopUpForm.Email.options.object.label": "Subyek",
34
- "PopUpForm.Email.options.object.placeholder": "Harap konfirmasi alamat email Anda untuk% APP_NAME%",
35
- "PopUpForm.Email.options.response_email.label": "Email tanggapan",
36
- "PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
37
- "PopUpForm.Providers.enabled.description": "Jika dinonaktifkan, pengguna tidak akan dapat menggunakan penyedia ini.",
38
- "PopUpForm.Providers.enabled.label": "Memungkinkan",
39
- "PopUpForm.Providers.key.label": "ID Klien",
40
- "PopUpForm.Providers.key.placeholder": "TEKS",
41
- "PopUpForm.Providers.redirectURL.front-end.label": "URL pengalihan ke aplikasi front-end Anda",
42
- "PopUpForm.Providers.redirectURL.label": "URL pengalihan yang akan ditambahkan dalam konfigurasi aplikasi {provider} Anda",
43
- "PopUpForm.Providers.secret.label": "Client Secret",
44
- "PopUpForm.Providers.secret.placeholder": "TEKS",
45
- "PopUpForm.Providers.subdomain.label": "URI Host (Subdomain)",
46
- "PopUpForm.Providers.subdomain.placeholder": "saya.subdomain.com",
47
- "PopUpForm.header.edit.email-templates": "Edit Template Email",
48
- "PopUpForm.header.edit.providers": "Edit Penyedia",
49
- "Settings.roles.deleted": "Peran dihapus",
50
- "Settings.roles.edited": "Peran diedit",
51
- "Settings.section-label": "Plugin Pengguna & Izin",
52
- "notification.success.submit": "Pengaturan telah diperbarui",
53
- "plugin.description.long": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT. Plugin ini juga dilengkapi dengan strategi ACL yang memungkinkan Anda untuk mengelola izin di antara grup pengguna.",
54
- "plugin.description.short": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT",
55
- "plugin.name": "Plugin Pengguna & Izin",
56
- "popUpWarning.button.cancel": "Batalkan",
57
- "popUpWarning.button.confirm": "Konfirmasi",
58
- "popUpWarning.title": "Harap konfirmasi",
59
- "popUpWarning.warning.cancel": "Anda yakin ingin membatalkan modifikasi Anda?"
60
- };
61
- exports.default = id;
62
- //# sourceMappingURL=id-BTemOeTZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-BTemOeTZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,62 +0,0 @@
1
- const id = {
2
- "BoundRoute.title": "Rute terikat ke",
3
- "EditForm.inputSelect.description.role": "Ini akan melampirkan pengguna baru yang diautentikasi ke peran yang dipilih.",
4
- "EditForm.inputSelect.label.role": "Peran default untuk pengguna yang diautentikasi",
5
- "EditForm.inputToggle.description.email": "Larang pengguna membuat beberapa akun menggunakan alamat email yang sama dengan penyedia otentikasi yang berbeda.",
6
- "EditForm.inputToggle.description.email-confirmation": "Saat diaktifkan (ON), pengguna baru yang terdaftar menerima email konfirmasi.",
7
- "EditForm.inputToggle.description.email-confirmation-redirection": "Setelah Anda mengkonfirmasi email Anda, pilih ke mana Anda akan diarahkan.",
8
- "EditForm.inputToggle.description.email-reset-password": "URL halaman setel ulang sandi aplikasi Anda",
9
- "EditForm.inputToggle.description.sign-up": "Saat dinonaktifkan (OFF), proses pendaftaran dilarang. Tidak ada yang bisa berlangganan lagi tidak peduli penyedia yang digunakan.",
10
- "EditForm.inputToggle.label.email": "Satu akun per alamat email",
11
- "EditForm.inputToggle.label.email-confirmation": "Aktifkan konfirmasi email",
12
- "EditForm.inputToggle.label.email-confirmation-redirection": "URL pengalihan",
13
- "EditForm.inputToggle.label.email-reset-password": "Atur ulang halaman kata sandi",
14
- "EditForm.inputToggle.label.sign-up": "Aktifkan pendaftaran",
15
- "Email.template.email_confirmation": "Konfirmasi alamat email",
16
- "HeaderNav.link.advancedSettings": "Pengaturan lanjutan",
17
- "HeaderNav.link.emailTemplates": "Template email",
18
- "HeaderNav.link.providers": "Penyedia",
19
- "Plugin.permissions.plugins.description": "Tentukan semua tindakan yang diizinkan untuk plugin {name}.",
20
- "Plugins.header.description": "Hanya tindakan yang terikat oleh rute yang dicantumkan di bawah.",
21
- "Plugins.header.title": "Izin",
22
- "Policies.header.hint": "Pilih tindakan aplikasi atau tindakan plugin dan klik ikon roda gigi untuk menampilkan rute terikat",
23
- "Policies.header.title": "Pengaturan lanjutan",
24
- "PopUpForm.Email.email_templates.inputDescription": "Jika Anda tidak yakin bagaimana menggunakan variabel, {link}",
25
- "PopUpForm.Email.link.documentation": "lihat dokumentasi kami.",
26
- "PopUpForm.Email.options.from.email.label": "Email pengirim",
27
- "PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
28
- "PopUpForm.Email.options.from.name.label": "Nama pengirim",
29
- "PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
30
- "PopUpForm.Email.options.message.label": "Pesan",
31
- "PopUpForm.Email.options.object.label": "Subyek",
32
- "PopUpForm.Email.options.object.placeholder": "Harap konfirmasi alamat email Anda untuk% APP_NAME%",
33
- "PopUpForm.Email.options.response_email.label": "Email tanggapan",
34
- "PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
35
- "PopUpForm.Providers.enabled.description": "Jika dinonaktifkan, pengguna tidak akan dapat menggunakan penyedia ini.",
36
- "PopUpForm.Providers.enabled.label": "Memungkinkan",
37
- "PopUpForm.Providers.key.label": "ID Klien",
38
- "PopUpForm.Providers.key.placeholder": "TEKS",
39
- "PopUpForm.Providers.redirectURL.front-end.label": "URL pengalihan ke aplikasi front-end Anda",
40
- "PopUpForm.Providers.redirectURL.label": "URL pengalihan yang akan ditambahkan dalam konfigurasi aplikasi {provider} Anda",
41
- "PopUpForm.Providers.secret.label": "Client Secret",
42
- "PopUpForm.Providers.secret.placeholder": "TEKS",
43
- "PopUpForm.Providers.subdomain.label": "URI Host (Subdomain)",
44
- "PopUpForm.Providers.subdomain.placeholder": "saya.subdomain.com",
45
- "PopUpForm.header.edit.email-templates": "Edit Template Email",
46
- "PopUpForm.header.edit.providers": "Edit Penyedia",
47
- "Settings.roles.deleted": "Peran dihapus",
48
- "Settings.roles.edited": "Peran diedit",
49
- "Settings.section-label": "Plugin Pengguna & Izin",
50
- "notification.success.submit": "Pengaturan telah diperbarui",
51
- "plugin.description.long": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT. Plugin ini juga dilengkapi dengan strategi ACL yang memungkinkan Anda untuk mengelola izin di antara grup pengguna.",
52
- "plugin.description.short": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT",
53
- "plugin.name": "Plugin Pengguna & Izin",
54
- "popUpWarning.button.cancel": "Batalkan",
55
- "popUpWarning.button.confirm": "Konfirmasi",
56
- "popUpWarning.title": "Harap konfirmasi",
57
- "popUpWarning.warning.cancel": "Anda yakin ingin membatalkan modifikasi Anda?"
58
- };
59
- export {
60
- id as default
61
- };
62
- //# sourceMappingURL=id-BdEsvnaF.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-BdEsvnaF.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,248 +0,0 @@
1
- "use strict";
2
- const __variableDynamicImportRuntimeHelper = (glob, path) => {
3
- const v = glob[path];
4
- if (v) {
5
- return typeof v === "function" ? v() : Promise.resolve(v);
6
- }
7
- return new Promise((_, reject) => {
8
- (typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
9
- });
10
- };
11
- const name$1 = "@strapi/plugin-users-permissions";
12
- const version = "5.0.0-beta.3";
13
- const description = "Protect your API with a full-authentication process based on JWT";
14
- const repository = {
15
- type: "git",
16
- url: "git://github.com/strapi/strapi.git"
17
- };
18
- const license = "SEE LICENSE IN LICENSE";
19
- const author = {
20
- name: "Strapi Solutions SAS",
21
- email: "hi@strapi.io",
22
- url: "https://strapi.io"
23
- };
24
- const maintainers = [
25
- {
26
- name: "Strapi Solutions SAS",
27
- email: "hi@strapi.io",
28
- url: "https://strapi.io"
29
- }
30
- ];
31
- const exports$1 = {
32
- "./strapi-admin": {
33
- source: "./admin/src/index.js",
34
- "import": "./dist/admin/index.mjs",
35
- require: "./dist/admin/index.js",
36
- "default": "./dist/admin/index.js"
37
- },
38
- "./strapi-server": {
39
- source: "./strapi-server.js",
40
- require: "./strapi-server.js",
41
- "default": "./strapi-server.js"
42
- },
43
- "./package.json": "./package.json"
44
- };
45
- const scripts = {
46
- build: "pack-up build",
47
- clean: "run -T rimraf dist",
48
- lint: "run -T eslint .",
49
- "test:front": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js",
50
- "test:front:ce": "run -T cross-env IS_EE=false jest --config ./jest.config.front.js",
51
- "test:front:watch": "run -T cross-env IS_EE=true jest --config ./jest.config.front.js --watchAll",
52
- "test:front:watch:ce": "run -T cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll",
53
- "test:unit": "run -T jest",
54
- "test:unit:watch": "run -T jest --watch",
55
- watch: "pack-up watch"
56
- };
57
- const dependencies = {
58
- "@strapi/design-system": "1.17.0",
59
- "@strapi/icons": "1.16.0",
60
- "@strapi/utils": "5.0.0-beta.3",
61
- bcryptjs: "2.4.3",
62
- formik: "2.4.5",
63
- "grant-koa": "5.4.8",
64
- immer: "9.0.21",
65
- jsonwebtoken: "9.0.0",
66
- "jwk-to-pem": "2.0.5",
67
- koa: "2.15.2",
68
- "koa2-ratelimit": "^1.1.3",
69
- lodash: "4.17.21",
70
- "prop-types": "^15.8.1",
71
- purest: "4.0.2",
72
- "react-intl": "6.6.2",
73
- "react-query": "3.39.3",
74
- "react-redux": "8.1.3",
75
- "url-join": "4.0.1",
76
- yup: "0.32.9"
77
- };
78
- const devDependencies = {
79
- "@strapi/pack-up": "5.0.0",
80
- "@strapi/strapi": "5.0.0-beta.3",
81
- "@testing-library/dom": "9.2.0",
82
- "@testing-library/react": "14.0.0",
83
- "@testing-library/user-event": "14.4.3",
84
- msw: "1.3.0",
85
- react: "^18.2.0",
86
- "react-dom": "^18.2.0",
87
- "react-router-dom": "6.22.3",
88
- "styled-components": "5.3.11"
89
- };
90
- const peerDependencies = {
91
- "@strapi/strapi": "^5.0.0 || ^5.0.0-beta || ^5.0.0-alpha || ^5.0.0-rc",
92
- react: "^17.0.0 || ^18.0.0",
93
- "react-dom": "^17.0.0 || ^18.0.0",
94
- "react-router-dom": "^6.0.0",
95
- "styled-components": "^5.2.1"
96
- };
97
- const engines = {
98
- node: ">=18.0.0 <=20.x.x",
99
- npm: ">=6.0.0"
100
- };
101
- const strapi = {
102
- displayName: "Roles & Permissions",
103
- name: "users-permissions",
104
- description: "Protect your API with a full authentication process based on JWT. This plugin comes also with an ACL strategy that allows you to manage the permissions between the groups of users.",
105
- required: true,
106
- kind: "plugin"
107
- };
108
- const pluginPkg = {
109
- name: name$1,
110
- version,
111
- description,
112
- repository,
113
- license,
114
- author,
115
- maintainers,
116
- exports: exports$1,
117
- scripts,
118
- dependencies,
119
- devDependencies,
120
- peerDependencies,
121
- engines,
122
- strapi
123
- };
124
- const PERMISSIONS = {
125
- // Roles
126
- accessRoles: [
127
- { action: "plugin::users-permissions.roles.create", subject: null },
128
- { action: "plugin::users-permissions.roles.read", subject: null }
129
- ],
130
- createRole: [{ action: "plugin::users-permissions.roles.create", subject: null }],
131
- deleteRole: [{ action: "plugin::users-permissions.roles.delete", subject: null }],
132
- readRoles: [{ action: "plugin::users-permissions.roles.read", subject: null }],
133
- updateRole: [{ action: "plugin::users-permissions.roles.update", subject: null }],
134
- // AdvancedSettings
135
- readAdvancedSettings: [
136
- { action: "plugin::users-permissions.advanced-settings.read", subject: null }
137
- ],
138
- updateAdvancedSettings: [
139
- { action: "plugin::users-permissions.advanced-settings.update", subject: null }
140
- ],
141
- // Emails
142
- readEmailTemplates: [{ action: "plugin::users-permissions.email-templates.read", subject: null }],
143
- updateEmailTemplates: [
144
- { action: "plugin::users-permissions.email-templates.update", subject: null }
145
- ],
146
- // Providers
147
- readProviders: [{ action: "plugin::users-permissions.providers.read", subject: null }],
148
- updateProviders: [{ action: "plugin::users-permissions.providers.update", subject: null }]
149
- };
150
- const pluginId = pluginPkg.name.replace(/^@strapi\/plugin-/i, "");
151
- const getTrad = (id) => `${pluginId}.${id}`;
152
- const prefixPluginTranslations = (trad, pluginId2) => {
153
- if (!pluginId2) {
154
- throw new TypeError("pluginId can't be empty");
155
- }
156
- return Object.keys(trad).reduce((acc, current) => {
157
- acc[`${pluginId2}.${current}`] = trad[current];
158
- return acc;
159
- }, {});
160
- };
161
- const name = pluginPkg.strapi.name;
162
- const index = {
163
- register(app) {
164
- app.createSettingSection(
165
- {
166
- id: "users-permissions",
167
- intlLabel: {
168
- id: getTrad("Settings.section-label"),
169
- defaultMessage: "Users & Permissions plugin"
170
- }
171
- },
172
- [
173
- {
174
- intlLabel: {
175
- id: "global.roles",
176
- defaultMessage: "Roles"
177
- },
178
- id: "roles",
179
- to: `users-permissions/roles`,
180
- Component: () => Promise.resolve().then(() => require("./index-BQQx9fm3.js")),
181
- permissions: PERMISSIONS.accessRoles
182
- },
183
- {
184
- intlLabel: {
185
- id: getTrad("HeaderNav.link.providers"),
186
- defaultMessage: "Providers"
187
- },
188
- id: "providers",
189
- to: `users-permissions/providers`,
190
- Component: () => Promise.resolve().then(() => require("./index-Cgtj8fbz.js")),
191
- permissions: PERMISSIONS.readProviders
192
- },
193
- {
194
- intlLabel: {
195
- id: getTrad("HeaderNav.link.emailTemplates"),
196
- defaultMessage: "Email templates"
197
- },
198
- id: "email-templates",
199
- to: `users-permissions/email-templates`,
200
- Component: () => Promise.resolve().then(() => require("./index-BzscZzdb.js")).then((mod) => ({
201
- default: mod.ProtectedEmailTemplatesPage
202
- })),
203
- permissions: PERMISSIONS.readEmailTemplates
204
- },
205
- {
206
- intlLabel: {
207
- id: getTrad("HeaderNav.link.advancedSettings"),
208
- defaultMessage: "Advanced Settings"
209
- },
210
- id: "advanced-settings",
211
- to: `users-permissions/advanced-settings`,
212
- Component: () => Promise.resolve().then(() => require("./index-l2QT_IDT.js")).then((mod) => ({
213
- default: mod.ProtectedAdvancedSettingsPage
214
- })),
215
- permissions: PERMISSIONS.readAdvancedSettings
216
- }
217
- ]
218
- );
219
- app.registerPlugin({
220
- id: "users-permissions",
221
- name
222
- });
223
- },
224
- bootstrap() {
225
- },
226
- async registerTrads({ locales }) {
227
- const importedTrads = await Promise.all(
228
- locales.map((locale) => {
229
- return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-BguGUqwK.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-BW8-K_GY.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-owXpVluI.js")), "./translations/dk.json": () => Promise.resolve().then(() => require("./dk-LXAnbuBk.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-MHo5mcsU.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-BwLCLXAQ.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-DkhpSjjm.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-BTemOeTZ.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-D1rH6V6_.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-DqShgTMf.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-B9DGEPWH.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-CPBU3LWf.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-CwNB6YoO.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-Do9UD69f.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-D7dZhxuP.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-fdvyOnUp.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-C94rjPGA.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-BABEhykl.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-Be43LhA9.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-DgVhVLhL.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-B_idhkEs.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-LHOivnhP.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-CdVRdKDw.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-GQDMKtY4.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-Cuq8gMnF.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
230
- return {
231
- data: prefixPluginTranslations(data, "users-permissions"),
232
- locale
233
- };
234
- }).catch(() => {
235
- return {
236
- data: {},
237
- locale
238
- };
239
- });
240
- })
241
- );
242
- return Promise.resolve(importedTrads);
243
- }
244
- };
245
- exports.PERMISSIONS = PERMISSIONS;
246
- exports.getTrad = getTrad;
247
- exports.index = index;
248
- //# sourceMappingURL=index-7wfWos1T.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-7wfWos1T.js","sources":["../../admin/src/constants.js","../../admin/src/pluginId.js","../../admin/src/utils/getTrad.js","../../admin/src/utils/prefixPluginTranslations.js","../../admin/src/index.js"],"sourcesContent":["export const PERMISSIONS = {\n // Roles\n accessRoles: [\n { action: 'plugin::users-permissions.roles.create', subject: null },\n { action: 'plugin::users-permissions.roles.read', subject: null },\n ],\n createRole: [{ action: 'plugin::users-permissions.roles.create', subject: null }],\n deleteRole: [{ action: 'plugin::users-permissions.roles.delete', subject: null }],\n readRoles: [{ action: 'plugin::users-permissions.roles.read', subject: null }],\n updateRole: [{ action: 'plugin::users-permissions.roles.update', subject: null }],\n\n // AdvancedSettings\n readAdvancedSettings: [\n { action: 'plugin::users-permissions.advanced-settings.read', subject: null },\n ],\n updateAdvancedSettings: [\n { action: 'plugin::users-permissions.advanced-settings.update', subject: null },\n ],\n\n // Emails\n readEmailTemplates: [{ action: 'plugin::users-permissions.email-templates.read', subject: null }],\n updateEmailTemplates: [\n { action: 'plugin::users-permissions.email-templates.update', subject: null },\n ],\n\n // Providers\n readProviders: [{ action: 'plugin::users-permissions.providers.read', subject: null }],\n updateProviders: [{ action: 'plugin::users-permissions.providers.update', subject: null }],\n};\n","import pluginPkg from '../../package.json';\n\nconst pluginId = pluginPkg.name.replace(/^@strapi\\/plugin-/i, '');\n\nexport default pluginId;\n","import pluginId from '../pluginId';\n\nconst getTrad = (id) => `${pluginId}.${id}`;\n\nexport default getTrad;\n","const prefixPluginTranslations = (trad, pluginId) => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n\n return acc;\n }, {});\n};\n\nexport { prefixPluginTranslations };\n","import pluginPkg from '../../package.json';\n\nimport { PERMISSIONS } from './constants';\nimport getTrad from './utils/getTrad';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nconst name = pluginPkg.strapi.name;\n\nexport default {\n register(app) {\n // Create the plugin's settings section\n app.createSettingSection(\n {\n id: 'users-permissions',\n intlLabel: {\n id: getTrad('Settings.section-label'),\n defaultMessage: 'Users & Permissions plugin',\n },\n },\n [\n {\n intlLabel: {\n id: 'global.roles',\n defaultMessage: 'Roles',\n },\n id: 'roles',\n to: `users-permissions/roles`,\n Component: () => import('./pages/Roles'),\n permissions: PERMISSIONS.accessRoles,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n },\n id: 'providers',\n to: `users-permissions/providers`,\n Component: () => import('./pages/Providers'),\n permissions: PERMISSIONS.readProviders,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n },\n id: 'email-templates',\n to: `users-permissions/email-templates`,\n Component: () =>\n import('./pages/EmailTemplates').then((mod) => ({\n default: mod.ProtectedEmailTemplatesPage,\n })),\n permissions: PERMISSIONS.readEmailTemplates,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n },\n id: 'advanced-settings',\n to: `users-permissions/advanced-settings`,\n Component: () =>\n import('./pages/AdvancedSettings').then((mod) => ({\n default: mod.ProtectedAdvancedSettingsPage,\n })),\n permissions: PERMISSIONS.readAdvancedSettings,\n },\n ]\n );\n\n app.registerPlugin({\n id: 'users-permissions',\n name,\n });\n },\n bootstrap() {},\n async registerTrads({ locales }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, 'users-permissions'),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["pluginId"],"mappings":"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"}