@strapi/plugin-users-permissions 0.0.0-experimental.62ebf57bb35846666febb5ee2078fe02fe990f57 → 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282

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 (783) hide show
  1. package/.eslintrc.cjs +29 -0
  2. package/admin/src/components/BoundRoute/index.jsx +3 -3
  3. package/admin/src/components/FormModal/Input/index.jsx +33 -32
  4. package/admin/src/components/FormModal/index.jsx +58 -69
  5. package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.jsx +4 -3
  6. package/admin/src/components/Permissions/PermissionRow/SubCategory.jsx +20 -22
  7. package/admin/src/components/Permissions/index.jsx +27 -35
  8. package/admin/src/components/Permissions/reducer.js +1 -1
  9. package/admin/src/components/Policies/index.jsx +9 -6
  10. package/admin/src/components/UsersPermissions/index.jsx +16 -7
  11. package/admin/src/components/UsersPermissions/reducer.js +1 -1
  12. package/admin/src/index.js +17 -34
  13. package/admin/src/pages/AdvancedSettings/index.jsx +85 -129
  14. package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
  15. package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
  16. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +121 -140
  17. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +21 -18
  18. package/admin/src/pages/EmailTemplates/index.jsx +36 -62
  19. package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
  20. package/admin/src/pages/Providers/index.jsx +97 -114
  21. package/admin/src/pages/Providers/utils/forms.js +23 -11
  22. package/admin/src/pages/Roles/constants.js +3 -3
  23. package/admin/src/pages/Roles/hooks/usePlugins.js +4 -4
  24. package/admin/src/pages/Roles/index.jsx +10 -19
  25. package/admin/src/pages/Roles/pages/CreatePage.jsx +74 -61
  26. package/admin/src/pages/Roles/pages/EditPage.jsx +70 -69
  27. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +28 -32
  28. package/admin/src/pages/Roles/pages/ListPage/index.jsx +152 -129
  29. package/admin/src/pluginId.js +2 -2
  30. package/admin/src/translations/cs.json +42 -5
  31. package/admin/src/translations/de.json +27 -2
  32. package/admin/src/translations/en.json +2 -1
  33. package/admin/src/translations/ja.json +46 -7
  34. package/admin/src/translations/nl.json +40 -1
  35. package/admin/src/translations/pl.json +2 -1
  36. package/admin/src/translations/sk.json +41 -4
  37. package/admin/src/translations/uk.json +41 -4
  38. package/admin/src/utils/formatPluginName.js +1 -1
  39. package/admin/src/utils/prefixPluginTranslations.js +13 -0
  40. package/dist/admin/components/BoundRoute/getMethodColor.js +49 -0
  41. package/dist/admin/components/BoundRoute/getMethodColor.js.map +1 -0
  42. package/dist/admin/components/BoundRoute/getMethodColor.mjs +47 -0
  43. package/dist/admin/components/BoundRoute/getMethodColor.mjs.map +1 -0
  44. package/dist/admin/components/BoundRoute/index.js +104 -0
  45. package/dist/admin/components/BoundRoute/index.js.map +1 -0
  46. package/dist/admin/components/BoundRoute/index.mjs +96 -0
  47. package/dist/admin/components/BoundRoute/index.mjs.map +1 -0
  48. package/dist/admin/components/FormModal/Input/index.js +127 -0
  49. package/dist/admin/components/FormModal/Input/index.js.map +1 -0
  50. package/dist/admin/components/FormModal/Input/index.mjs +121 -0
  51. package/dist/admin/components/FormModal/Input/index.mjs.map +1 -0
  52. package/dist/admin/components/FormModal/index.js +114 -0
  53. package/dist/admin/components/FormModal/index.js.map +1 -0
  54. package/dist/admin/components/FormModal/index.mjs +108 -0
  55. package/dist/admin/components/FormModal/index.mjs.map +1 -0
  56. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js +33 -0
  57. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js.map +1 -0
  58. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs +31 -0
  59. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs.map +1 -0
  60. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +163 -0
  61. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -0
  62. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs +156 -0
  63. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -0
  64. package/dist/admin/components/Permissions/PermissionRow/index.js +55 -0
  65. package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -0
  66. package/dist/admin/components/Permissions/PermissionRow/index.mjs +48 -0
  67. package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -0
  68. package/dist/admin/components/Permissions/index.js +52 -0
  69. package/dist/admin/components/Permissions/index.js.map +1 -0
  70. package/dist/admin/components/Permissions/index.mjs +50 -0
  71. package/dist/admin/components/Permissions/index.mjs.map +1 -0
  72. package/dist/admin/components/Permissions/init.js +15 -0
  73. package/dist/admin/components/Permissions/init.js.map +1 -0
  74. package/dist/admin/components/Permissions/init.mjs +13 -0
  75. package/dist/admin/components/Permissions/init.mjs.map +1 -0
  76. package/dist/admin/components/Permissions/reducer.js +34 -0
  77. package/dist/admin/components/Permissions/reducer.js.map +1 -0
  78. package/dist/admin/components/Permissions/reducer.mjs +31 -0
  79. package/dist/admin/components/Permissions/reducer.mjs.map +1 -0
  80. package/dist/admin/components/Policies/index.js +74 -0
  81. package/dist/admin/components/Policies/index.js.map +1 -0
  82. package/dist/admin/components/Policies/index.mjs +66 -0
  83. package/dist/admin/components/Policies/index.mjs.map +1 -0
  84. package/dist/admin/components/UsersPermissions/index.js +120 -0
  85. package/dist/admin/components/UsersPermissions/index.js.map +1 -0
  86. package/dist/admin/components/UsersPermissions/index.mjs +114 -0
  87. package/dist/admin/components/UsersPermissions/index.mjs.map +1 -0
  88. package/dist/admin/components/UsersPermissions/init.js +13 -0
  89. package/dist/admin/components/UsersPermissions/init.js.map +1 -0
  90. package/dist/admin/components/UsersPermissions/init.mjs +11 -0
  91. package/dist/admin/components/UsersPermissions/init.mjs.map +1 -0
  92. package/dist/admin/components/UsersPermissions/reducer.js +79 -0
  93. package/dist/admin/components/UsersPermissions/reducer.js.map +1 -0
  94. package/dist/admin/components/UsersPermissions/reducer.mjs +68 -0
  95. package/dist/admin/components/UsersPermissions/reducer.mjs.map +1 -0
  96. package/dist/admin/constants.js +81 -0
  97. package/dist/admin/constants.js.map +1 -0
  98. package/dist/admin/constants.mjs +79 -0
  99. package/dist/admin/constants.mjs.map +1 -0
  100. package/dist/admin/contexts/UsersPermissionsContext/index.js +27 -0
  101. package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -0
  102. package/dist/admin/contexts/UsersPermissionsContext/index.mjs +19 -0
  103. package/dist/admin/contexts/UsersPermissionsContext/index.mjs.map +1 -0
  104. package/dist/admin/index.js +124 -4
  105. package/dist/admin/index.js.map +1 -1
  106. package/dist/admin/index.mjs +119 -4
  107. package/dist/admin/index.mjs.map +1 -1
  108. package/dist/admin/package.json.js +9 -0
  109. package/dist/admin/package.json.js.map +1 -0
  110. package/dist/admin/package.json.mjs +6 -0
  111. package/dist/admin/package.json.mjs.map +1 -0
  112. package/dist/admin/pages/AdvancedSettings/index.js +195 -0
  113. package/dist/admin/pages/AdvancedSettings/index.js.map +1 -0
  114. package/dist/admin/pages/AdvancedSettings/index.mjs +192 -0
  115. package/dist/admin/pages/AdvancedSettings/index.mjs.map +1 -0
  116. package/dist/admin/pages/AdvancedSettings/utils/layout.js +83 -0
  117. package/dist/admin/pages/AdvancedSettings/utils/layout.js.map +1 -0
  118. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs +81 -0
  119. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs.map +1 -0
  120. package/dist/admin/pages/AdvancedSettings/utils/schema.js +41 -0
  121. package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -0
  122. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs +19 -0
  123. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs.map +1 -0
  124. package/dist/admin/pages/EmailTemplates/components/EmailForm.js +176 -0
  125. package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -0
  126. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +170 -0
  127. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -0
  128. package/dist/admin/pages/EmailTemplates/components/EmailTable.js +149 -0
  129. package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -0
  130. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs +143 -0
  131. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs.map +1 -0
  132. package/dist/admin/pages/EmailTemplates/index.js +158 -0
  133. package/dist/admin/pages/EmailTemplates/index.js.map +1 -0
  134. package/dist/admin/pages/EmailTemplates/index.mjs +135 -0
  135. package/dist/admin/pages/EmailTemplates/index.mjs.map +1 -0
  136. package/dist/admin/pages/EmailTemplates/utils/schema.js +51 -0
  137. package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -0
  138. package/dist/admin/pages/EmailTemplates/utils/schema.mjs +29 -0
  139. package/dist/admin/pages/EmailTemplates/utils/schema.mjs.map +1 -0
  140. package/dist/admin/pages/Providers/index.js +278 -0
  141. package/dist/admin/pages/Providers/index.js.map +1 -0
  142. package/dist/admin/pages/Providers/index.mjs +250 -0
  143. package/dist/admin/pages/Providers/index.mjs.map +1 -0
  144. package/dist/admin/pages/Providers/utils/forms.js +282 -0
  145. package/dist/admin/pages/Providers/utils/forms.js.map +1 -0
  146. package/dist/admin/pages/Providers/utils/forms.mjs +260 -0
  147. package/dist/admin/pages/Providers/utils/forms.mjs.map +1 -0
  148. package/dist/admin/pages/Roles/constants.js +32 -0
  149. package/dist/admin/pages/Roles/constants.js.map +1 -0
  150. package/dist/admin/pages/Roles/constants.mjs +10 -0
  151. package/dist/admin/pages/Roles/constants.mjs.map +1 -0
  152. package/dist/admin/pages/Roles/hooks/usePlugins.js +78 -0
  153. package/dist/admin/pages/Roles/hooks/usePlugins.js.map +1 -0
  154. package/dist/admin/pages/Roles/hooks/usePlugins.mjs +76 -0
  155. package/dist/admin/pages/Roles/hooks/usePlugins.mjs.map +1 -0
  156. package/dist/admin/pages/Roles/index.js +35 -0
  157. package/dist/admin/pages/Roles/index.js.map +1 -0
  158. package/dist/admin/pages/Roles/index.mjs +33 -0
  159. package/dist/admin/pages/Roles/index.mjs.map +1 -0
  160. package/dist/admin/pages/Roles/pages/CreatePage.js +240 -0
  161. package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -0
  162. package/dist/admin/pages/Roles/pages/CreatePage.mjs +217 -0
  163. package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -0
  164. package/dist/admin/pages/Roles/pages/EditPage.js +241 -0
  165. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -0
  166. package/dist/admin/pages/Roles/pages/EditPage.mjs +218 -0
  167. package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -0
  168. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +129 -0
  169. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -0
  170. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs +123 -0
  171. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -0
  172. package/dist/admin/pages/Roles/pages/ListPage/index.js +234 -0
  173. package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -0
  174. package/dist/admin/pages/Roles/pages/ListPage/index.mjs +231 -0
  175. package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -0
  176. package/dist/admin/pluginId.js +8 -0
  177. package/dist/admin/pluginId.js.map +1 -0
  178. package/dist/admin/pluginId.mjs +6 -0
  179. package/dist/admin/pluginId.mjs.map +1 -0
  180. package/dist/admin/translations/ar.json.js +45 -0
  181. package/dist/admin/translations/ar.json.js.map +1 -0
  182. package/dist/admin/translations/ar.json.mjs +43 -0
  183. package/dist/admin/translations/ar.json.mjs.map +1 -0
  184. package/dist/admin/translations/cs.json.js +88 -0
  185. package/dist/admin/translations/cs.json.js.map +1 -0
  186. package/dist/admin/translations/cs.json.mjs +86 -0
  187. package/dist/admin/translations/cs.json.mjs.map +1 -0
  188. package/dist/admin/translations/da.json.js +87 -0
  189. package/dist/admin/translations/da.json.js.map +1 -0
  190. package/dist/admin/translations/da.json.mjs +85 -0
  191. package/dist/admin/translations/da.json.mjs.map +1 -0
  192. package/dist/admin/translations/de.json.js +88 -0
  193. package/dist/admin/translations/de.json.js.map +1 -0
  194. package/dist/admin/translations/de.json.mjs +86 -0
  195. package/dist/admin/translations/de.json.mjs.map +1 -0
  196. package/dist/admin/translations/en.json.js +88 -0
  197. package/dist/admin/translations/en.json.js.map +1 -0
  198. package/dist/admin/translations/en.json.mjs +86 -0
  199. package/dist/admin/translations/en.json.mjs.map +1 -0
  200. package/dist/admin/translations/es.json.js +87 -0
  201. package/dist/admin/translations/es.json.js.map +1 -0
  202. package/dist/admin/translations/es.json.mjs +85 -0
  203. package/dist/admin/translations/es.json.mjs.map +1 -0
  204. package/dist/admin/translations/fr.json.js +51 -0
  205. package/dist/admin/translations/fr.json.js.map +1 -0
  206. package/dist/admin/translations/fr.json.mjs +49 -0
  207. package/dist/admin/translations/fr.json.mjs.map +1 -0
  208. package/dist/admin/translations/id.json.js +63 -0
  209. package/dist/admin/translations/id.json.js.map +1 -0
  210. package/dist/admin/translations/id.json.mjs +61 -0
  211. package/dist/admin/translations/id.json.mjs.map +1 -0
  212. package/dist/admin/translations/it.json.js +63 -0
  213. package/dist/admin/translations/it.json.js.map +1 -0
  214. package/dist/admin/translations/it.json.mjs +61 -0
  215. package/dist/admin/translations/it.json.mjs.map +1 -0
  216. package/dist/admin/translations/ja.json.js +88 -0
  217. package/dist/admin/translations/ja.json.js.map +1 -0
  218. package/dist/admin/translations/ja.json.mjs +86 -0
  219. package/dist/admin/translations/ja.json.mjs.map +1 -0
  220. package/dist/admin/translations/ko.json.js +87 -0
  221. package/dist/admin/translations/ko.json.js.map +1 -0
  222. package/dist/admin/translations/ko.json.mjs +85 -0
  223. package/dist/admin/translations/ko.json.mjs.map +1 -0
  224. package/dist/admin/translations/ms.json.js +50 -0
  225. package/dist/admin/translations/ms.json.js.map +1 -0
  226. package/dist/admin/translations/ms.json.mjs +48 -0
  227. package/dist/admin/translations/ms.json.mjs.map +1 -0
  228. package/dist/admin/translations/nl.json.js +88 -0
  229. package/dist/admin/translations/nl.json.js.map +1 -0
  230. package/dist/admin/translations/nl.json.mjs +86 -0
  231. package/dist/admin/translations/nl.json.mjs.map +1 -0
  232. package/dist/admin/translations/pl.json.js +88 -0
  233. package/dist/admin/translations/pl.json.js.map +1 -0
  234. package/dist/admin/translations/pl.json.mjs +86 -0
  235. package/dist/admin/translations/pl.json.mjs.map +1 -0
  236. package/dist/admin/translations/pt-BR.json.js +45 -0
  237. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  238. package/dist/admin/translations/pt-BR.json.mjs +43 -0
  239. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  240. package/dist/admin/translations/pt.json.js +49 -0
  241. package/dist/admin/translations/pt.json.js.map +1 -0
  242. package/dist/admin/translations/pt.json.mjs +47 -0
  243. package/dist/admin/translations/pt.json.mjs.map +1 -0
  244. package/dist/admin/translations/ru.json.js +87 -0
  245. package/dist/admin/translations/ru.json.js.map +1 -0
  246. package/dist/admin/translations/ru.json.mjs +85 -0
  247. package/dist/admin/translations/ru.json.mjs.map +1 -0
  248. package/dist/admin/translations/sk.json.js +88 -0
  249. package/dist/admin/translations/sk.json.js.map +1 -0
  250. package/dist/admin/translations/sk.json.mjs +86 -0
  251. package/dist/admin/translations/sk.json.mjs.map +1 -0
  252. package/dist/admin/translations/sv.json.js +87 -0
  253. package/dist/admin/translations/sv.json.js.map +1 -0
  254. package/dist/admin/translations/sv.json.mjs +85 -0
  255. package/dist/admin/translations/sv.json.mjs.map +1 -0
  256. package/dist/admin/translations/th.json.js +61 -0
  257. package/dist/admin/translations/th.json.js.map +1 -0
  258. package/dist/admin/translations/th.json.mjs +59 -0
  259. package/dist/admin/translations/th.json.mjs.map +1 -0
  260. package/dist/admin/translations/tr.json.js +86 -0
  261. package/dist/admin/translations/tr.json.js.map +1 -0
  262. package/dist/admin/translations/tr.json.mjs +84 -0
  263. package/dist/admin/translations/tr.json.mjs.map +1 -0
  264. package/dist/admin/translations/uk.json.js +87 -0
  265. package/dist/admin/translations/uk.json.js.map +1 -0
  266. package/dist/admin/translations/uk.json.mjs +85 -0
  267. package/dist/admin/translations/uk.json.mjs.map +1 -0
  268. package/dist/admin/translations/vi.json.js +51 -0
  269. package/dist/admin/translations/vi.json.js.map +1 -0
  270. package/dist/admin/translations/vi.json.mjs +49 -0
  271. package/dist/admin/translations/vi.json.mjs.map +1 -0
  272. package/dist/admin/translations/zh-Hans.json.js +87 -0
  273. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  274. package/dist/admin/translations/zh-Hans.json.mjs +85 -0
  275. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  276. package/dist/admin/translations/zh.json.js +87 -0
  277. package/dist/admin/translations/zh.json.js.map +1 -0
  278. package/dist/admin/translations/zh.json.mjs +85 -0
  279. package/dist/admin/translations/zh.json.mjs.map +1 -0
  280. package/dist/admin/utils/cleanPermissions.js +28 -0
  281. package/dist/admin/utils/cleanPermissions.js.map +1 -0
  282. package/dist/admin/utils/cleanPermissions.mjs +22 -0
  283. package/dist/admin/utils/cleanPermissions.mjs.map +1 -0
  284. package/dist/admin/utils/formatPluginName.js +33 -0
  285. package/dist/admin/utils/formatPluginName.js.map +1 -0
  286. package/dist/admin/utils/formatPluginName.mjs +27 -0
  287. package/dist/admin/utils/formatPluginName.mjs.map +1 -0
  288. package/dist/admin/utils/getTrad.js +8 -0
  289. package/dist/admin/utils/getTrad.js.map +1 -0
  290. package/dist/admin/utils/getTrad.mjs +6 -0
  291. package/dist/admin/utils/getTrad.mjs.map +1 -0
  292. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  293. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  294. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  295. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  296. package/dist/server/_virtual/_commonjsHelpers.js +8 -0
  297. package/dist/server/_virtual/_commonjsHelpers.js.map +1 -0
  298. package/dist/server/_virtual/_commonjsHelpers.mjs +6 -0
  299. package/dist/server/_virtual/_commonjsHelpers.mjs.map +1 -0
  300. package/dist/server/_virtual/rateLimit.js +6 -0
  301. package/dist/server/_virtual/rateLimit.js.map +1 -0
  302. package/dist/server/_virtual/rateLimit.mjs +4 -0
  303. package/dist/server/_virtual/rateLimit.mjs.map +1 -0
  304. package/dist/server/bootstrap/index.js +171 -0
  305. package/dist/server/bootstrap/index.js.map +1 -0
  306. package/dist/server/bootstrap/index.mjs +164 -0
  307. package/dist/server/bootstrap/index.mjs.map +1 -0
  308. package/dist/server/bootstrap/users-permissions-actions.js +98 -0
  309. package/dist/server/bootstrap/users-permissions-actions.js.map +1 -0
  310. package/dist/server/bootstrap/users-permissions-actions.mjs +96 -0
  311. package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -0
  312. package/dist/server/config.js +70 -0
  313. package/dist/server/config.js.map +1 -0
  314. package/dist/server/config.mjs +68 -0
  315. package/dist/server/config.mjs.map +1 -0
  316. package/dist/server/content-types/index.js +30 -0
  317. package/dist/server/content-types/index.js.map +1 -0
  318. package/dist/server/content-types/index.mjs +28 -0
  319. package/dist/server/content-types/index.mjs.map +1 -0
  320. package/dist/server/content-types/permission/index.js +44 -0
  321. package/dist/server/content-types/permission/index.js.map +1 -0
  322. package/dist/server/content-types/permission/index.mjs +42 -0
  323. package/dist/server/content-types/permission/index.mjs.map +1 -0
  324. package/dist/server/content-types/role/index.js +61 -0
  325. package/dist/server/content-types/role/index.js.map +1 -0
  326. package/dist/server/content-types/role/index.mjs +59 -0
  327. package/dist/server/content-types/role/index.mjs.map +1 -0
  328. package/dist/server/content-types/user/index.js +84 -0
  329. package/dist/server/content-types/user/index.js.map +1 -0
  330. package/dist/server/content-types/user/index.mjs +82 -0
  331. package/dist/server/content-types/user/index.mjs.map +1 -0
  332. package/dist/server/content-types/user/schema-config.js +25 -0
  333. package/dist/server/content-types/user/schema-config.js.map +1 -0
  334. package/dist/server/content-types/user/schema-config.mjs +23 -0
  335. package/dist/server/content-types/user/schema-config.mjs.map +1 -0
  336. package/dist/server/controllers/auth.js +658 -0
  337. package/dist/server/controllers/auth.js.map +1 -0
  338. package/dist/server/controllers/auth.mjs +648 -0
  339. package/dist/server/controllers/auth.mjs.map +1 -0
  340. package/dist/server/controllers/content-manager-user.js +173 -0
  341. package/dist/server/controllers/content-manager-user.js.map +1 -0
  342. package/dist/server/controllers/content-manager-user.mjs +166 -0
  343. package/dist/server/controllers/content-manager-user.mjs.map +1 -0
  344. package/dist/server/controllers/index.js +33 -0
  345. package/dist/server/controllers/index.js.map +1 -0
  346. package/dist/server/controllers/index.mjs +31 -0
  347. package/dist/server/controllers/index.mjs.map +1 -0
  348. package/dist/server/controllers/permissions.js +41 -0
  349. package/dist/server/controllers/permissions.js.map +1 -0
  350. package/dist/server/controllers/permissions.mjs +35 -0
  351. package/dist/server/controllers/permissions.mjs.map +1 -0
  352. package/dist/server/controllers/role.js +96 -0
  353. package/dist/server/controllers/role.js.map +1 -0
  354. package/dist/server/controllers/role.mjs +89 -0
  355. package/dist/server/controllers/role.mjs.map +1 -0
  356. package/dist/server/controllers/settings.js +112 -0
  357. package/dist/server/controllers/settings.js.map +1 -0
  358. package/dist/server/controllers/settings.mjs +105 -0
  359. package/dist/server/controllers/settings.mjs.map +1 -0
  360. package/dist/server/controllers/user.js +206 -0
  361. package/dist/server/controllers/user.js.map +1 -0
  362. package/dist/server/controllers/user.mjs +199 -0
  363. package/dist/server/controllers/user.mjs.map +1 -0
  364. package/dist/server/controllers/validation/auth.js +135 -0
  365. package/dist/server/controllers/validation/auth.js.map +1 -0
  366. package/dist/server/controllers/validation/auth.mjs +129 -0
  367. package/dist/server/controllers/validation/auth.mjs.map +1 -0
  368. package/dist/server/controllers/validation/email-template.js +77 -0
  369. package/dist/server/controllers/validation/email-template.js.map +1 -0
  370. package/dist/server/controllers/validation/email-template.mjs +70 -0
  371. package/dist/server/controllers/validation/email-template.mjs.map +1 -0
  372. package/dist/server/controllers/validation/user.js +65 -0
  373. package/dist/server/controllers/validation/user.js.map +1 -0
  374. package/dist/server/controllers/validation/user.mjs +59 -0
  375. package/dist/server/controllers/validation/user.mjs.map +1 -0
  376. package/dist/server/graphql/index.js +66 -0
  377. package/dist/server/graphql/index.js.map +1 -0
  378. package/dist/server/graphql/index.mjs +64 -0
  379. package/dist/server/graphql/index.mjs.map +1 -0
  380. package/dist/server/graphql/mutations/auth/change-password.js +44 -0
  381. package/dist/server/graphql/mutations/auth/change-password.js.map +1 -0
  382. package/dist/server/graphql/mutations/auth/change-password.mjs +38 -0
  383. package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -0
  384. package/dist/server/graphql/mutations/auth/email-confirmation.js +42 -0
  385. package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -0
  386. package/dist/server/graphql/mutations/auth/email-confirmation.mjs +36 -0
  387. package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -0
  388. package/dist/server/graphql/mutations/auth/forgot-password.js +41 -0
  389. package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -0
  390. package/dist/server/graphql/mutations/auth/forgot-password.mjs +35 -0
  391. package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -0
  392. package/dist/server/graphql/mutations/auth/login.js +44 -0
  393. package/dist/server/graphql/mutations/auth/login.js.map +1 -0
  394. package/dist/server/graphql/mutations/auth/login.mjs +38 -0
  395. package/dist/server/graphql/mutations/auth/login.mjs.map +1 -0
  396. package/dist/server/graphql/mutations/auth/register.js +42 -0
  397. package/dist/server/graphql/mutations/auth/register.js.map +1 -0
  398. package/dist/server/graphql/mutations/auth/register.mjs +36 -0
  399. package/dist/server/graphql/mutations/auth/register.mjs.map +1 -0
  400. package/dist/server/graphql/mutations/auth/reset-password.js +44 -0
  401. package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -0
  402. package/dist/server/graphql/mutations/auth/reset-password.mjs +38 -0
  403. package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -0
  404. package/dist/server/graphql/mutations/crud/role/create-role.js +41 -0
  405. package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -0
  406. package/dist/server/graphql/mutations/crud/role/create-role.mjs +35 -0
  407. package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -0
  408. package/dist/server/graphql/mutations/crud/role/delete-role.js +32 -0
  409. package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -0
  410. package/dist/server/graphql/mutations/crud/role/delete-role.mjs +30 -0
  411. package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -0
  412. package/dist/server/graphql/mutations/crud/role/update-role.js +39 -0
  413. package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -0
  414. package/dist/server/graphql/mutations/crud/role/update-role.mjs +37 -0
  415. package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -0
  416. package/dist/server/graphql/mutations/crud/user/create-user.js +50 -0
  417. package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -0
  418. package/dist/server/graphql/mutations/crud/user/create-user.mjs +44 -0
  419. package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -0
  420. package/dist/server/graphql/mutations/crud/user/delete-user.js +44 -0
  421. package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -0
  422. package/dist/server/graphql/mutations/crud/user/delete-user.mjs +42 -0
  423. package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -0
  424. package/dist/server/graphql/mutations/crud/user/update-user.js +53 -0
  425. package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -0
  426. package/dist/server/graphql/mutations/crud/user/update-user.mjs +47 -0
  427. package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -0
  428. package/dist/server/graphql/mutations/index.js +58 -0
  429. package/dist/server/graphql/mutations/index.js.map +1 -0
  430. package/dist/server/graphql/mutations/index.mjs +56 -0
  431. package/dist/server/graphql/mutations/index.mjs.map +1 -0
  432. package/dist/server/graphql/queries/index.js +25 -0
  433. package/dist/server/graphql/queries/index.js.map +1 -0
  434. package/dist/server/graphql/queries/index.mjs +23 -0
  435. package/dist/server/graphql/queries/index.mjs.map +1 -0
  436. package/dist/server/graphql/queries/me.js +23 -0
  437. package/dist/server/graphql/queries/me.js.map +1 -0
  438. package/dist/server/graphql/queries/me.mjs +21 -0
  439. package/dist/server/graphql/queries/me.mjs.map +1 -0
  440. package/dist/server/graphql/resolvers-configs.js +93 -0
  441. package/dist/server/graphql/resolvers-configs.js.map +1 -0
  442. package/dist/server/graphql/resolvers-configs.mjs +91 -0
  443. package/dist/server/graphql/resolvers-configs.mjs.map +1 -0
  444. package/dist/server/graphql/types/create-role-payload.js +20 -0
  445. package/dist/server/graphql/types/create-role-payload.js.map +1 -0
  446. package/dist/server/graphql/types/create-role-payload.mjs +18 -0
  447. package/dist/server/graphql/types/create-role-payload.mjs.map +1 -0
  448. package/dist/server/graphql/types/delete-role-payload.js +20 -0
  449. package/dist/server/graphql/types/delete-role-payload.js.map +1 -0
  450. package/dist/server/graphql/types/delete-role-payload.mjs +18 -0
  451. package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -0
  452. package/dist/server/graphql/types/index.js +41 -0
  453. package/dist/server/graphql/types/index.js.map +1 -0
  454. package/dist/server/graphql/types/index.mjs +39 -0
  455. package/dist/server/graphql/types/index.mjs.map +1 -0
  456. package/dist/server/graphql/types/login-input.js +24 -0
  457. package/dist/server/graphql/types/login-input.js.map +1 -0
  458. package/dist/server/graphql/types/login-input.mjs +22 -0
  459. package/dist/server/graphql/types/login-input.mjs.map +1 -0
  460. package/dist/server/graphql/types/login-payload.js +23 -0
  461. package/dist/server/graphql/types/login-payload.js.map +1 -0
  462. package/dist/server/graphql/types/login-payload.mjs +21 -0
  463. package/dist/server/graphql/types/login-payload.mjs.map +1 -0
  464. package/dist/server/graphql/types/me-role.js +23 -0
  465. package/dist/server/graphql/types/me-role.js.map +1 -0
  466. package/dist/server/graphql/types/me-role.mjs +21 -0
  467. package/dist/server/graphql/types/me-role.mjs.map +1 -0
  468. package/dist/server/graphql/types/me.js +28 -0
  469. package/dist/server/graphql/types/me.js.map +1 -0
  470. package/dist/server/graphql/types/me.mjs +26 -0
  471. package/dist/server/graphql/types/me.mjs.map +1 -0
  472. package/dist/server/graphql/types/password-payload.js +20 -0
  473. package/dist/server/graphql/types/password-payload.js.map +1 -0
  474. package/dist/server/graphql/types/password-payload.mjs +18 -0
  475. package/dist/server/graphql/types/password-payload.mjs.map +1 -0
  476. package/dist/server/graphql/types/register-input.js +22 -0
  477. package/dist/server/graphql/types/register-input.js.map +1 -0
  478. package/dist/server/graphql/types/register-input.mjs +20 -0
  479. package/dist/server/graphql/types/register-input.mjs.map +1 -0
  480. package/dist/server/graphql/types/update-role-payload.js +20 -0
  481. package/dist/server/graphql/types/update-role-payload.js.map +1 -0
  482. package/dist/server/graphql/types/update-role-payload.mjs +18 -0
  483. package/dist/server/graphql/types/update-role-payload.mjs.map +1 -0
  484. package/dist/server/graphql/types/user-input.js +26 -0
  485. package/dist/server/graphql/types/user-input.js.map +1 -0
  486. package/dist/server/graphql/types/user-input.mjs +24 -0
  487. package/dist/server/graphql/types/user-input.mjs.map +1 -0
  488. package/dist/server/graphql/utils.js +36 -0
  489. package/dist/server/graphql/utils.js.map +1 -0
  490. package/dist/server/graphql/utils.mjs +30 -0
  491. package/dist/server/graphql/utils.mjs.map +1 -0
  492. package/dist/server/index.js +10 -0
  493. package/dist/server/index.js.map +1 -0
  494. package/dist/server/index.mjs +8 -0
  495. package/dist/server/index.mjs.map +1 -0
  496. package/dist/server/index2.js +39 -0
  497. package/dist/server/index2.js.map +1 -0
  498. package/dist/server/index2.mjs +37 -0
  499. package/dist/server/index2.mjs.map +1 -0
  500. package/dist/server/middlewares/index.js +18 -0
  501. package/dist/server/middlewares/index.js.map +1 -0
  502. package/dist/server/middlewares/index.mjs +16 -0
  503. package/dist/server/middlewares/index.mjs.map +1 -0
  504. package/dist/server/middlewares/rateLimit.js +127 -0
  505. package/dist/server/middlewares/rateLimit.js.map +1 -0
  506. package/dist/server/middlewares/rateLimit.mjs +118 -0
  507. package/dist/server/middlewares/rateLimit.mjs.map +1 -0
  508. package/dist/server/register.js +46 -0
  509. package/dist/server/register.js.map +1 -0
  510. package/dist/server/register.mjs +39 -0
  511. package/dist/server/register.mjs.map +1 -0
  512. package/dist/server/routes/admin/index.js +27 -0
  513. package/dist/server/routes/admin/index.js.map +1 -0
  514. package/dist/server/routes/admin/index.mjs +25 -0
  515. package/dist/server/routes/admin/index.mjs.map +1 -0
  516. package/dist/server/routes/admin/permissions.js +29 -0
  517. package/dist/server/routes/admin/permissions.js.map +1 -0
  518. package/dist/server/routes/admin/permissions.mjs +27 -0
  519. package/dist/server/routes/admin/permissions.mjs.map +1 -0
  520. package/dist/server/routes/admin/role.js +99 -0
  521. package/dist/server/routes/admin/role.js.map +1 -0
  522. package/dist/server/routes/admin/role.mjs +97 -0
  523. package/dist/server/routes/admin/role.mjs.map +1 -0
  524. package/dist/server/routes/admin/settings.js +116 -0
  525. package/dist/server/routes/admin/settings.js.map +1 -0
  526. package/dist/server/routes/admin/settings.mjs +114 -0
  527. package/dist/server/routes/admin/settings.mjs.map +1 -0
  528. package/dist/server/routes/content-api/auth.js +187 -0
  529. package/dist/server/routes/content-api/auth.js.map +1 -0
  530. package/dist/server/routes/content-api/auth.mjs +185 -0
  531. package/dist/server/routes/content-api/auth.mjs.map +1 -0
  532. package/dist/server/routes/content-api/index.js +36 -0
  533. package/dist/server/routes/content-api/index.js.map +1 -0
  534. package/dist/server/routes/content-api/index.mjs +30 -0
  535. package/dist/server/routes/content-api/index.mjs.map +1 -0
  536. package/dist/server/routes/content-api/permissions.js +26 -0
  537. package/dist/server/routes/content-api/permissions.js.map +1 -0
  538. package/dist/server/routes/content-api/permissions.mjs +24 -0
  539. package/dist/server/routes/content-api/permissions.mjs.map +1 -0
  540. package/dist/server/routes/content-api/role.js +73 -0
  541. package/dist/server/routes/content-api/role.js.map +1 -0
  542. package/dist/server/routes/content-api/role.mjs +71 -0
  543. package/dist/server/routes/content-api/role.mjs.map +1 -0
  544. package/dist/server/routes/content-api/user.js +136 -0
  545. package/dist/server/routes/content-api/user.js.map +1 -0
  546. package/dist/server/routes/content-api/user.mjs +130 -0
  547. package/dist/server/routes/content-api/user.mjs.map +1 -0
  548. package/dist/server/routes/content-api/validation.js +249 -0
  549. package/dist/server/routes/content-api/validation.js.map +1 -0
  550. package/dist/server/routes/content-api/validation.mjs +242 -0
  551. package/dist/server/routes/content-api/validation.mjs.map +1 -0
  552. package/dist/server/routes/index.js +19 -0
  553. package/dist/server/routes/index.js.map +1 -0
  554. package/dist/server/routes/index.mjs +17 -0
  555. package/dist/server/routes/index.mjs.map +1 -0
  556. package/dist/server/services/constants.js +19 -0
  557. package/dist/server/services/constants.js.map +1 -0
  558. package/dist/server/services/constants.mjs +17 -0
  559. package/dist/server/services/constants.mjs.map +1 -0
  560. package/dist/server/services/index.js +36 -0
  561. package/dist/server/services/index.js.map +1 -0
  562. package/dist/server/services/index.mjs +34 -0
  563. package/dist/server/services/index.mjs.map +1 -0
  564. package/dist/server/services/jwt.js +100 -0
  565. package/dist/server/services/jwt.js.map +1 -0
  566. package/dist/server/services/jwt.mjs +93 -0
  567. package/dist/server/services/jwt.mjs.map +1 -0
  568. package/dist/server/services/permission.js +52 -0
  569. package/dist/server/services/permission.js.map +1 -0
  570. package/dist/server/services/permission.mjs +50 -0
  571. package/dist/server/services/permission.mjs.map +1 -0
  572. package/dist/server/services/providers-registry.js +563 -0
  573. package/dist/server/services/providers-registry.js.map +1 -0
  574. package/dist/server/services/providers-registry.mjs +553 -0
  575. package/dist/server/services/providers-registry.mjs.map +1 -0
  576. package/dist/server/services/providers.js +120 -0
  577. package/dist/server/services/providers.js.map +1 -0
  578. package/dist/server/services/providers.mjs +113 -0
  579. package/dist/server/services/providers.mjs.map +1 -0
  580. package/dist/server/services/role.js +191 -0
  581. package/dist/server/services/role.js.map +1 -0
  582. package/dist/server/services/role.mjs +184 -0
  583. package/dist/server/services/role.mjs.map +1 -0
  584. package/dist/server/services/user.js +214 -0
  585. package/dist/server/services/user.js.map +1 -0
  586. package/dist/server/services/user.mjs +204 -0
  587. package/dist/server/services/user.mjs.map +1 -0
  588. package/dist/server/services/users-permissions.js +271 -0
  589. package/dist/server/services/users-permissions.js.map +1 -0
  590. package/dist/server/services/users-permissions.mjs +262 -0
  591. package/dist/server/services/users-permissions.mjs.map +1 -0
  592. package/dist/server/strategies/users-permissions.js +126 -0
  593. package/dist/server/strategies/users-permissions.js.map +1 -0
  594. package/dist/server/strategies/users-permissions.mjs +119 -0
  595. package/dist/server/strategies/users-permissions.mjs.map +1 -0
  596. package/dist/server/utils/index.js +52 -0
  597. package/dist/server/utils/index.js.map +1 -0
  598. package/dist/server/utils/index.mjs +46 -0
  599. package/dist/server/utils/index.mjs.map +1 -0
  600. package/dist/server/utils/refresh-cookie-options.js +27 -0
  601. package/dist/server/utils/refresh-cookie-options.js.map +1 -0
  602. package/dist/server/utils/refresh-cookie-options.mjs +25 -0
  603. package/dist/server/utils/refresh-cookie-options.mjs.map +1 -0
  604. package/dist/server/utils/sanitize/index.js +21 -0
  605. package/dist/server/utils/sanitize/index.js.map +1 -0
  606. package/dist/server/utils/sanitize/index.mjs +19 -0
  607. package/dist/server/utils/sanitize/index.mjs.map +1 -0
  608. package/dist/server/utils/sanitize/sanitizers.js +37 -0
  609. package/dist/server/utils/sanitize/sanitizers.js.map +1 -0
  610. package/dist/server/utils/sanitize/sanitizers.mjs +30 -0
  611. package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -0
  612. package/dist/server/utils/sanitize/visitors/index.js +17 -0
  613. package/dist/server/utils/sanitize/visitors/index.js.map +1 -0
  614. package/dist/server/utils/sanitize/visitors/index.mjs +15 -0
  615. package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -0
  616. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +17 -0
  617. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -0
  618. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs +15 -0
  619. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -0
  620. package/lint-staged.config.mjs +1 -0
  621. package/package.json +42 -37
  622. package/rollup.config.mjs +19 -0
  623. package/server/bootstrap/index.js +49 -51
  624. package/server/config.js +22 -0
  625. package/server/content-types/user/index.js +0 -1
  626. package/server/controllers/auth.js +309 -68
  627. package/server/controllers/content-manager-user.js +31 -34
  628. package/server/controllers/role.js +17 -4
  629. package/server/controllers/user.js +8 -9
  630. package/server/controllers/validation/auth.js +104 -25
  631. package/server/controllers/validation/user.js +34 -10
  632. package/server/graphql/types/index.js +1 -0
  633. package/server/graphql/types/me.js +1 -0
  634. package/server/graphql/types/user-input.js +20 -0
  635. package/server/middlewares/rateLimit.js +92 -16
  636. package/server/register.js +2 -2
  637. package/server/routes/content-api/auth.js +132 -71
  638. package/server/routes/content-api/index.js +11 -4
  639. package/server/routes/content-api/permissions.js +14 -7
  640. package/server/routes/content-api/role.js +57 -27
  641. package/server/routes/content-api/user.js +108 -51
  642. package/server/routes/content-api/validation.js +280 -0
  643. package/server/services/constants.js +9 -0
  644. package/server/services/jwt.js +54 -5
  645. package/server/services/permission.js +3 -7
  646. package/server/services/providers-registry.js +468 -279
  647. package/server/services/providers.js +16 -6
  648. package/server/services/role.js +15 -13
  649. package/server/services/user.js +82 -17
  650. package/server/services/users-permissions.js +23 -15
  651. package/server/strategies/users-permissions.js +6 -1
  652. package/server/utils/index.d.ts +6 -1
  653. package/server/utils/index.js +30 -0
  654. package/server/utils/refresh-cookie-options.js +20 -0
  655. package/server/utils/sanitize/sanitizers.js +7 -3
  656. package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
  657. package/.eslintignore +0 -1
  658. package/.eslintrc +0 -17
  659. package/admin/src/pages/Roles/pages/ListPage/utils/api.js +0 -30
  660. package/dist/_chunks/ar-MvD8Ghac.mjs +0 -44
  661. package/dist/_chunks/ar-MvD8Ghac.mjs.map +0 -1
  662. package/dist/_chunks/ar-t5qTFaAD.js +0 -44
  663. package/dist/_chunks/ar-t5qTFaAD.js.map +0 -1
  664. package/dist/_chunks/cs-BMuXwxA1.mjs +0 -50
  665. package/dist/_chunks/cs-BMuXwxA1.mjs.map +0 -1
  666. package/dist/_chunks/cs-I8N4u-Sd.js +0 -50
  667. package/dist/_chunks/cs-I8N4u-Sd.js.map +0 -1
  668. package/dist/_chunks/de-YTjtq89K.js +0 -62
  669. package/dist/_chunks/de-YTjtq89K.js.map +0 -1
  670. package/dist/_chunks/de-zs2qqc0W.mjs +0 -62
  671. package/dist/_chunks/de-zs2qqc0W.mjs.map +0 -1
  672. package/dist/_chunks/dk-HctVBMsG.mjs +0 -86
  673. package/dist/_chunks/dk-HctVBMsG.mjs.map +0 -1
  674. package/dist/_chunks/dk-TF-dWjzl.js +0 -86
  675. package/dist/_chunks/dk-TF-dWjzl.js.map +0 -1
  676. package/dist/_chunks/en-CE3wEy_c.mjs +0 -86
  677. package/dist/_chunks/en-CE3wEy_c.mjs.map +0 -1
  678. package/dist/_chunks/en-m608rMZx.js +0 -86
  679. package/dist/_chunks/en-m608rMZx.js.map +0 -1
  680. package/dist/_chunks/es-9381tih_.mjs +0 -86
  681. package/dist/_chunks/es-9381tih_.mjs.map +0 -1
  682. package/dist/_chunks/es-XBQsB8_9.js +0 -86
  683. package/dist/_chunks/es-XBQsB8_9.js.map +0 -1
  684. package/dist/_chunks/fr-6cz3U-IF.js +0 -50
  685. package/dist/_chunks/fr-6cz3U-IF.js.map +0 -1
  686. package/dist/_chunks/fr-CMSc77If.mjs +0 -50
  687. package/dist/_chunks/fr-CMSc77If.mjs.map +0 -1
  688. package/dist/_chunks/id-RJ934rq-.js +0 -62
  689. package/dist/_chunks/id-RJ934rq-.js.map +0 -1
  690. package/dist/_chunks/id-SDuyIkZa.mjs +0 -62
  691. package/dist/_chunks/id-SDuyIkZa.mjs.map +0 -1
  692. package/dist/_chunks/index--i6eterL.mjs +0 -1159
  693. package/dist/_chunks/index--i6eterL.mjs.map +0 -1
  694. package/dist/_chunks/index-1D1x56o5.js +0 -320
  695. package/dist/_chunks/index-1D1x56o5.js.map +0 -1
  696. package/dist/_chunks/index-5niFEULp.js +0 -407
  697. package/dist/_chunks/index-5niFEULp.js.map +0 -1
  698. package/dist/_chunks/index-DrwQvMkW.mjs +0 -615
  699. package/dist/_chunks/index-DrwQvMkW.mjs.map +0 -1
  700. package/dist/_chunks/index-EscLyxsi.js +0 -638
  701. package/dist/_chunks/index-EscLyxsi.js.map +0 -1
  702. package/dist/_chunks/index-FehMxWky.js +0 -249
  703. package/dist/_chunks/index-FehMxWky.js.map +0 -1
  704. package/dist/_chunks/index-J7EIxGQ9.mjs +0 -385
  705. package/dist/_chunks/index-J7EIxGQ9.mjs.map +0 -1
  706. package/dist/_chunks/index-SM5SM05n.mjs +0 -250
  707. package/dist/_chunks/index-SM5SM05n.mjs.map +0 -1
  708. package/dist/_chunks/index-bkRk01QE.js +0 -1191
  709. package/dist/_chunks/index-bkRk01QE.js.map +0 -1
  710. package/dist/_chunks/index-pmr95XmG.mjs +0 -301
  711. package/dist/_chunks/index-pmr95XmG.mjs.map +0 -1
  712. package/dist/_chunks/it-YhZOlM2X.js +0 -62
  713. package/dist/_chunks/it-YhZOlM2X.js.map +0 -1
  714. package/dist/_chunks/it-bvH7DgQo.mjs +0 -62
  715. package/dist/_chunks/it-bvH7DgQo.mjs.map +0 -1
  716. package/dist/_chunks/ja-o_-JPvQv.mjs +0 -48
  717. package/dist/_chunks/ja-o_-JPvQv.mjs.map +0 -1
  718. package/dist/_chunks/ja-xssHUXFv.js +0 -48
  719. package/dist/_chunks/ja-xssHUXFv.js.map +0 -1
  720. package/dist/_chunks/ko-C3mHUSJa.js +0 -86
  721. package/dist/_chunks/ko-C3mHUSJa.js.map +0 -1
  722. package/dist/_chunks/ko-XJbPSez_.mjs +0 -86
  723. package/dist/_chunks/ko-XJbPSez_.mjs.map +0 -1
  724. package/dist/_chunks/ms-II5Ea73J.mjs +0 -49
  725. package/dist/_chunks/ms-II5Ea73J.mjs.map +0 -1
  726. package/dist/_chunks/ms-d0hfg65Z.js +0 -49
  727. package/dist/_chunks/ms-d0hfg65Z.js.map +0 -1
  728. package/dist/_chunks/nl-TA7TfK_5.js +0 -48
  729. package/dist/_chunks/nl-TA7TfK_5.js.map +0 -1
  730. package/dist/_chunks/nl-vEy6TN0K.mjs +0 -48
  731. package/dist/_chunks/nl-vEy6TN0K.mjs.map +0 -1
  732. package/dist/_chunks/pl-0pUL9hdA.js +0 -86
  733. package/dist/_chunks/pl-0pUL9hdA.js.map +0 -1
  734. package/dist/_chunks/pl-2VowaFGt.mjs +0 -86
  735. package/dist/_chunks/pl-2VowaFGt.mjs.map +0 -1
  736. package/dist/_chunks/pt-BR-WNOhafR4.js +0 -44
  737. package/dist/_chunks/pt-BR-WNOhafR4.js.map +0 -1
  738. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs +0 -44
  739. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs.map +0 -1
  740. package/dist/_chunks/pt-Rf9W51IO.mjs +0 -48
  741. package/dist/_chunks/pt-Rf9W51IO.mjs.map +0 -1
  742. package/dist/_chunks/pt-guNR9Gax.js +0 -48
  743. package/dist/_chunks/pt-guNR9Gax.js.map +0 -1
  744. package/dist/_chunks/ru-X3BMXDds.js +0 -86
  745. package/dist/_chunks/ru-X3BMXDds.js.map +0 -1
  746. package/dist/_chunks/ru-qKHnd5or.mjs +0 -86
  747. package/dist/_chunks/ru-qKHnd5or.mjs.map +0 -1
  748. package/dist/_chunks/sk-NWPw1oTN.js +0 -50
  749. package/dist/_chunks/sk-NWPw1oTN.js.map +0 -1
  750. package/dist/_chunks/sk-_Ryr-eTT.mjs +0 -50
  751. package/dist/_chunks/sk-_Ryr-eTT.mjs.map +0 -1
  752. package/dist/_chunks/sv-76NnbB__.js +0 -86
  753. package/dist/_chunks/sv-76NnbB__.js.map +0 -1
  754. package/dist/_chunks/sv-BqzScFXS.mjs +0 -86
  755. package/dist/_chunks/sv-BqzScFXS.mjs.map +0 -1
  756. package/dist/_chunks/th-WsknMEpq.mjs +0 -60
  757. package/dist/_chunks/th-WsknMEpq.mjs.map +0 -1
  758. package/dist/_chunks/th-cbppX21D.js +0 -60
  759. package/dist/_chunks/th-cbppX21D.js.map +0 -1
  760. package/dist/_chunks/tr-6mm_Fmz7.js +0 -85
  761. package/dist/_chunks/tr-6mm_Fmz7.js.map +0 -1
  762. package/dist/_chunks/tr-_DB1F1GW.mjs +0 -85
  763. package/dist/_chunks/tr-_DB1F1GW.mjs.map +0 -1
  764. package/dist/_chunks/uk-sI2I1ogF.js +0 -49
  765. package/dist/_chunks/uk-sI2I1ogF.js.map +0 -1
  766. package/dist/_chunks/uk-yxMSQAwI.mjs +0 -49
  767. package/dist/_chunks/uk-yxMSQAwI.mjs.map +0 -1
  768. package/dist/_chunks/vi-A3zJxaiI.js +0 -50
  769. package/dist/_chunks/vi-A3zJxaiI.js.map +0 -1
  770. package/dist/_chunks/vi-xY0zCW3d.mjs +0 -50
  771. package/dist/_chunks/vi-xY0zCW3d.mjs.map +0 -1
  772. package/dist/_chunks/zh-72SpmFXa.js +0 -86
  773. package/dist/_chunks/zh-72SpmFXa.js.map +0 -1
  774. package/dist/_chunks/zh-Hans-ArWWtyP4.js +0 -86
  775. package/dist/_chunks/zh-Hans-ArWWtyP4.js.map +0 -1
  776. package/dist/_chunks/zh-Hans-E84cu4kP.mjs +0 -86
  777. package/dist/_chunks/zh-Hans-E84cu4kP.mjs.map +0 -1
  778. package/dist/_chunks/zh-OFeldzbX.mjs +0 -86
  779. package/dist/_chunks/zh-OFeldzbX.mjs.map +0 -1
  780. package/packup.config.ts +0 -22
  781. package/server/bootstrap/grant-config.js +0 -140
  782. package/strapi-server.js +0 -3
  783. /package/admin/src/translations/{dk.json → da.json} +0 -0
@@ -0,0 +1,271 @@
1
+ 'use strict';
2
+
3
+ var require$$0$1 = require('lodash');
4
+ var require$$0 = require('lodash/fp');
5
+ var require$$2 = require('url-join');
6
+ var require$$1 = require('@strapi/utils');
7
+ var index = require('../utils/index.js');
8
+
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var require$$0__default$1 = /*#__PURE__*/_interopDefault(require$$0$1);
12
+ var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
13
+ var require$$2__default = /*#__PURE__*/_interopDefault(require$$2);
14
+ var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
15
+
16
+ var usersPermissions;
17
+ var hasRequiredUsersPermissions;
18
+ function requireUsersPermissions() {
19
+ if (hasRequiredUsersPermissions) return usersPermissions;
20
+ hasRequiredUsersPermissions = 1;
21
+ const _ = require$$0__default$1.default;
22
+ const { filter, map, pipe, prop } = require$$0__default.default;
23
+ const urlJoin = require$$2__default.default;
24
+ const { template: { createStrictInterpolationRegExp }, errors, objects, sanitizeRoutesMapForSerialization } = require$$1__default.default;
25
+ const { getService } = index.__require();
26
+ const DEFAULT_PERMISSIONS = [
27
+ {
28
+ action: 'plugin::users-permissions.auth.callback',
29
+ roleType: 'public'
30
+ },
31
+ {
32
+ action: 'plugin::users-permissions.auth.connect',
33
+ roleType: 'public'
34
+ },
35
+ {
36
+ action: 'plugin::users-permissions.auth.forgotPassword',
37
+ roleType: 'public'
38
+ },
39
+ {
40
+ action: 'plugin::users-permissions.auth.resetPassword',
41
+ roleType: 'public'
42
+ },
43
+ {
44
+ action: 'plugin::users-permissions.auth.register',
45
+ roleType: 'public'
46
+ },
47
+ {
48
+ action: 'plugin::users-permissions.auth.emailConfirmation',
49
+ roleType: 'public'
50
+ },
51
+ {
52
+ action: 'plugin::users-permissions.auth.sendEmailConfirmation',
53
+ roleType: 'public'
54
+ },
55
+ {
56
+ action: 'plugin::users-permissions.auth.refresh',
57
+ roleType: 'public'
58
+ },
59
+ {
60
+ action: 'plugin::users-permissions.auth.logout',
61
+ roleType: 'authenticated'
62
+ },
63
+ {
64
+ action: 'plugin::users-permissions.auth.getSessions',
65
+ roleType: 'authenticated'
66
+ },
67
+ {
68
+ action: 'plugin::users-permissions.auth.revokeSession',
69
+ roleType: 'authenticated'
70
+ },
71
+ {
72
+ action: 'plugin::users-permissions.user.me',
73
+ roleType: 'authenticated'
74
+ },
75
+ {
76
+ action: 'plugin::users-permissions.auth.changePassword',
77
+ roleType: 'authenticated'
78
+ }
79
+ ];
80
+ const transformRoutePrefixFor = (pluginName)=>(route)=>{
81
+ const prefix = route.config && route.config.prefix;
82
+ const path = prefix !== undefined ? `${prefix}${route.path}` : `/${pluginName}${route.path}`;
83
+ return {
84
+ ...route,
85
+ path
86
+ };
87
+ };
88
+ usersPermissions = ({ strapi })=>({
89
+ getActions ({ defaultEnable = false } = {}) {
90
+ const actionMap = {};
91
+ const isContentApi = (action)=>{
92
+ if (!_.has(action, Symbol.for('__type__'))) {
93
+ return false;
94
+ }
95
+ return action[Symbol.for('__type__')].includes('content-api');
96
+ };
97
+ _.forEach(strapi.apis, (api, apiName)=>{
98
+ const controllers = _.reduce(api.controllers, (acc, controller, controllerName)=>{
99
+ const contentApiActions = _.pickBy(controller, isContentApi);
100
+ if (_.isEmpty(contentApiActions)) {
101
+ return acc;
102
+ }
103
+ acc[controllerName] = _.mapValues(contentApiActions, ()=>{
104
+ return {
105
+ enabled: defaultEnable,
106
+ policy: ''
107
+ };
108
+ });
109
+ return acc;
110
+ }, {});
111
+ if (!_.isEmpty(controllers)) {
112
+ actionMap[`api::${apiName}`] = {
113
+ controllers
114
+ };
115
+ }
116
+ });
117
+ _.forEach(strapi.plugins, (plugin, pluginName)=>{
118
+ const controllers = _.reduce(plugin.controllers, (acc, controller, controllerName)=>{
119
+ const contentApiActions = _.pickBy(controller, isContentApi);
120
+ if (_.isEmpty(contentApiActions)) {
121
+ return acc;
122
+ }
123
+ acc[controllerName] = _.mapValues(contentApiActions, ()=>{
124
+ return {
125
+ enabled: defaultEnable,
126
+ policy: ''
127
+ };
128
+ });
129
+ return acc;
130
+ }, {});
131
+ if (!_.isEmpty(controllers)) {
132
+ actionMap[`plugin::${pluginName}`] = {
133
+ controllers
134
+ };
135
+ }
136
+ });
137
+ // Return a deeply cloned version to avoid circular references
138
+ return _.cloneDeep(actionMap);
139
+ },
140
+ async getRoutes () {
141
+ const routesMap = {};
142
+ _.forEach(strapi.apis, (api, apiName)=>{
143
+ const routes = _.flatMap(api.routes, (route)=>{
144
+ if (_.has(route, 'routes')) {
145
+ return route.routes;
146
+ }
147
+ return route;
148
+ }).filter((route)=>route.info.type === 'content-api');
149
+ if (routes.length === 0) {
150
+ return;
151
+ }
152
+ const apiPrefix = strapi.config.get('api.rest.prefix');
153
+ routesMap[`api::${apiName}`] = routes.map((route)=>({
154
+ ...route,
155
+ path: urlJoin(apiPrefix, route.path)
156
+ }));
157
+ });
158
+ _.forEach(strapi.plugins, (plugin, pluginName)=>{
159
+ const transformPrefix = transformRoutePrefixFor(pluginName);
160
+ const routes = _.flatMap(plugin.routes, (route)=>{
161
+ if (_.has(route, 'routes')) {
162
+ return route.routes.map(transformPrefix);
163
+ }
164
+ return transformPrefix(route);
165
+ }).filter((route)=>route.info.type === 'content-api');
166
+ if (routes.length === 0) {
167
+ return;
168
+ }
169
+ const apiPrefix = strapi.config.get('api.rest.prefix');
170
+ routesMap[`plugin::${pluginName}`] = routes.map((route)=>({
171
+ ...route,
172
+ path: urlJoin(apiPrefix, route.path)
173
+ }));
174
+ });
175
+ return sanitizeRoutesMapForSerialization(routesMap);
176
+ },
177
+ async syncPermissions () {
178
+ const roles = await strapi.db.query('plugin::users-permissions.role').findMany();
179
+ const dbPermissions = await strapi.db.query('plugin::users-permissions.permission').findMany();
180
+ const permissionsFoundInDB = _.uniq(_.map(dbPermissions, 'action'));
181
+ const appActions = _.flatMap(strapi.apis, (api, apiName)=>{
182
+ return _.flatMap(api.controllers, (controller, controllerName)=>{
183
+ return _.keys(controller).map((actionName)=>{
184
+ return `api::${apiName}.${controllerName}.${actionName}`;
185
+ });
186
+ });
187
+ });
188
+ const pluginsActions = _.flatMap(strapi.plugins, (plugin, pluginName)=>{
189
+ return _.flatMap(plugin.controllers, (controller, controllerName)=>{
190
+ return _.keys(controller).map((actionName)=>{
191
+ return `plugin::${pluginName}.${controllerName}.${actionName}`;
192
+ });
193
+ });
194
+ });
195
+ const allActions = [
196
+ ...appActions,
197
+ ...pluginsActions
198
+ ];
199
+ const toDelete = _.difference(permissionsFoundInDB, allActions);
200
+ await Promise.all(toDelete.map((action)=>{
201
+ return strapi.db.query('plugin::users-permissions.permission').delete({
202
+ where: {
203
+ action
204
+ }
205
+ });
206
+ }));
207
+ if (permissionsFoundInDB.length === 0) {
208
+ // create default permissions
209
+ for (const role of roles){
210
+ const toCreate = pipe(filter(({ roleType })=>roleType === role.type || roleType === null), map(prop('action')))(DEFAULT_PERMISSIONS);
211
+ await Promise.all(toCreate.map((action)=>{
212
+ return strapi.db.query('plugin::users-permissions.permission').create({
213
+ data: {
214
+ action,
215
+ role: role.id
216
+ }
217
+ });
218
+ }));
219
+ }
220
+ }
221
+ },
222
+ async initialize () {
223
+ const roleCount = await strapi.db.query('plugin::users-permissions.role').count();
224
+ if (roleCount === 0) {
225
+ await strapi.db.query('plugin::users-permissions.role').create({
226
+ data: {
227
+ name: 'Authenticated',
228
+ description: 'Default role given to authenticated user.',
229
+ type: 'authenticated'
230
+ }
231
+ });
232
+ await strapi.db.query('plugin::users-permissions.role').create({
233
+ data: {
234
+ name: 'Public',
235
+ description: 'Default role given to unauthenticated user.',
236
+ type: 'public'
237
+ }
238
+ });
239
+ }
240
+ return getService('users-permissions').syncPermissions();
241
+ },
242
+ async updateUserRole (user, role) {
243
+ return strapi.db.query('plugin::users-permissions.user').update({
244
+ where: {
245
+ id: user.id
246
+ },
247
+ data: {
248
+ role
249
+ }
250
+ });
251
+ },
252
+ template (layout, data) {
253
+ const allowedTemplateVariables = objects.keysDeep(data);
254
+ // Create a strict interpolation RegExp based on possible variable names
255
+ const interpolate = createStrictInterpolationRegExp(allowedTemplateVariables, 'g');
256
+ try {
257
+ return _.template(layout, {
258
+ interpolate,
259
+ evaluate: false,
260
+ escape: false
261
+ })(data);
262
+ } catch (e) {
263
+ throw new errors.ApplicationError('Invalid email template');
264
+ }
265
+ }
266
+ });
267
+ return usersPermissions;
268
+ }
269
+
270
+ exports.__require = requireUsersPermissions;
271
+ //# sourceMappingURL=users-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-permissions.js","sources":["../../../server/services/users-permissions.js"],"sourcesContent":["'use strict';\n\nconst _ = require('lodash');\nconst { filter, map, pipe, prop } = require('lodash/fp');\nconst urlJoin = require('url-join');\nconst {\n template: { createStrictInterpolationRegExp },\n errors,\n objects,\n sanitizeRoutesMapForSerialization,\n} = require('@strapi/utils');\n\nconst { getService } = require('../utils');\n\nconst DEFAULT_PERMISSIONS = [\n { action: 'plugin::users-permissions.auth.callback', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.connect', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.forgotPassword', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.resetPassword', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.register', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.emailConfirmation', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.sendEmailConfirmation', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.refresh', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.logout', roleType: 'authenticated' },\n { action: 'plugin::users-permissions.auth.getSessions', roleType: 'authenticated' },\n { action: 'plugin::users-permissions.auth.revokeSession', roleType: 'authenticated' },\n { action: 'plugin::users-permissions.user.me', roleType: 'authenticated' },\n { action: 'plugin::users-permissions.auth.changePassword', roleType: 'authenticated' },\n];\n\nconst transformRoutePrefixFor = (pluginName) => (route) => {\n const prefix = route.config && route.config.prefix;\n const path = prefix !== undefined ? `${prefix}${route.path}` : `/${pluginName}${route.path}`;\n\n return {\n ...route,\n path,\n };\n};\n\nmodule.exports = ({ strapi }) => ({\n getActions({ defaultEnable = false } = {}) {\n const actionMap = {};\n\n const isContentApi = (action) => {\n if (!_.has(action, Symbol.for('__type__'))) {\n return false;\n }\n\n return action[Symbol.for('__type__')].includes('content-api');\n };\n\n _.forEach(strapi.apis, (api, apiName) => {\n const controllers = _.reduce(\n api.controllers,\n (acc, controller, controllerName) => {\n const contentApiActions = _.pickBy(controller, isContentApi);\n\n if (_.isEmpty(contentApiActions)) {\n return acc;\n }\n\n acc[controllerName] = _.mapValues(contentApiActions, () => {\n return {\n enabled: defaultEnable,\n policy: '',\n };\n });\n\n return acc;\n },\n {}\n );\n\n if (!_.isEmpty(controllers)) {\n actionMap[`api::${apiName}`] = { controllers };\n }\n });\n\n _.forEach(strapi.plugins, (plugin, pluginName) => {\n const controllers = _.reduce(\n plugin.controllers,\n (acc, controller, controllerName) => {\n const contentApiActions = _.pickBy(controller, isContentApi);\n\n if (_.isEmpty(contentApiActions)) {\n return acc;\n }\n\n acc[controllerName] = _.mapValues(contentApiActions, () => {\n return {\n enabled: defaultEnable,\n policy: '',\n };\n });\n\n return acc;\n },\n {}\n );\n\n if (!_.isEmpty(controllers)) {\n actionMap[`plugin::${pluginName}`] = { controllers };\n }\n });\n\n // Return a deeply cloned version to avoid circular references\n return _.cloneDeep(actionMap);\n },\n\n async getRoutes() {\n const routesMap = {};\n\n _.forEach(strapi.apis, (api, apiName) => {\n const routes = _.flatMap(api.routes, (route) => {\n if (_.has(route, 'routes')) {\n return route.routes;\n }\n\n return route;\n }).filter((route) => route.info.type === 'content-api');\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`api::${apiName}`] = routes.map((route) => ({\n ...route,\n path: urlJoin(apiPrefix, route.path),\n }));\n });\n\n _.forEach(strapi.plugins, (plugin, pluginName) => {\n const transformPrefix = transformRoutePrefixFor(pluginName);\n\n const routes = _.flatMap(plugin.routes, (route) => {\n if (_.has(route, 'routes')) {\n return route.routes.map(transformPrefix);\n }\n\n return transformPrefix(route);\n }).filter((route) => route.info.type === 'content-api');\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`plugin::${pluginName}`] = routes.map((route) => ({\n ...route,\n path: urlJoin(apiPrefix, route.path),\n }));\n });\n\n return sanitizeRoutesMapForSerialization(routesMap);\n },\n\n async syncPermissions() {\n const roles = await strapi.db.query('plugin::users-permissions.role').findMany();\n const dbPermissions = await strapi.db.query('plugin::users-permissions.permission').findMany();\n\n const permissionsFoundInDB = _.uniq(_.map(dbPermissions, 'action'));\n\n const appActions = _.flatMap(strapi.apis, (api, apiName) => {\n return _.flatMap(api.controllers, (controller, controllerName) => {\n return _.keys(controller).map((actionName) => {\n return `api::${apiName}.${controllerName}.${actionName}`;\n });\n });\n });\n\n const pluginsActions = _.flatMap(strapi.plugins, (plugin, pluginName) => {\n return _.flatMap(plugin.controllers, (controller, controllerName) => {\n return _.keys(controller).map((actionName) => {\n return `plugin::${pluginName}.${controllerName}.${actionName}`;\n });\n });\n });\n\n const allActions = [...appActions, ...pluginsActions];\n\n const toDelete = _.difference(permissionsFoundInDB, allActions);\n\n await Promise.all(\n toDelete.map((action) => {\n return strapi.db\n .query('plugin::users-permissions.permission')\n .delete({ where: { action } });\n })\n );\n\n if (permissionsFoundInDB.length === 0) {\n // create default permissions\n for (const role of roles) {\n const toCreate = pipe(\n filter(({ roleType }) => roleType === role.type || roleType === null),\n map(prop('action'))\n )(DEFAULT_PERMISSIONS);\n\n await Promise.all(\n toCreate.map((action) => {\n return strapi.db.query('plugin::users-permissions.permission').create({\n data: {\n action,\n role: role.id,\n },\n });\n })\n );\n }\n }\n },\n\n async initialize() {\n const roleCount = await strapi.db.query('plugin::users-permissions.role').count();\n\n if (roleCount === 0) {\n await strapi.db.query('plugin::users-permissions.role').create({\n data: {\n name: 'Authenticated',\n description: 'Default role given to authenticated user.',\n type: 'authenticated',\n },\n });\n\n await strapi.db.query('plugin::users-permissions.role').create({\n data: {\n name: 'Public',\n description: 'Default role given to unauthenticated user.',\n type: 'public',\n },\n });\n }\n\n return getService('users-permissions').syncPermissions();\n },\n\n async updateUserRole(user, role) {\n return strapi.db\n .query('plugin::users-permissions.user')\n .update({ where: { id: user.id }, data: { role } });\n },\n\n template(layout, data) {\n const allowedTemplateVariables = objects.keysDeep(data);\n\n // Create a strict interpolation RegExp based on possible variable names\n const interpolate = createStrictInterpolationRegExp(allowedTemplateVariables, 'g');\n\n try {\n return _.template(layout, { interpolate, evaluate: false, escape: false })(data);\n } catch (e) {\n throw new errors.ApplicationError('Invalid email template');\n }\n },\n});\n"],"names":["_","require$$0","filter","map","pipe","prop","require$$1","urlJoin","require$$2","template","createStrictInterpolationRegExp","errors","objects","sanitizeRoutesMapForSerialization","require$$3","getService","require$$4","DEFAULT_PERMISSIONS","action","roleType","transformRoutePrefixFor","pluginName","route","prefix","config","path","undefined","usersPermissions","strapi","getActions","defaultEnable","actionMap","isContentApi","has","Symbol","for","includes","forEach","apis","api","apiName","controllers","reduce","acc","controller","controllerName","contentApiActions","pickBy","isEmpty","mapValues","enabled","policy","plugins","plugin","cloneDeep","getRoutes","routesMap","routes","flatMap","info","type","length","apiPrefix","get","transformPrefix","syncPermissions","roles","db","query","findMany","dbPermissions","permissionsFoundInDB","uniq","appActions","keys","actionName","pluginsActions","allActions","toDelete","difference","Promise","all","delete","where","role","toCreate","create","data","id","initialize","roleCount","count","name","description","updateUserRole","user","update","layout","allowedTemplateVariables","keysDeep","interpolate","evaluate","escape","e","ApplicationError"],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ import require$$0$1 from 'lodash';
2
+ import require$$0 from 'lodash/fp';
3
+ import require$$2 from 'url-join';
4
+ import require$$1 from '@strapi/utils';
5
+ import { __require as requireUtils } from '../utils/index.mjs';
6
+
7
+ var usersPermissions;
8
+ var hasRequiredUsersPermissions;
9
+ function requireUsersPermissions() {
10
+ if (hasRequiredUsersPermissions) return usersPermissions;
11
+ hasRequiredUsersPermissions = 1;
12
+ const _ = require$$0$1;
13
+ const { filter, map, pipe, prop } = require$$0;
14
+ const urlJoin = require$$2;
15
+ const { template: { createStrictInterpolationRegExp }, errors, objects, sanitizeRoutesMapForSerialization } = require$$1;
16
+ const { getService } = requireUtils();
17
+ const DEFAULT_PERMISSIONS = [
18
+ {
19
+ action: 'plugin::users-permissions.auth.callback',
20
+ roleType: 'public'
21
+ },
22
+ {
23
+ action: 'plugin::users-permissions.auth.connect',
24
+ roleType: 'public'
25
+ },
26
+ {
27
+ action: 'plugin::users-permissions.auth.forgotPassword',
28
+ roleType: 'public'
29
+ },
30
+ {
31
+ action: 'plugin::users-permissions.auth.resetPassword',
32
+ roleType: 'public'
33
+ },
34
+ {
35
+ action: 'plugin::users-permissions.auth.register',
36
+ roleType: 'public'
37
+ },
38
+ {
39
+ action: 'plugin::users-permissions.auth.emailConfirmation',
40
+ roleType: 'public'
41
+ },
42
+ {
43
+ action: 'plugin::users-permissions.auth.sendEmailConfirmation',
44
+ roleType: 'public'
45
+ },
46
+ {
47
+ action: 'plugin::users-permissions.auth.refresh',
48
+ roleType: 'public'
49
+ },
50
+ {
51
+ action: 'plugin::users-permissions.auth.logout',
52
+ roleType: 'authenticated'
53
+ },
54
+ {
55
+ action: 'plugin::users-permissions.auth.getSessions',
56
+ roleType: 'authenticated'
57
+ },
58
+ {
59
+ action: 'plugin::users-permissions.auth.revokeSession',
60
+ roleType: 'authenticated'
61
+ },
62
+ {
63
+ action: 'plugin::users-permissions.user.me',
64
+ roleType: 'authenticated'
65
+ },
66
+ {
67
+ action: 'plugin::users-permissions.auth.changePassword',
68
+ roleType: 'authenticated'
69
+ }
70
+ ];
71
+ const transformRoutePrefixFor = (pluginName)=>(route)=>{
72
+ const prefix = route.config && route.config.prefix;
73
+ const path = prefix !== undefined ? `${prefix}${route.path}` : `/${pluginName}${route.path}`;
74
+ return {
75
+ ...route,
76
+ path
77
+ };
78
+ };
79
+ usersPermissions = ({ strapi })=>({
80
+ getActions ({ defaultEnable = false } = {}) {
81
+ const actionMap = {};
82
+ const isContentApi = (action)=>{
83
+ if (!_.has(action, Symbol.for('__type__'))) {
84
+ return false;
85
+ }
86
+ return action[Symbol.for('__type__')].includes('content-api');
87
+ };
88
+ _.forEach(strapi.apis, (api, apiName)=>{
89
+ const controllers = _.reduce(api.controllers, (acc, controller, controllerName)=>{
90
+ const contentApiActions = _.pickBy(controller, isContentApi);
91
+ if (_.isEmpty(contentApiActions)) {
92
+ return acc;
93
+ }
94
+ acc[controllerName] = _.mapValues(contentApiActions, ()=>{
95
+ return {
96
+ enabled: defaultEnable,
97
+ policy: ''
98
+ };
99
+ });
100
+ return acc;
101
+ }, {});
102
+ if (!_.isEmpty(controllers)) {
103
+ actionMap[`api::${apiName}`] = {
104
+ controllers
105
+ };
106
+ }
107
+ });
108
+ _.forEach(strapi.plugins, (plugin, pluginName)=>{
109
+ const controllers = _.reduce(plugin.controllers, (acc, controller, controllerName)=>{
110
+ const contentApiActions = _.pickBy(controller, isContentApi);
111
+ if (_.isEmpty(contentApiActions)) {
112
+ return acc;
113
+ }
114
+ acc[controllerName] = _.mapValues(contentApiActions, ()=>{
115
+ return {
116
+ enabled: defaultEnable,
117
+ policy: ''
118
+ };
119
+ });
120
+ return acc;
121
+ }, {});
122
+ if (!_.isEmpty(controllers)) {
123
+ actionMap[`plugin::${pluginName}`] = {
124
+ controllers
125
+ };
126
+ }
127
+ });
128
+ // Return a deeply cloned version to avoid circular references
129
+ return _.cloneDeep(actionMap);
130
+ },
131
+ async getRoutes () {
132
+ const routesMap = {};
133
+ _.forEach(strapi.apis, (api, apiName)=>{
134
+ const routes = _.flatMap(api.routes, (route)=>{
135
+ if (_.has(route, 'routes')) {
136
+ return route.routes;
137
+ }
138
+ return route;
139
+ }).filter((route)=>route.info.type === 'content-api');
140
+ if (routes.length === 0) {
141
+ return;
142
+ }
143
+ const apiPrefix = strapi.config.get('api.rest.prefix');
144
+ routesMap[`api::${apiName}`] = routes.map((route)=>({
145
+ ...route,
146
+ path: urlJoin(apiPrefix, route.path)
147
+ }));
148
+ });
149
+ _.forEach(strapi.plugins, (plugin, pluginName)=>{
150
+ const transformPrefix = transformRoutePrefixFor(pluginName);
151
+ const routes = _.flatMap(plugin.routes, (route)=>{
152
+ if (_.has(route, 'routes')) {
153
+ return route.routes.map(transformPrefix);
154
+ }
155
+ return transformPrefix(route);
156
+ }).filter((route)=>route.info.type === 'content-api');
157
+ if (routes.length === 0) {
158
+ return;
159
+ }
160
+ const apiPrefix = strapi.config.get('api.rest.prefix');
161
+ routesMap[`plugin::${pluginName}`] = routes.map((route)=>({
162
+ ...route,
163
+ path: urlJoin(apiPrefix, route.path)
164
+ }));
165
+ });
166
+ return sanitizeRoutesMapForSerialization(routesMap);
167
+ },
168
+ async syncPermissions () {
169
+ const roles = await strapi.db.query('plugin::users-permissions.role').findMany();
170
+ const dbPermissions = await strapi.db.query('plugin::users-permissions.permission').findMany();
171
+ const permissionsFoundInDB = _.uniq(_.map(dbPermissions, 'action'));
172
+ const appActions = _.flatMap(strapi.apis, (api, apiName)=>{
173
+ return _.flatMap(api.controllers, (controller, controllerName)=>{
174
+ return _.keys(controller).map((actionName)=>{
175
+ return `api::${apiName}.${controllerName}.${actionName}`;
176
+ });
177
+ });
178
+ });
179
+ const pluginsActions = _.flatMap(strapi.plugins, (plugin, pluginName)=>{
180
+ return _.flatMap(plugin.controllers, (controller, controllerName)=>{
181
+ return _.keys(controller).map((actionName)=>{
182
+ return `plugin::${pluginName}.${controllerName}.${actionName}`;
183
+ });
184
+ });
185
+ });
186
+ const allActions = [
187
+ ...appActions,
188
+ ...pluginsActions
189
+ ];
190
+ const toDelete = _.difference(permissionsFoundInDB, allActions);
191
+ await Promise.all(toDelete.map((action)=>{
192
+ return strapi.db.query('plugin::users-permissions.permission').delete({
193
+ where: {
194
+ action
195
+ }
196
+ });
197
+ }));
198
+ if (permissionsFoundInDB.length === 0) {
199
+ // create default permissions
200
+ for (const role of roles){
201
+ const toCreate = pipe(filter(({ roleType })=>roleType === role.type || roleType === null), map(prop('action')))(DEFAULT_PERMISSIONS);
202
+ await Promise.all(toCreate.map((action)=>{
203
+ return strapi.db.query('plugin::users-permissions.permission').create({
204
+ data: {
205
+ action,
206
+ role: role.id
207
+ }
208
+ });
209
+ }));
210
+ }
211
+ }
212
+ },
213
+ async initialize () {
214
+ const roleCount = await strapi.db.query('plugin::users-permissions.role').count();
215
+ if (roleCount === 0) {
216
+ await strapi.db.query('plugin::users-permissions.role').create({
217
+ data: {
218
+ name: 'Authenticated',
219
+ description: 'Default role given to authenticated user.',
220
+ type: 'authenticated'
221
+ }
222
+ });
223
+ await strapi.db.query('plugin::users-permissions.role').create({
224
+ data: {
225
+ name: 'Public',
226
+ description: 'Default role given to unauthenticated user.',
227
+ type: 'public'
228
+ }
229
+ });
230
+ }
231
+ return getService('users-permissions').syncPermissions();
232
+ },
233
+ async updateUserRole (user, role) {
234
+ return strapi.db.query('plugin::users-permissions.user').update({
235
+ where: {
236
+ id: user.id
237
+ },
238
+ data: {
239
+ role
240
+ }
241
+ });
242
+ },
243
+ template (layout, data) {
244
+ const allowedTemplateVariables = objects.keysDeep(data);
245
+ // Create a strict interpolation RegExp based on possible variable names
246
+ const interpolate = createStrictInterpolationRegExp(allowedTemplateVariables, 'g');
247
+ try {
248
+ return _.template(layout, {
249
+ interpolate,
250
+ evaluate: false,
251
+ escape: false
252
+ })(data);
253
+ } catch (e) {
254
+ throw new errors.ApplicationError('Invalid email template');
255
+ }
256
+ }
257
+ });
258
+ return usersPermissions;
259
+ }
260
+
261
+ export { requireUsersPermissions as __require };
262
+ //# sourceMappingURL=users-permissions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-permissions.mjs","sources":["../../../server/services/users-permissions.js"],"sourcesContent":["'use strict';\n\nconst _ = require('lodash');\nconst { filter, map, pipe, prop } = require('lodash/fp');\nconst urlJoin = require('url-join');\nconst {\n template: { createStrictInterpolationRegExp },\n errors,\n objects,\n sanitizeRoutesMapForSerialization,\n} = require('@strapi/utils');\n\nconst { getService } = require('../utils');\n\nconst DEFAULT_PERMISSIONS = [\n { action: 'plugin::users-permissions.auth.callback', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.connect', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.forgotPassword', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.resetPassword', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.register', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.emailConfirmation', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.sendEmailConfirmation', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.refresh', roleType: 'public' },\n { action: 'plugin::users-permissions.auth.logout', roleType: 'authenticated' },\n { action: 'plugin::users-permissions.auth.getSessions', roleType: 'authenticated' },\n { action: 'plugin::users-permissions.auth.revokeSession', roleType: 'authenticated' },\n { action: 'plugin::users-permissions.user.me', roleType: 'authenticated' },\n { action: 'plugin::users-permissions.auth.changePassword', roleType: 'authenticated' },\n];\n\nconst transformRoutePrefixFor = (pluginName) => (route) => {\n const prefix = route.config && route.config.prefix;\n const path = prefix !== undefined ? `${prefix}${route.path}` : `/${pluginName}${route.path}`;\n\n return {\n ...route,\n path,\n };\n};\n\nmodule.exports = ({ strapi }) => ({\n getActions({ defaultEnable = false } = {}) {\n const actionMap = {};\n\n const isContentApi = (action) => {\n if (!_.has(action, Symbol.for('__type__'))) {\n return false;\n }\n\n return action[Symbol.for('__type__')].includes('content-api');\n };\n\n _.forEach(strapi.apis, (api, apiName) => {\n const controllers = _.reduce(\n api.controllers,\n (acc, controller, controllerName) => {\n const contentApiActions = _.pickBy(controller, isContentApi);\n\n if (_.isEmpty(contentApiActions)) {\n return acc;\n }\n\n acc[controllerName] = _.mapValues(contentApiActions, () => {\n return {\n enabled: defaultEnable,\n policy: '',\n };\n });\n\n return acc;\n },\n {}\n );\n\n if (!_.isEmpty(controllers)) {\n actionMap[`api::${apiName}`] = { controllers };\n }\n });\n\n _.forEach(strapi.plugins, (plugin, pluginName) => {\n const controllers = _.reduce(\n plugin.controllers,\n (acc, controller, controllerName) => {\n const contentApiActions = _.pickBy(controller, isContentApi);\n\n if (_.isEmpty(contentApiActions)) {\n return acc;\n }\n\n acc[controllerName] = _.mapValues(contentApiActions, () => {\n return {\n enabled: defaultEnable,\n policy: '',\n };\n });\n\n return acc;\n },\n {}\n );\n\n if (!_.isEmpty(controllers)) {\n actionMap[`plugin::${pluginName}`] = { controllers };\n }\n });\n\n // Return a deeply cloned version to avoid circular references\n return _.cloneDeep(actionMap);\n },\n\n async getRoutes() {\n const routesMap = {};\n\n _.forEach(strapi.apis, (api, apiName) => {\n const routes = _.flatMap(api.routes, (route) => {\n if (_.has(route, 'routes')) {\n return route.routes;\n }\n\n return route;\n }).filter((route) => route.info.type === 'content-api');\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`api::${apiName}`] = routes.map((route) => ({\n ...route,\n path: urlJoin(apiPrefix, route.path),\n }));\n });\n\n _.forEach(strapi.plugins, (plugin, pluginName) => {\n const transformPrefix = transformRoutePrefixFor(pluginName);\n\n const routes = _.flatMap(plugin.routes, (route) => {\n if (_.has(route, 'routes')) {\n return route.routes.map(transformPrefix);\n }\n\n return transformPrefix(route);\n }).filter((route) => route.info.type === 'content-api');\n\n if (routes.length === 0) {\n return;\n }\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n routesMap[`plugin::${pluginName}`] = routes.map((route) => ({\n ...route,\n path: urlJoin(apiPrefix, route.path),\n }));\n });\n\n return sanitizeRoutesMapForSerialization(routesMap);\n },\n\n async syncPermissions() {\n const roles = await strapi.db.query('plugin::users-permissions.role').findMany();\n const dbPermissions = await strapi.db.query('plugin::users-permissions.permission').findMany();\n\n const permissionsFoundInDB = _.uniq(_.map(dbPermissions, 'action'));\n\n const appActions = _.flatMap(strapi.apis, (api, apiName) => {\n return _.flatMap(api.controllers, (controller, controllerName) => {\n return _.keys(controller).map((actionName) => {\n return `api::${apiName}.${controllerName}.${actionName}`;\n });\n });\n });\n\n const pluginsActions = _.flatMap(strapi.plugins, (plugin, pluginName) => {\n return _.flatMap(plugin.controllers, (controller, controllerName) => {\n return _.keys(controller).map((actionName) => {\n return `plugin::${pluginName}.${controllerName}.${actionName}`;\n });\n });\n });\n\n const allActions = [...appActions, ...pluginsActions];\n\n const toDelete = _.difference(permissionsFoundInDB, allActions);\n\n await Promise.all(\n toDelete.map((action) => {\n return strapi.db\n .query('plugin::users-permissions.permission')\n .delete({ where: { action } });\n })\n );\n\n if (permissionsFoundInDB.length === 0) {\n // create default permissions\n for (const role of roles) {\n const toCreate = pipe(\n filter(({ roleType }) => roleType === role.type || roleType === null),\n map(prop('action'))\n )(DEFAULT_PERMISSIONS);\n\n await Promise.all(\n toCreate.map((action) => {\n return strapi.db.query('plugin::users-permissions.permission').create({\n data: {\n action,\n role: role.id,\n },\n });\n })\n );\n }\n }\n },\n\n async initialize() {\n const roleCount = await strapi.db.query('plugin::users-permissions.role').count();\n\n if (roleCount === 0) {\n await strapi.db.query('plugin::users-permissions.role').create({\n data: {\n name: 'Authenticated',\n description: 'Default role given to authenticated user.',\n type: 'authenticated',\n },\n });\n\n await strapi.db.query('plugin::users-permissions.role').create({\n data: {\n name: 'Public',\n description: 'Default role given to unauthenticated user.',\n type: 'public',\n },\n });\n }\n\n return getService('users-permissions').syncPermissions();\n },\n\n async updateUserRole(user, role) {\n return strapi.db\n .query('plugin::users-permissions.user')\n .update({ where: { id: user.id }, data: { role } });\n },\n\n template(layout, data) {\n const allowedTemplateVariables = objects.keysDeep(data);\n\n // Create a strict interpolation RegExp based on possible variable names\n const interpolate = createStrictInterpolationRegExp(allowedTemplateVariables, 'g');\n\n try {\n return _.template(layout, { interpolate, evaluate: false, escape: false })(data);\n } catch (e) {\n throw new errors.ApplicationError('Invalid email template');\n }\n },\n});\n"],"names":["_","require$$0","filter","map","pipe","prop","require$$1","urlJoin","require$$2","template","createStrictInterpolationRegExp","errors","objects","sanitizeRoutesMapForSerialization","require$$3","getService","require$$4","DEFAULT_PERMISSIONS","action","roleType","transformRoutePrefixFor","pluginName","route","prefix","config","path","undefined","usersPermissions","strapi","getActions","defaultEnable","actionMap","isContentApi","has","Symbol","for","includes","forEach","apis","api","apiName","controllers","reduce","acc","controller","controllerName","contentApiActions","pickBy","isEmpty","mapValues","enabled","policy","plugins","plugin","cloneDeep","getRoutes","routesMap","routes","flatMap","info","type","length","apiPrefix","get","transformPrefix","syncPermissions","roles","db","query","findMany","dbPermissions","permissionsFoundInDB","uniq","appActions","keys","actionName","pluginsActions","allActions","toDelete","difference","Promise","all","delete","where","role","toCreate","create","data","id","initialize","roleCount","count","name","description","updateUserRole","user","update","layout","allowedTemplateVariables","keysDeep","interpolate","evaluate","escape","e","ApplicationError"],"mappings":"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"}