@strapi/admin 5.44.0 → 5.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/dist/admin/admin/src/components/Table.js.map +1 -1
  2. package/dist/admin/admin/src/components/Table.mjs.map +1 -1
  3. package/dist/admin/admin/src/constants.js +49 -0
  4. package/dist/admin/admin/src/constants.js.map +1 -1
  5. package/dist/admin/admin/src/constants.mjs +49 -0
  6. package/dist/admin/admin/src/constants.mjs.map +1 -1
  7. package/dist/admin/admin/src/core/apis/router.js +4 -4
  8. package/dist/admin/admin/src/core/apis/router.js.map +1 -1
  9. package/dist/admin/admin/src/core/apis/router.mjs +4 -4
  10. package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
  11. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  12. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  13. package/dist/admin/admin/src/pages/Settings/{pages/ApiTokens/EditView/components → components/Tokens}/FormApiTokenContainer.js +48 -11
  14. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormApiTokenContainer.js.map +1 -0
  15. package/dist/admin/admin/src/pages/Settings/{pages/ApiTokens/EditView/components → components/Tokens}/FormApiTokenContainer.mjs +49 -12
  16. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormApiTokenContainer.mjs.map +1 -0
  17. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +1 -1
  18. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
  19. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs +1 -1
  20. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs.map +1 -1
  21. package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.js +1 -1
  22. package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.js.map +1 -1
  23. package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.mjs +1 -1
  24. package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.mjs.map +1 -1
  25. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +21 -1
  26. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
  27. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs +21 -1
  28. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs.map +1 -1
  29. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +1 -1
  30. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
  31. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs +1 -1
  32. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs.map +1 -1
  33. package/dist/admin/admin/src/pages/Settings/components/Tokens/constants.js +33 -0
  34. package/dist/admin/admin/src/pages/Settings/components/Tokens/constants.js.map +1 -1
  35. package/dist/admin/admin/src/pages/Settings/components/Tokens/constants.mjs +14 -1
  36. package/dist/admin/admin/src/pages/Settings/components/Tokens/constants.mjs.map +1 -1
  37. package/dist/admin/admin/src/pages/Settings/{pages/ApiTokens/EditView → components/Tokens}/utils/getDateOfExpiration.js +1 -1
  38. package/dist/admin/admin/src/pages/Settings/components/Tokens/utils/getDateOfExpiration.js.map +1 -0
  39. package/dist/admin/admin/src/pages/Settings/{pages/ApiTokens/EditView → components/Tokens}/utils/getDateOfExpiration.mjs +1 -1
  40. package/dist/admin/admin/src/pages/Settings/components/Tokens/utils/getDateOfExpiration.mjs.map +1 -0
  41. package/dist/admin/admin/src/pages/Settings/constants.js +182 -151
  42. package/dist/admin/admin/src/pages/Settings/constants.js.map +1 -1
  43. package/dist/admin/admin/src/pages/Settings/constants.mjs +182 -151
  44. package/dist/admin/admin/src/pages/Settings/constants.mjs.map +1 -1
  45. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/CreateView.js +17 -0
  46. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/CreateView.js.map +1 -0
  47. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/CreateView.mjs +15 -0
  48. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/CreateView.mjs.map +1 -0
  49. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/EditViewPage.js +314 -0
  50. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/EditViewPage.js.map +1 -0
  51. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/EditViewPage.mjs +292 -0
  52. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/EditViewPage.mjs.map +1 -0
  53. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/components/AdminPermissions.js +70 -0
  54. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/components/AdminPermissions.js.map +1 -0
  55. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/components/AdminPermissions.mjs +49 -0
  56. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/EditView/components/AdminPermissions.mjs.map +1 -0
  57. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/ListView.js +254 -0
  58. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/ListView.js.map +1 -0
  59. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/ListView.mjs +231 -0
  60. package/dist/admin/admin/src/pages/Settings/pages/AdminTokens/ListView.mjs.map +1 -0
  61. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js +42 -33
  62. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
  63. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs +43 -34
  64. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
  65. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +3 -2
  66. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
  67. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +3 -2
  68. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
  69. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js +23 -12
  70. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
  71. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs +23 -12
  72. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs.map +1 -1
  73. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js +124 -35
  74. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js.map +1 -1
  75. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.mjs +126 -37
  76. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.mjs.map +1 -1
  77. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +24 -9
  78. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
  79. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs +24 -9
  80. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs.map +1 -1
  81. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js +5 -3
  82. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js.map +1 -1
  83. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.mjs +5 -3
  84. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.mjs.map +1 -1
  85. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js +171 -36
  86. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
  87. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs +172 -37
  88. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
  89. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +5 -3
  90. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
  91. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.mjs +5 -3
  92. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.mjs.map +1 -1
  93. package/dist/admin/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.js +59 -1
  94. package/dist/admin/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.js.map +1 -1
  95. package/dist/admin/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.mjs +40 -1
  96. package/dist/admin/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.mjs.map +1 -1
  97. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createPermissionChecker.js +89 -0
  98. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createPermissionChecker.js.map +1 -0
  99. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createPermissionChecker.mjs +86 -0
  100. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/createPermissionChecker.mjs.map +1 -0
  101. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/updateValues.js +35 -9
  102. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/updateValues.js.map +1 -1
  103. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/updateValues.mjs +35 -10
  104. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/updateValues.mjs.map +1 -1
  105. package/dist/admin/admin/src/render.js +6 -3
  106. package/dist/admin/admin/src/render.js.map +1 -1
  107. package/dist/admin/admin/src/render.mjs +6 -3
  108. package/dist/admin/admin/src/render.mjs.map +1 -1
  109. package/dist/admin/admin/src/router.js +4 -4
  110. package/dist/admin/admin/src/router.js.map +1 -1
  111. package/dist/admin/admin/src/router.mjs +1 -1
  112. package/dist/admin/admin/src/router.mjs.map +1 -1
  113. package/dist/admin/admin/src/services/apiTokens.js +85 -2
  114. package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
  115. package/dist/admin/admin/src/services/apiTokens.mjs +80 -3
  116. package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
  117. package/dist/admin/admin/src/translations/en.json.js +16 -1
  118. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  119. package/dist/admin/admin/src/translations/en.json.mjs +16 -1
  120. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  121. package/dist/admin/admin/src/utils/getFetchClient.js +4 -1
  122. package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
  123. package/dist/admin/admin/src/utils/getFetchClient.mjs +4 -1
  124. package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
  125. package/dist/admin/admin/tests/server.js +99 -21
  126. package/dist/admin/admin/tests/server.js.map +1 -1
  127. package/dist/admin/admin/tests/server.mjs +99 -21
  128. package/dist/admin/admin/tests/server.mjs.map +1 -1
  129. package/dist/admin/src/constants.d.ts +26 -0
  130. package/dist/admin/src/core/apis/router.d.ts +1 -1
  131. package/dist/admin/src/features/Tracking.d.ts +2 -1
  132. package/dist/admin/src/pages/Settings/components/Tokens/FormApiTokenContainer.d.ts +24 -0
  133. package/dist/admin/src/pages/Settings/components/Tokens/Table.d.ts +2 -1
  134. package/dist/admin/src/pages/Settings/components/Tokens/constants.d.ts +17 -0
  135. package/dist/admin/src/pages/Settings/constants.d.ts +1 -1
  136. package/dist/admin/src/pages/Settings/pages/AdminTokens/CreateView.d.ts +1 -0
  137. package/dist/admin/src/pages/Settings/pages/AdminTokens/EditView/EditViewPage.d.ts +2 -0
  138. package/dist/admin/src/pages/Settings/pages/AdminTokens/EditView/components/AdminPermissions.d.ts +13 -0
  139. package/dist/admin/src/pages/Settings/pages/AdminTokens/ListView.d.ts +2 -0
  140. package/dist/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.d.ts +4 -3
  141. package/dist/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.d.ts +3 -1
  142. package/dist/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.d.ts +1 -0
  143. package/dist/admin/src/pages/Settings/pages/Roles/components/Permissions.d.ts +5 -0
  144. package/dist/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.d.ts +8 -7
  145. package/dist/admin/src/pages/Settings/pages/Roles/utils/createPermissionChecker.d.ts +27 -0
  146. package/dist/admin/src/pages/Settings/pages/Roles/utils/updateValues.d.ts +8 -2
  147. package/dist/admin/src/services/apiTokens.d.ts +5 -2
  148. package/dist/admin/src/types/permissions.d.ts +1 -1
  149. package/dist/server/server/src/bootstrap.js +37 -5
  150. package/dist/server/server/src/bootstrap.js.map +1 -1
  151. package/dist/server/server/src/bootstrap.mjs +37 -5
  152. package/dist/server/server/src/bootstrap.mjs.map +1 -1
  153. package/dist/server/server/src/config/admin-actions.js +48 -0
  154. package/dist/server/server/src/config/admin-actions.js.map +1 -1
  155. package/dist/server/server/src/config/admin-actions.mjs +48 -0
  156. package/dist/server/server/src/config/admin-actions.mjs.map +1 -1
  157. package/dist/server/server/src/content-types/Permission.js +10 -1
  158. package/dist/server/server/src/content-types/Permission.js.map +1 -1
  159. package/dist/server/server/src/content-types/Permission.mjs +10 -1
  160. package/dist/server/server/src/content-types/Permission.mjs.map +1 -1
  161. package/dist/server/server/src/content-types/User.js +8 -0
  162. package/dist/server/server/src/content-types/User.js.map +1 -1
  163. package/dist/server/server/src/content-types/User.mjs +8 -0
  164. package/dist/server/server/src/content-types/User.mjs.map +1 -1
  165. package/dist/server/server/src/content-types/api-token.js +27 -1
  166. package/dist/server/server/src/content-types/api-token.js.map +1 -1
  167. package/dist/server/server/src/content-types/api-token.mjs +27 -1
  168. package/dist/server/server/src/content-types/api-token.mjs.map +1 -1
  169. package/dist/server/server/src/controllers/admin-token.js +194 -0
  170. package/dist/server/server/src/controllers/admin-token.js.map +1 -0
  171. package/dist/server/server/src/controllers/admin-token.mjs +192 -0
  172. package/dist/server/server/src/controllers/admin-token.mjs.map +1 -0
  173. package/dist/server/server/src/controllers/api-token.js +48 -47
  174. package/dist/server/server/src/controllers/api-token.js.map +1 -1
  175. package/dist/server/server/src/controllers/api-token.mjs +48 -47
  176. package/dist/server/server/src/controllers/api-token.mjs.map +1 -1
  177. package/dist/server/server/src/controllers/index.js +2 -0
  178. package/dist/server/server/src/controllers/index.js.map +1 -1
  179. package/dist/server/server/src/controllers/index.mjs +2 -0
  180. package/dist/server/server/src/controllers/index.mjs.map +1 -1
  181. package/dist/server/server/src/domain/permission/index.js +2 -1
  182. package/dist/server/server/src/domain/permission/index.js.map +1 -1
  183. package/dist/server/server/src/domain/permission/index.mjs +2 -1
  184. package/dist/server/server/src/domain/permission/index.mjs.map +1 -1
  185. package/dist/server/server/src/policies/index.js +2 -0
  186. package/dist/server/server/src/policies/index.js.map +1 -1
  187. package/dist/server/server/src/policies/index.mjs +2 -0
  188. package/dist/server/server/src/policies/index.mjs.map +1 -1
  189. package/dist/server/server/src/policies/isAdminTokensEnabled.js +16 -0
  190. package/dist/server/server/src/policies/isAdminTokensEnabled.js.map +1 -0
  191. package/dist/server/server/src/policies/isAdminTokensEnabled.mjs +14 -0
  192. package/dist/server/server/src/policies/isAdminTokensEnabled.mjs.map +1 -0
  193. package/dist/server/server/src/register.js +4 -2
  194. package/dist/server/server/src/register.js.map +1 -1
  195. package/dist/server/server/src/register.mjs +4 -2
  196. package/dist/server/server/src/register.mjs.map +1 -1
  197. package/dist/server/server/src/routes/admin-tokens.js +140 -0
  198. package/dist/server/server/src/routes/admin-tokens.js.map +1 -0
  199. package/dist/server/server/src/routes/admin-tokens.mjs +138 -0
  200. package/dist/server/server/src/routes/admin-tokens.mjs.map +1 -0
  201. package/dist/server/server/src/routes/index.js +2 -0
  202. package/dist/server/server/src/routes/index.js.map +1 -1
  203. package/dist/server/server/src/routes/index.mjs +2 -0
  204. package/dist/server/server/src/routes/index.mjs.map +1 -1
  205. package/dist/server/server/src/services/api-token.js +805 -101
  206. package/dist/server/server/src/services/api-token.js.map +1 -1
  207. package/dist/server/server/src/services/api-token.mjs +800 -101
  208. package/dist/server/server/src/services/api-token.mjs.map +1 -1
  209. package/dist/server/server/src/services/constants.js +2 -0
  210. package/dist/server/server/src/services/constants.js.map +1 -1
  211. package/dist/server/server/src/services/constants.mjs +2 -0
  212. package/dist/server/server/src/services/constants.mjs.map +1 -1
  213. package/dist/server/server/src/services/homepage.js +1 -1
  214. package/dist/server/server/src/services/homepage.js.map +1 -1
  215. package/dist/server/server/src/services/homepage.mjs +1 -1
  216. package/dist/server/server/src/services/homepage.mjs.map +1 -1
  217. package/dist/server/server/src/services/index.js +2 -1
  218. package/dist/server/server/src/services/index.js.map +1 -1
  219. package/dist/server/server/src/services/index.mjs +3 -2
  220. package/dist/server/server/src/services/index.mjs.map +1 -1
  221. package/dist/server/server/src/services/permission/engine.js +6 -0
  222. package/dist/server/server/src/services/permission/engine.js.map +1 -1
  223. package/dist/server/server/src/services/permission/engine.mjs +6 -0
  224. package/dist/server/server/src/services/permission/engine.mjs.map +1 -1
  225. package/dist/server/server/src/services/permission/queries.js +11 -2
  226. package/dist/server/server/src/services/permission/queries.js.map +1 -1
  227. package/dist/server/server/src/services/permission/queries.mjs +12 -3
  228. package/dist/server/server/src/services/permission/queries.mjs.map +1 -1
  229. package/dist/server/server/src/services/role.js +3 -0
  230. package/dist/server/server/src/services/role.js.map +1 -1
  231. package/dist/server/server/src/services/role.mjs +3 -0
  232. package/dist/server/server/src/services/role.mjs.map +1 -1
  233. package/dist/server/server/src/strategies/admin-token.js +110 -0
  234. package/dist/server/server/src/strategies/admin-token.js.map +1 -0
  235. package/dist/server/server/src/strategies/admin-token.mjs +104 -0
  236. package/dist/server/server/src/strategies/admin-token.mjs.map +1 -0
  237. package/dist/server/server/src/strategies/api-token-utils.js +56 -0
  238. package/dist/server/server/src/strategies/api-token-utils.js.map +1 -0
  239. package/dist/server/server/src/strategies/api-token-utils.mjs +52 -0
  240. package/dist/server/server/src/strategies/api-token-utils.mjs.map +1 -0
  241. package/dist/server/server/src/strategies/content-api-token.js +104 -0
  242. package/dist/server/server/src/strategies/content-api-token.js.map +1 -0
  243. package/dist/server/server/src/strategies/content-api-token.mjs +98 -0
  244. package/dist/server/server/src/strategies/content-api-token.mjs.map +1 -0
  245. package/dist/server/server/src/validation/admin-tokens.js +28 -0
  246. package/dist/server/server/src/validation/admin-tokens.js.map +1 -0
  247. package/dist/server/server/src/validation/admin-tokens.mjs +25 -0
  248. package/dist/server/server/src/validation/admin-tokens.mjs.map +1 -0
  249. package/dist/server/server/src/validation/api-tokens.js +5 -2
  250. package/dist/server/server/src/validation/api-tokens.js.map +1 -1
  251. package/dist/server/server/src/validation/api-tokens.mjs +5 -2
  252. package/dist/server/server/src/validation/api-tokens.mjs.map +1 -1
  253. package/dist/server/server/src/validation/project-settings.js +15 -16
  254. package/dist/server/server/src/validation/project-settings.js.map +1 -1
  255. package/dist/server/server/src/validation/project-settings.mjs +4 -5
  256. package/dist/server/server/src/validation/project-settings.mjs.map +1 -1
  257. package/dist/server/src/bootstrap.d.ts.map +1 -1
  258. package/dist/server/src/config/admin-actions.d.ts.map +1 -1
  259. package/dist/server/src/content-types/Permission.d.ts +9 -0
  260. package/dist/server/src/content-types/Permission.d.ts.map +1 -1
  261. package/dist/server/src/content-types/User.d.ts +8 -0
  262. package/dist/server/src/content-types/User.d.ts.map +1 -1
  263. package/dist/server/src/content-types/api-token.d.ts +23 -0
  264. package/dist/server/src/content-types/api-token.d.ts.map +1 -1
  265. package/dist/server/src/content-types/index.d.ts +40 -0
  266. package/dist/server/src/content-types/index.d.ts.map +1 -1
  267. package/dist/server/src/controllers/admin-token.d.ts +12 -0
  268. package/dist/server/src/controllers/admin-token.d.ts.map +1 -0
  269. package/dist/server/src/controllers/api-token.d.ts +0 -1
  270. package/dist/server/src/controllers/api-token.d.ts.map +1 -1
  271. package/dist/server/src/controllers/index.d.ts +9 -1
  272. package/dist/server/src/controllers/index.d.ts.map +1 -1
  273. package/dist/server/src/domain/permission/index.d.ts.map +1 -1
  274. package/dist/server/src/index.d.ts +56 -2
  275. package/dist/server/src/index.d.ts.map +1 -1
  276. package/dist/server/src/policies/index.d.ts +5 -0
  277. package/dist/server/src/policies/index.d.ts.map +1 -1
  278. package/dist/server/src/policies/isAdminTokensEnabled.d.ts +7 -0
  279. package/dist/server/src/policies/isAdminTokensEnabled.d.ts.map +1 -0
  280. package/dist/server/src/register.d.ts.map +1 -1
  281. package/dist/server/src/routes/admin-tokens.d.ts +15 -0
  282. package/dist/server/src/routes/admin-tokens.d.ts.map +1 -0
  283. package/dist/server/src/routes/index.d.ts.map +1 -1
  284. package/dist/server/src/services/api-token.d.ts +136 -12
  285. package/dist/server/src/services/api-token.d.ts.map +1 -1
  286. package/dist/server/src/services/constants.d.ts +13 -11
  287. package/dist/server/src/services/constants.d.ts.map +1 -1
  288. package/dist/server/src/services/index.d.ts +2 -2
  289. package/dist/server/src/services/index.d.ts.map +1 -1
  290. package/dist/server/src/services/permission/engine.d.ts +5 -0
  291. package/dist/server/src/services/permission/engine.d.ts.map +1 -1
  292. package/dist/server/src/services/permission/queries.d.ts.map +1 -1
  293. package/dist/server/src/services/permission.d.ts +1 -0
  294. package/dist/server/src/services/permission.d.ts.map +1 -1
  295. package/dist/server/src/services/role.d.ts.map +1 -1
  296. package/dist/server/src/strategies/admin-token.d.ts +51 -0
  297. package/dist/server/src/strategies/admin-token.d.ts.map +1 -0
  298. package/dist/server/src/strategies/api-token-utils.d.ts +13 -0
  299. package/dist/server/src/strategies/api-token-utils.d.ts.map +1 -0
  300. package/dist/server/src/strategies/{api-token.d.ts → content-api-token.d.ts} +10 -11
  301. package/dist/server/src/strategies/content-api-token.d.ts.map +1 -0
  302. package/dist/server/src/strategies/index.d.ts +2 -1
  303. package/dist/server/src/strategies/index.d.ts.map +1 -1
  304. package/dist/server/src/validation/admin-tokens.d.ts +75 -0
  305. package/dist/server/src/validation/admin-tokens.d.ts.map +1 -0
  306. package/dist/server/src/validation/api-tokens.d.ts +4 -2
  307. package/dist/server/src/validation/api-tokens.d.ts.map +1 -1
  308. package/dist/server/src/validation/project-settings.d.ts +10 -10
  309. package/dist/server/src/validation/project-settings.d.ts.map +1 -1
  310. package/dist/shared/contracts/admin-token.d.ts +122 -0
  311. package/dist/shared/contracts/admin-token.d.ts.map +1 -0
  312. package/dist/shared/contracts/api-token.d.ts +6 -95
  313. package/dist/shared/contracts/api-token.d.ts.map +1 -1
  314. package/dist/shared/contracts/content-api-token.d.ts +97 -0
  315. package/dist/shared/contracts/content-api-token.d.ts.map +1 -0
  316. package/dist/shared/contracts/shared.d.ts +1 -0
  317. package/dist/shared/contracts/shared.d.ts.map +1 -1
  318. package/package.json +7 -7
  319. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.js.map +0 -1
  320. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.mjs.map +0 -1
  321. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/constants.js +0 -37
  322. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/constants.js.map +0 -1
  323. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/constants.mjs +0 -16
  324. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/constants.mjs.map +0 -1
  325. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/getDateOfExpiration.js.map +0 -1
  326. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/getDateOfExpiration.mjs.map +0 -1
  327. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/FormApiTokenContainer.d.ts +0 -20
  328. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/constants.d.ts +0 -17
  329. package/dist/server/server/src/strategies/api-token.js +0 -144
  330. package/dist/server/server/src/strategies/api-token.js.map +0 -1
  331. package/dist/server/server/src/strategies/api-token.mjs +0 -138
  332. package/dist/server/server/src/strategies/api-token.mjs.map +0 -1
  333. package/dist/server/src/strategies/api-token.d.ts.map +0 -1
  334. /package/dist/admin/src/pages/Settings/{pages/ApiTokens/EditView → components/Tokens}/utils/getDateOfExpiration.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sources":["../../../../server/src/bootstrap.ts"],"sourcesContent":["import { merge, map, difference, uniq } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { async } from '@strapi/utils';\nimport { getService } from './utils';\nimport { getTokenOptions, expiresInToSeconds } from './services/token';\nimport adminActions from './config/admin-actions';\nimport adminConditions from './config/admin-conditions';\nimport constants from './services/constants';\nimport {\n DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN,\n DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN,\n DEFAULT_MAX_SESSION_LIFESPAN,\n DEFAULT_IDLE_SESSION_LIFESPAN,\n} from '../../shared/utils/session-auth';\n\nconst defaultAdminAuthSettings = {\n providers: {\n autoRegister: false,\n defaultRole: null,\n ssoLockedRoles: null,\n },\n};\n\nconst registerPermissionActions = async () => {\n await getService('permission').actionProvider.registerMany(adminActions.actions);\n};\n\nconst registerAdminConditions = async () => {\n await getService('permission').conditionProvider.registerMany(adminConditions.conditions);\n};\n\nconst registerModelHooks = () => {\n const { sendDidChangeInterfaceLanguage } = getService('metrics');\n\n strapi.db.lifecycles.subscribe({\n models: ['admin::user'],\n afterCreate: sendDidChangeInterfaceLanguage,\n afterDelete: sendDidChangeInterfaceLanguage,\n afterUpdate({ params }) {\n if (params.data.preferedLanguage) {\n sendDidChangeInterfaceLanguage();\n }\n },\n });\n};\n\nconst syncAuthSettings = async () => {\n const adminStore = await strapi.store({ type: 'core', name: 'admin' });\n const adminAuthSettings = await adminStore.get({ key: 'auth' });\n const newAuthSettings = merge(defaultAdminAuthSettings, adminAuthSettings);\n\n const roleExists = await getService('role').exists({\n id: newAuthSettings.providers.defaultRole,\n });\n\n // Reset the default SSO role if it has been deleted manually\n if (!roleExists) {\n newAuthSettings.providers.defaultRole = null;\n }\n\n await adminStore.set({ key: 'auth', value: newAuthSettings });\n};\n\nconst syncAPITokensPermissions = async () => {\n const validPermissions = strapi.contentAPI.permissions.providers.action.keys();\n const permissionsInDB = await async.pipe(\n strapi.db.query('admin::api-token-permission').findMany,\n map('action')\n )();\n\n const unknownPermissions = uniq(difference(permissionsInDB, validPermissions));\n\n if (unknownPermissions.length > 0) {\n await strapi.db\n .query('admin::api-token-permission')\n .deleteMany({ where: { action: { $in: unknownPermissions } } });\n }\n};\n\n/**\n * Ensures the creation of default API tokens during the app creation.\n *\n * Checks the database for existing users and API tokens:\n * - If there are no users and no API tokens, it creates two default API tokens:\n * 1. A \"Read Only\" API token with permissions for accessing resources.\n * 2. A \"Full Access\" API token with permissions for accessing and modifying resources.\n *\n * @sideEffects Creates new API tokens in the database if conditions are met.\n */\n\nconst createDefaultAPITokensIfNeeded = async () => {\n const userService = getService('user');\n const apiTokenService = getService('api-token');\n\n const usersCount = await userService.count();\n const apiTokenCount = await apiTokenService.count();\n\n if (usersCount === 0 && apiTokenCount === 0) {\n for (const token of constants.DEFAULT_API_TOKENS) {\n await apiTokenService.create(token);\n }\n }\n};\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n // Get the merged token options (includes defaults merged with user config)\n const { options } = getTokenOptions();\n const legacyMaxRefreshFallback =\n expiresInToSeconds(options?.expiresIn) ?? DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN;\n const legacyMaxSessionFallback =\n expiresInToSeconds(options?.expiresIn) ?? DEFAULT_MAX_SESSION_LIFESPAN;\n\n // Warn if using deprecated legacy expiresIn for new session settings\n const hasLegacyExpires = options?.expiresIn != null;\n const hasNewMaxRefresh = strapi.config.get('admin.auth.sessions.maxRefreshTokenLifespan') != null;\n const hasNewMaxSession = strapi.config.get('admin.auth.sessions.maxSessionLifespan') != null;\n\n if (hasLegacyExpires && (!hasNewMaxRefresh || !hasNewMaxSession)) {\n strapi.log.warn(\n 'admin.auth.options.expiresIn is deprecated and will be removed in Strapi 6. Please configure admin.auth.sessions.maxRefreshTokenLifespan and admin.auth.sessions.maxSessionLifespan.'\n );\n }\n\n strapi.sessionManager.defineOrigin('admin', {\n jwtSecret: strapi.config.get('admin.auth.secret'),\n accessTokenLifespan: strapi.config.get('admin.auth.sessions.accessTokenLifespan', 30 * 60),\n maxRefreshTokenLifespan: strapi.config.get(\n 'admin.auth.sessions.maxRefreshTokenLifespan',\n legacyMaxRefreshFallback\n ),\n idleRefreshTokenLifespan: strapi.config.get(\n 'admin.auth.sessions.idleRefreshTokenLifespan',\n DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN\n ),\n maxSessionLifespan: strapi.config.get(\n 'admin.auth.sessions.maxSessionLifespan',\n legacyMaxSessionFallback\n ),\n idleSessionLifespan: strapi.config.get(\n 'admin.auth.sessions.idleSessionLifespan',\n DEFAULT_IDLE_SESSION_LIFESPAN\n ),\n algorithm: options?.algorithm,\n // Pass through all JWT options (includes privateKey, publicKey, and any other options)\n jwtOptions: options,\n });\n\n const isProduction = process.env.NODE_ENV === 'production';\n const adminCookieSecure = strapi.config.get('admin.auth.cookie.secure');\n if (isProduction && adminCookieSecure === false) {\n strapi.log.warn(\n 'Server is in production mode, but admin.auth.cookie.secure has been set to false. This is not recommended and will allow cookies to be sent over insecure connections.'\n );\n }\n\n await registerAdminConditions();\n await registerPermissionActions();\n registerModelHooks();\n\n const permissionService = getService('permission');\n const userService = getService('user');\n const roleService = getService('role');\n const apiTokenService = getService('api-token');\n const transferService = getService('transfer');\n const tokenService = getService('token');\n\n await roleService.createRolesIfNoneExist();\n await roleService.resetSuperAdminPermissions();\n await roleService.displayWarningIfNoSuperAdmin();\n\n await permissionService.cleanPermissionsInDatabase();\n\n await userService.displayWarningIfUsersDontHaveRole();\n\n await syncAuthSettings();\n await syncAPITokensPermissions();\n\n await getService('metrics').sendUpdateProjectInformation(strapi);\n getService('metrics').startCron(strapi);\n\n apiTokenService.checkSaltIsDefined();\n transferService.token.checkSaltIsDefined();\n tokenService.checkSecretIsDefined();\n\n await createDefaultAPITokensIfNeeded();\n};\n"],"names":["defaultAdminAuthSettings","providers","autoRegister","defaultRole","ssoLockedRoles","registerPermissionActions","getService","actionProvider","registerMany","adminActions","actions","registerAdminConditions","conditionProvider","adminConditions","conditions","registerModelHooks","sendDidChangeInterfaceLanguage","strapi","db","lifecycles","subscribe","models","afterCreate","afterDelete","afterUpdate","params","data","preferedLanguage","syncAuthSettings","adminStore","store","type","name","adminAuthSettings","get","key","newAuthSettings","merge","roleExists","exists","id","set","value","syncAPITokensPermissions","validPermissions","contentAPI","permissions","action","keys","permissionsInDB","async","pipe","query","findMany","map","unknownPermissions","uniq","difference","length","deleteMany","where","$in","createDefaultAPITokensIfNeeded","userService","apiTokenService","usersCount","count","apiTokenCount","token","constants","DEFAULT_API_TOKENS","create","options","getTokenOptions","legacyMaxRefreshFallback","expiresInToSeconds","expiresIn","DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN","legacyMaxSessionFallback","DEFAULT_MAX_SESSION_LIFESPAN","hasLegacyExpires","hasNewMaxRefresh","config","hasNewMaxSession","log","warn","sessionManager","defineOrigin","jwtSecret","accessTokenLifespan","maxRefreshTokenLifespan","idleRefreshTokenLifespan","DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN","maxSessionLifespan","idleSessionLifespan","DEFAULT_IDLE_SESSION_LIFESPAN","algorithm","jwtOptions","isProduction","process","env","NODE_ENV","adminCookieSecure","permissionService","roleService","transferService","tokenService","createRolesIfNoneExist","resetSuperAdminPermissions","displayWarningIfNoSuperAdmin","cleanPermissionsInDatabase","displayWarningIfUsersDontHaveRole","sendUpdateProjectInformation","startCron","checkSaltIsDefined","checkSecretIsDefined"],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sources":["../../../../server/src/bootstrap.ts"],"sourcesContent":["import { merge, map, difference, uniq } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { async } from '@strapi/utils';\nimport { getService } from './utils';\nimport { getTokenOptions, expiresInToSeconds } from './services/token';\nimport adminActions from './config/admin-actions';\nimport adminConditions from './config/admin-conditions';\nimport constants from './services/constants';\nimport {\n DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN,\n DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN,\n DEFAULT_MAX_SESSION_LIFESPAN,\n DEFAULT_IDLE_SESSION_LIFESPAN,\n} from '../../shared/utils/session-auth';\n\nconst defaultAdminAuthSettings = {\n providers: {\n autoRegister: false,\n defaultRole: null,\n ssoLockedRoles: null,\n },\n};\n\nconst registerPermissionActions = async () => {\n await getService('permission').actionProvider.registerMany(adminActions.actions);\n};\n\nconst registerAdminConditions = async () => {\n await getService('permission').conditionProvider.registerMany(adminConditions.conditions);\n};\n\nconst registerModelHooks = () => {\n const { sendDidChangeInterfaceLanguage } = getService('metrics');\n\n strapi.db.lifecycles.subscribe({\n models: ['admin::user'],\n afterCreate: sendDidChangeInterfaceLanguage,\n afterDelete: sendDidChangeInterfaceLanguage,\n async beforeDelete(event) {\n // Delete all admin API tokens owned by this user before the user row is removed\n await getService('api-token-admin').deleteTokensForUser(event.params.where.id);\n },\n async afterUpdate(event) {\n if (event.params.data?.preferedLanguage) {\n sendDidChangeInterfaceLanguage();\n }\n if (event.params.data?.roles !== undefined) {\n // We re-sync token permissions for all owner users with their role when the user is updated\n await getService('api-token-admin').syncPermissionsForUser(event.result.id);\n }\n },\n });\n\n strapi.db.lifecycles.subscribe({\n models: ['admin::role'],\n // We re-sync token permissions for all owner users with this role when the role is deleted\n async beforeDelete(event) {\n const users = await strapi.db.query('admin::user').findMany({\n where: { roles: { id: event.params.where.id } },\n select: ['id'],\n });\n event.state.affectedUserIds = users.map((u: { id: unknown }) => u.id);\n },\n async afterDelete(event) {\n for (const userId of (event.state.affectedUserIds as unknown[]) ?? []) {\n await getService('api-token-admin').syncPermissionsForUser(userId as string | number);\n }\n },\n });\n};\n\nconst syncAuthSettings = async () => {\n const adminStore = await strapi.store({ type: 'core', name: 'admin' });\n const adminAuthSettings = await adminStore.get({ key: 'auth' });\n const newAuthSettings = merge(defaultAdminAuthSettings, adminAuthSettings);\n\n const roleExists = await getService('role').exists({\n id: newAuthSettings.providers.defaultRole,\n });\n\n // Reset the default SSO role if it has been deleted manually\n if (!roleExists) {\n newAuthSettings.providers.defaultRole = null;\n }\n\n await adminStore.set({ key: 'auth', value: newAuthSettings });\n};\n\nconst syncAPITokensPermissions = async () => {\n const validPermissions = strapi.contentAPI.permissions.providers.action.keys();\n const permissionsInDB = await async.pipe(\n strapi.db.query('admin::api-token-permission').findMany,\n map('action')\n )();\n\n const unknownPermissions = uniq(difference(permissionsInDB, validPermissions));\n\n if (unknownPermissions.length > 0) {\n await strapi.db\n .query('admin::api-token-permission')\n .deleteMany({ where: { action: { $in: unknownPermissions } } });\n }\n};\n\n/**\n * Ensures the creation of default API tokens during the app creation.\n *\n * Checks the database for existing users and API tokens:\n * - If there are no users and no API tokens, it creates two default API tokens:\n * 1. A \"Read Only\" API token with permissions for accessing resources.\n * 2. A \"Full Access\" API token with permissions for accessing and modifying resources.\n *\n * @sideEffects Creates new API tokens in the database if conditions are met.\n */\n\nconst createDefaultAPITokensIfNeeded = async () => {\n const userService = getService('user');\n const apiTokenService = getService('api-token-content-api');\n\n const usersCount = await userService.count();\n const apiTokenCount = await apiTokenService.countAll();\n\n if (usersCount === 0 && apiTokenCount === 0) {\n for (const token of constants.DEFAULT_API_TOKENS) {\n await apiTokenService.create(token);\n }\n }\n};\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n // Get the merged token options (includes defaults merged with user config)\n const { options } = getTokenOptions();\n const legacyMaxRefreshFallback =\n expiresInToSeconds(options?.expiresIn) ?? DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN;\n const legacyMaxSessionFallback =\n expiresInToSeconds(options?.expiresIn) ?? DEFAULT_MAX_SESSION_LIFESPAN;\n\n // Warn if using deprecated legacy expiresIn for new session settings\n const hasLegacyExpires = options?.expiresIn != null;\n const hasNewMaxRefresh = strapi.config.get('admin.auth.sessions.maxRefreshTokenLifespan') != null;\n const hasNewMaxSession = strapi.config.get('admin.auth.sessions.maxSessionLifespan') != null;\n\n if (hasLegacyExpires && (!hasNewMaxRefresh || !hasNewMaxSession)) {\n strapi.log.warn(\n 'admin.auth.options.expiresIn is deprecated and will be removed in Strapi 6. Please configure admin.auth.sessions.maxRefreshTokenLifespan and admin.auth.sessions.maxSessionLifespan.'\n );\n }\n\n strapi.sessionManager.defineOrigin('admin', {\n jwtSecret: strapi.config.get('admin.auth.secret'),\n accessTokenLifespan: strapi.config.get('admin.auth.sessions.accessTokenLifespan', 30 * 60),\n maxRefreshTokenLifespan: strapi.config.get(\n 'admin.auth.sessions.maxRefreshTokenLifespan',\n legacyMaxRefreshFallback\n ),\n idleRefreshTokenLifespan: strapi.config.get(\n 'admin.auth.sessions.idleRefreshTokenLifespan',\n DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN\n ),\n maxSessionLifespan: strapi.config.get(\n 'admin.auth.sessions.maxSessionLifespan',\n legacyMaxSessionFallback\n ),\n idleSessionLifespan: strapi.config.get(\n 'admin.auth.sessions.idleSessionLifespan',\n DEFAULT_IDLE_SESSION_LIFESPAN\n ),\n algorithm: options?.algorithm,\n // Pass through all JWT options (includes privateKey, publicKey, and any other options)\n jwtOptions: options,\n });\n\n const isProduction = process.env.NODE_ENV === 'production';\n const adminCookieSecure = strapi.config.get('admin.auth.cookie.secure');\n if (isProduction && adminCookieSecure === false) {\n strapi.log.warn(\n 'Server is in production mode, but admin.auth.cookie.secure has been set to false. This is not recommended and will allow cookies to be sent over insecure connections.'\n );\n }\n\n await registerAdminConditions();\n await registerPermissionActions();\n registerModelHooks();\n\n const permissionService = getService('permission');\n const userService = getService('user');\n const roleService = getService('role');\n const apiTokenService = getService('api-token-content-api');\n const transferService = getService('transfer');\n const tokenService = getService('token');\n\n await roleService.createRolesIfNoneExist();\n await roleService.resetSuperAdminPermissions();\n await roleService.displayWarningIfNoSuperAdmin();\n\n await permissionService.cleanPermissionsInDatabase();\n\n await userService.displayWarningIfUsersDontHaveRole();\n\n await syncAuthSettings();\n await syncAPITokensPermissions();\n\n await getService('metrics').sendUpdateProjectInformation(strapi);\n getService('metrics').startCron(strapi);\n\n apiTokenService.checkSaltIsDefined();\n transferService.token.checkSaltIsDefined();\n tokenService.checkSecretIsDefined();\n\n await createDefaultAPITokensIfNeeded();\n};\n"],"names":["defaultAdminAuthSettings","providers","autoRegister","defaultRole","ssoLockedRoles","registerPermissionActions","getService","actionProvider","registerMany","adminActions","actions","registerAdminConditions","conditionProvider","adminConditions","conditions","registerModelHooks","sendDidChangeInterfaceLanguage","strapi","db","lifecycles","subscribe","models","afterCreate","afterDelete","beforeDelete","event","deleteTokensForUser","params","where","id","afterUpdate","data","preferedLanguage","roles","undefined","syncPermissionsForUser","result","users","query","findMany","select","state","affectedUserIds","map","u","userId","syncAuthSettings","adminStore","store","type","name","adminAuthSettings","get","key","newAuthSettings","merge","roleExists","exists","set","value","syncAPITokensPermissions","validPermissions","contentAPI","permissions","action","keys","permissionsInDB","async","pipe","unknownPermissions","uniq","difference","length","deleteMany","$in","createDefaultAPITokensIfNeeded","userService","apiTokenService","usersCount","count","apiTokenCount","countAll","token","constants","DEFAULT_API_TOKENS","create","options","getTokenOptions","legacyMaxRefreshFallback","expiresInToSeconds","expiresIn","DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN","legacyMaxSessionFallback","DEFAULT_MAX_SESSION_LIFESPAN","hasLegacyExpires","hasNewMaxRefresh","config","hasNewMaxSession","log","warn","sessionManager","defineOrigin","jwtSecret","accessTokenLifespan","maxRefreshTokenLifespan","idleRefreshTokenLifespan","DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN","maxSessionLifespan","idleSessionLifespan","DEFAULT_IDLE_SESSION_LIFESPAN","algorithm","jwtOptions","isProduction","process","env","NODE_ENV","adminCookieSecure","permissionService","roleService","transferService","tokenService","createRolesIfNoneExist","resetSuperAdminPermissions","displayWarningIfNoSuperAdmin","cleanPermissionsInDatabase","displayWarningIfUsersDontHaveRole","sendUpdateProjectInformation","startCron","checkSaltIsDefined","checkSecretIsDefined"],"mappings":"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"}
@@ -28,10 +28,42 @@ const registerModelHooks = ()=>{
28
28
  ],
29
29
  afterCreate: sendDidChangeInterfaceLanguage,
30
30
  afterDelete: sendDidChangeInterfaceLanguage,
31
- afterUpdate ({ params }) {
32
- if (params.data.preferedLanguage) {
31
+ async beforeDelete (event) {
32
+ // Delete all admin API tokens owned by this user before the user row is removed
33
+ await getService('api-token-admin').deleteTokensForUser(event.params.where.id);
34
+ },
35
+ async afterUpdate (event) {
36
+ if (event.params.data?.preferedLanguage) {
33
37
  sendDidChangeInterfaceLanguage();
34
38
  }
39
+ if (event.params.data?.roles !== undefined) {
40
+ // We re-sync token permissions for all owner users with their role when the user is updated
41
+ await getService('api-token-admin').syncPermissionsForUser(event.result.id);
42
+ }
43
+ }
44
+ });
45
+ strapi.db.lifecycles.subscribe({
46
+ models: [
47
+ 'admin::role'
48
+ ],
49
+ // We re-sync token permissions for all owner users with this role when the role is deleted
50
+ async beforeDelete (event) {
51
+ const users = await strapi.db.query('admin::user').findMany({
52
+ where: {
53
+ roles: {
54
+ id: event.params.where.id
55
+ }
56
+ },
57
+ select: [
58
+ 'id'
59
+ ]
60
+ });
61
+ event.state.affectedUserIds = users.map((u)=>u.id);
62
+ },
63
+ async afterDelete (event) {
64
+ for (const userId of event.state.affectedUserIds ?? []){
65
+ await getService('api-token-admin').syncPermissionsForUser(userId);
66
+ }
35
67
  }
36
68
  });
37
69
  };
@@ -81,9 +113,9 @@ const syncAPITokensPermissions = async ()=>{
81
113
  * @sideEffects Creates new API tokens in the database if conditions are met.
82
114
  */ const createDefaultAPITokensIfNeeded = async ()=>{
83
115
  const userService = getService('user');
84
- const apiTokenService = getService('api-token');
116
+ const apiTokenService = getService('api-token-content-api');
85
117
  const usersCount = await userService.count();
86
- const apiTokenCount = await apiTokenService.count();
118
+ const apiTokenCount = await apiTokenService.countAll();
87
119
  if (usersCount === 0 && apiTokenCount === 0) {
88
120
  for (const token of constants.DEFAULT_API_TOKENS){
89
121
  await apiTokenService.create(token);
@@ -124,7 +156,7 @@ var bootstrap = (async ({ strapi: strapi1 })=>{
124
156
  const permissionService = getService('permission');
125
157
  const userService = getService('user');
126
158
  const roleService = getService('role');
127
- const apiTokenService = getService('api-token');
159
+ const apiTokenService = getService('api-token-content-api');
128
160
  const transferService = getService('transfer');
129
161
  const tokenService = getService('token');
130
162
  await roleService.createRolesIfNoneExist();
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.mjs","sources":["../../../../server/src/bootstrap.ts"],"sourcesContent":["import { merge, map, difference, uniq } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { async } from '@strapi/utils';\nimport { getService } from './utils';\nimport { getTokenOptions, expiresInToSeconds } from './services/token';\nimport adminActions from './config/admin-actions';\nimport adminConditions from './config/admin-conditions';\nimport constants from './services/constants';\nimport {\n DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN,\n DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN,\n DEFAULT_MAX_SESSION_LIFESPAN,\n DEFAULT_IDLE_SESSION_LIFESPAN,\n} from '../../shared/utils/session-auth';\n\nconst defaultAdminAuthSettings = {\n providers: {\n autoRegister: false,\n defaultRole: null,\n ssoLockedRoles: null,\n },\n};\n\nconst registerPermissionActions = async () => {\n await getService('permission').actionProvider.registerMany(adminActions.actions);\n};\n\nconst registerAdminConditions = async () => {\n await getService('permission').conditionProvider.registerMany(adminConditions.conditions);\n};\n\nconst registerModelHooks = () => {\n const { sendDidChangeInterfaceLanguage } = getService('metrics');\n\n strapi.db.lifecycles.subscribe({\n models: ['admin::user'],\n afterCreate: sendDidChangeInterfaceLanguage,\n afterDelete: sendDidChangeInterfaceLanguage,\n afterUpdate({ params }) {\n if (params.data.preferedLanguage) {\n sendDidChangeInterfaceLanguage();\n }\n },\n });\n};\n\nconst syncAuthSettings = async () => {\n const adminStore = await strapi.store({ type: 'core', name: 'admin' });\n const adminAuthSettings = await adminStore.get({ key: 'auth' });\n const newAuthSettings = merge(defaultAdminAuthSettings, adminAuthSettings);\n\n const roleExists = await getService('role').exists({\n id: newAuthSettings.providers.defaultRole,\n });\n\n // Reset the default SSO role if it has been deleted manually\n if (!roleExists) {\n newAuthSettings.providers.defaultRole = null;\n }\n\n await adminStore.set({ key: 'auth', value: newAuthSettings });\n};\n\nconst syncAPITokensPermissions = async () => {\n const validPermissions = strapi.contentAPI.permissions.providers.action.keys();\n const permissionsInDB = await async.pipe(\n strapi.db.query('admin::api-token-permission').findMany,\n map('action')\n )();\n\n const unknownPermissions = uniq(difference(permissionsInDB, validPermissions));\n\n if (unknownPermissions.length > 0) {\n await strapi.db\n .query('admin::api-token-permission')\n .deleteMany({ where: { action: { $in: unknownPermissions } } });\n }\n};\n\n/**\n * Ensures the creation of default API tokens during the app creation.\n *\n * Checks the database for existing users and API tokens:\n * - If there are no users and no API tokens, it creates two default API tokens:\n * 1. A \"Read Only\" API token with permissions for accessing resources.\n * 2. A \"Full Access\" API token with permissions for accessing and modifying resources.\n *\n * @sideEffects Creates new API tokens in the database if conditions are met.\n */\n\nconst createDefaultAPITokensIfNeeded = async () => {\n const userService = getService('user');\n const apiTokenService = getService('api-token');\n\n const usersCount = await userService.count();\n const apiTokenCount = await apiTokenService.count();\n\n if (usersCount === 0 && apiTokenCount === 0) {\n for (const token of constants.DEFAULT_API_TOKENS) {\n await apiTokenService.create(token);\n }\n }\n};\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n // Get the merged token options (includes defaults merged with user config)\n const { options } = getTokenOptions();\n const legacyMaxRefreshFallback =\n expiresInToSeconds(options?.expiresIn) ?? DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN;\n const legacyMaxSessionFallback =\n expiresInToSeconds(options?.expiresIn) ?? DEFAULT_MAX_SESSION_LIFESPAN;\n\n // Warn if using deprecated legacy expiresIn for new session settings\n const hasLegacyExpires = options?.expiresIn != null;\n const hasNewMaxRefresh = strapi.config.get('admin.auth.sessions.maxRefreshTokenLifespan') != null;\n const hasNewMaxSession = strapi.config.get('admin.auth.sessions.maxSessionLifespan') != null;\n\n if (hasLegacyExpires && (!hasNewMaxRefresh || !hasNewMaxSession)) {\n strapi.log.warn(\n 'admin.auth.options.expiresIn is deprecated and will be removed in Strapi 6. Please configure admin.auth.sessions.maxRefreshTokenLifespan and admin.auth.sessions.maxSessionLifespan.'\n );\n }\n\n strapi.sessionManager.defineOrigin('admin', {\n jwtSecret: strapi.config.get('admin.auth.secret'),\n accessTokenLifespan: strapi.config.get('admin.auth.sessions.accessTokenLifespan', 30 * 60),\n maxRefreshTokenLifespan: strapi.config.get(\n 'admin.auth.sessions.maxRefreshTokenLifespan',\n legacyMaxRefreshFallback\n ),\n idleRefreshTokenLifespan: strapi.config.get(\n 'admin.auth.sessions.idleRefreshTokenLifespan',\n DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN\n ),\n maxSessionLifespan: strapi.config.get(\n 'admin.auth.sessions.maxSessionLifespan',\n legacyMaxSessionFallback\n ),\n idleSessionLifespan: strapi.config.get(\n 'admin.auth.sessions.idleSessionLifespan',\n DEFAULT_IDLE_SESSION_LIFESPAN\n ),\n algorithm: options?.algorithm,\n // Pass through all JWT options (includes privateKey, publicKey, and any other options)\n jwtOptions: options,\n });\n\n const isProduction = process.env.NODE_ENV === 'production';\n const adminCookieSecure = strapi.config.get('admin.auth.cookie.secure');\n if (isProduction && adminCookieSecure === false) {\n strapi.log.warn(\n 'Server is in production mode, but admin.auth.cookie.secure has been set to false. This is not recommended and will allow cookies to be sent over insecure connections.'\n );\n }\n\n await registerAdminConditions();\n await registerPermissionActions();\n registerModelHooks();\n\n const permissionService = getService('permission');\n const userService = getService('user');\n const roleService = getService('role');\n const apiTokenService = getService('api-token');\n const transferService = getService('transfer');\n const tokenService = getService('token');\n\n await roleService.createRolesIfNoneExist();\n await roleService.resetSuperAdminPermissions();\n await roleService.displayWarningIfNoSuperAdmin();\n\n await permissionService.cleanPermissionsInDatabase();\n\n await userService.displayWarningIfUsersDontHaveRole();\n\n await syncAuthSettings();\n await syncAPITokensPermissions();\n\n await getService('metrics').sendUpdateProjectInformation(strapi);\n getService('metrics').startCron(strapi);\n\n apiTokenService.checkSaltIsDefined();\n transferService.token.checkSaltIsDefined();\n tokenService.checkSecretIsDefined();\n\n await createDefaultAPITokensIfNeeded();\n};\n"],"names":["defaultAdminAuthSettings","providers","autoRegister","defaultRole","ssoLockedRoles","registerPermissionActions","getService","actionProvider","registerMany","adminActions","actions","registerAdminConditions","conditionProvider","adminConditions","conditions","registerModelHooks","sendDidChangeInterfaceLanguage","strapi","db","lifecycles","subscribe","models","afterCreate","afterDelete","afterUpdate","params","data","preferedLanguage","syncAuthSettings","adminStore","store","type","name","adminAuthSettings","get","key","newAuthSettings","merge","roleExists","exists","id","set","value","syncAPITokensPermissions","validPermissions","contentAPI","permissions","action","keys","permissionsInDB","async","pipe","query","findMany","map","unknownPermissions","uniq","difference","length","deleteMany","where","$in","createDefaultAPITokensIfNeeded","userService","apiTokenService","usersCount","count","apiTokenCount","token","constants","DEFAULT_API_TOKENS","create","options","getTokenOptions","legacyMaxRefreshFallback","expiresInToSeconds","expiresIn","DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN","legacyMaxSessionFallback","DEFAULT_MAX_SESSION_LIFESPAN","hasLegacyExpires","hasNewMaxRefresh","config","hasNewMaxSession","log","warn","sessionManager","defineOrigin","jwtSecret","accessTokenLifespan","maxRefreshTokenLifespan","idleRefreshTokenLifespan","DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN","maxSessionLifespan","idleSessionLifespan","DEFAULT_IDLE_SESSION_LIFESPAN","algorithm","jwtOptions","isProduction","process","env","NODE_ENV","adminCookieSecure","permissionService","roleService","transferService","tokenService","createRolesIfNoneExist","resetSuperAdminPermissions","displayWarningIfNoSuperAdmin","cleanPermissionsInDatabase","displayWarningIfUsersDontHaveRole","sendUpdateProjectInformation","startCron","checkSaltIsDefined","checkSecretIsDefined"],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.mjs","sources":["../../../../server/src/bootstrap.ts"],"sourcesContent":["import { merge, map, difference, uniq } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\nimport { async } from '@strapi/utils';\nimport { getService } from './utils';\nimport { getTokenOptions, expiresInToSeconds } from './services/token';\nimport adminActions from './config/admin-actions';\nimport adminConditions from './config/admin-conditions';\nimport constants from './services/constants';\nimport {\n DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN,\n DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN,\n DEFAULT_MAX_SESSION_LIFESPAN,\n DEFAULT_IDLE_SESSION_LIFESPAN,\n} from '../../shared/utils/session-auth';\n\nconst defaultAdminAuthSettings = {\n providers: {\n autoRegister: false,\n defaultRole: null,\n ssoLockedRoles: null,\n },\n};\n\nconst registerPermissionActions = async () => {\n await getService('permission').actionProvider.registerMany(adminActions.actions);\n};\n\nconst registerAdminConditions = async () => {\n await getService('permission').conditionProvider.registerMany(adminConditions.conditions);\n};\n\nconst registerModelHooks = () => {\n const { sendDidChangeInterfaceLanguage } = getService('metrics');\n\n strapi.db.lifecycles.subscribe({\n models: ['admin::user'],\n afterCreate: sendDidChangeInterfaceLanguage,\n afterDelete: sendDidChangeInterfaceLanguage,\n async beforeDelete(event) {\n // Delete all admin API tokens owned by this user before the user row is removed\n await getService('api-token-admin').deleteTokensForUser(event.params.where.id);\n },\n async afterUpdate(event) {\n if (event.params.data?.preferedLanguage) {\n sendDidChangeInterfaceLanguage();\n }\n if (event.params.data?.roles !== undefined) {\n // We re-sync token permissions for all owner users with their role when the user is updated\n await getService('api-token-admin').syncPermissionsForUser(event.result.id);\n }\n },\n });\n\n strapi.db.lifecycles.subscribe({\n models: ['admin::role'],\n // We re-sync token permissions for all owner users with this role when the role is deleted\n async beforeDelete(event) {\n const users = await strapi.db.query('admin::user').findMany({\n where: { roles: { id: event.params.where.id } },\n select: ['id'],\n });\n event.state.affectedUserIds = users.map((u: { id: unknown }) => u.id);\n },\n async afterDelete(event) {\n for (const userId of (event.state.affectedUserIds as unknown[]) ?? []) {\n await getService('api-token-admin').syncPermissionsForUser(userId as string | number);\n }\n },\n });\n};\n\nconst syncAuthSettings = async () => {\n const adminStore = await strapi.store({ type: 'core', name: 'admin' });\n const adminAuthSettings = await adminStore.get({ key: 'auth' });\n const newAuthSettings = merge(defaultAdminAuthSettings, adminAuthSettings);\n\n const roleExists = await getService('role').exists({\n id: newAuthSettings.providers.defaultRole,\n });\n\n // Reset the default SSO role if it has been deleted manually\n if (!roleExists) {\n newAuthSettings.providers.defaultRole = null;\n }\n\n await adminStore.set({ key: 'auth', value: newAuthSettings });\n};\n\nconst syncAPITokensPermissions = async () => {\n const validPermissions = strapi.contentAPI.permissions.providers.action.keys();\n const permissionsInDB = await async.pipe(\n strapi.db.query('admin::api-token-permission').findMany,\n map('action')\n )();\n\n const unknownPermissions = uniq(difference(permissionsInDB, validPermissions));\n\n if (unknownPermissions.length > 0) {\n await strapi.db\n .query('admin::api-token-permission')\n .deleteMany({ where: { action: { $in: unknownPermissions } } });\n }\n};\n\n/**\n * Ensures the creation of default API tokens during the app creation.\n *\n * Checks the database for existing users and API tokens:\n * - If there are no users and no API tokens, it creates two default API tokens:\n * 1. A \"Read Only\" API token with permissions for accessing resources.\n * 2. A \"Full Access\" API token with permissions for accessing and modifying resources.\n *\n * @sideEffects Creates new API tokens in the database if conditions are met.\n */\n\nconst createDefaultAPITokensIfNeeded = async () => {\n const userService = getService('user');\n const apiTokenService = getService('api-token-content-api');\n\n const usersCount = await userService.count();\n const apiTokenCount = await apiTokenService.countAll();\n\n if (usersCount === 0 && apiTokenCount === 0) {\n for (const token of constants.DEFAULT_API_TOKENS) {\n await apiTokenService.create(token);\n }\n }\n};\n\nexport default async ({ strapi }: { strapi: Core.Strapi }) => {\n // Get the merged token options (includes defaults merged with user config)\n const { options } = getTokenOptions();\n const legacyMaxRefreshFallback =\n expiresInToSeconds(options?.expiresIn) ?? DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN;\n const legacyMaxSessionFallback =\n expiresInToSeconds(options?.expiresIn) ?? DEFAULT_MAX_SESSION_LIFESPAN;\n\n // Warn if using deprecated legacy expiresIn for new session settings\n const hasLegacyExpires = options?.expiresIn != null;\n const hasNewMaxRefresh = strapi.config.get('admin.auth.sessions.maxRefreshTokenLifespan') != null;\n const hasNewMaxSession = strapi.config.get('admin.auth.sessions.maxSessionLifespan') != null;\n\n if (hasLegacyExpires && (!hasNewMaxRefresh || !hasNewMaxSession)) {\n strapi.log.warn(\n 'admin.auth.options.expiresIn is deprecated and will be removed in Strapi 6. Please configure admin.auth.sessions.maxRefreshTokenLifespan and admin.auth.sessions.maxSessionLifespan.'\n );\n }\n\n strapi.sessionManager.defineOrigin('admin', {\n jwtSecret: strapi.config.get('admin.auth.secret'),\n accessTokenLifespan: strapi.config.get('admin.auth.sessions.accessTokenLifespan', 30 * 60),\n maxRefreshTokenLifespan: strapi.config.get(\n 'admin.auth.sessions.maxRefreshTokenLifespan',\n legacyMaxRefreshFallback\n ),\n idleRefreshTokenLifespan: strapi.config.get(\n 'admin.auth.sessions.idleRefreshTokenLifespan',\n DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN\n ),\n maxSessionLifespan: strapi.config.get(\n 'admin.auth.sessions.maxSessionLifespan',\n legacyMaxSessionFallback\n ),\n idleSessionLifespan: strapi.config.get(\n 'admin.auth.sessions.idleSessionLifespan',\n DEFAULT_IDLE_SESSION_LIFESPAN\n ),\n algorithm: options?.algorithm,\n // Pass through all JWT options (includes privateKey, publicKey, and any other options)\n jwtOptions: options,\n });\n\n const isProduction = process.env.NODE_ENV === 'production';\n const adminCookieSecure = strapi.config.get('admin.auth.cookie.secure');\n if (isProduction && adminCookieSecure === false) {\n strapi.log.warn(\n 'Server is in production mode, but admin.auth.cookie.secure has been set to false. This is not recommended and will allow cookies to be sent over insecure connections.'\n );\n }\n\n await registerAdminConditions();\n await registerPermissionActions();\n registerModelHooks();\n\n const permissionService = getService('permission');\n const userService = getService('user');\n const roleService = getService('role');\n const apiTokenService = getService('api-token-content-api');\n const transferService = getService('transfer');\n const tokenService = getService('token');\n\n await roleService.createRolesIfNoneExist();\n await roleService.resetSuperAdminPermissions();\n await roleService.displayWarningIfNoSuperAdmin();\n\n await permissionService.cleanPermissionsInDatabase();\n\n await userService.displayWarningIfUsersDontHaveRole();\n\n await syncAuthSettings();\n await syncAPITokensPermissions();\n\n await getService('metrics').sendUpdateProjectInformation(strapi);\n getService('metrics').startCron(strapi);\n\n apiTokenService.checkSaltIsDefined();\n transferService.token.checkSaltIsDefined();\n tokenService.checkSecretIsDefined();\n\n await createDefaultAPITokensIfNeeded();\n};\n"],"names":["defaultAdminAuthSettings","providers","autoRegister","defaultRole","ssoLockedRoles","registerPermissionActions","getService","actionProvider","registerMany","adminActions","actions","registerAdminConditions","conditionProvider","adminConditions","conditions","registerModelHooks","sendDidChangeInterfaceLanguage","strapi","db","lifecycles","subscribe","models","afterCreate","afterDelete","beforeDelete","event","deleteTokensForUser","params","where","id","afterUpdate","data","preferedLanguage","roles","undefined","syncPermissionsForUser","result","users","query","findMany","select","state","affectedUserIds","map","u","userId","syncAuthSettings","adminStore","store","type","name","adminAuthSettings","get","key","newAuthSettings","merge","roleExists","exists","set","value","syncAPITokensPermissions","validPermissions","contentAPI","permissions","action","keys","permissionsInDB","async","pipe","unknownPermissions","uniq","difference","length","deleteMany","$in","createDefaultAPITokensIfNeeded","userService","apiTokenService","usersCount","count","apiTokenCount","countAll","token","constants","DEFAULT_API_TOKENS","create","options","getTokenOptions","legacyMaxRefreshFallback","expiresInToSeconds","expiresIn","DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN","legacyMaxSessionFallback","DEFAULT_MAX_SESSION_LIFESPAN","hasLegacyExpires","hasNewMaxRefresh","config","hasNewMaxSession","log","warn","sessionManager","defineOrigin","jwtSecret","accessTokenLifespan","maxRefreshTokenLifespan","idleRefreshTokenLifespan","DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN","maxSessionLifespan","idleSessionLifespan","DEFAULT_IDLE_SESSION_LIFESPAN","algorithm","jwtOptions","isProduction","process","env","NODE_ENV","adminCookieSecure","permissionService","roleService","transferService","tokenService","createRolesIfNoneExist","resetSuperAdminPermissions","displayWarningIfNoSuperAdmin","cleanPermissionsInDatabase","displayWarningIfUsersDontHaveRole","sendUpdateProjectInformation","startCron","checkSaltIsDefined","checkSecretIsDefined"],"mappings":"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"}
@@ -127,6 +127,54 @@ const actions = [
127
127
  category: 'api tokens',
128
128
  subCategory: 'api Tokens'
129
129
  },
130
+ {
131
+ uid: 'admin-tokens.access',
132
+ displayName: 'Access the Admin tokens settings page',
133
+ pluginName: 'admin',
134
+ section: 'settings',
135
+ category: 'admin tokens',
136
+ subCategory: 'admin tokens'
137
+ },
138
+ {
139
+ uid: 'admin-tokens.create',
140
+ displayName: 'Create (generate)',
141
+ pluginName: 'admin',
142
+ section: 'settings',
143
+ category: 'admin tokens',
144
+ subCategory: 'general'
145
+ },
146
+ {
147
+ uid: 'admin-tokens.read',
148
+ displayName: 'Read',
149
+ pluginName: 'admin',
150
+ section: 'settings',
151
+ category: 'admin tokens',
152
+ subCategory: 'general'
153
+ },
154
+ {
155
+ uid: 'admin-tokens.update',
156
+ displayName: 'Update',
157
+ pluginName: 'admin',
158
+ section: 'settings',
159
+ category: 'admin tokens',
160
+ subCategory: 'general'
161
+ },
162
+ {
163
+ uid: 'admin-tokens.regenerate',
164
+ displayName: 'Regenerate',
165
+ pluginName: 'admin',
166
+ section: 'settings',
167
+ category: 'admin tokens',
168
+ subCategory: 'general'
169
+ },
170
+ {
171
+ uid: 'admin-tokens.delete',
172
+ displayName: 'Delete (revoke)',
173
+ pluginName: 'admin',
174
+ section: 'settings',
175
+ category: 'admin tokens',
176
+ subCategory: 'general'
177
+ },
130
178
  {
131
179
  uid: 'api-tokens.create',
132
180
  displayName: 'Create (generate)',
@@ -1 +1 @@
1
- {"version":3,"file":"admin-actions.js","sources":["../../../../../server/src/config/admin-actions.ts"],"sourcesContent":["export const actions = [\n {\n uid: 'marketplace.read',\n displayName: 'Access the marketplace',\n pluginName: 'admin',\n section: 'settings',\n category: 'plugins and marketplace',\n subCategory: 'marketplace',\n },\n {\n uid: 'webhooks.create',\n displayName: 'Create',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'users.create',\n displayName: 'Create (invite)',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'users.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n aliases: [\n {\n actionId: 'plugin::content-manager.explorer.read',\n subjects: ['admin::user'],\n },\n ],\n },\n {\n uid: 'users.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'users.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'roles.create',\n displayName: 'Create',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'roles.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n aliases: [\n {\n actionId: 'plugin::content-manager.explorer.read',\n subjects: ['admin::role'],\n },\n ],\n },\n {\n uid: 'roles.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'roles.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'api-tokens.access',\n displayName: 'Access the API tokens settings page',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'api Tokens',\n },\n {\n uid: 'api-tokens.create',\n displayName: 'Create (generate)',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.regenerate',\n displayName: 'Regenerate',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.delete',\n displayName: 'Delete (revoke)',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'project-settings.update',\n displayName: 'Update the project level settings',\n pluginName: 'admin',\n section: 'settings',\n category: 'project',\n },\n {\n uid: 'project-settings.read',\n displayName: 'Read the project level settings',\n pluginName: 'admin',\n section: 'settings',\n category: 'project',\n },\n {\n uid: 'transfer.tokens.access',\n displayName: 'Access the transfer tokens settings page',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'transfer tokens',\n },\n {\n uid: 'transfer.tokens.create',\n displayName: 'Create (generate)',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.regenerate',\n displayName: 'Regenerate',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.delete',\n displayName: 'Delete (revoke)',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n];\n\nexport default {\n actions,\n};\n"],"names":["actions","uid","displayName","pluginName","section","category","subCategory","aliases","actionId","subjects"],"mappings":"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"}
1
+ {"version":3,"file":"admin-actions.js","sources":["../../../../../server/src/config/admin-actions.ts"],"sourcesContent":["export const actions = [\n {\n uid: 'marketplace.read',\n displayName: 'Access the marketplace',\n pluginName: 'admin',\n section: 'settings',\n category: 'plugins and marketplace',\n subCategory: 'marketplace',\n },\n {\n uid: 'webhooks.create',\n displayName: 'Create',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'users.create',\n displayName: 'Create (invite)',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'users.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n aliases: [\n {\n actionId: 'plugin::content-manager.explorer.read',\n subjects: ['admin::user'],\n },\n ],\n },\n {\n uid: 'users.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'users.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'roles.create',\n displayName: 'Create',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'roles.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n aliases: [\n {\n actionId: 'plugin::content-manager.explorer.read',\n subjects: ['admin::role'],\n },\n ],\n },\n {\n uid: 'roles.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'roles.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'api-tokens.access',\n displayName: 'Access the API tokens settings page',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'api Tokens',\n },\n {\n uid: 'admin-tokens.access',\n displayName: 'Access the Admin tokens settings page',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'admin tokens',\n },\n {\n uid: 'admin-tokens.create',\n displayName: 'Create (generate)',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'general',\n },\n {\n uid: 'admin-tokens.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'general',\n },\n {\n uid: 'admin-tokens.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'general',\n },\n {\n uid: 'admin-tokens.regenerate',\n displayName: 'Regenerate',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'general',\n },\n {\n uid: 'admin-tokens.delete',\n displayName: 'Delete (revoke)',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.create',\n displayName: 'Create (generate)',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.regenerate',\n displayName: 'Regenerate',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.delete',\n displayName: 'Delete (revoke)',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'project-settings.update',\n displayName: 'Update the project level settings',\n pluginName: 'admin',\n section: 'settings',\n category: 'project',\n },\n {\n uid: 'project-settings.read',\n displayName: 'Read the project level settings',\n pluginName: 'admin',\n section: 'settings',\n category: 'project',\n },\n {\n uid: 'transfer.tokens.access',\n displayName: 'Access the transfer tokens settings page',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'transfer tokens',\n },\n {\n uid: 'transfer.tokens.create',\n displayName: 'Create (generate)',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.regenerate',\n displayName: 'Regenerate',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.delete',\n displayName: 'Delete (revoke)',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n];\n\nexport default {\n actions,\n};\n"],"names":["actions","uid","displayName","pluginName","section","category","subCategory","aliases","actionId","subjects"],"mappings":"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"}
@@ -123,6 +123,54 @@ const actions = [
123
123
  category: 'api tokens',
124
124
  subCategory: 'api Tokens'
125
125
  },
126
+ {
127
+ uid: 'admin-tokens.access',
128
+ displayName: 'Access the Admin tokens settings page',
129
+ pluginName: 'admin',
130
+ section: 'settings',
131
+ category: 'admin tokens',
132
+ subCategory: 'admin tokens'
133
+ },
134
+ {
135
+ uid: 'admin-tokens.create',
136
+ displayName: 'Create (generate)',
137
+ pluginName: 'admin',
138
+ section: 'settings',
139
+ category: 'admin tokens',
140
+ subCategory: 'general'
141
+ },
142
+ {
143
+ uid: 'admin-tokens.read',
144
+ displayName: 'Read',
145
+ pluginName: 'admin',
146
+ section: 'settings',
147
+ category: 'admin tokens',
148
+ subCategory: 'general'
149
+ },
150
+ {
151
+ uid: 'admin-tokens.update',
152
+ displayName: 'Update',
153
+ pluginName: 'admin',
154
+ section: 'settings',
155
+ category: 'admin tokens',
156
+ subCategory: 'general'
157
+ },
158
+ {
159
+ uid: 'admin-tokens.regenerate',
160
+ displayName: 'Regenerate',
161
+ pluginName: 'admin',
162
+ section: 'settings',
163
+ category: 'admin tokens',
164
+ subCategory: 'general'
165
+ },
166
+ {
167
+ uid: 'admin-tokens.delete',
168
+ displayName: 'Delete (revoke)',
169
+ pluginName: 'admin',
170
+ section: 'settings',
171
+ category: 'admin tokens',
172
+ subCategory: 'general'
173
+ },
126
174
  {
127
175
  uid: 'api-tokens.create',
128
176
  displayName: 'Create (generate)',
@@ -1 +1 @@
1
- {"version":3,"file":"admin-actions.mjs","sources":["../../../../../server/src/config/admin-actions.ts"],"sourcesContent":["export const actions = [\n {\n uid: 'marketplace.read',\n displayName: 'Access the marketplace',\n pluginName: 'admin',\n section: 'settings',\n category: 'plugins and marketplace',\n subCategory: 'marketplace',\n },\n {\n uid: 'webhooks.create',\n displayName: 'Create',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'users.create',\n displayName: 'Create (invite)',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'users.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n aliases: [\n {\n actionId: 'plugin::content-manager.explorer.read',\n subjects: ['admin::user'],\n },\n ],\n },\n {\n uid: 'users.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'users.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'roles.create',\n displayName: 'Create',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'roles.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n aliases: [\n {\n actionId: 'plugin::content-manager.explorer.read',\n subjects: ['admin::role'],\n },\n ],\n },\n {\n uid: 'roles.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'roles.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'api-tokens.access',\n displayName: 'Access the API tokens settings page',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'api Tokens',\n },\n {\n uid: 'api-tokens.create',\n displayName: 'Create (generate)',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.regenerate',\n displayName: 'Regenerate',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.delete',\n displayName: 'Delete (revoke)',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'project-settings.update',\n displayName: 'Update the project level settings',\n pluginName: 'admin',\n section: 'settings',\n category: 'project',\n },\n {\n uid: 'project-settings.read',\n displayName: 'Read the project level settings',\n pluginName: 'admin',\n section: 'settings',\n category: 'project',\n },\n {\n uid: 'transfer.tokens.access',\n displayName: 'Access the transfer tokens settings page',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'transfer tokens',\n },\n {\n uid: 'transfer.tokens.create',\n displayName: 'Create (generate)',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.regenerate',\n displayName: 'Regenerate',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.delete',\n displayName: 'Delete (revoke)',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n];\n\nexport default {\n actions,\n};\n"],"names":["actions","uid","displayName","pluginName","section","category","subCategory","aliases","actionId","subjects"],"mappings":"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"}
1
+ {"version":3,"file":"admin-actions.mjs","sources":["../../../../../server/src/config/admin-actions.ts"],"sourcesContent":["export const actions = [\n {\n uid: 'marketplace.read',\n displayName: 'Access the marketplace',\n pluginName: 'admin',\n section: 'settings',\n category: 'plugins and marketplace',\n subCategory: 'marketplace',\n },\n {\n uid: 'webhooks.create',\n displayName: 'Create',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'webhooks.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'webhooks',\n },\n {\n uid: 'users.create',\n displayName: 'Create (invite)',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'users.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n aliases: [\n {\n actionId: 'plugin::content-manager.explorer.read',\n subjects: ['admin::user'],\n },\n ],\n },\n {\n uid: 'users.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'users.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'users',\n },\n {\n uid: 'roles.create',\n displayName: 'Create',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'roles.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n aliases: [\n {\n actionId: 'plugin::content-manager.explorer.read',\n subjects: ['admin::role'],\n },\n ],\n },\n {\n uid: 'roles.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'roles.delete',\n displayName: 'Delete',\n pluginName: 'admin',\n section: 'settings',\n category: 'users and roles',\n subCategory: 'roles',\n },\n {\n uid: 'api-tokens.access',\n displayName: 'Access the API tokens settings page',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'api Tokens',\n },\n {\n uid: 'admin-tokens.access',\n displayName: 'Access the Admin tokens settings page',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'admin tokens',\n },\n {\n uid: 'admin-tokens.create',\n displayName: 'Create (generate)',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'general',\n },\n {\n uid: 'admin-tokens.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'general',\n },\n {\n uid: 'admin-tokens.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'general',\n },\n {\n uid: 'admin-tokens.regenerate',\n displayName: 'Regenerate',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'general',\n },\n {\n uid: 'admin-tokens.delete',\n displayName: 'Delete (revoke)',\n pluginName: 'admin',\n section: 'settings',\n category: 'admin tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.create',\n displayName: 'Create (generate)',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.regenerate',\n displayName: 'Regenerate',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'api-tokens.delete',\n displayName: 'Delete (revoke)',\n pluginName: 'admin',\n section: 'settings',\n category: 'api tokens',\n subCategory: 'general',\n },\n {\n uid: 'project-settings.update',\n displayName: 'Update the project level settings',\n pluginName: 'admin',\n section: 'settings',\n category: 'project',\n },\n {\n uid: 'project-settings.read',\n displayName: 'Read the project level settings',\n pluginName: 'admin',\n section: 'settings',\n category: 'project',\n },\n {\n uid: 'transfer.tokens.access',\n displayName: 'Access the transfer tokens settings page',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'transfer tokens',\n },\n {\n uid: 'transfer.tokens.create',\n displayName: 'Create (generate)',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.read',\n displayName: 'Read',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.update',\n displayName: 'Update',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.regenerate',\n displayName: 'Regenerate',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n {\n uid: 'transfer.tokens.delete',\n displayName: 'Delete (revoke)',\n pluginName: 'admin',\n section: 'settings',\n category: 'transfer tokens',\n subCategory: 'general',\n },\n];\n\nexport default {\n actions,\n};\n"],"names":["actions","uid","displayName","pluginName","section","category","subCategory","aliases","actionId","subjects"],"mappings":"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"}
@@ -56,7 +56,16 @@
56
56
  type: 'relation',
57
57
  relation: 'manyToOne',
58
58
  inversedBy: 'permissions',
59
- target: 'admin::role'
59
+ target: 'admin::role',
60
+ required: false
61
+ },
62
+ apiToken: {
63
+ configurable: false,
64
+ type: 'relation',
65
+ relation: 'manyToOne',
66
+ inversedBy: 'adminPermissions',
67
+ target: 'admin::api-token',
68
+ required: false
60
69
  }
61
70
  }
62
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Permission.js","sources":["../../../../../server/src/content-types/Permission.ts"],"sourcesContent":["/**\n * Lifecycle callbacks for the `Permission` model.\n */\n\nexport default {\n collectionName: 'admin_permissions',\n info: {\n name: 'Permission',\n description: '',\n singularName: 'permission',\n pluralName: 'permissions',\n displayName: 'Permission',\n },\n options: {},\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n action: {\n type: 'string',\n minLength: 1,\n configurable: false,\n required: true,\n },\n actionParameters: {\n type: 'json',\n configurable: false,\n required: false,\n default: {},\n },\n subject: {\n type: 'string',\n minLength: 1,\n configurable: false,\n required: false,\n },\n properties: {\n type: 'json',\n configurable: false,\n required: false,\n default: {},\n },\n conditions: {\n type: 'json',\n configurable: false,\n required: false,\n default: [],\n },\n role: {\n configurable: false,\n type: 'relation',\n relation: 'manyToOne',\n inversedBy: 'permissions',\n target: 'admin::role',\n },\n },\n};\n"],"names":["collectionName","info","name","description","singularName","pluralName","displayName","options","pluginOptions","visible","attributes","action","type","minLength","configurable","required","actionParameters","default","subject","properties","conditions","role","relation","inversedBy","target"],"mappings":";;AAAA;;AAEC,IAED,iBAAe;IACbA,cAAAA,EAAgB,mBAAA;IAChBC,IAAAA,EAAM;QACJC,IAAAA,EAAM,YAAA;QACNC,WAAAA,EAAa,EAAA;QACbC,YAAAA,EAAc,YAAA;QACdC,UAAAA,EAAY,aAAA;QACZC,WAAAA,EAAa;AACf,KAAA;AACAC,IAAAA,OAAAA,EAAS,EAAC;IACVC,aAAAA,EAAe;QACb,iBAAA,EAAmB;YACjBC,OAAAA,EAAS;AACX,SAAA;QACA,sBAAA,EAAwB;YACtBA,OAAAA,EAAS;AACX;AACF,KAAA;IACAC,UAAAA,EAAY;QACVC,MAAAA,EAAQ;YACNC,IAAAA,EAAM,QAAA;YACNC,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAC,gBAAAA,EAAkB;YAChBJ,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAC,OAAAA,EAAS;YACPN,IAAAA,EAAM,QAAA;YACNC,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAI,UAAAA,EAAY;YACVP,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAG,UAAAA,EAAY;YACVR,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAI,IAAAA,EAAM;YACJP,YAAAA,EAAc,KAAA;YACdF,IAAAA,EAAM,UAAA;YACNU,QAAAA,EAAU,WAAA;YACVC,UAAAA,EAAY,aAAA;YACZC,MAAAA,EAAQ;AACV;AACF;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"Permission.js","sources":["../../../../../server/src/content-types/Permission.ts"],"sourcesContent":["/**\n * Lifecycle callbacks for the `Permission` model.\n */\n\nexport default {\n collectionName: 'admin_permissions',\n info: {\n name: 'Permission',\n description: '',\n singularName: 'permission',\n pluralName: 'permissions',\n displayName: 'Permission',\n },\n options: {},\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n action: {\n type: 'string',\n minLength: 1,\n configurable: false,\n required: true,\n },\n actionParameters: {\n type: 'json',\n configurable: false,\n required: false,\n default: {},\n },\n subject: {\n type: 'string',\n minLength: 1,\n configurable: false,\n required: false,\n },\n properties: {\n type: 'json',\n configurable: false,\n required: false,\n default: {},\n },\n conditions: {\n type: 'json',\n configurable: false,\n required: false,\n default: [],\n },\n role: {\n configurable: false,\n type: 'relation',\n relation: 'manyToOne',\n inversedBy: 'permissions',\n target: 'admin::role',\n required: false,\n },\n apiToken: {\n configurable: false,\n type: 'relation',\n relation: 'manyToOne',\n inversedBy: 'adminPermissions',\n target: 'admin::api-token',\n required: false,\n },\n },\n};\n"],"names":["collectionName","info","name","description","singularName","pluralName","displayName","options","pluginOptions","visible","attributes","action","type","minLength","configurable","required","actionParameters","default","subject","properties","conditions","role","relation","inversedBy","target","apiToken"],"mappings":";;AAAA;;AAEC,IAED,iBAAe;IACbA,cAAAA,EAAgB,mBAAA;IAChBC,IAAAA,EAAM;QACJC,IAAAA,EAAM,YAAA;QACNC,WAAAA,EAAa,EAAA;QACbC,YAAAA,EAAc,YAAA;QACdC,UAAAA,EAAY,aAAA;QACZC,WAAAA,EAAa;AACf,KAAA;AACAC,IAAAA,OAAAA,EAAS,EAAC;IACVC,aAAAA,EAAe;QACb,iBAAA,EAAmB;YACjBC,OAAAA,EAAS;AACX,SAAA;QACA,sBAAA,EAAwB;YACtBA,OAAAA,EAAS;AACX;AACF,KAAA;IACAC,UAAAA,EAAY;QACVC,MAAAA,EAAQ;YACNC,IAAAA,EAAM,QAAA;YACNC,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAC,gBAAAA,EAAkB;YAChBJ,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAC,OAAAA,EAAS;YACPN,IAAAA,EAAM,QAAA;YACNC,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAI,UAAAA,EAAY;YACVP,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAG,UAAAA,EAAY;YACVR,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAI,IAAAA,EAAM;YACJP,YAAAA,EAAc,KAAA;YACdF,IAAAA,EAAM,UAAA;YACNU,QAAAA,EAAU,WAAA;YACVC,UAAAA,EAAY,aAAA;YACZC,MAAAA,EAAQ,aAAA;YACRT,QAAAA,EAAU;AACZ,SAAA;QACAU,QAAAA,EAAU;YACRX,YAAAA,EAAc,KAAA;YACdF,IAAAA,EAAM,UAAA;YACNU,QAAAA,EAAU,WAAA;YACVC,UAAAA,EAAY,kBAAA;YACZC,MAAAA,EAAQ,kBAAA;YACRT,QAAAA,EAAU;AACZ;AACF;AACF,CAAA;;;;"}
@@ -54,7 +54,16 @@
54
54
  type: 'relation',
55
55
  relation: 'manyToOne',
56
56
  inversedBy: 'permissions',
57
- target: 'admin::role'
57
+ target: 'admin::role',
58
+ required: false
59
+ },
60
+ apiToken: {
61
+ configurable: false,
62
+ type: 'relation',
63
+ relation: 'manyToOne',
64
+ inversedBy: 'adminPermissions',
65
+ target: 'admin::api-token',
66
+ required: false
58
67
  }
59
68
  }
60
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Permission.mjs","sources":["../../../../../server/src/content-types/Permission.ts"],"sourcesContent":["/**\n * Lifecycle callbacks for the `Permission` model.\n */\n\nexport default {\n collectionName: 'admin_permissions',\n info: {\n name: 'Permission',\n description: '',\n singularName: 'permission',\n pluralName: 'permissions',\n displayName: 'Permission',\n },\n options: {},\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n action: {\n type: 'string',\n minLength: 1,\n configurable: false,\n required: true,\n },\n actionParameters: {\n type: 'json',\n configurable: false,\n required: false,\n default: {},\n },\n subject: {\n type: 'string',\n minLength: 1,\n configurable: false,\n required: false,\n },\n properties: {\n type: 'json',\n configurable: false,\n required: false,\n default: {},\n },\n conditions: {\n type: 'json',\n configurable: false,\n required: false,\n default: [],\n },\n role: {\n configurable: false,\n type: 'relation',\n relation: 'manyToOne',\n inversedBy: 'permissions',\n target: 'admin::role',\n },\n },\n};\n"],"names":["collectionName","info","name","description","singularName","pluralName","displayName","options","pluginOptions","visible","attributes","action","type","minLength","configurable","required","actionParameters","default","subject","properties","conditions","role","relation","inversedBy","target"],"mappings":"AAAA;;AAEC,IAED,iBAAe;IACbA,cAAAA,EAAgB,mBAAA;IAChBC,IAAAA,EAAM;QACJC,IAAAA,EAAM,YAAA;QACNC,WAAAA,EAAa,EAAA;QACbC,YAAAA,EAAc,YAAA;QACdC,UAAAA,EAAY,aAAA;QACZC,WAAAA,EAAa;AACf,KAAA;AACAC,IAAAA,OAAAA,EAAS,EAAC;IACVC,aAAAA,EAAe;QACb,iBAAA,EAAmB;YACjBC,OAAAA,EAAS;AACX,SAAA;QACA,sBAAA,EAAwB;YACtBA,OAAAA,EAAS;AACX;AACF,KAAA;IACAC,UAAAA,EAAY;QACVC,MAAAA,EAAQ;YACNC,IAAAA,EAAM,QAAA;YACNC,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAC,gBAAAA,EAAkB;YAChBJ,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAC,OAAAA,EAAS;YACPN,IAAAA,EAAM,QAAA;YACNC,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAI,UAAAA,EAAY;YACVP,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAG,UAAAA,EAAY;YACVR,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAI,IAAAA,EAAM;YACJP,YAAAA,EAAc,KAAA;YACdF,IAAAA,EAAM,UAAA;YACNU,QAAAA,EAAU,WAAA;YACVC,UAAAA,EAAY,aAAA;YACZC,MAAAA,EAAQ;AACV;AACF;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"Permission.mjs","sources":["../../../../../server/src/content-types/Permission.ts"],"sourcesContent":["/**\n * Lifecycle callbacks for the `Permission` model.\n */\n\nexport default {\n collectionName: 'admin_permissions',\n info: {\n name: 'Permission',\n description: '',\n singularName: 'permission',\n pluralName: 'permissions',\n displayName: 'Permission',\n },\n options: {},\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n action: {\n type: 'string',\n minLength: 1,\n configurable: false,\n required: true,\n },\n actionParameters: {\n type: 'json',\n configurable: false,\n required: false,\n default: {},\n },\n subject: {\n type: 'string',\n minLength: 1,\n configurable: false,\n required: false,\n },\n properties: {\n type: 'json',\n configurable: false,\n required: false,\n default: {},\n },\n conditions: {\n type: 'json',\n configurable: false,\n required: false,\n default: [],\n },\n role: {\n configurable: false,\n type: 'relation',\n relation: 'manyToOne',\n inversedBy: 'permissions',\n target: 'admin::role',\n required: false,\n },\n apiToken: {\n configurable: false,\n type: 'relation',\n relation: 'manyToOne',\n inversedBy: 'adminPermissions',\n target: 'admin::api-token',\n required: false,\n },\n },\n};\n"],"names":["collectionName","info","name","description","singularName","pluralName","displayName","options","pluginOptions","visible","attributes","action","type","minLength","configurable","required","actionParameters","default","subject","properties","conditions","role","relation","inversedBy","target","apiToken"],"mappings":"AAAA;;AAEC,IAED,iBAAe;IACbA,cAAAA,EAAgB,mBAAA;IAChBC,IAAAA,EAAM;QACJC,IAAAA,EAAM,YAAA;QACNC,WAAAA,EAAa,EAAA;QACbC,YAAAA,EAAc,YAAA;QACdC,UAAAA,EAAY,aAAA;QACZC,WAAAA,EAAa;AACf,KAAA;AACAC,IAAAA,OAAAA,EAAS,EAAC;IACVC,aAAAA,EAAe;QACb,iBAAA,EAAmB;YACjBC,OAAAA,EAAS;AACX,SAAA;QACA,sBAAA,EAAwB;YACtBA,OAAAA,EAAS;AACX;AACF,KAAA;IACAC,UAAAA,EAAY;QACVC,MAAAA,EAAQ;YACNC,IAAAA,EAAM,QAAA;YACNC,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAC,gBAAAA,EAAkB;YAChBJ,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAC,OAAAA,EAAS;YACPN,IAAAA,EAAM,QAAA;YACNC,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAI,UAAAA,EAAY;YACVP,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAG,UAAAA,EAAY;YACVR,IAAAA,EAAM,MAAA;YACNE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;AACVE,YAAAA,OAAAA,EAAS;AACX,SAAA;QACAI,IAAAA,EAAM;YACJP,YAAAA,EAAc,KAAA;YACdF,IAAAA,EAAM,UAAA;YACNU,QAAAA,EAAU,WAAA;YACVC,UAAAA,EAAY,aAAA;YACZC,MAAAA,EAAQ,aAAA;YACRT,QAAAA,EAAU;AACZ,SAAA;QACAU,QAAAA,EAAU;YACRX,YAAAA,EAAc,KAAA;YACdF,IAAAA,EAAM,UAAA;YACNU,QAAAA,EAAU,WAAA;YACVC,UAAAA,EAAY,kBAAA;YACZC,MAAAA,EAAQ,kBAAA;YACRT,QAAAA,EAAU;AACZ;AACF;AACF,CAAA;;;;"}
@@ -82,6 +82,14 @@ var User = {
82
82
  // FIXME: Allow setting this
83
83
  collectionName: 'strapi_users_roles'
84
84
  },
85
+ apiTokens: {
86
+ configurable: false,
87
+ private: true,
88
+ type: 'relation',
89
+ relation: 'oneToMany',
90
+ mappedBy: 'adminUserOwner',
91
+ target: 'admin::api-token'
92
+ },
85
93
  blocked: {
86
94
  type: 'boolean',
87
95
  default: false,
@@ -1 +1 @@
1
- {"version":3,"file":"User.js","sources":["../../../../../server/src/content-types/User.ts"],"sourcesContent":["export default {\n collectionName: 'admin_users',\n info: {\n name: 'User',\n description: '',\n singularName: 'user',\n pluralName: 'users',\n displayName: 'User',\n },\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n firstname: {\n type: 'string',\n unique: false,\n minLength: 1,\n configurable: false,\n required: false,\n },\n lastname: {\n type: 'string',\n unique: false,\n minLength: 1,\n configurable: false,\n required: false,\n },\n username: {\n type: 'string',\n unique: false,\n configurable: false,\n required: false,\n },\n email: {\n type: 'email',\n minLength: 6,\n configurable: false,\n required: true,\n unique: true,\n private: true,\n },\n password: {\n type: 'password',\n minLength: 6,\n configurable: false,\n required: false,\n private: true,\n searchable: false,\n },\n resetPasswordToken: {\n type: 'string',\n configurable: false,\n private: true,\n searchable: false,\n },\n registrationToken: {\n type: 'string',\n configurable: false,\n private: true,\n searchable: false,\n },\n isActive: {\n type: 'boolean',\n default: false,\n configurable: false,\n private: true,\n },\n roles: {\n configurable: false,\n private: true,\n type: 'relation',\n relation: 'manyToMany',\n inversedBy: 'users',\n target: 'admin::role',\n // FIXME: Allow setting this\n collectionName: 'strapi_users_roles',\n },\n blocked: {\n type: 'boolean',\n default: false,\n configurable: false,\n private: true,\n },\n preferedLanguage: {\n type: 'string',\n configurable: false,\n required: false,\n searchable: false,\n },\n },\n config: {\n attributes: {\n resetPasswordToken: {\n hidden: true,\n },\n registrationToken: {\n hidden: true,\n },\n },\n },\n};\n"],"names":["collectionName","info","name","description","singularName","pluralName","displayName","pluginOptions","visible","attributes","firstname","type","unique","minLength","configurable","required","lastname","username","email","private","password","searchable","resetPasswordToken","registrationToken","isActive","default","roles","relation","inversedBy","target","blocked","preferedLanguage","config","hidden"],"mappings":";;AAAA,WAAe;IACbA,cAAAA,EAAgB,aAAA;IAChBC,IAAAA,EAAM;QACJC,IAAAA,EAAM,MAAA;QACNC,WAAAA,EAAa,EAAA;QACbC,YAAAA,EAAc,MAAA;QACdC,UAAAA,EAAY,OAAA;QACZC,WAAAA,EAAa;AACf,KAAA;IACAC,aAAAA,EAAe;QACb,iBAAA,EAAmB;YACjBC,OAAAA,EAAS;AACX,SAAA;QACA,sBAAA,EAAwB;YACtBA,OAAAA,EAAS;AACX;AACF,KAAA;IACAC,UAAAA,EAAY;QACVC,SAAAA,EAAW;YACTC,IAAAA,EAAM,QAAA;YACNC,MAAAA,EAAQ,KAAA;YACRC,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAC,QAAAA,EAAU;YACRL,IAAAA,EAAM,QAAA;YACNC,MAAAA,EAAQ,KAAA;YACRC,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAE,QAAAA,EAAU;YACRN,IAAAA,EAAM,QAAA;YACNC,MAAAA,EAAQ,KAAA;YACRE,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU;AACZ,SAAA;QACAG,KAAAA,EAAO;YACLP,IAAAA,EAAM,OAAA;YACNE,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,IAAA;YACVH,MAAAA,EAAQ,IAAA;YACRO,OAAAA,EAAS;AACX,SAAA;QACAC,QAAAA,EAAU;YACRT,IAAAA,EAAM,UAAA;YACNE,SAAAA,EAAW,CAAA;YACXC,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;YACVI,OAAAA,EAAS,IAAA;YACTE,UAAAA,EAAY;AACd,SAAA;QACAC,kBAAAA,EAAoB;YAClBX,IAAAA,EAAM,QAAA;YACNG,YAAAA,EAAc,KAAA;YACdK,OAAAA,EAAS,IAAA;YACTE,UAAAA,EAAY;AACd,SAAA;QACAE,iBAAAA,EAAmB;YACjBZ,IAAAA,EAAM,QAAA;YACNG,YAAAA,EAAc,KAAA;YACdK,OAAAA,EAAS,IAAA;YACTE,UAAAA,EAAY;AACd,SAAA;QACAG,QAAAA,EAAU;YACRb,IAAAA,EAAM,SAAA;YACNc,OAAAA,EAAS,KAAA;YACTX,YAAAA,EAAc,KAAA;YACdK,OAAAA,EAAS;AACX,SAAA;QACAO,KAAAA,EAAO;YACLZ,YAAAA,EAAc,KAAA;YACdK,OAAAA,EAAS,IAAA;YACTR,IAAAA,EAAM,UAAA;YACNgB,QAAAA,EAAU,YAAA;YACVC,UAAAA,EAAY,OAAA;YACZC,MAAAA,EAAQ,aAAA;;YAER7B,cAAAA,EAAgB;AAClB,SAAA;QACA8B,OAAAA,EAAS;YACPnB,IAAAA,EAAM,SAAA;YACNc,OAAAA,EAAS,KAAA;YACTX,YAAAA,EAAc,KAAA;YACdK,OAAAA,EAAS;AACX,SAAA;QACAY,gBAAAA,EAAkB;YAChBpB,IAAAA,EAAM,QAAA;YACNG,YAAAA,EAAc,KAAA;YACdC,QAAAA,EAAU,KAAA;YACVM,UAAAA,EAAY;AACd;AACF,KAAA;IACAW,MAAAA,EAAQ;QACNvB,UAAAA,EAAY;YACVa,kBAAAA,EAAoB;gBAClBW,MAAAA,EAAQ;AACV,aAAA;YACAV,iBAAAA,EAAmB;gBACjBU,MAAAA,EAAQ;AACV;AACF;AACF;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"User.js","sources":["../../../../../server/src/content-types/User.ts"],"sourcesContent":["export default {\n collectionName: 'admin_users',\n info: {\n name: 'User',\n description: '',\n singularName: 'user',\n pluralName: 'users',\n displayName: 'User',\n },\n pluginOptions: {\n 'content-manager': {\n visible: false,\n },\n 'content-type-builder': {\n visible: false,\n },\n },\n attributes: {\n firstname: {\n type: 'string',\n unique: false,\n minLength: 1,\n configurable: false,\n required: false,\n },\n lastname: {\n type: 'string',\n unique: false,\n minLength: 1,\n configurable: false,\n required: false,\n },\n username: {\n type: 'string',\n unique: false,\n configurable: false,\n required: false,\n },\n email: {\n type: 'email',\n minLength: 6,\n configurable: false,\n required: true,\n unique: true,\n private: true,\n },\n password: {\n type: 'password',\n minLength: 6,\n configurable: false,\n required: false,\n private: true,\n searchable: false,\n },\n resetPasswordToken: {\n type: 'string',\n configurable: false,\n private: true,\n searchable: false,\n },\n registrationToken: {\n type: 'string',\n configurable: false,\n private: true,\n searchable: false,\n },\n isActive: {\n type: 'boolean',\n default: false,\n configurable: false,\n private: true,\n },\n roles: {\n configurable: false,\n private: true,\n type: 'relation',\n relation: 'manyToMany',\n inversedBy: 'users',\n target: 'admin::role',\n // FIXME: Allow setting this\n collectionName: 'strapi_users_roles',\n },\n apiTokens: {\n configurable: false,\n private: true,\n type: 'relation',\n relation: 'oneToMany',\n mappedBy: 'adminUserOwner',\n target: 'admin::api-token',\n },\n blocked: {\n type: 'boolean',\n default: false,\n configurable: false,\n private: true,\n },\n preferedLanguage: {\n type: 'string',\n configurable: false,\n required: false,\n searchable: false,\n },\n },\n config: {\n attributes: {\n resetPasswordToken: {\n hidden: true,\n },\n registrationToken: {\n hidden: true,\n },\n },\n },\n};\n"],"names":["collectionName","info","name","description","singularName","pluralName","displayName","pluginOptions","visible","attributes","firstname","type","unique","minLength","configurable","required","lastname","username","email","private","password","searchable","resetPasswordToken","registrationToken","isActive","default","roles","relation","inversedBy","target","apiTokens","mappedBy","blocked","preferedLanguage","config","hidden"],"mappings":"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"}
@@ -80,6 +80,14 @@ var User = {
80
80
  // FIXME: Allow setting this
81
81
  collectionName: 'strapi_users_roles'
82
82
  },
83
+ apiTokens: {
84
+ configurable: false,
85
+ private: true,
86
+ type: 'relation',
87
+ relation: 'oneToMany',
88
+ mappedBy: 'adminUserOwner',
89
+ target: 'admin::api-token'
90
+ },
83
91
  blocked: {
84
92
  type: 'boolean',
85
93
  default: false,