@strapi/admin 4.14.1 → 4.14.3

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 (378) hide show
  1. package/admin/src/content-manager/hooks/useRelation/useRelation.js +1 -0
  2. package/build/{Admin-authenticatedApp.c0c1c027.chunk.js → Admin-authenticatedApp.a16cdc37.chunk.js} +1 -1
  3. package/build/{content-manager.0d2b4a60.chunk.js → content-manager.e1e49cc9.chunk.js} +1 -1
  4. package/build/index.html +1 -1
  5. package/build/{runtime~main.6c489074.js → runtime~main.377a22d0.js} +1 -1
  6. package/dist/server/admin/server/src/bootstrap.d.ts +2 -0
  7. package/dist/server/admin/server/src/controllers/admin.d.ts +42 -0
  8. package/dist/server/admin/server/src/controllers/api-token.d.ts +10 -0
  9. package/dist/server/admin/server/src/controllers/authenticated-user.d.ts +6 -0
  10. package/dist/server/admin/server/src/controllers/authentication.d.ts +12 -0
  11. package/dist/server/admin/server/src/controllers/permission.d.ts +13 -0
  12. package/dist/server/admin/server/src/controllers/role.d.ts +43 -0
  13. package/dist/server/admin/server/src/controllers/transfer/token.d.ts +9 -0
  14. package/dist/server/admin/server/src/controllers/user.d.ts +13 -0
  15. package/dist/server/admin/server/src/destroy.d.ts +2 -0
  16. package/dist/server/admin/server/src/domain/condition/index.d.ts +56 -0
  17. package/dist/server/admin/server/src/domain/condition/index.js +53 -0
  18. package/dist/server/admin/server/src/domain/condition/index.js.map +1 -0
  19. package/dist/server/admin/server/src/domain/condition/provider.d.ts +30 -0
  20. package/dist/server/admin/server/src/domain/condition/provider.js +37 -0
  21. package/dist/server/admin/server/src/domain/condition/provider.js.map +1 -0
  22. package/dist/server/admin/server/src/index.d.ts +10 -0
  23. package/dist/server/admin/server/src/middlewares/data-transfer.d.ts +2 -0
  24. package/dist/server/admin/server/src/services/action.d.ts +9 -0
  25. package/dist/server/admin/server/src/services/auth.d.ts +42 -0
  26. package/dist/server/admin/server/src/services/condition.d.ts +2 -0
  27. package/dist/server/admin/server/src/services/content-type.d.ts +51 -0
  28. package/dist/server/admin/server/src/services/index.d.ts +61 -0
  29. package/dist/server/admin/server/src/services/metrics.d.ts +7 -0
  30. package/dist/server/admin/server/src/services/permission/engine.d.ts +15 -0
  31. package/dist/server/admin/server/src/services/permission/queries.d.ts +44 -0
  32. package/dist/server/admin/server/src/services/permission.d.ts +67 -0
  33. package/dist/server/admin/server/src/services/role.d.ts +116 -0
  34. package/dist/server/admin/server/src/services/transfer/token.d.ts +103 -0
  35. package/dist/server/admin/server/src/services/transfer/utils.d.ts +19 -0
  36. package/dist/server/admin/server/src/services/user.d.ts +96 -0
  37. package/dist/server/admin/server/src/strategies/admin.d.ts +25 -0
  38. package/dist/server/admin/server/src/strategies/api-token.d.ts +60 -0
  39. package/dist/server/admin/server/src/strategies/data-transfer.d.ts +50 -0
  40. package/dist/server/admin/server/src/validation/common-validators.d.ts +59 -0
  41. package/dist/server/admin/server/src/validation/permission.d.ts +9 -0
  42. package/dist/server/bootstrap.d.ts +2 -0
  43. package/dist/server/bootstrap.js +84 -0
  44. package/dist/server/bootstrap.js.map +1 -0
  45. package/dist/server/config/admin-actions.d.ts +33 -0
  46. package/dist/server/config/admin-actions.js +219 -0
  47. package/dist/server/config/admin-actions.js.map +1 -0
  48. package/dist/server/config/admin-conditions.d.ts +46 -0
  49. package/dist/server/config/admin-conditions.js +29 -0
  50. package/dist/server/config/admin-conditions.js.map +1 -0
  51. package/dist/server/config/email-templates/forgot-password.d.ts +6 -0
  52. package/dist/server/config/email-templates/forgot-password.js +19 -0
  53. package/dist/server/config/email-templates/forgot-password.js.map +1 -0
  54. package/dist/server/config/index.d.ts +17 -0
  55. package/dist/server/config/index.js +14 -0
  56. package/dist/server/config/index.js.map +1 -0
  57. package/dist/server/config/settings.d.ts +7 -0
  58. package/dist/server/config/settings.js +11 -0
  59. package/dist/server/config/settings.js.map +1 -0
  60. package/dist/server/content-types/Permission.d.ts +62 -0
  61. package/dist/server/content-types/Permission.js +64 -0
  62. package/dist/server/content-types/Permission.js.map +1 -0
  63. package/dist/server/content-types/Role.d.ts +57 -0
  64. package/dist/server/content-types/Role.js +59 -0
  65. package/dist/server/content-types/Role.js.map +1 -0
  66. package/dist/server/content-types/User.d.ts +106 -0
  67. package/dist/server/content-types/User.js +109 -0
  68. package/dist/server/content-types/User.js.map +1 -0
  69. package/dist/server/content-types/api-token-permission.d.ts +35 -0
  70. package/dist/server/content-types/api-token-permission.js +37 -0
  71. package/dist/server/content-types/api-token-permission.js.map +1 -0
  72. package/dist/server/content-types/api-token.d.ts +73 -0
  73. package/dist/server/content-types/api-token.js +79 -0
  74. package/dist/server/content-types/api-token.js.map +1 -0
  75. package/dist/server/content-types/index.d.ts +437 -0
  76. package/dist/server/content-types/index.js +22 -0
  77. package/dist/server/content-types/index.js.map +1 -0
  78. package/dist/server/content-types/transfer-token-permission.d.ts +35 -0
  79. package/dist/server/content-types/transfer-token-permission.js +37 -0
  80. package/dist/server/content-types/transfer-token-permission.js.map +1 -0
  81. package/dist/server/content-types/transfer-token.d.ts +65 -0
  82. package/dist/server/content-types/transfer-token.js +67 -0
  83. package/dist/server/content-types/transfer-token.js.map +1 -0
  84. package/dist/server/controllers/admin.d.ts +42 -0
  85. package/dist/server/controllers/admin.js +131 -0
  86. package/dist/server/controllers/admin.js.map +1 -0
  87. package/dist/server/controllers/api-token.d.ts +10 -0
  88. package/dist/server/controllers/api-token.js +106 -0
  89. package/dist/server/controllers/api-token.js.map +1 -0
  90. package/dist/server/controllers/authenticated-user.d.ts +6 -0
  91. package/dist/server/controllers/authenticated-user.js +41 -0
  92. package/dist/server/controllers/authenticated-user.js.map +1 -0
  93. package/dist/server/controllers/authentication.d.ts +12 -0
  94. package/dist/server/controllers/authentication.js +130 -0
  95. package/dist/server/controllers/authentication.js.map +1 -0
  96. package/dist/server/controllers/content-api.d.ts +5 -0
  97. package/dist/server/controllers/content-api.js +13 -0
  98. package/dist/server/controllers/content-api.js.map +1 -0
  99. package/dist/server/controllers/formatters/conditions.d.ts +3 -0
  100. package/dist/server/controllers/formatters/conditions.js +9 -0
  101. package/dist/server/controllers/formatters/conditions.js.map +1 -0
  102. package/dist/server/controllers/formatters/format-actions-by-sections.d.ts +7 -0
  103. package/dist/server/controllers/formatters/format-actions-by-sections.js +36 -0
  104. package/dist/server/controllers/formatters/format-actions-by-sections.js.map +1 -0
  105. package/dist/server/controllers/formatters/index.d.ts +2 -0
  106. package/dist/server/controllers/formatters/index.js +11 -0
  107. package/dist/server/controllers/formatters/index.js.map +1 -0
  108. package/dist/server/controllers/index.d.ts +68 -0
  109. package/dist/server/controllers/index.js +51 -0
  110. package/dist/server/controllers/index.js.map +1 -0
  111. package/dist/server/controllers/permission.d.ts +13 -0
  112. package/dist/server/controllers/permission.js +38 -0
  113. package/dist/server/controllers/permission.js.map +1 -0
  114. package/dist/server/controllers/role.d.ts +43 -0
  115. package/dist/server/controllers/role.js +148 -0
  116. package/dist/server/controllers/role.js.map +1 -0
  117. package/dist/server/controllers/transfer/index.d.ts +4 -0
  118. package/dist/server/controllers/transfer/index.js +14 -0
  119. package/dist/server/controllers/transfer/index.js.map +1 -0
  120. package/dist/server/controllers/transfer/runner.d.ts +6 -0
  121. package/dist/server/controllers/transfer/runner.js +25 -0
  122. package/dist/server/controllers/transfer/runner.js.map +1 -0
  123. package/dist/server/controllers/transfer/token.d.ts +9 -0
  124. package/dist/server/controllers/transfer/token.js +100 -0
  125. package/dist/server/controllers/transfer/token.js.map +1 -0
  126. package/dist/server/controllers/user.d.ts +13 -0
  127. package/dist/server/controllers/user.js +105 -0
  128. package/dist/server/controllers/user.js.map +1 -0
  129. package/dist/server/controllers/webhooks.d.ts +10 -0
  130. package/dist/server/controllers/webhooks.js +100 -0
  131. package/dist/server/controllers/webhooks.js.map +1 -0
  132. package/dist/server/destroy.d.ts +2 -0
  133. package/dist/server/destroy.js +9 -0
  134. package/dist/server/destroy.js.map +1 -0
  135. package/dist/server/domain/action/index.d.ts +33 -0
  136. package/dist/server/domain/action/index.js +98 -0
  137. package/dist/server/domain/action/index.js.map +1 -0
  138. package/dist/server/domain/action/provider.d.ts +38 -0
  139. package/dist/server/domain/action/provider.js +66 -0
  140. package/dist/server/domain/action/provider.js.map +1 -0
  141. package/dist/server/domain/condition/index.d.ts +53 -0
  142. package/dist/server/domain/condition/index.js +56 -0
  143. package/dist/server/domain/condition/index.js.map +1 -0
  144. package/dist/server/domain/condition/provider.d.ts +30 -0
  145. package/dist/server/domain/condition/provider.js +37 -0
  146. package/dist/server/domain/condition/provider.js.map +1 -0
  147. package/dist/server/domain/permission/index.d.ts +77 -0
  148. package/dist/server/domain/permission/index.js +119 -0
  149. package/dist/server/domain/permission/index.js.map +1 -0
  150. package/dist/server/domain/user.d.ts +32 -0
  151. package/dist/server/domain/user.js +28 -0
  152. package/dist/server/domain/user.js.map +1 -0
  153. package/dist/server/index.d.ts +10 -0
  154. package/dist/server/index.js +27 -0
  155. package/dist/server/index.js.map +1 -0
  156. package/dist/server/middlewares/data-transfer.d.ts +2 -0
  157. package/dist/server/middlewares/data-transfer.js +21 -0
  158. package/dist/server/middlewares/data-transfer.js.map +1 -0
  159. package/dist/server/middlewares/index.d.ts +9 -0
  160. package/dist/server/middlewares/index.js +17 -0
  161. package/dist/server/middlewares/index.js.map +1 -0
  162. package/dist/server/middlewares/rateLimit.d.ts +5 -0
  163. package/dist/server/middlewares/rateLimit.js +42 -0
  164. package/dist/server/middlewares/rateLimit.js.map +1 -0
  165. package/dist/server/policies/hasPermissions.d.ts +6 -0
  166. package/dist/server/policies/hasPermissions.js +38 -0
  167. package/dist/server/policies/hasPermissions.js.map +1 -0
  168. package/dist/server/policies/index.d.ts +14 -0
  169. package/dist/server/policies/index.js +10 -0
  170. package/dist/server/policies/index.js.map +1 -0
  171. package/dist/server/policies/isAuthenticatedAdmin.d.ts +2 -0
  172. package/dist/server/policies/isAuthenticatedAdmin.js +6 -0
  173. package/dist/server/policies/isAuthenticatedAdmin.js.map +1 -0
  174. package/dist/server/policies/isTelemetryEnabled.d.ts +10 -0
  175. package/dist/server/policies/isTelemetryEnabled.js +18 -0
  176. package/dist/server/policies/isTelemetryEnabled.js.map +1 -0
  177. package/dist/server/register.d.ts +2 -0
  178. package/dist/server/register.js +18 -0
  179. package/dist/server/register.js.map +1 -0
  180. package/dist/server/routes/admin.d.ts +23 -0
  181. package/dist/server/routes/admin.js +72 -0
  182. package/dist/server/routes/admin.js.map +1 -0
  183. package/dist/server/routes/api-tokens.d.ts +14 -0
  184. package/dist/server/routes/api-tokens.js +71 -0
  185. package/dist/server/routes/api-tokens.js.map +1 -0
  186. package/dist/server/routes/authentication.d.ts +29 -0
  187. package/dist/server/routes/authentication.js +58 -0
  188. package/dist/server/routes/authentication.js.map +1 -0
  189. package/dist/server/routes/content-api.d.ts +9 -0
  190. package/dist/server/routes/content-api.js +21 -0
  191. package/dist/server/routes/content-api.js.map +1 -0
  192. package/dist/server/routes/index.d.ts +66 -0
  193. package/dist/server/routes/index.js +32 -0
  194. package/dist/server/routes/index.js.map +1 -0
  195. package/dist/server/routes/permissions.d.ts +9 -0
  196. package/dist/server/routes/permissions.js +21 -0
  197. package/dist/server/routes/permissions.js.map +1 -0
  198. package/dist/server/routes/roles.d.ts +14 -0
  199. package/dist/server/routes/roles.js +108 -0
  200. package/dist/server/routes/roles.js.map +1 -0
  201. package/dist/server/routes/serve-admin-panel.d.ts +5 -0
  202. package/dist/server/routes/serve-admin-panel.js +65 -0
  203. package/dist/server/routes/serve-admin-panel.js.map +1 -0
  204. package/dist/server/routes/transfer.d.ts +55 -0
  205. package/dist/server/routes/transfer.js +105 -0
  206. package/dist/server/routes/transfer.js.map +1 -0
  207. package/dist/server/routes/users.d.ts +14 -0
  208. package/dist/server/routes/users.js +89 -0
  209. package/dist/server/routes/users.js.map +1 -0
  210. package/dist/server/routes/webhooks.d.ts +14 -0
  211. package/dist/server/routes/webhooks.js +82 -0
  212. package/dist/server/routes/webhooks.js.map +1 -0
  213. package/dist/server/services/action.d.ts +9 -0
  214. package/dist/server/services/action.js +29 -0
  215. package/dist/server/services/action.js.map +1 -0
  216. package/dist/server/services/api-token.d.ts +102 -0
  217. package/dist/server/services/api-token.js +378 -0
  218. package/dist/server/services/api-token.js.map +1 -0
  219. package/dist/server/services/auth.d.ts +42 -0
  220. package/dist/server/services/auth.js +98 -0
  221. package/dist/server/services/auth.js.map +1 -0
  222. package/dist/server/services/condition.d.ts +2 -0
  223. package/dist/server/services/condition.js +11 -0
  224. package/dist/server/services/condition.js.map +1 -0
  225. package/dist/server/services/constants.d.ts +33 -0
  226. package/dist/server/services/constants.js +37 -0
  227. package/dist/server/services/constants.js.map +1 -0
  228. package/dist/server/services/content-type.d.ts +51 -0
  229. package/dist/server/services/content-type.js +158 -0
  230. package/dist/server/services/content-type.js.map +1 -0
  231. package/dist/server/services/index.d.ts +61 -0
  232. package/dist/server/services/index.js +57 -0
  233. package/dist/server/services/index.js.map +1 -0
  234. package/dist/server/services/metrics.d.ts +7 -0
  235. package/dist/server/services/metrics.js +37 -0
  236. package/dist/server/services/metrics.js.map +1 -0
  237. package/dist/server/services/passport/local-strategy.d.ts +3 -0
  238. package/dist/server/services/passport/local-strategy.js +28 -0
  239. package/dist/server/services/passport/local-strategy.js.map +1 -0
  240. package/dist/server/services/passport.d.ts +7 -0
  241. package/dist/server/services/passport.js +40 -0
  242. package/dist/server/services/passport.js.map +1 -0
  243. package/dist/server/services/permission/engine.d.ts +15 -0
  244. package/dist/server/services/permission/engine.js +67 -0
  245. package/dist/server/services/permission/engine.js.map +1 -0
  246. package/dist/server/services/permission/permissions-manager/index.d.ts +16 -0
  247. package/dist/server/services/permission/permissions-manager/index.js +48 -0
  248. package/dist/server/services/permission/permissions-manager/index.js.map +1 -0
  249. package/dist/server/services/permission/permissions-manager/query-builders.d.ts +3 -0
  250. package/dist/server/services/permission/permissions-manager/query-builders.js +66 -0
  251. package/dist/server/services/permission/permissions-manager/query-builders.js.map +1 -0
  252. package/dist/server/services/permission/permissions-manager/sanitize.d.ts +6 -0
  253. package/dist/server/services/permission/permissions-manager/sanitize.js +184 -0
  254. package/dist/server/services/permission/permissions-manager/sanitize.js.map +1 -0
  255. package/dist/server/services/permission/permissions-manager/validate.d.ts +5 -0
  256. package/dist/server/services/permission/permissions-manager/validate.js +134 -0
  257. package/dist/server/services/permission/permissions-manager/validate.js.map +1 -0
  258. package/dist/server/services/permission/queries.d.ts +44 -0
  259. package/dist/server/services/permission/queries.js +159 -0
  260. package/dist/server/services/permission/queries.js.map +1 -0
  261. package/dist/server/services/permission/sections-builder/builder.d.ts +39 -0
  262. package/dist/server/services/permission/sections-builder/builder.js +75 -0
  263. package/dist/server/services/permission/sections-builder/builder.js.map +1 -0
  264. package/dist/server/services/permission/sections-builder/handlers.d.ts +44 -0
  265. package/dist/server/services/permission/sections-builder/handlers.js +124 -0
  266. package/dist/server/services/permission/sections-builder/handlers.js.map +1 -0
  267. package/dist/server/services/permission/sections-builder/index.d.ts +8 -0
  268. package/dist/server/services/permission/sections-builder/index.js +39 -0
  269. package/dist/server/services/permission/sections-builder/index.js.map +1 -0
  270. package/dist/server/services/permission/sections-builder/section.d.ts +38 -0
  271. package/dist/server/services/permission/sections-builder/section.js +56 -0
  272. package/dist/server/services/permission/sections-builder/section.js.map +1 -0
  273. package/dist/server/services/permission/sections-builder/utils.d.ts +12 -0
  274. package/dist/server/services/permission/sections-builder/utils.js +23 -0
  275. package/dist/server/services/permission/sections-builder/utils.js.map +1 -0
  276. package/dist/server/services/permission.d.ts +67 -0
  277. package/dist/server/services/permission.js +33 -0
  278. package/dist/server/services/permission.js.map +1 -0
  279. package/dist/server/services/project-settings.d.ts +5 -0
  280. package/dist/server/services/project-settings.js +139 -0
  281. package/dist/server/services/project-settings.js.map +1 -0
  282. package/dist/server/services/role.d.ts +116 -0
  283. package/dist/server/services/role.js +382 -0
  284. package/dist/server/services/role.js.map +1 -0
  285. package/dist/server/services/token.d.ts +35 -0
  286. package/dist/server/services/token.js +58 -0
  287. package/dist/server/services/token.js.map +1 -0
  288. package/dist/server/services/transfer/index.d.ts +4 -0
  289. package/dist/server/services/transfer/index.js +33 -0
  290. package/dist/server/services/transfer/index.js.map +1 -0
  291. package/dist/server/services/transfer/permission.d.ts +6 -0
  292. package/dist/server/services/transfer/permission.js +20 -0
  293. package/dist/server/services/transfer/permission.js.map +1 -0
  294. package/dist/server/services/transfer/token.d.ts +84 -0
  295. package/dist/server/services/transfer/token.js +273 -0
  296. package/dist/server/services/transfer/token.js.map +1 -0
  297. package/dist/server/services/transfer/utils.d.ts +13 -0
  298. package/dist/server/services/transfer/utils.js +29 -0
  299. package/dist/server/services/transfer/utils.js.map +1 -0
  300. package/dist/server/services/user.d.ts +96 -0
  301. package/dist/server/services/user.js +311 -0
  302. package/dist/server/services/user.js.map +1 -0
  303. package/dist/server/strategies/admin.d.ts +25 -0
  304. package/dist/server/strategies/admin.js +44 -0
  305. package/dist/server/strategies/admin.js.map +1 -0
  306. package/dist/server/strategies/api-token.d.ts +60 -0
  307. package/dist/server/strategies/api-token.js +121 -0
  308. package/dist/server/strategies/api-token.js.map +1 -0
  309. package/dist/server/strategies/data-transfer.d.ts +66 -0
  310. package/dist/server/strategies/data-transfer.js +94 -0
  311. package/dist/server/strategies/data-transfer.js.map +1 -0
  312. package/dist/server/strategies/index.d.ts +17 -0
  313. package/dist/server/strategies/index.js +27 -0
  314. package/dist/server/strategies/index.js.map +1 -0
  315. package/dist/server/types/src/types/utils/object.d.ts +58 -0
  316. package/dist/server/types/src/types/utils/object.js +3 -0
  317. package/dist/server/types/src/types/utils/object.js.map +1 -0
  318. package/dist/server/utils/index.d.ts +1 -0
  319. package/dist/server/utils/index.js +9 -0
  320. package/dist/server/utils/index.js.map +1 -0
  321. package/dist/server/utils/types.d.ts +14 -0
  322. package/dist/server/utils/types.js +3 -0
  323. package/dist/server/utils/types.js.map +1 -0
  324. package/dist/server/validation/action-provider.d.ts +5 -0
  325. package/dist/server/validation/action-provider.js +58 -0
  326. package/dist/server/validation/action-provider.js.map +1 -0
  327. package/dist/server/validation/api-tokens.d.ts +7 -0
  328. package/dist/server/validation/api-tokens.js +36 -0
  329. package/dist/server/validation/api-tokens.js.map +1 -0
  330. package/dist/server/validation/authentication/forgot-password.d.ts +2 -0
  331. package/dist/server/validation/authentication/forgot-password.js +16 -0
  332. package/dist/server/validation/authentication/forgot-password.js.map +1 -0
  333. package/dist/server/validation/authentication/index.d.ts +5 -0
  334. package/dist/server/validation/authentication/index.js +17 -0
  335. package/dist/server/validation/authentication/index.js.map +1 -0
  336. package/dist/server/validation/authentication/register.d.ts +9 -0
  337. package/dist/server/validation/authentication/register.js +49 -0
  338. package/dist/server/validation/authentication/register.js.map +1 -0
  339. package/dist/server/validation/authentication/renew-token.d.ts +2 -0
  340. package/dist/server/validation/authentication/renew-token.js +6 -0
  341. package/dist/server/validation/authentication/renew-token.js.map +1 -0
  342. package/dist/server/validation/authentication/reset-password.d.ts +2 -0
  343. package/dist/server/validation/authentication/reset-password.js +17 -0
  344. package/dist/server/validation/authentication/reset-password.js.map +1 -0
  345. package/dist/server/validation/common-functions/check-fields-are-correctly-nested.d.ts +2 -0
  346. package/dist/server/validation/common-functions/check-fields-are-correctly-nested.js +26 -0
  347. package/dist/server/validation/common-functions/check-fields-are-correctly-nested.js.map +1 -0
  348. package/dist/server/validation/common-functions/check-fields-dont-have-duplicates.d.ts +2 -0
  349. package/dist/server/validation/common-functions/check-fields-dont-have-duplicates.js +18 -0
  350. package/dist/server/validation/common-functions/check-fields-dont-have-duplicates.js.map +1 -0
  351. package/dist/server/validation/common-functions/index.d.ts +3 -0
  352. package/dist/server/validation/common-functions/index.js +11 -0
  353. package/dist/server/validation/common-functions/index.js.map +1 -0
  354. package/dist/server/validation/common-validators.d.ts +59 -0
  355. package/dist/server/validation/common-validators.js +162 -0
  356. package/dist/server/validation/common-validators.js.map +1 -0
  357. package/dist/server/validation/permission.d.ts +9 -0
  358. package/dist/server/validation/permission.js +46 -0
  359. package/dist/server/validation/permission.js.map +1 -0
  360. package/dist/server/validation/policies/hasPermissions.d.ts +5 -0
  361. package/dist/server/validation/policies/hasPermissions.js +29 -0
  362. package/dist/server/validation/policies/hasPermissions.js.map +1 -0
  363. package/dist/server/validation/project-settings.d.ts +9 -0
  364. package/dist/server/validation/project-settings.js +44 -0
  365. package/dist/server/validation/project-settings.js.map +1 -0
  366. package/dist/server/validation/role.d.ts +11 -0
  367. package/dist/server/validation/role.js +62 -0
  368. package/dist/server/validation/role.js.map +1 -0
  369. package/dist/server/validation/transfer/index.d.ts +1 -0
  370. package/dist/server/validation/transfer/index.js +9 -0
  371. package/dist/server/validation/transfer/index.js.map +1 -0
  372. package/dist/server/validation/transfer/token.d.ts +7 -0
  373. package/dist/server/validation/transfer/token.js +46 -0
  374. package/dist/server/validation/transfer/token.js.map +1 -0
  375. package/dist/server/validation/user.d.ts +117 -0
  376. package/dist/server/validation/user.js +69 -0
  377. package/dist/server/validation/user.js.map +1 -0
  378. package/package.json +9 -9
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ collectionName: 'strapi_transfer_tokens',
5
+ info: {
6
+ name: 'Transfer Token',
7
+ singularName: 'transfer-token',
8
+ pluralName: 'transfer-tokens',
9
+ displayName: 'Transfer Token',
10
+ description: '',
11
+ },
12
+ options: {},
13
+ pluginOptions: {
14
+ 'content-manager': {
15
+ visible: false,
16
+ },
17
+ 'content-type-builder': {
18
+ visible: false,
19
+ },
20
+ },
21
+ attributes: {
22
+ name: {
23
+ type: 'string',
24
+ minLength: 1,
25
+ configurable: false,
26
+ required: true,
27
+ unique: true,
28
+ },
29
+ description: {
30
+ type: 'string',
31
+ minLength: 1,
32
+ configurable: false,
33
+ required: false,
34
+ default: '',
35
+ },
36
+ accessKey: {
37
+ type: 'string',
38
+ minLength: 1,
39
+ configurable: false,
40
+ required: true,
41
+ },
42
+ lastUsedAt: {
43
+ type: 'datetime',
44
+ configurable: false,
45
+ required: false,
46
+ },
47
+ permissions: {
48
+ type: 'relation',
49
+ target: 'admin::transfer-token-permission',
50
+ relation: 'oneToMany',
51
+ mappedBy: 'token',
52
+ configurable: false,
53
+ required: false,
54
+ },
55
+ expiresAt: {
56
+ type: 'datetime',
57
+ configurable: false,
58
+ required: false,
59
+ },
60
+ lifespan: {
61
+ type: 'biginteger',
62
+ configurable: false,
63
+ required: false,
64
+ },
65
+ },
66
+ };
67
+ //# sourceMappingURL=transfer-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transfer-token.js","sourceRoot":"","sources":["../../../server/src/content-types/transfer-token.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,cAAc,EAAE,wBAAwB;IACxC,IAAI,EAAE;QACJ,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,gBAAgB;QAC9B,UAAU,EAAE,iBAAiB;QAC7B,WAAW,EAAE,gBAAgB;QAC7B,WAAW,EAAE,EAAE;KAChB;IACD,OAAO,EAAE,EAAE;IACX,aAAa,EAAE;QACb,iBAAiB,EAAE;YACjB,OAAO,EAAE,KAAK;SACf;QACD,sBAAsB,EAAE;YACtB,OAAO,EAAE,KAAK;SACf;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,EAAE;SACZ;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,IAAI;SACf;QACD,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;SAChB;QACD,WAAW,EAAE;YACX,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,kCAAkC;YAC1C,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,OAAO;YACjB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;SAChB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;SAChB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * A set of functions called "actions" for `Admin`
3
+ */
4
+ export declare function getProjectType(): Promise<{
5
+ data: {
6
+ isEE: boolean;
7
+ features: never[];
8
+ };
9
+ } | undefined>;
10
+ export declare function init(): Promise<{
11
+ data: {
12
+ uuid: boolean;
13
+ hasAdmin: boolean;
14
+ menuLogo: any;
15
+ authLogo: any;
16
+ };
17
+ }>;
18
+ export declare function getProjectSettings(): Promise<any>;
19
+ export declare function updateProjectSettings(ctx: any): Promise<any>;
20
+ export declare function telemetryProperties(ctx: any): Promise<{
21
+ data: {
22
+ useTypescriptOnServer: any;
23
+ useTypescriptOnAdmin: any;
24
+ isHostedOnStrapiCloud: boolean;
25
+ numberOfAllContentTypes: number;
26
+ numberOfComponents: number;
27
+ numberOfDynamicZones: number;
28
+ };
29
+ } | undefined>;
30
+ export declare function information(): Promise<{
31
+ data: {
32
+ currentEnvironment: unknown;
33
+ autoReload: boolean;
34
+ strapiVersion: null;
35
+ dependencies: {};
36
+ projectId: null;
37
+ nodeVersion: string;
38
+ communityEdition: boolean;
39
+ useYarn: void;
40
+ };
41
+ }>;
42
+ export declare function plugins(ctx: any): Promise<void>;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.plugins = exports.information = exports.telemetryProperties = exports.updateProjectSettings = exports.getProjectSettings = exports.init = exports.getProjectType = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fp_1 = require("lodash/fp");
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ const fs_extra_1 = require("fs-extra");
11
+ const utils_1 = require("@strapi/utils");
12
+ const typescript_utils_1 = __importDefault(require("@strapi/typescript-utils"));
13
+ const project_settings_1 = require("../validation/project-settings");
14
+ const utils_2 = require("../utils");
15
+ const { isUsingTypeScript } = typescript_utils_1.default;
16
+ // eslint-disable-next-line node/no-extraneous-require
17
+ // const ee = require('@strapi/strapi/dist/utils/ee').default;
18
+ /**
19
+ * A set of functions called "actions" for `Admin`
20
+ */
21
+ // TODO very temporary to check the switch ee/ce
22
+ // When removing this we need to update the /admin/src/index.js file
23
+ // where we set the strapi.window.isEE value
24
+ async function getProjectType() {
25
+ // FIXME
26
+ try {
27
+ // TODO: TS - Migrate EE to ts
28
+ // return { data: { isEE: strapi.EE, features: ee.features.list() } };
29
+ }
30
+ catch (err) {
31
+ return { data: { isEE: false, features: [] } };
32
+ }
33
+ }
34
+ exports.getProjectType = getProjectType;
35
+ async function init() {
36
+ let uuid = strapi.config.get('uuid', false);
37
+ const hasAdmin = await (0, utils_2.getService)('user').exists();
38
+ const { menuLogo, authLogo } = await (0, utils_2.getService)('project-settings').getProjectSettings();
39
+ // set to null if telemetryDisabled flag not avaialble in package.json
40
+ const telemetryDisabled = strapi.config.get('packageJsonStrapi.telemetryDisabled', null);
41
+ if (telemetryDisabled !== null && telemetryDisabled === true) {
42
+ uuid = false;
43
+ }
44
+ return {
45
+ data: {
46
+ uuid,
47
+ hasAdmin,
48
+ menuLogo: menuLogo ? menuLogo.url : null,
49
+ authLogo: authLogo ? authLogo.url : null,
50
+ },
51
+ };
52
+ }
53
+ exports.init = init;
54
+ async function getProjectSettings() {
55
+ return (0, utils_2.getService)('project-settings').getProjectSettings();
56
+ }
57
+ exports.getProjectSettings = getProjectSettings;
58
+ async function updateProjectSettings(ctx) {
59
+ const projectSettingsService = (0, utils_2.getService)('project-settings');
60
+ const { request: { files, body }, } = ctx;
61
+ await (0, project_settings_1.validateUpdateProjectSettings)(body);
62
+ await (0, project_settings_1.validateUpdateProjectSettingsFiles)(files);
63
+ const formatedFiles = await projectSettingsService.parseFilesData(files);
64
+ await (0, project_settings_1.validateUpdateProjectSettingsImagesDimensions)(formatedFiles);
65
+ return projectSettingsService.updateProjectSettings({ ...body, ...formatedFiles });
66
+ }
67
+ exports.updateProjectSettings = updateProjectSettings;
68
+ async function telemetryProperties(ctx) {
69
+ // If the telemetry is disabled, ignore the request and return early
70
+ if (strapi.telemetry.isDisabled) {
71
+ ctx.status = 204;
72
+ return;
73
+ }
74
+ const useTypescriptOnServer = await isUsingTypeScript(strapi.dirs.app.root);
75
+ const useTypescriptOnAdmin = await isUsingTypeScript(path_1.default.join(strapi.dirs.app.root, 'src', 'admin'));
76
+ const isHostedOnStrapiCloud = (0, utils_1.env)('STRAPI_HOSTING', null) === 'strapi.cloud';
77
+ const numberOfAllContentTypes = lodash_1.default.size(strapi.contentTypes);
78
+ const numberOfComponents = lodash_1.default.size(strapi.components);
79
+ const getNumberOfDynamicZones = () => {
80
+ return (0, fp_1.pipe)((0, fp_1.map)('attributes'), (0, fp_1.flatMap)(fp_1.values),
81
+ // @ts-expect-error
82
+ (0, fp_1.sumBy)((0, fp_1.propEq)('type', 'dynamiczone')))(strapi.contentTypes);
83
+ };
84
+ return {
85
+ data: {
86
+ useTypescriptOnServer,
87
+ useTypescriptOnAdmin,
88
+ isHostedOnStrapiCloud,
89
+ numberOfAllContentTypes,
90
+ numberOfComponents,
91
+ numberOfDynamicZones: getNumberOfDynamicZones(),
92
+ },
93
+ };
94
+ }
95
+ exports.telemetryProperties = telemetryProperties;
96
+ async function information() {
97
+ const currentEnvironment = strapi.config.get('environment');
98
+ const autoReload = strapi.config.get('autoReload', false);
99
+ const strapiVersion = strapi.config.get('info.strapi', null);
100
+ const dependencies = strapi.config.get('info.dependencies', {});
101
+ const projectId = strapi.config.get('uuid', null);
102
+ const nodeVersion = process.version;
103
+ const communityEdition = !strapi.EE;
104
+ // @ts-expect-error
105
+ const useYarn = await (0, fs_extra_1.exists)(path_1.default.join(process.cwd(), 'yarn.lock'));
106
+ return {
107
+ data: {
108
+ currentEnvironment,
109
+ autoReload,
110
+ strapiVersion,
111
+ dependencies,
112
+ projectId,
113
+ nodeVersion,
114
+ communityEdition,
115
+ useYarn,
116
+ },
117
+ };
118
+ }
119
+ exports.information = information;
120
+ async function plugins(ctx) {
121
+ const enabledPlugins = strapi.config.get('enabledPlugins');
122
+ const plugins = Object.entries(enabledPlugins).map(([key, plugin]) => ({
123
+ name: plugin.info.name || key,
124
+ displayName: plugin.info.displayName || plugin.info.name || key,
125
+ description: plugin.info.description || '',
126
+ packageName: plugin.info.packageName,
127
+ }));
128
+ ctx.send({ plugins });
129
+ }
130
+ exports.plugins = plugins;
131
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../server/src/controllers/admin.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,kCAAsE;AACtE,oDAAuB;AACvB,uCAAkC;AAClC,yCAAoC;AACpC,gFAA+C;AAC/C,qEAIwC;AACxC,oCAAsC;AAEtC,MAAM,EAAE,iBAAiB,EAAE,GAAG,0BAAO,CAAC;AAEtC,sDAAsD;AACtD,8DAA8D;AAE9D;;GAEG;AAEH,gDAAgD;AAChD,oEAAoE;AACpE,4CAA4C;AACrC,KAAK,UAAU,cAAc;IAClC,QAAQ;IACR,IAAI;QACF,8BAA8B;QAC9B,sEAAsE;KACvE;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;KAChD;AACH,CAAC;AARD,wCAQC;AAEM,KAAK,UAAU,IAAI;IACxB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;IACnD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,kBAAU,EAAC,kBAAkB,CAAC,CAAC,kBAAkB,EAAE,CAAC;IACzF,sEAAsE;IACtE,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,EAAE,IAAI,CAAC,CAAC;IAEzF,IAAI,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,IAAI,EAAE;QAC5D,IAAI,GAAG,KAAK,CAAC;KACd;IAED,OAAO;QACL,IAAI,EAAE;YACJ,IAAI;YACJ,QAAQ;YACR,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACxC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;SACzC;KACF,CAAC;AACJ,CAAC;AAnBD,oBAmBC;AAEM,KAAK,UAAU,kBAAkB;IACtC,OAAO,IAAA,kBAAU,EAAC,kBAAkB,CAAC,CAAC,kBAAkB,EAAE,CAAC;AAC7D,CAAC;AAFD,gDAEC;AAEM,KAAK,UAAU,qBAAqB,CAAC,GAAQ;IAClD,MAAM,sBAAsB,GAAG,IAAA,kBAAU,EAAC,kBAAkB,CAAC,CAAC;IAE9D,MAAM,EACJ,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GACzB,GAAG,GAAG,CAAC;IAER,MAAM,IAAA,gDAA6B,EAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,IAAA,qDAAkC,EAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACzE,MAAM,IAAA,gEAA6C,EAAC,aAAa,CAAC,CAAC;IAEnE,OAAO,sBAAsB,CAAC,qBAAqB,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC;AACrF,CAAC;AAdD,sDAcC;AAEM,KAAK,UAAU,mBAAmB,CAAC,GAAQ;IAChD,oEAAoE;IACpE,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE;QAC/B,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;QACjB,OAAO;KACR;IAED,MAAM,qBAAqB,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5E,MAAM,oBAAoB,GAAG,MAAM,iBAAiB,CAClD,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAChD,CAAC;IACF,MAAM,qBAAqB,GAAG,IAAA,WAAG,EAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,cAAc,CAAC;IAE7E,MAAM,uBAAuB,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,kBAAkB,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAErD,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACnC,OAAO,IAAA,SAAI,EACT,IAAA,QAAG,EAAC,YAAY,CAAC,EACjB,IAAA,YAAO,EAAC,WAAM,CAAC;QACf,mBAAmB;QACnB,IAAA,UAAK,EAAC,IAAA,WAAM,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CACrC,CAAC,MAAM,CAAC,YAAmB,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE;YACJ,qBAAqB;YACrB,oBAAoB;YACpB,qBAAqB;YACrB,uBAAuB;YACvB,kBAAkB;YAClB,oBAAoB,EAAE,uBAAuB,EAAE;SAChD;KACF,CAAC;AACJ,CAAC;AAnCD,kDAmCC;AAEM,KAAK,UAAU,WAAW;IAC/B,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACpC,mBAAmB;IACnB,MAAM,OAAO,GAAG,MAAM,IAAA,iBAAM,EAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IAEpE,OAAO;QACL,IAAI,EAAE;YACJ,kBAAkB;YAClB,UAAU;YACV,aAAa;YACb,YAAY;YACZ,SAAS;YACT,WAAW;YACX,gBAAgB;YAChB,OAAO;SACR;KACF,CAAC;AACJ,CAAC;AAvBD,kCAuBC;AAEM,KAAK,UAAU,OAAO,CAAC,GAAQ;IACpC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAQ,CAAC;IAElE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG;QAC7B,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG;QAC/D,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE;QAC1C,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;KACrC,CAAC,CAAC,CAAC;IAEJ,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AACxB,CAAC;AAXD,0BAWC"}
@@ -0,0 +1,10 @@
1
+ declare const _default: {
2
+ create(ctx: any): Promise<void>;
3
+ regenerate(ctx: any): Promise<void>;
4
+ list(ctx: any): Promise<void>;
5
+ revoke(ctx: any): Promise<void>;
6
+ get(ctx: any): Promise<void>;
7
+ update(ctx: any): Promise<any>;
8
+ getLayout(ctx: any): Promise<void>;
9
+ };
10
+ export default _default;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@strapi/utils");
4
+ const fp_1 = require("lodash/fp");
5
+ const utils_2 = require("../utils");
6
+ const api_tokens_1 = require("../validation/api-tokens");
7
+ const { ApplicationError } = utils_1.errors;
8
+ exports.default = {
9
+ async create(ctx) {
10
+ const { body } = ctx.request;
11
+ const apiTokenService = (0, utils_2.getService)('api-token');
12
+ /**
13
+ * We trim both field to avoid having issues with either:
14
+ * - having a space at the end or start of the value.
15
+ * - having only spaces as value;
16
+ */
17
+ const attributes = {
18
+ name: (0, fp_1.trim)(body.name),
19
+ description: (0, fp_1.trim)(body.description),
20
+ type: body.type,
21
+ permissions: body.permissions,
22
+ lifespan: body.lifespan,
23
+ };
24
+ await (0, api_tokens_1.validateApiTokenCreationInput)(attributes);
25
+ const alreadyExists = await apiTokenService.exists({ name: attributes.name });
26
+ if (alreadyExists) {
27
+ throw new ApplicationError('Name already taken');
28
+ }
29
+ const apiToken = await apiTokenService.create(attributes);
30
+ ctx.created({ data: apiToken });
31
+ },
32
+ async regenerate(ctx) {
33
+ const { id } = ctx.params;
34
+ const apiTokenService = (0, utils_2.getService)('api-token');
35
+ const apiTokenExists = await apiTokenService.getById(id);
36
+ if (!apiTokenExists) {
37
+ ctx.notFound('API Token not found');
38
+ return;
39
+ }
40
+ const accessToken = await apiTokenService.regenerate(id);
41
+ ctx.created({ data: accessToken });
42
+ },
43
+ async list(ctx) {
44
+ const apiTokenService = (0, utils_2.getService)('api-token');
45
+ const apiTokens = await apiTokenService.list();
46
+ ctx.send({ data: apiTokens });
47
+ },
48
+ async revoke(ctx) {
49
+ const { id } = ctx.params;
50
+ const apiTokenService = (0, utils_2.getService)('api-token');
51
+ const apiToken = await apiTokenService.revoke(id);
52
+ ctx.deleted({ data: apiToken });
53
+ },
54
+ async get(ctx) {
55
+ const { id } = ctx.params;
56
+ const apiTokenService = (0, utils_2.getService)('api-token');
57
+ const apiToken = await apiTokenService.getById(id);
58
+ if (!apiToken) {
59
+ ctx.notFound('API Token not found');
60
+ return;
61
+ }
62
+ ctx.send({ data: apiToken });
63
+ },
64
+ async update(ctx) {
65
+ const { body } = ctx.request;
66
+ const { id } = ctx.params;
67
+ const apiTokenService = (0, utils_2.getService)('api-token');
68
+ const attributes = body;
69
+ /**
70
+ * We trim both field to avoid having issues with either:
71
+ * - having a space at the end or start of the value.
72
+ * - having only spaces as value;
73
+ */
74
+ if ((0, fp_1.has)('name', attributes)) {
75
+ attributes.name = (0, fp_1.trim)(body.name);
76
+ }
77
+ if ((0, fp_1.has)('description', attributes) || attributes.description === null) {
78
+ attributes.description = (0, fp_1.trim)(body.description);
79
+ }
80
+ await (0, api_tokens_1.validateApiTokenUpdateInput)(attributes);
81
+ const apiTokenExists = await apiTokenService.getById(id);
82
+ if (!apiTokenExists) {
83
+ return ctx.notFound('API Token not found');
84
+ }
85
+ if ((0, fp_1.has)('name', attributes)) {
86
+ const nameAlreadyTaken = await apiTokenService.getByName(attributes.name);
87
+ /**
88
+ * We cast the ids as string as the one coming from the ctx isn't cast
89
+ * as a Number in case it is supposed to be an integer. It remains
90
+ * as a string. This way we avoid issues with integers in the db.
91
+ */
92
+ if (!!nameAlreadyTaken && !(0, utils_1.stringEquals)(nameAlreadyTaken.id, id)) {
93
+ throw new ApplicationError('Name already taken');
94
+ }
95
+ }
96
+ const apiToken = await apiTokenService.update(id, attributes);
97
+ ctx.send({ data: apiToken });
98
+ },
99
+ async getLayout(ctx) {
100
+ const apiTokenService = (0, utils_2.getService)('api-token');
101
+ // @ts-expect-error
102
+ const layout = await apiTokenService.getApiTokenLayout();
103
+ ctx.send({ data: layout });
104
+ },
105
+ };
106
+ //# sourceMappingURL=api-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-token.js","sourceRoot":"","sources":["../../../server/src/controllers/api-token.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ getMe(ctx: any): Promise<void>;
3
+ updateMe(ctx: any): Promise<any>;
4
+ getOwnPermissions(ctx: any): Promise<void>;
5
+ };
6
+ export default _default;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const user_1 = require("../validation/user");
4
+ const utils_1 = require("../utils");
5
+ exports.default = {
6
+ async getMe(ctx) {
7
+ const userInfo = (0, utils_1.getService)('user').sanitizeUser(ctx.state.user);
8
+ ctx.body = {
9
+ data: userInfo,
10
+ };
11
+ },
12
+ async updateMe(ctx) {
13
+ const input = ctx.request.body;
14
+ await (0, user_1.validateProfileUpdateInput)(input);
15
+ const userService = (0, utils_1.getService)('user');
16
+ const authServer = (0, utils_1.getService)('auth');
17
+ const { currentPassword, ...userInfo } = input;
18
+ if (currentPassword && userInfo.password) {
19
+ const isValid = await authServer.validatePassword(currentPassword, ctx.state.user.password);
20
+ if (!isValid) {
21
+ return ctx.badRequest('ValidationError', {
22
+ currentPassword: ['Invalid credentials'],
23
+ });
24
+ }
25
+ }
26
+ const updatedUser = await userService.updateById(ctx.state.user.id, userInfo);
27
+ ctx.body = {
28
+ data: userService.sanitizeUser(updatedUser),
29
+ };
30
+ },
31
+ async getOwnPermissions(ctx) {
32
+ const { findUserPermissions, sanitizePermission } = (0, utils_1.getService)('permission');
33
+ const { user } = ctx.state;
34
+ const userPermissions = await findUserPermissions(user);
35
+ ctx.body = {
36
+ // @ts-expect-error
37
+ data: userPermissions.map(sanitizePermission),
38
+ };
39
+ },
40
+ };
41
+ //# sourceMappingURL=authenticated-user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticated-user.js","sourceRoot":"","sources":["../../../server/src/controllers/authenticated-user.ts"],"names":[],"mappings":";;AAAA,6CAAgE;AAChE,oCAAsC;AAEtC,kBAAe;IACb,KAAK,CAAC,KAAK,CAAC,GAAQ;QAClB,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjE,GAAG,CAAC,IAAI,GAAG;YACT,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACrB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAE/B,MAAM,IAAA,iCAA0B,EAAC,KAAK,CAAC,CAAC;QAExC,MAAM,WAAW,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC;QAEtC,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC;QAE/C,IAAI,eAAe,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACxC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE5F,IAAI,CAAC,OAAO,EAAE;gBACZ,OAAO,GAAG,CAAC,UAAU,CAAC,iBAAiB,EAAE;oBACvC,eAAe,EAAE,CAAC,qBAAqB,CAAC;iBACzC,CAAC,CAAC;aACJ;SACF;QAED,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE9E,GAAG,CAAC,IAAI,GAAG;YACT,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAQ;QAC9B,MAAM,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;QAC7E,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAE3B,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAExD,GAAG,CAAC,IAAI,GAAG;YACT,mBAAmB;YACnB,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC;SAC9C,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="koa" />
2
+ declare const _default: {
3
+ login: import("koa").Middleware<unknown, any, any>;
4
+ renewToken(ctx: any): Promise<void>;
5
+ registrationInfo(ctx: any): Promise<void>;
6
+ register(ctx: any): Promise<void>;
7
+ registerAdmin(ctx: any): Promise<void>;
8
+ forgotPassword(ctx: any): Promise<void>;
9
+ resetPassword(ctx: any): Promise<void>;
10
+ logout(ctx: any): void;
11
+ };
12
+ export default _default;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // @ts-expect-error
7
+ const koa_passport_1 = __importDefault(require("koa-passport"));
8
+ const koa_compose_1 = __importDefault(require("koa-compose"));
9
+ const utils_1 = require("@strapi/utils");
10
+ const utils_2 = require("../utils");
11
+ const authentication_1 = require("../validation/authentication");
12
+ const { ApplicationError, ValidationError } = utils_1.errors;
13
+ exports.default = {
14
+ login: (0, koa_compose_1.default)([
15
+ (ctx, next) => {
16
+ return koa_passport_1.default.authenticate('local', { session: false }, (err, user, info) => {
17
+ if (err) {
18
+ strapi.eventHub.emit('admin.auth.error', { error: err, provider: 'local' });
19
+ // if this is a recognized error, allow it to bubble up to user
20
+ if (err.details?.code === 'LOGIN_NOT_ALLOWED') {
21
+ throw err;
22
+ }
23
+ // for all other errors throw a generic error to prevent leaking info
24
+ return ctx.notImplemented();
25
+ }
26
+ if (!user) {
27
+ strapi.eventHub.emit('admin.auth.error', {
28
+ error: new Error(info.message),
29
+ provider: 'local',
30
+ });
31
+ throw new ApplicationError(info.message);
32
+ }
33
+ ctx.state.user = user;
34
+ const sanitizedUser = (0, utils_2.getService)('user').sanitizeUser(user);
35
+ strapi.eventHub.emit('admin.auth.success', { user: sanitizedUser, provider: 'local' });
36
+ return next();
37
+ })(ctx, next);
38
+ },
39
+ (ctx) => {
40
+ const { user } = ctx.state;
41
+ ctx.body = {
42
+ data: {
43
+ token: (0, utils_2.getService)('token').createJwtToken(user),
44
+ user: (0, utils_2.getService)('user').sanitizeUser(ctx.state.user), // TODO: fetch more detailed info
45
+ },
46
+ };
47
+ },
48
+ ]),
49
+ async renewToken(ctx) {
50
+ await (0, authentication_1.validateRenewTokenInput)(ctx.request.body);
51
+ const { token } = ctx.request.body;
52
+ const { isValid, payload } = (0, utils_2.getService)('token').decodeJwtToken(token);
53
+ if (!isValid) {
54
+ throw new ValidationError('Invalid token');
55
+ }
56
+ ctx.body = {
57
+ data: {
58
+ token: (0, utils_2.getService)('token').createJwtToken({ id: payload.id }),
59
+ },
60
+ };
61
+ },
62
+ async registrationInfo(ctx) {
63
+ await (0, authentication_1.validateRegistrationInfoQuery)(ctx.request.query);
64
+ const { registrationToken } = ctx.request.query;
65
+ const registrationInfo = await (0, utils_2.getService)('user').findRegistrationInfo(registrationToken);
66
+ if (!registrationInfo) {
67
+ throw new ValidationError('Invalid registrationToken');
68
+ }
69
+ ctx.body = { data: registrationInfo };
70
+ },
71
+ async register(ctx) {
72
+ const input = ctx.request.body;
73
+ await (0, authentication_1.validateRegistrationInput)(input);
74
+ const user = await (0, utils_2.getService)('user').register(input);
75
+ ctx.body = {
76
+ data: {
77
+ token: (0, utils_2.getService)('token').createJwtToken(user),
78
+ user: (0, utils_2.getService)('user').sanitizeUser(user),
79
+ },
80
+ };
81
+ },
82
+ async registerAdmin(ctx) {
83
+ const input = ctx.request.body;
84
+ await (0, authentication_1.validateAdminRegistrationInput)(input);
85
+ const hasAdmin = await (0, utils_2.getService)('user').exists();
86
+ if (hasAdmin) {
87
+ throw new ApplicationError('You cannot register a new super admin');
88
+ }
89
+ const superAdminRole = await (0, utils_2.getService)('role').getSuperAdmin();
90
+ if (!superAdminRole) {
91
+ throw new ApplicationError("Cannot register the first admin because the super admin role doesn't exist.");
92
+ }
93
+ const user = await (0, utils_2.getService)('user').create({
94
+ ...input,
95
+ registrationToken: null,
96
+ isActive: true,
97
+ roles: superAdminRole ? [superAdminRole.id] : [],
98
+ });
99
+ strapi.telemetry.send('didCreateFirstAdmin');
100
+ ctx.body = {
101
+ data: {
102
+ token: (0, utils_2.getService)('token').createJwtToken(user),
103
+ user: (0, utils_2.getService)('user').sanitizeUser(user),
104
+ },
105
+ };
106
+ },
107
+ async forgotPassword(ctx) {
108
+ const input = ctx.request.body;
109
+ await (0, authentication_1.validateForgotPasswordInput)(input);
110
+ (0, utils_2.getService)('auth').forgotPassword(input);
111
+ ctx.status = 204;
112
+ },
113
+ async resetPassword(ctx) {
114
+ const input = ctx.request.body;
115
+ await (0, authentication_1.validateResetPasswordInput)(input);
116
+ const user = await (0, utils_2.getService)('auth').resetPassword(input);
117
+ ctx.body = {
118
+ data: {
119
+ token: (0, utils_2.getService)('token').createJwtToken(user),
120
+ user: (0, utils_2.getService)('user').sanitizeUser(user),
121
+ },
122
+ };
123
+ },
124
+ logout(ctx) {
125
+ const sanitizedUser = (0, utils_2.getService)('user').sanitizeUser(ctx.state.user);
126
+ strapi.eventHub.emit('admin.logout', { user: sanitizedUser });
127
+ ctx.body = { data: {} };
128
+ },
129
+ };
130
+ //# sourceMappingURL=authentication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../server/src/controllers/authentication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ getPermissions(ctx: any): Promise<void>;
3
+ getRoutes(ctx: any): Promise<void>;
4
+ };
5
+ export default _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ async getPermissions(ctx) {
5
+ const actionsMap = await strapi.contentAPI.permissions.getActionsMap();
6
+ ctx.send({ data: actionsMap });
7
+ },
8
+ async getRoutes(ctx) {
9
+ const routesMap = await strapi.contentAPI.getRoutesMap();
10
+ ctx.send({ data: routesMap });
11
+ },
12
+ };
13
+ //# sourceMappingURL=content-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-api.js","sourceRoot":"","sources":["../../../server/src/controllers/content-api.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,KAAK,CAAC,cAAc,CAAC,GAAQ;QAC3B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAEvE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAQ;QACtB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAEzD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAChC,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="lodash" />
2
+ declare const formatConditions: <T>(collection: (T | null | undefined)[] | import("lodash").List<T | null | undefined> | null | undefined) => Partial<T>[];
3
+ export { formatConditions };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatConditions = void 0;
4
+ const fp_1 = require("lodash/fp");
5
+ // visible fields for the API
6
+ const publicFields = ['id', 'displayName', 'category'];
7
+ const formatConditions = (0, fp_1.map)((0, fp_1.pick)(publicFields));
8
+ exports.formatConditions = formatConditions;
9
+ //# sourceMappingURL=conditions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../../server/src/controllers/formatters/conditions.ts"],"names":[],"mappings":";;;AAAA,kCAAsC;AAEtC,6BAA6B;AAC7B,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAEvD,MAAM,gBAAgB,GAAG,IAAA,QAAG,EAAC,IAAA,SAAI,EAAC,YAAY,CAAC,CAAC,CAAC;AAExC,4CAAgB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Transform an array of actions to a more nested format
3
+ * @param {Array<Action>} actions - array of actions
4
+ * @returns {Object} "{ contentTypes, plugins, settings }"
5
+ */
6
+ declare const formatActionsBySections: (actions: any) => any;
7
+ export default formatActionsBySections;