@strapi/plugin-graphql 5.12.0 → 5.12.2

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 (483) hide show
  1. package/dist/admin/index.js +18 -143
  2. package/dist/admin/index.js.map +1 -1
  3. package/dist/admin/index.mjs +14 -141
  4. package/dist/admin/index.mjs.map +1 -1
  5. package/dist/admin/package.json.js +143 -0
  6. package/dist/admin/package.json.js.map +1 -0
  7. package/dist/admin/package.json.mjs +124 -0
  8. package/dist/admin/package.json.mjs.map +1 -0
  9. package/dist/admin/pluginId.js +6 -0
  10. package/dist/admin/pluginId.js.map +1 -0
  11. package/dist/admin/pluginId.mjs +4 -0
  12. package/dist/admin/pluginId.mjs.map +1 -0
  13. package/dist/admin/{chunks/dk-D3k_Atlh.js → translations/dk.json.js} +2 -2
  14. package/dist/admin/translations/dk.json.js.map +1 -0
  15. package/dist/admin/{chunks/dk-Bji21OvY.mjs → translations/dk.json.mjs} +1 -1
  16. package/dist/admin/translations/dk.json.mjs.map +1 -0
  17. package/dist/admin/{chunks/en-DzY_FEd6.js → translations/en.json.js} +2 -2
  18. package/dist/admin/translations/en.json.js.map +1 -0
  19. package/dist/admin/{chunks/en-COko3s6d.mjs → translations/en.json.mjs} +1 -1
  20. package/dist/admin/translations/en.json.mjs.map +1 -0
  21. package/dist/admin/{chunks/es-D02rvX4A.js → translations/es.json.js} +2 -2
  22. package/dist/admin/translations/es.json.js.map +1 -0
  23. package/dist/admin/{chunks/es-BoUVfXlb.mjs → translations/es.json.mjs} +1 -1
  24. package/dist/admin/translations/es.json.mjs.map +1 -0
  25. package/dist/admin/{chunks/fr-D9dcL-gU.js → translations/fr.json.js} +2 -2
  26. package/dist/admin/translations/fr.json.js.map +1 -0
  27. package/dist/admin/{chunks/fr-DFbQQgkK.mjs → translations/fr.json.mjs} +1 -1
  28. package/dist/admin/translations/fr.json.mjs.map +1 -0
  29. package/dist/admin/{chunks/pl-DRSWvr2y.js → translations/pl.json.js} +2 -2
  30. package/dist/admin/translations/pl.json.js.map +1 -0
  31. package/dist/admin/{chunks/pl-Bih5cA3Y.mjs → translations/pl.json.mjs} +1 -1
  32. package/dist/admin/translations/pl.json.mjs.map +1 -0
  33. package/dist/admin/{chunks/ru-zDn7cu6t.js → translations/ru.json.js} +2 -2
  34. package/dist/admin/translations/ru.json.js.map +1 -0
  35. package/dist/admin/{chunks/ru-Bxi2fB6E.mjs → translations/ru.json.mjs} +1 -1
  36. package/dist/admin/translations/ru.json.mjs.map +1 -0
  37. package/dist/admin/{chunks/sv-Dq2aVH0_.js → translations/sv.json.js} +2 -2
  38. package/dist/admin/translations/sv.json.js.map +1 -0
  39. package/dist/admin/{chunks/sv-B2uIJv_a.mjs → translations/sv.json.mjs} +1 -1
  40. package/dist/admin/translations/sv.json.mjs.map +1 -0
  41. package/dist/admin/{chunks/tr-B0yEuVnS.js → translations/tr.json.js} +2 -2
  42. package/dist/admin/translations/tr.json.js.map +1 -0
  43. package/dist/admin/{chunks/tr-DwO6hyQD.mjs → translations/tr.json.mjs} +1 -1
  44. package/dist/admin/translations/tr.json.mjs.map +1 -0
  45. package/dist/admin/{chunks/uk-DJGNjXWk.js → translations/uk.json.js} +2 -2
  46. package/dist/admin/translations/uk.json.js.map +1 -0
  47. package/dist/admin/{chunks/uk-_25RY9BK.mjs → translations/uk.json.mjs} +1 -1
  48. package/dist/admin/translations/uk.json.mjs.map +1 -0
  49. package/dist/admin/{chunks/zh-Hans-DxlDvlSo.js → translations/zh-Hans.json.js} +2 -2
  50. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  51. package/dist/admin/{chunks/zh-Hans-DUab611K.mjs → translations/zh-Hans.json.mjs} +1 -1
  52. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  53. package/dist/admin/{chunks/zh-BkiTjJnf.js → translations/zh.json.js} +2 -2
  54. package/dist/admin/translations/zh.json.js.map +1 -0
  55. package/dist/admin/{chunks/zh-DVvz1qsT.mjs → translations/zh.json.mjs} +1 -1
  56. package/dist/admin/translations/zh.json.mjs.map +1 -0
  57. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  58. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  59. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  60. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  61. package/dist/server/bootstrap.js +180 -0
  62. package/dist/server/bootstrap.js.map +1 -0
  63. package/dist/server/bootstrap.mjs +177 -0
  64. package/dist/server/bootstrap.mjs.map +1 -0
  65. package/dist/server/config/default-config.js +13 -0
  66. package/dist/server/config/default-config.js.map +1 -0
  67. package/dist/server/config/default-config.mjs +11 -0
  68. package/dist/server/config/default-config.mjs.map +1 -0
  69. package/dist/server/config/index.js +10 -0
  70. package/dist/server/config/index.js.map +1 -0
  71. package/dist/server/config/index.mjs +8 -0
  72. package/dist/server/config/index.mjs.map +1 -0
  73. package/dist/server/format-graphql-error.js +60 -0
  74. package/dist/server/format-graphql-error.js.map +1 -0
  75. package/dist/server/format-graphql-error.mjs +58 -0
  76. package/dist/server/format-graphql-error.mjs.map +1 -0
  77. package/dist/server/index.js +6 -3719
  78. package/dist/server/index.js.map +1 -1
  79. package/dist/server/index.mjs +3 -3698
  80. package/dist/server/index.mjs.map +1 -1
  81. package/dist/server/services/builders/dynamic-zones.js +75 -0
  82. package/dist/server/services/builders/dynamic-zones.js.map +1 -0
  83. package/dist/server/services/builders/dynamic-zones.mjs +73 -0
  84. package/dist/server/services/builders/dynamic-zones.mjs.map +1 -0
  85. package/dist/server/services/builders/entity.js +38 -0
  86. package/dist/server/services/builders/entity.js.map +1 -0
  87. package/dist/server/services/builders/entity.mjs +36 -0
  88. package/dist/server/services/builders/entity.mjs.map +1 -0
  89. package/dist/server/services/builders/enums.js +24 -0
  90. package/dist/server/services/builders/enums.js.map +1 -0
  91. package/dist/server/services/builders/enums.mjs +22 -0
  92. package/dist/server/services/builders/enums.mjs.map +1 -0
  93. package/dist/server/services/builders/filters/content-type.js +94 -0
  94. package/dist/server/services/builders/filters/content-type.js.map +1 -0
  95. package/dist/server/services/builders/filters/content-type.mjs +92 -0
  96. package/dist/server/services/builders/filters/content-type.mjs.map +1 -0
  97. package/dist/server/services/builders/filters/index.js +10 -0
  98. package/dist/server/services/builders/filters/index.js.map +1 -0
  99. package/dist/server/services/builders/filters/index.mjs +8 -0
  100. package/dist/server/services/builders/filters/index.mjs.map +1 -0
  101. package/dist/server/services/builders/filters/operators/and.js +17 -0
  102. package/dist/server/services/builders/filters/operators/and.js.map +1 -0
  103. package/dist/server/services/builders/filters/operators/and.mjs +15 -0
  104. package/dist/server/services/builders/filters/operators/and.mjs.map +1 -0
  105. package/dist/server/services/builders/filters/operators/between.js +17 -0
  106. package/dist/server/services/builders/filters/operators/between.js.map +1 -0
  107. package/dist/server/services/builders/filters/operators/between.mjs +15 -0
  108. package/dist/server/services/builders/filters/operators/between.mjs.map +1 -0
  109. package/dist/server/services/builders/filters/operators/contains.js +15 -0
  110. package/dist/server/services/builders/filters/operators/contains.js.map +1 -0
  111. package/dist/server/services/builders/filters/operators/contains.mjs +13 -0
  112. package/dist/server/services/builders/filters/operators/contains.mjs.map +1 -0
  113. package/dist/server/services/builders/filters/operators/containsi.js +15 -0
  114. package/dist/server/services/builders/filters/operators/containsi.js.map +1 -0
  115. package/dist/server/services/builders/filters/operators/containsi.mjs +13 -0
  116. package/dist/server/services/builders/filters/operators/containsi.mjs.map +1 -0
  117. package/dist/server/services/builders/filters/operators/ends-with.js +15 -0
  118. package/dist/server/services/builders/filters/operators/ends-with.js.map +1 -0
  119. package/dist/server/services/builders/filters/operators/ends-with.mjs +13 -0
  120. package/dist/server/services/builders/filters/operators/ends-with.mjs.map +1 -0
  121. package/dist/server/services/builders/filters/operators/eq.js +22 -0
  122. package/dist/server/services/builders/filters/operators/eq.js.map +1 -0
  123. package/dist/server/services/builders/filters/operators/eq.mjs +20 -0
  124. package/dist/server/services/builders/filters/operators/eq.mjs.map +1 -0
  125. package/dist/server/services/builders/filters/operators/eqi.js +15 -0
  126. package/dist/server/services/builders/filters/operators/eqi.js.map +1 -0
  127. package/dist/server/services/builders/filters/operators/eqi.mjs +13 -0
  128. package/dist/server/services/builders/filters/operators/eqi.mjs.map +1 -0
  129. package/dist/server/services/builders/filters/operators/gt.js +15 -0
  130. package/dist/server/services/builders/filters/operators/gt.js.map +1 -0
  131. package/dist/server/services/builders/filters/operators/gt.mjs +13 -0
  132. package/dist/server/services/builders/filters/operators/gt.mjs.map +1 -0
  133. package/dist/server/services/builders/filters/operators/gte.js +15 -0
  134. package/dist/server/services/builders/filters/operators/gte.js.map +1 -0
  135. package/dist/server/services/builders/filters/operators/gte.mjs +13 -0
  136. package/dist/server/services/builders/filters/operators/gte.mjs.map +1 -0
  137. package/dist/server/services/builders/filters/operators/in.js +17 -0
  138. package/dist/server/services/builders/filters/operators/in.js.map +1 -0
  139. package/dist/server/services/builders/filters/operators/in.mjs +15 -0
  140. package/dist/server/services/builders/filters/operators/in.mjs.map +1 -0
  141. package/dist/server/services/builders/filters/operators/index.js +57 -0
  142. package/dist/server/services/builders/filters/operators/index.js.map +1 -0
  143. package/dist/server/services/builders/filters/operators/index.mjs +55 -0
  144. package/dist/server/services/builders/filters/operators/index.mjs.map +1 -0
  145. package/dist/server/services/builders/filters/operators/lt.js +15 -0
  146. package/dist/server/services/builders/filters/operators/lt.js.map +1 -0
  147. package/dist/server/services/builders/filters/operators/lt.mjs +13 -0
  148. package/dist/server/services/builders/filters/operators/lt.mjs.map +1 -0
  149. package/dist/server/services/builders/filters/operators/lte.js +15 -0
  150. package/dist/server/services/builders/filters/operators/lte.js.map +1 -0
  151. package/dist/server/services/builders/filters/operators/lte.mjs +13 -0
  152. package/dist/server/services/builders/filters/operators/lte.mjs.map +1 -0
  153. package/dist/server/services/builders/filters/operators/ne.js +15 -0
  154. package/dist/server/services/builders/filters/operators/ne.js.map +1 -0
  155. package/dist/server/services/builders/filters/operators/ne.mjs +13 -0
  156. package/dist/server/services/builders/filters/operators/ne.mjs.map +1 -0
  157. package/dist/server/services/builders/filters/operators/nei.js +15 -0
  158. package/dist/server/services/builders/filters/operators/nei.js.map +1 -0
  159. package/dist/server/services/builders/filters/operators/nei.mjs +13 -0
  160. package/dist/server/services/builders/filters/operators/nei.mjs.map +1 -0
  161. package/dist/server/services/builders/filters/operators/not-contains.js +15 -0
  162. package/dist/server/services/builders/filters/operators/not-contains.js.map +1 -0
  163. package/dist/server/services/builders/filters/operators/not-contains.mjs +13 -0
  164. package/dist/server/services/builders/filters/operators/not-contains.mjs.map +1 -0
  165. package/dist/server/services/builders/filters/operators/not-containsi.js +15 -0
  166. package/dist/server/services/builders/filters/operators/not-containsi.js.map +1 -0
  167. package/dist/server/services/builders/filters/operators/not-containsi.mjs +13 -0
  168. package/dist/server/services/builders/filters/operators/not-containsi.mjs.map +1 -0
  169. package/dist/server/services/builders/filters/operators/not-in.js +17 -0
  170. package/dist/server/services/builders/filters/operators/not-in.js.map +1 -0
  171. package/dist/server/services/builders/filters/operators/not-in.mjs +15 -0
  172. package/dist/server/services/builders/filters/operators/not-in.mjs.map +1 -0
  173. package/dist/server/services/builders/filters/operators/not-null.js +13 -0
  174. package/dist/server/services/builders/filters/operators/not-null.js.map +1 -0
  175. package/dist/server/services/builders/filters/operators/not-null.mjs +11 -0
  176. package/dist/server/services/builders/filters/operators/not-null.mjs.map +1 -0
  177. package/dist/server/services/builders/filters/operators/not.js +24 -0
  178. package/dist/server/services/builders/filters/operators/not.js.map +1 -0
  179. package/dist/server/services/builders/filters/operators/not.mjs +22 -0
  180. package/dist/server/services/builders/filters/operators/not.mjs.map +1 -0
  181. package/dist/server/services/builders/filters/operators/null.js +13 -0
  182. package/dist/server/services/builders/filters/operators/null.js.map +1 -0
  183. package/dist/server/services/builders/filters/operators/null.mjs +11 -0
  184. package/dist/server/services/builders/filters/operators/null.mjs.map +1 -0
  185. package/dist/server/services/builders/filters/operators/or.js +17 -0
  186. package/dist/server/services/builders/filters/operators/or.js.map +1 -0
  187. package/dist/server/services/builders/filters/operators/or.mjs +15 -0
  188. package/dist/server/services/builders/filters/operators/or.mjs.map +1 -0
  189. package/dist/server/services/builders/filters/operators/starts-with.js +15 -0
  190. package/dist/server/services/builders/filters/operators/starts-with.js.map +1 -0
  191. package/dist/server/services/builders/filters/operators/starts-with.mjs +13 -0
  192. package/dist/server/services/builders/filters/operators/starts-with.mjs.map +1 -0
  193. package/dist/server/services/builders/generic-morph.js +38 -0
  194. package/dist/server/services/builders/generic-morph.js.map +1 -0
  195. package/dist/server/services/builders/generic-morph.mjs +36 -0
  196. package/dist/server/services/builders/generic-morph.mjs.map +1 -0
  197. package/dist/server/services/builders/index.js +75 -0
  198. package/dist/server/services/builders/index.js.map +1 -0
  199. package/dist/server/services/builders/index.mjs +73 -0
  200. package/dist/server/services/builders/index.mjs.map +1 -0
  201. package/dist/server/services/builders/input.js +89 -0
  202. package/dist/server/services/builders/input.js.map +1 -0
  203. package/dist/server/services/builders/input.mjs +87 -0
  204. package/dist/server/services/builders/input.mjs.map +1 -0
  205. package/dist/server/services/builders/mutations/collection-type.js +155 -0
  206. package/dist/server/services/builders/mutations/collection-type.js.map +1 -0
  207. package/dist/server/services/builders/mutations/collection-type.mjs +153 -0
  208. package/dist/server/services/builders/mutations/collection-type.mjs.map +1 -0
  209. package/dist/server/services/builders/mutations/index.js +12 -0
  210. package/dist/server/services/builders/mutations/index.js.map +1 -0
  211. package/dist/server/services/builders/mutations/index.mjs +10 -0
  212. package/dist/server/services/builders/mutations/index.mjs.map +1 -0
  213. package/dist/server/services/builders/mutations/single-type.js +123 -0
  214. package/dist/server/services/builders/mutations/single-type.js.map +1 -0
  215. package/dist/server/services/builders/mutations/single-type.mjs +121 -0
  216. package/dist/server/services/builders/mutations/single-type.mjs.map +1 -0
  217. package/dist/server/services/builders/queries/collection-type.js +152 -0
  218. package/dist/server/services/builders/queries/collection-type.js.map +1 -0
  219. package/dist/server/services/builders/queries/collection-type.mjs +150 -0
  220. package/dist/server/services/builders/queries/collection-type.mjs.map +1 -0
  221. package/dist/server/services/builders/queries/index.js +12 -0
  222. package/dist/server/services/builders/queries/index.js.map +1 -0
  223. package/dist/server/services/builders/queries/index.mjs +10 -0
  224. package/dist/server/services/builders/queries/index.mjs.map +1 -0
  225. package/dist/server/services/builders/queries/single-type.js +70 -0
  226. package/dist/server/services/builders/queries/single-type.js.map +1 -0
  227. package/dist/server/services/builders/queries/single-type.mjs +68 -0
  228. package/dist/server/services/builders/queries/single-type.mjs.map +1 -0
  229. package/dist/server/services/builders/relation-response-collection.js +35 -0
  230. package/dist/server/services/builders/relation-response-collection.js.map +1 -0
  231. package/dist/server/services/builders/relation-response-collection.mjs +33 -0
  232. package/dist/server/services/builders/relation-response-collection.mjs.map +1 -0
  233. package/dist/server/services/builders/resolvers/association.js +74 -0
  234. package/dist/server/services/builders/resolvers/association.js.map +1 -0
  235. package/dist/server/services/builders/resolvers/association.mjs +72 -0
  236. package/dist/server/services/builders/resolvers/association.mjs.map +1 -0
  237. package/dist/server/services/builders/resolvers/component.js +27 -0
  238. package/dist/server/services/builders/resolvers/component.js.map +1 -0
  239. package/dist/server/services/builders/resolvers/component.mjs +25 -0
  240. package/dist/server/services/builders/resolvers/component.mjs.map +1 -0
  241. package/dist/server/services/builders/resolvers/dynamic-zone.js +12 -0
  242. package/dist/server/services/builders/resolvers/dynamic-zone.js.map +1 -0
  243. package/dist/server/services/builders/resolvers/dynamic-zone.mjs +10 -0
  244. package/dist/server/services/builders/resolvers/dynamic-zone.mjs.map +1 -0
  245. package/dist/server/services/builders/resolvers/index.js +20 -0
  246. package/dist/server/services/builders/resolvers/index.js.map +1 -0
  247. package/dist/server/services/builders/resolvers/index.mjs +18 -0
  248. package/dist/server/services/builders/resolvers/index.mjs.map +1 -0
  249. package/dist/server/services/builders/resolvers/pagination.js +29 -0
  250. package/dist/server/services/builders/resolvers/pagination.js.map +1 -0
  251. package/dist/server/services/builders/resolvers/pagination.mjs +27 -0
  252. package/dist/server/services/builders/resolvers/pagination.mjs.map +1 -0
  253. package/dist/server/services/builders/resolvers/query.js +55 -0
  254. package/dist/server/services/builders/resolvers/query.js.map +1 -0
  255. package/dist/server/services/builders/resolvers/query.mjs +53 -0
  256. package/dist/server/services/builders/resolvers/query.mjs.map +1 -0
  257. package/dist/server/services/builders/response-collection.js +50 -0
  258. package/dist/server/services/builders/response-collection.js.map +1 -0
  259. package/dist/server/services/builders/response-collection.mjs +48 -0
  260. package/dist/server/services/builders/response-collection.mjs.map +1 -0
  261. package/dist/server/services/builders/response.js +28 -0
  262. package/dist/server/services/builders/response.js.map +1 -0
  263. package/dist/server/services/builders/response.mjs +26 -0
  264. package/dist/server/services/builders/response.mjs.map +1 -0
  265. package/dist/server/services/builders/type.js +347 -0
  266. package/dist/server/services/builders/type.js.map +1 -0
  267. package/dist/server/services/builders/type.mjs +345 -0
  268. package/dist/server/services/builders/type.mjs.map +1 -0
  269. package/dist/server/services/builders/utils.js +113 -0
  270. package/dist/server/services/builders/utils.js.map +1 -0
  271. package/dist/server/services/builders/utils.mjs +111 -0
  272. package/dist/server/services/builders/utils.mjs.map +1 -0
  273. package/dist/server/services/constants.js +139 -0
  274. package/dist/server/services/constants.js.map +1 -0
  275. package/dist/server/services/constants.mjs +137 -0
  276. package/dist/server/services/constants.mjs.map +1 -0
  277. package/dist/server/services/content-api/index.js +184 -0
  278. package/dist/server/services/content-api/index.js.map +1 -0
  279. package/dist/server/services/content-api/index.mjs +182 -0
  280. package/dist/server/services/content-api/index.mjs.map +1 -0
  281. package/dist/server/services/content-api/policy.js +54 -0
  282. package/dist/server/services/content-api/policy.js.map +1 -0
  283. package/dist/server/services/content-api/policy.mjs +52 -0
  284. package/dist/server/services/content-api/policy.mjs.map +1 -0
  285. package/dist/server/services/content-api/register-functions/collection-type.js +41 -0
  286. package/dist/server/services/content-api/register-functions/collection-type.js.map +1 -0
  287. package/dist/server/services/content-api/register-functions/collection-type.mjs +39 -0
  288. package/dist/server/services/content-api/register-functions/collection-type.mjs.map +1 -0
  289. package/dist/server/services/content-api/register-functions/component.js +16 -0
  290. package/dist/server/services/content-api/register-functions/component.js.map +1 -0
  291. package/dist/server/services/content-api/register-functions/component.mjs +14 -0
  292. package/dist/server/services/content-api/register-functions/component.mjs.map +1 -0
  293. package/dist/server/services/content-api/register-functions/dynamic-zones.js +31 -0
  294. package/dist/server/services/content-api/register-functions/dynamic-zones.js.map +1 -0
  295. package/dist/server/services/content-api/register-functions/dynamic-zones.mjs +29 -0
  296. package/dist/server/services/content-api/register-functions/dynamic-zones.mjs.map +1 -0
  297. package/dist/server/services/content-api/register-functions/enums.js +23 -0
  298. package/dist/server/services/content-api/register-functions/enums.js.map +1 -0
  299. package/dist/server/services/content-api/register-functions/enums.mjs +21 -0
  300. package/dist/server/services/content-api/register-functions/enums.mjs.map +1 -0
  301. package/dist/server/services/content-api/register-functions/filters.js +16 -0
  302. package/dist/server/services/content-api/register-functions/filters.js.map +1 -0
  303. package/dist/server/services/content-api/register-functions/filters.mjs +14 -0
  304. package/dist/server/services/content-api/register-functions/filters.mjs.map +1 -0
  305. package/dist/server/services/content-api/register-functions/inputs.js +17 -0
  306. package/dist/server/services/content-api/register-functions/inputs.js.map +1 -0
  307. package/dist/server/services/content-api/register-functions/inputs.mjs +15 -0
  308. package/dist/server/services/content-api/register-functions/inputs.mjs.map +1 -0
  309. package/dist/server/services/content-api/register-functions/internals.js +16 -0
  310. package/dist/server/services/content-api/register-functions/internals.js.map +1 -0
  311. package/dist/server/services/content-api/register-functions/internals.mjs +14 -0
  312. package/dist/server/services/content-api/register-functions/internals.mjs.map +1 -0
  313. package/dist/server/services/content-api/register-functions/polymorphic.js +49 -0
  314. package/dist/server/services/content-api/register-functions/polymorphic.js.map +1 -0
  315. package/dist/server/services/content-api/register-functions/polymorphic.mjs +47 -0
  316. package/dist/server/services/content-api/register-functions/polymorphic.mjs.map +1 -0
  317. package/dist/server/services/content-api/register-functions/scalars.js +15 -0
  318. package/dist/server/services/content-api/register-functions/scalars.js.map +1 -0
  319. package/dist/server/services/content-api/register-functions/scalars.mjs +13 -0
  320. package/dist/server/services/content-api/register-functions/scalars.mjs.map +1 -0
  321. package/dist/server/services/content-api/register-functions/single-type.js +41 -0
  322. package/dist/server/services/content-api/register-functions/single-type.js.map +1 -0
  323. package/dist/server/services/content-api/register-functions/single-type.mjs +39 -0
  324. package/dist/server/services/content-api/register-functions/single-type.mjs.map +1 -0
  325. package/dist/server/services/content-api/wrap-resolvers.js +119 -0
  326. package/dist/server/services/content-api/wrap-resolvers.js.map +1 -0
  327. package/dist/server/services/content-api/wrap-resolvers.mjs +117 -0
  328. package/dist/server/services/content-api/wrap-resolvers.mjs.map +1 -0
  329. package/dist/server/services/extension/extension.js +84 -0
  330. package/dist/server/services/extension/extension.js.map +1 -0
  331. package/dist/server/services/extension/extension.mjs +63 -0
  332. package/dist/server/services/extension/extension.mjs.map +1 -0
  333. package/dist/server/services/extension/index.js +8 -0
  334. package/dist/server/services/extension/index.js.map +1 -0
  335. package/dist/server/services/extension/index.mjs +6 -0
  336. package/dist/server/services/extension/index.mjs.map +1 -0
  337. package/dist/server/services/extension/shadow-crud-manager.js +121 -0
  338. package/dist/server/services/extension/shadow-crud-manager.js.map +1 -0
  339. package/dist/server/services/extension/shadow-crud-manager.mjs +119 -0
  340. package/dist/server/services/extension/shadow-crud-manager.mjs.map +1 -0
  341. package/dist/server/services/format/index.js +10 -0
  342. package/dist/server/services/format/index.js.map +1 -0
  343. package/dist/server/services/format/index.mjs +8 -0
  344. package/dist/server/services/format/index.mjs.map +1 -0
  345. package/dist/server/services/format/return-types.js +27 -0
  346. package/dist/server/services/format/return-types.js.map +1 -0
  347. package/dist/server/services/format/return-types.mjs +25 -0
  348. package/dist/server/services/format/return-types.mjs.map +1 -0
  349. package/dist/server/services/index.js +24 -0
  350. package/dist/server/services/index.js.map +1 -0
  351. package/dist/server/services/index.mjs +22 -0
  352. package/dist/server/services/index.mjs.map +1 -0
  353. package/dist/server/services/internals/args/index.js +14 -0
  354. package/dist/server/services/internals/args/index.js.map +1 -0
  355. package/dist/server/services/internals/args/index.mjs +12 -0
  356. package/dist/server/services/internals/args/index.mjs.map +1 -0
  357. package/dist/server/services/internals/args/pagination.js +20 -0
  358. package/dist/server/services/internals/args/pagination.js.map +1 -0
  359. package/dist/server/services/internals/args/pagination.mjs +18 -0
  360. package/dist/server/services/internals/args/pagination.mjs.map +1 -0
  361. package/dist/server/services/internals/args/publication-status.js +14 -0
  362. package/dist/server/services/internals/args/publication-status.js.map +1 -0
  363. package/dist/server/services/internals/args/publication-status.mjs +12 -0
  364. package/dist/server/services/internals/args/publication-status.mjs.map +1 -0
  365. package/dist/server/services/internals/args/sort.js +11 -0
  366. package/dist/server/services/internals/args/sort.js.map +1 -0
  367. package/dist/server/services/internals/args/sort.mjs +9 -0
  368. package/dist/server/services/internals/args/sort.mjs.map +1 -0
  369. package/dist/server/services/internals/helpers/get-enabled-scalars.js +13 -0
  370. package/dist/server/services/internals/helpers/get-enabled-scalars.js.map +1 -0
  371. package/dist/server/services/internals/helpers/get-enabled-scalars.mjs +11 -0
  372. package/dist/server/services/internals/helpers/get-enabled-scalars.mjs.map +1 -0
  373. package/dist/server/services/internals/helpers/index.js +10 -0
  374. package/dist/server/services/internals/helpers/index.js.map +1 -0
  375. package/dist/server/services/internals/helpers/index.mjs +8 -0
  376. package/dist/server/services/internals/helpers/index.mjs.map +1 -0
  377. package/dist/server/services/internals/index.js +16 -0
  378. package/dist/server/services/internals/index.js.map +1 -0
  379. package/dist/server/services/internals/index.mjs +14 -0
  380. package/dist/server/services/internals/index.mjs.map +1 -0
  381. package/dist/server/services/internals/scalars/date.js +18 -0
  382. package/dist/server/services/internals/scalars/date.js.map +1 -0
  383. package/dist/server/services/internals/scalars/date.mjs +15 -0
  384. package/dist/server/services/internals/scalars/date.mjs.map +1 -0
  385. package/dist/server/services/internals/scalars/index.js +17 -0
  386. package/dist/server/services/internals/scalars/index.js.map +1 -0
  387. package/dist/server/services/internals/scalars/index.mjs +15 -0
  388. package/dist/server/services/internals/scalars/index.mjs.map +1 -0
  389. package/dist/server/services/internals/scalars/time.js +38 -0
  390. package/dist/server/services/internals/scalars/time.js.map +1 -0
  391. package/dist/server/services/internals/scalars/time.mjs +36 -0
  392. package/dist/server/services/internals/scalars/time.mjs.map +1 -0
  393. package/dist/server/services/internals/types/delete-mutation-response.js +18 -0
  394. package/dist/server/services/internals/types/delete-mutation-response.js.map +1 -0
  395. package/dist/server/services/internals/types/delete-mutation-response.mjs +16 -0
  396. package/dist/server/services/internals/types/delete-mutation-response.mjs.map +1 -0
  397. package/dist/server/services/internals/types/error.js +32 -0
  398. package/dist/server/services/internals/types/error.js.map +1 -0
  399. package/dist/server/services/internals/types/error.mjs +30 -0
  400. package/dist/server/services/internals/types/error.mjs.map +1 -0
  401. package/dist/server/services/internals/types/filters.js +35 -0
  402. package/dist/server/services/internals/types/filters.js.map +1 -0
  403. package/dist/server/services/internals/types/filters.mjs +33 -0
  404. package/dist/server/services/internals/types/filters.mjs.map +1 -0
  405. package/dist/server/services/internals/types/index.js +30 -0
  406. package/dist/server/services/internals/types/index.js.map +1 -0
  407. package/dist/server/services/internals/types/index.mjs +28 -0
  408. package/dist/server/services/internals/types/index.mjs.map +1 -0
  409. package/dist/server/services/internals/types/pagination.js +24 -0
  410. package/dist/server/services/internals/types/pagination.js.map +1 -0
  411. package/dist/server/services/internals/types/pagination.mjs +22 -0
  412. package/dist/server/services/internals/types/pagination.mjs.map +1 -0
  413. package/dist/server/services/internals/types/publication-status.js +22 -0
  414. package/dist/server/services/internals/types/publication-status.js.map +1 -0
  415. package/dist/server/services/internals/types/publication-status.mjs +20 -0
  416. package/dist/server/services/internals/types/publication-status.mjs.map +1 -0
  417. package/dist/server/services/internals/types/response-collection-meta.js +27 -0
  418. package/dist/server/services/internals/types/response-collection-meta.js.map +1 -0
  419. package/dist/server/services/internals/types/response-collection-meta.mjs +25 -0
  420. package/dist/server/services/internals/types/response-collection-meta.mjs.map +1 -0
  421. package/dist/server/services/type-registry.js +81 -0
  422. package/dist/server/services/type-registry.js.map +1 -0
  423. package/dist/server/services/type-registry.mjs +79 -0
  424. package/dist/server/services/type-registry.mjs.map +1 -0
  425. package/dist/server/services/utils/attributes.js +65 -0
  426. package/dist/server/services/utils/attributes.js.map +1 -0
  427. package/dist/server/services/utils/attributes.mjs +63 -0
  428. package/dist/server/services/utils/attributes.mjs.map +1 -0
  429. package/dist/server/services/utils/index.js +16 -0
  430. package/dist/server/services/utils/index.js.map +1 -0
  431. package/dist/server/services/utils/index.mjs +14 -0
  432. package/dist/server/services/utils/index.mjs.map +1 -0
  433. package/dist/server/services/utils/mappers/entity-to-response-entity.js +16 -0
  434. package/dist/server/services/utils/mappers/entity-to-response-entity.js.map +1 -0
  435. package/dist/server/services/utils/mappers/entity-to-response-entity.mjs +14 -0
  436. package/dist/server/services/utils/mappers/entity-to-response-entity.mjs.map +1 -0
  437. package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.js +95 -0
  438. package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.js.map +1 -0
  439. package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.mjs +93 -0
  440. package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.mjs.map +1 -0
  441. package/dist/server/services/utils/mappers/graphql-scalar-to-operators.js +15 -0
  442. package/dist/server/services/utils/mappers/graphql-scalar-to-operators.js.map +1 -0
  443. package/dist/server/services/utils/mappers/graphql-scalar-to-operators.mjs +13 -0
  444. package/dist/server/services/utils/mappers/graphql-scalar-to-operators.mjs.map +1 -0
  445. package/dist/server/services/utils/mappers/index.js +16 -0
  446. package/dist/server/services/utils/mappers/index.js.map +1 -0
  447. package/dist/server/services/utils/mappers/index.mjs +14 -0
  448. package/dist/server/services/utils/mappers/index.mjs.map +1 -0
  449. package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.js +23 -0
  450. package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.js.map +1 -0
  451. package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.mjs +21 -0
  452. package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.mjs.map +1 -0
  453. package/dist/server/services/utils/naming.js +187 -0
  454. package/dist/server/services/utils/naming.js.map +1 -0
  455. package/dist/server/services/utils/naming.mjs +185 -0
  456. package/dist/server/services/utils/naming.mjs.map +1 -0
  457. package/dist/server/services/utils/playground.js +19 -0
  458. package/dist/server/services/utils/playground.js.map +1 -0
  459. package/dist/server/services/utils/playground.mjs +17 -0
  460. package/dist/server/services/utils/playground.mjs.map +1 -0
  461. package/package.json +6 -6
  462. package/dist/admin/chunks/dk-Bji21OvY.mjs.map +0 -1
  463. package/dist/admin/chunks/dk-D3k_Atlh.js.map +0 -1
  464. package/dist/admin/chunks/en-COko3s6d.mjs.map +0 -1
  465. package/dist/admin/chunks/en-DzY_FEd6.js.map +0 -1
  466. package/dist/admin/chunks/es-BoUVfXlb.mjs.map +0 -1
  467. package/dist/admin/chunks/es-D02rvX4A.js.map +0 -1
  468. package/dist/admin/chunks/fr-D9dcL-gU.js.map +0 -1
  469. package/dist/admin/chunks/fr-DFbQQgkK.mjs.map +0 -1
  470. package/dist/admin/chunks/pl-Bih5cA3Y.mjs.map +0 -1
  471. package/dist/admin/chunks/pl-DRSWvr2y.js.map +0 -1
  472. package/dist/admin/chunks/ru-Bxi2fB6E.mjs.map +0 -1
  473. package/dist/admin/chunks/ru-zDn7cu6t.js.map +0 -1
  474. package/dist/admin/chunks/sv-B2uIJv_a.mjs.map +0 -1
  475. package/dist/admin/chunks/sv-Dq2aVH0_.js.map +0 -1
  476. package/dist/admin/chunks/tr-B0yEuVnS.js.map +0 -1
  477. package/dist/admin/chunks/tr-DwO6hyQD.mjs.map +0 -1
  478. package/dist/admin/chunks/uk-DJGNjXWk.js.map +0 -1
  479. package/dist/admin/chunks/uk-_25RY9BK.mjs.map +0 -1
  480. package/dist/admin/chunks/zh-BkiTjJnf.js.map +0 -1
  481. package/dist/admin/chunks/zh-DVvz1qsT.mjs.map +0 -1
  482. package/dist/admin/chunks/zh-Hans-DUab611K.mjs.map +0 -1
  483. package/dist/admin/chunks/zh-Hans-DxlDvlSo.js.map +0 -1
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ var graphql = require('graphql');
4
+ var fp = require('lodash/fp');
5
+ var nexus = require('nexus');
6
+ var utils = require('@strapi/utils');
7
+
8
+ const { ApplicationError } = utils.errors;
9
+ var dynamicZone = (({ strapi })=>{
10
+ const buildTypeDefinition = (name, components)=>{
11
+ const { ERROR_TYPE_NAME } = strapi.plugin('graphql').service('constants');
12
+ const isEmpty = components.length === 0;
13
+ const componentsTypeNames = components.map((componentUID)=>{
14
+ const component = strapi.components[componentUID];
15
+ if (!component) {
16
+ throw new ApplicationError(`Trying to create a dynamic zone type with an unknown component: "${componentUID}"`);
17
+ }
18
+ return component.globalId;
19
+ });
20
+ return nexus.unionType({
21
+ name,
22
+ resolveType (obj) {
23
+ if (isEmpty) {
24
+ return ERROR_TYPE_NAME;
25
+ }
26
+ return strapi.components[obj.__component].globalId;
27
+ },
28
+ definition (t) {
29
+ t.members(...componentsTypeNames, ERROR_TYPE_NAME);
30
+ }
31
+ });
32
+ };
33
+ const buildInputDefinition = (name, components)=>{
34
+ const parseData = (value)=>{
35
+ const component = Object.values(strapi.components).find((component)=>component.globalId === value.__typename);
36
+ if (!component) {
37
+ throw new ApplicationError(`Component not found. expected one of: ${components.map((uid)=>strapi.components[uid].globalId).join(', ')}`);
38
+ }
39
+ return {
40
+ __component: component.uid,
41
+ ...fp.omit([
42
+ '__typename'
43
+ ], value)
44
+ };
45
+ };
46
+ return nexus.scalarType({
47
+ name,
48
+ serialize: (value)=>value,
49
+ parseValue: (value)=>parseData(value),
50
+ parseLiteral (ast, variables) {
51
+ if (ast.kind !== graphql.Kind.OBJECT) {
52
+ return undefined;
53
+ }
54
+ const value = graphql.valueFromASTUntyped(ast, variables);
55
+ return parseData(value);
56
+ }
57
+ });
58
+ };
59
+ return {
60
+ /**
61
+ * Build a Nexus dynamic zone type from a Strapi dz attribute
62
+ */ buildDynamicZoneDefinition (definition, name, inputName) {
63
+ const { components } = definition;
64
+ const typeDefinition = buildTypeDefinition(name, components);
65
+ const inputDefinition = buildInputDefinition(inputName, components);
66
+ return [
67
+ typeDefinition,
68
+ inputDefinition
69
+ ];
70
+ }
71
+ };
72
+ });
73
+
74
+ module.exports = dynamicZone;
75
+ //# sourceMappingURL=dynamic-zones.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-zones.js","sources":["../../../../server/src/services/builders/dynamic-zones.ts"],"sourcesContent":["import { Kind, valueFromASTUntyped } from 'graphql';\nimport { omit } from 'lodash/fp';\nimport { unionType, scalarType } from 'nexus';\nimport { errors } from '@strapi/utils';\nimport type { Internal, Schema } from '@strapi/types';\n\nimport type { Context } from '../types';\n\nconst { ApplicationError } = errors;\n\nexport default ({ strapi }: Context) => {\n const buildTypeDefinition = (name: string, components: Internal.UID.Component[]) => {\n const { ERROR_TYPE_NAME } = strapi.plugin('graphql').service('constants');\n const isEmpty = components.length === 0;\n\n const componentsTypeNames = components.map((componentUID) => {\n const component = strapi.components[componentUID];\n\n if (!component) {\n throw new ApplicationError(\n `Trying to create a dynamic zone type with an unknown component: \"${componentUID}\"`\n );\n }\n\n return component.globalId;\n });\n\n return unionType({\n name,\n\n resolveType(obj) {\n if (isEmpty) {\n return ERROR_TYPE_NAME;\n }\n\n return strapi.components[obj.__component].globalId;\n },\n\n definition(t) {\n t.members(...componentsTypeNames, ERROR_TYPE_NAME);\n },\n });\n };\n\n const buildInputDefinition = (name: string, components: Internal.UID.Component[]) => {\n const parseData = (value: any) => {\n const component = Object.values(strapi.components).find(\n (component) => component.globalId === value.__typename\n );\n\n if (!component) {\n throw new ApplicationError(\n `Component not found. expected one of: ${components\n .map((uid) => strapi.components[uid].globalId)\n .join(', ')}`\n );\n }\n\n return {\n __component: component.uid,\n ...omit(['__typename'], value),\n };\n };\n\n return scalarType({\n name,\n\n serialize: (value) => value,\n\n parseValue: (value) => parseData(value),\n\n parseLiteral(ast, variables) {\n if (ast.kind !== Kind.OBJECT) {\n return undefined;\n }\n\n const value = valueFromASTUntyped(ast, variables);\n return parseData(value);\n },\n });\n };\n\n return {\n /**\n * Build a Nexus dynamic zone type from a Strapi dz attribute\n */\n buildDynamicZoneDefinition(\n definition: Schema.Attribute.DynamicZone,\n name: string,\n inputName: string\n ) {\n const { components } = definition;\n\n const typeDefinition = buildTypeDefinition(name, components);\n const inputDefinition = buildInputDefinition(inputName, components);\n\n return [typeDefinition, inputDefinition];\n },\n };\n};\n"],"names":["ApplicationError","errors","strapi","buildTypeDefinition","name","components","ERROR_TYPE_NAME","plugin","service","isEmpty","length","componentsTypeNames","map","componentUID","component","globalId","unionType","resolveType","obj","__component","definition","t","members","buildInputDefinition","parseData","value","Object","values","find","__typename","uid","join","omit","scalarType","serialize","parseValue","parseLiteral","ast","variables","kind","Kind","OBJECT","undefined","valueFromASTUntyped","buildDynamicZoneDefinition","inputName","typeDefinition","inputDefinition"],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { Kind, valueFromASTUntyped } from 'graphql';
2
+ import { omit } from 'lodash/fp';
3
+ import { unionType, scalarType } from 'nexus';
4
+ import { errors } from '@strapi/utils';
5
+
6
+ const { ApplicationError } = errors;
7
+ var dynamicZone = (({ strapi })=>{
8
+ const buildTypeDefinition = (name, components)=>{
9
+ const { ERROR_TYPE_NAME } = strapi.plugin('graphql').service('constants');
10
+ const isEmpty = components.length === 0;
11
+ const componentsTypeNames = components.map((componentUID)=>{
12
+ const component = strapi.components[componentUID];
13
+ if (!component) {
14
+ throw new ApplicationError(`Trying to create a dynamic zone type with an unknown component: "${componentUID}"`);
15
+ }
16
+ return component.globalId;
17
+ });
18
+ return unionType({
19
+ name,
20
+ resolveType (obj) {
21
+ if (isEmpty) {
22
+ return ERROR_TYPE_NAME;
23
+ }
24
+ return strapi.components[obj.__component].globalId;
25
+ },
26
+ definition (t) {
27
+ t.members(...componentsTypeNames, ERROR_TYPE_NAME);
28
+ }
29
+ });
30
+ };
31
+ const buildInputDefinition = (name, components)=>{
32
+ const parseData = (value)=>{
33
+ const component = Object.values(strapi.components).find((component)=>component.globalId === value.__typename);
34
+ if (!component) {
35
+ throw new ApplicationError(`Component not found. expected one of: ${components.map((uid)=>strapi.components[uid].globalId).join(', ')}`);
36
+ }
37
+ return {
38
+ __component: component.uid,
39
+ ...omit([
40
+ '__typename'
41
+ ], value)
42
+ };
43
+ };
44
+ return scalarType({
45
+ name,
46
+ serialize: (value)=>value,
47
+ parseValue: (value)=>parseData(value),
48
+ parseLiteral (ast, variables) {
49
+ if (ast.kind !== Kind.OBJECT) {
50
+ return undefined;
51
+ }
52
+ const value = valueFromASTUntyped(ast, variables);
53
+ return parseData(value);
54
+ }
55
+ });
56
+ };
57
+ return {
58
+ /**
59
+ * Build a Nexus dynamic zone type from a Strapi dz attribute
60
+ */ buildDynamicZoneDefinition (definition, name, inputName) {
61
+ const { components } = definition;
62
+ const typeDefinition = buildTypeDefinition(name, components);
63
+ const inputDefinition = buildInputDefinition(inputName, components);
64
+ return [
65
+ typeDefinition,
66
+ inputDefinition
67
+ ];
68
+ }
69
+ };
70
+ });
71
+
72
+ export { dynamicZone as default };
73
+ //# sourceMappingURL=dynamic-zones.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-zones.mjs","sources":["../../../../server/src/services/builders/dynamic-zones.ts"],"sourcesContent":["import { Kind, valueFromASTUntyped } from 'graphql';\nimport { omit } from 'lodash/fp';\nimport { unionType, scalarType } from 'nexus';\nimport { errors } from '@strapi/utils';\nimport type { Internal, Schema } from '@strapi/types';\n\nimport type { Context } from '../types';\n\nconst { ApplicationError } = errors;\n\nexport default ({ strapi }: Context) => {\n const buildTypeDefinition = (name: string, components: Internal.UID.Component[]) => {\n const { ERROR_TYPE_NAME } = strapi.plugin('graphql').service('constants');\n const isEmpty = components.length === 0;\n\n const componentsTypeNames = components.map((componentUID) => {\n const component = strapi.components[componentUID];\n\n if (!component) {\n throw new ApplicationError(\n `Trying to create a dynamic zone type with an unknown component: \"${componentUID}\"`\n );\n }\n\n return component.globalId;\n });\n\n return unionType({\n name,\n\n resolveType(obj) {\n if (isEmpty) {\n return ERROR_TYPE_NAME;\n }\n\n return strapi.components[obj.__component].globalId;\n },\n\n definition(t) {\n t.members(...componentsTypeNames, ERROR_TYPE_NAME);\n },\n });\n };\n\n const buildInputDefinition = (name: string, components: Internal.UID.Component[]) => {\n const parseData = (value: any) => {\n const component = Object.values(strapi.components).find(\n (component) => component.globalId === value.__typename\n );\n\n if (!component) {\n throw new ApplicationError(\n `Component not found. expected one of: ${components\n .map((uid) => strapi.components[uid].globalId)\n .join(', ')}`\n );\n }\n\n return {\n __component: component.uid,\n ...omit(['__typename'], value),\n };\n };\n\n return scalarType({\n name,\n\n serialize: (value) => value,\n\n parseValue: (value) => parseData(value),\n\n parseLiteral(ast, variables) {\n if (ast.kind !== Kind.OBJECT) {\n return undefined;\n }\n\n const value = valueFromASTUntyped(ast, variables);\n return parseData(value);\n },\n });\n };\n\n return {\n /**\n * Build a Nexus dynamic zone type from a Strapi dz attribute\n */\n buildDynamicZoneDefinition(\n definition: Schema.Attribute.DynamicZone,\n name: string,\n inputName: string\n ) {\n const { components } = definition;\n\n const typeDefinition = buildTypeDefinition(name, components);\n const inputDefinition = buildInputDefinition(inputName, components);\n\n return [typeDefinition, inputDefinition];\n },\n };\n};\n"],"names":["ApplicationError","errors","strapi","buildTypeDefinition","name","components","ERROR_TYPE_NAME","plugin","service","isEmpty","length","componentsTypeNames","map","componentUID","component","globalId","unionType","resolveType","obj","__component","definition","t","members","buildInputDefinition","parseData","value","Object","values","find","__typename","uid","join","omit","scalarType","serialize","parseValue","parseLiteral","ast","variables","kind","Kind","OBJECT","undefined","valueFromASTUntyped","buildDynamicZoneDefinition","inputName","typeDefinition","inputDefinition"],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ var nexus = require('nexus');
4
+ var fp = require('lodash/fp');
5
+
6
+ var entity = (({ strapi })=>{
7
+ const { naming } = strapi.plugin('graphql').service('utils');
8
+ return {
9
+ /**
10
+ * Build a higher level type for a content type which contains the attributes, the ID and the metadata
11
+ * @param {object} contentType The content type which will be used to build its entity type
12
+ * @return {NexusObjectTypeDef}
13
+ */ buildEntityDefinition (contentType) {
14
+ const { attributes } = contentType;
15
+ const name = naming.getEntityName(contentType);
16
+ const typeName = naming.getTypeName(contentType);
17
+ return nexus.objectType({
18
+ name,
19
+ definition (t) {
20
+ // Keep the ID attribute at the top level
21
+ t.id('id', {
22
+ resolve: fp.prop('id')
23
+ });
24
+ if (!fp.isEmpty(attributes)) {
25
+ // Keep the fetched object into a dedicated `attributes` field
26
+ t.field('attributes', {
27
+ type: typeName,
28
+ resolve: fp.identity
29
+ });
30
+ }
31
+ }
32
+ });
33
+ }
34
+ };
35
+ });
36
+
37
+ module.exports = entity;
38
+ //# sourceMappingURL=entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.js","sources":["../../../../server/src/services/builders/entity.ts"],"sourcesContent":["import { objectType } from 'nexus';\nimport { prop, identity, isEmpty } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\n\nimport type { Context } from '../types';\n\nexport default ({ strapi }: Context) => {\n const { naming } = strapi.plugin('graphql').service('utils');\n\n return {\n /**\n * Build a higher level type for a content type which contains the attributes, the ID and the metadata\n * @param {object} contentType The content type which will be used to build its entity type\n * @return {NexusObjectTypeDef}\n */\n buildEntityDefinition(contentType: Schema.ContentType) {\n const { attributes } = contentType;\n\n const name = naming.getEntityName(contentType);\n const typeName = naming.getTypeName(contentType);\n\n return objectType({\n name,\n\n definition(t) {\n // Keep the ID attribute at the top level\n t.id('id', { resolve: prop('id') });\n\n if (!isEmpty(attributes)) {\n // Keep the fetched object into a dedicated `attributes` field\n t.field('attributes', {\n type: typeName,\n resolve: identity,\n });\n }\n },\n });\n },\n };\n};\n"],"names":["strapi","naming","plugin","service","buildEntityDefinition","contentType","attributes","name","getEntityName","typeName","getTypeName","objectType","definition","t","id","resolve","prop","isEmpty","field","type","identity"],"mappings":";;;;;AAMA,aAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,GAAA;IACjC,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAOE,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,OAAA,CAAA;IAEpD,OAAO;AACL;;;;AAIC,QACDC,uBAAsBC,WAA+B,EAAA;YACnD,MAAM,EAAEC,UAAU,EAAE,GAAGD,WAAAA;YAEvB,MAAME,IAAAA,GAAON,MAAOO,CAAAA,aAAa,CAACH,WAAAA,CAAAA;YAClC,MAAMI,QAAAA,GAAWR,MAAOS,CAAAA,WAAW,CAACL,WAAAA,CAAAA;AAEpC,YAAA,OAAOM,gBAAW,CAAA;AAChBJ,gBAAAA,IAAAA;AAEAK,gBAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;;oBAEVA,CAAEC,CAAAA,EAAE,CAAC,IAAM,EAAA;AAAEC,wBAAAA,OAAAA,EAASC,OAAK,CAAA,IAAA;AAAM,qBAAA,CAAA;oBAEjC,IAAI,CAACC,WAAQX,UAAa,CAAA,EAAA;;wBAExBO,CAAEK,CAAAA,KAAK,CAAC,YAAc,EAAA;4BACpBC,IAAMV,EAAAA,QAAAA;4BACNM,OAASK,EAAAA;AACX,yBAAA,CAAA;AACF;AACF;AACF,aAAA,CAAA;AACF;AACF,KAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,36 @@
1
+ import { objectType } from 'nexus';
2
+ import { prop, isEmpty, identity } from 'lodash/fp';
3
+
4
+ var entity = (({ strapi })=>{
5
+ const { naming } = strapi.plugin('graphql').service('utils');
6
+ return {
7
+ /**
8
+ * Build a higher level type for a content type which contains the attributes, the ID and the metadata
9
+ * @param {object} contentType The content type which will be used to build its entity type
10
+ * @return {NexusObjectTypeDef}
11
+ */ buildEntityDefinition (contentType) {
12
+ const { attributes } = contentType;
13
+ const name = naming.getEntityName(contentType);
14
+ const typeName = naming.getTypeName(contentType);
15
+ return objectType({
16
+ name,
17
+ definition (t) {
18
+ // Keep the ID attribute at the top level
19
+ t.id('id', {
20
+ resolve: prop('id')
21
+ });
22
+ if (!isEmpty(attributes)) {
23
+ // Keep the fetched object into a dedicated `attributes` field
24
+ t.field('attributes', {
25
+ type: typeName,
26
+ resolve: identity
27
+ });
28
+ }
29
+ }
30
+ });
31
+ }
32
+ };
33
+ });
34
+
35
+ export { entity as default };
36
+ //# sourceMappingURL=entity.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity.mjs","sources":["../../../../server/src/services/builders/entity.ts"],"sourcesContent":["import { objectType } from 'nexus';\nimport { prop, identity, isEmpty } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\n\nimport type { Context } from '../types';\n\nexport default ({ strapi }: Context) => {\n const { naming } = strapi.plugin('graphql').service('utils');\n\n return {\n /**\n * Build a higher level type for a content type which contains the attributes, the ID and the metadata\n * @param {object} contentType The content type which will be used to build its entity type\n * @return {NexusObjectTypeDef}\n */\n buildEntityDefinition(contentType: Schema.ContentType) {\n const { attributes } = contentType;\n\n const name = naming.getEntityName(contentType);\n const typeName = naming.getTypeName(contentType);\n\n return objectType({\n name,\n\n definition(t) {\n // Keep the ID attribute at the top level\n t.id('id', { resolve: prop('id') });\n\n if (!isEmpty(attributes)) {\n // Keep the fetched object into a dedicated `attributes` field\n t.field('attributes', {\n type: typeName,\n resolve: identity,\n });\n }\n },\n });\n },\n };\n};\n"],"names":["strapi","naming","plugin","service","buildEntityDefinition","contentType","attributes","name","getEntityName","typeName","getTypeName","objectType","definition","t","id","resolve","prop","isEmpty","field","type","identity"],"mappings":";;;AAMA,aAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,GAAA;IACjC,MAAM,EAAEC,MAAM,EAAE,GAAGD,OAAOE,MAAM,CAAC,SAAWC,CAAAA,CAAAA,OAAO,CAAC,OAAA,CAAA;IAEpD,OAAO;AACL;;;;AAIC,QACDC,uBAAsBC,WAA+B,EAAA;YACnD,MAAM,EAAEC,UAAU,EAAE,GAAGD,WAAAA;YAEvB,MAAME,IAAAA,GAAON,MAAOO,CAAAA,aAAa,CAACH,WAAAA,CAAAA;YAClC,MAAMI,QAAAA,GAAWR,MAAOS,CAAAA,WAAW,CAACL,WAAAA,CAAAA;AAEpC,YAAA,OAAOM,UAAW,CAAA;AAChBJ,gBAAAA,IAAAA;AAEAK,gBAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;;oBAEVA,CAAEC,CAAAA,EAAE,CAAC,IAAM,EAAA;AAAEC,wBAAAA,OAAAA,EAASC,IAAK,CAAA,IAAA;AAAM,qBAAA,CAAA;oBAEjC,IAAI,CAACC,QAAQX,UAAa,CAAA,EAAA;;wBAExBO,CAAEK,CAAAA,KAAK,CAAC,YAAc,EAAA;4BACpBC,IAAMV,EAAAA,QAAAA;4BACNM,OAASK,EAAAA;AACX,yBAAA,CAAA;AACF;AACF;AACF,aAAA,CAAA;AACF;AACF,KAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var nexus = require('nexus');
4
+ var fp = require('lodash/fp');
5
+ var utils = require('@strapi/utils');
6
+
7
+ /**
8
+ * Build a Nexus enum type from a Strapi enum attribute
9
+ * @param {object} definition - The definition of the enum
10
+ * @param {string[]} definition.enum - The params of the enum
11
+ * @param {string} name - The name of the enum
12
+ * @return {NexusEnumTypeDef}
13
+ */ const buildEnumTypeDefinition = (definition, name)=>{
14
+ return nexus.enumType({
15
+ name,
16
+ members: definition.enum.reduce((acc, value)=>fp.set(utils.strings.toRegressedEnumValue(value), value, acc), {})
17
+ });
18
+ };
19
+ var enums = (()=>({
20
+ buildEnumTypeDefinition
21
+ }));
22
+
23
+ module.exports = enums;
24
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sources":["../../../../server/src/services/builders/enums.ts"],"sourcesContent":["import { enumType } from 'nexus';\nimport { set } from 'lodash/fp';\nimport { strings } from '@strapi/utils';\n\ninterface Definition {\n enum: string[];\n}\n\n/**\n * Build a Nexus enum type from a Strapi enum attribute\n * @param {object} definition - The definition of the enum\n * @param {string[]} definition.enum - The params of the enum\n * @param {string} name - The name of the enum\n * @return {NexusEnumTypeDef}\n */\nconst buildEnumTypeDefinition = (definition: Definition, name: string) => {\n return enumType({\n name,\n members: definition.enum.reduce(\n (acc, value) => set(strings.toRegressedEnumValue(value), value, acc),\n {}\n ),\n });\n};\n\nexport default () => ({\n buildEnumTypeDefinition,\n});\n"],"names":["buildEnumTypeDefinition","definition","name","enumType","members","enum","reduce","acc","value","set","strings","toRegressedEnumValue"],"mappings":";;;;;;AAQA;;;;;;IAOA,MAAMA,uBAA0B,GAAA,CAACC,UAAwBC,EAAAA,IAAAA,GAAAA;AACvD,IAAA,OAAOC,cAAS,CAAA;AACdD,QAAAA,IAAAA;AACAE,QAAAA,OAAAA,EAASH,UAAWI,CAAAA,IAAI,CAACC,MAAM,CAC7B,CAACC,GAAAA,EAAKC,KAAUC,GAAAA,MAAAA,CAAIC,cAAQC,oBAAoB,CAACH,KAAQA,CAAAA,EAAAA,KAAAA,EAAOD,MAChE,EAAC;AAEL,KAAA,CAAA;AACF,CAAA;AAEA,YAAe,CAAA,KAAO;AACpBP,QAAAA;AACF,KAAA,CAAC;;;;"}
@@ -0,0 +1,22 @@
1
+ import { enumType } from 'nexus';
2
+ import { set } from 'lodash/fp';
3
+ import { strings } from '@strapi/utils';
4
+
5
+ /**
6
+ * Build a Nexus enum type from a Strapi enum attribute
7
+ * @param {object} definition - The definition of the enum
8
+ * @param {string[]} definition.enum - The params of the enum
9
+ * @param {string} name - The name of the enum
10
+ * @return {NexusEnumTypeDef}
11
+ */ const buildEnumTypeDefinition = (definition, name)=>{
12
+ return enumType({
13
+ name,
14
+ members: definition.enum.reduce((acc, value)=>set(strings.toRegressedEnumValue(value), value, acc), {})
15
+ });
16
+ };
17
+ var enums = (()=>({
18
+ buildEnumTypeDefinition
19
+ }));
20
+
21
+ export { enums as default };
22
+ //# sourceMappingURL=enums.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.mjs","sources":["../../../../server/src/services/builders/enums.ts"],"sourcesContent":["import { enumType } from 'nexus';\nimport { set } from 'lodash/fp';\nimport { strings } from '@strapi/utils';\n\ninterface Definition {\n enum: string[];\n}\n\n/**\n * Build a Nexus enum type from a Strapi enum attribute\n * @param {object} definition - The definition of the enum\n * @param {string[]} definition.enum - The params of the enum\n * @param {string} name - The name of the enum\n * @return {NexusEnumTypeDef}\n */\nconst buildEnumTypeDefinition = (definition: Definition, name: string) => {\n return enumType({\n name,\n members: definition.enum.reduce(\n (acc, value) => set(strings.toRegressedEnumValue(value), value, acc),\n {}\n ),\n });\n};\n\nexport default () => ({\n buildEnumTypeDefinition,\n});\n"],"names":["buildEnumTypeDefinition","definition","name","enumType","members","enum","reduce","acc","value","set","strings","toRegressedEnumValue"],"mappings":";;;;AAQA;;;;;;IAOA,MAAMA,uBAA0B,GAAA,CAACC,UAAwBC,EAAAA,IAAAA,GAAAA;AACvD,IAAA,OAAOC,QAAS,CAAA;AACdD,QAAAA,IAAAA;AACAE,QAAAA,OAAAA,EAASH,UAAWI,CAAAA,IAAI,CAACC,MAAM,CAC7B,CAACC,GAAAA,EAAKC,KAAUC,GAAAA,GAAAA,CAAIC,QAAQC,oBAAoB,CAACH,KAAQA,CAAAA,EAAAA,KAAAA,EAAOD,MAChE,EAAC;AAEL,KAAA,CAAA;AACF,CAAA;AAEA,YAAe,CAAA,KAAO;AACpBP,QAAAA;AACF,KAAA,CAAC;;;;"}
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+
3
+ var nexus = require('nexus');
4
+ var utils = require('@strapi/utils');
5
+
6
+ var contentType = (({ strapi })=>{
7
+ const rootLevelOperators = ()=>{
8
+ const { operators } = strapi.plugin('graphql').service('builders').filters;
9
+ return [
10
+ operators.and,
11
+ operators.or,
12
+ operators.not
13
+ ];
14
+ };
15
+ const addScalarAttribute = (builder, attributeName, attribute)=>{
16
+ const { naming, mappers } = strapi.plugin('graphql').service('utils');
17
+ const gqlType = mappers.strapiScalarToGraphQLScalar(attribute.type);
18
+ builder.field(attributeName, {
19
+ type: naming.getScalarFilterInputTypeName(gqlType)
20
+ });
21
+ };
22
+ const addRelationalAttribute = (builder, attributeName, attribute)=>{
23
+ const utils = strapi.plugin('graphql').service('utils');
24
+ const extension = strapi.plugin('graphql').service('extension');
25
+ const { getFiltersInputTypeName } = utils.naming;
26
+ const { isMorphRelation } = utils.attributes;
27
+ const model = 'target' in attribute && strapi.getModel(attribute.target);
28
+ // If there is no model corresponding to the attribute configuration
29
+ // or if the attribute is a polymorphic relation, then ignore it
30
+ if (!model || isMorphRelation(attribute)) return;
31
+ // If the target model is disabled, then ignore it too
32
+ if (extension.shadowCRUD(model.uid).isDisabled()) return;
33
+ builder.field(attributeName, {
34
+ type: getFiltersInputTypeName(model)
35
+ });
36
+ };
37
+ const addComponentAttribute = (builder, attributeName, attribute)=>{
38
+ const utils = strapi.plugin('graphql').service('utils');
39
+ const extension = strapi.plugin('graphql').service('extension');
40
+ const { getFiltersInputTypeName } = utils.naming;
41
+ const component = strapi.getModel(attribute.component);
42
+ // If there is no component corresponding to the attribute configuration, then ignore it
43
+ if (!component) return;
44
+ // If the component is disabled, then ignore it too
45
+ if (extension.shadowCRUD(component.uid).isDisabled()) return;
46
+ builder.field(attributeName, {
47
+ type: getFiltersInputTypeName(component)
48
+ });
49
+ };
50
+ const buildContentTypeFilters = (contentType)=>{
51
+ const utils$1 = strapi.plugin('graphql').service('utils');
52
+ const extension = strapi.plugin('graphql').service('extension');
53
+ const { getFiltersInputTypeName, getScalarFilterInputTypeName } = utils$1.naming;
54
+ const { isStrapiScalar, isRelation, isComponent } = utils$1.attributes;
55
+ const { attributes } = contentType;
56
+ const filtersTypeName = getFiltersInputTypeName(contentType);
57
+ return nexus.inputObjectType({
58
+ name: filtersTypeName,
59
+ definition (t) {
60
+ const validAttributes = Object.entries(attributes)// Remove private attributes
61
+ .filter(([attributeName])=>!utils.contentTypes.isPrivateAttribute(contentType, attributeName))// Remove attributes that have been disabled using the shadow CRUD extension API
62
+ .filter(([attributeName])=>extension.shadowCRUD(contentType.uid).field(attributeName).hasFiltersEnabeld());
63
+ const isIDFilterEnabled = extension.shadowCRUD(contentType.uid).field('documentId').hasFiltersEnabeld();
64
+ // Add an ID filter to the collection types
65
+ if (contentType.kind === 'collectionType' && isIDFilterEnabled) {
66
+ t.field('documentId', {
67
+ type: getScalarFilterInputTypeName('ID')
68
+ });
69
+ }
70
+ // Add every defined attribute
71
+ for (const [attributeName, attribute] of validAttributes){
72
+ // Handle scalars
73
+ if (isStrapiScalar(attribute)) {
74
+ addScalarAttribute(t, attributeName, attribute);
75
+ } else if (isRelation(attribute)) {
76
+ addRelationalAttribute(t, attributeName, attribute);
77
+ } else if (isComponent(attribute)) {
78
+ addComponentAttribute(t, attributeName, attribute);
79
+ }
80
+ }
81
+ // Conditional clauses
82
+ for (const operator of rootLevelOperators()){
83
+ operator.add(t, filtersTypeName);
84
+ }
85
+ }
86
+ });
87
+ };
88
+ return {
89
+ buildContentTypeFilters
90
+ };
91
+ });
92
+
93
+ module.exports = contentType;
94
+ //# sourceMappingURL=content-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type.js","sources":["../../../../../server/src/services/builders/filters/content-type.ts"],"sourcesContent":["import { inputObjectType } from 'nexus';\nimport { contentTypes } from '@strapi/utils';\nimport type * as Nexus from 'nexus';\nimport type { Struct, Schema } from '@strapi/types';\nimport type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => {\n const rootLevelOperators = () => {\n const { operators } = strapi.plugin('graphql').service('builders').filters;\n\n return [operators.and, operators.or, operators.not];\n };\n\n const addScalarAttribute = (\n builder: Nexus.blocks.InputDefinitionBlock<any>,\n attributeName: string,\n attribute: Schema.Attribute.AnyAttribute\n ) => {\n const { naming, mappers } = strapi.plugin('graphql').service('utils');\n\n const gqlType = mappers.strapiScalarToGraphQLScalar(attribute.type);\n\n builder.field(attributeName, { type: naming.getScalarFilterInputTypeName(gqlType) });\n };\n\n const addRelationalAttribute = (\n builder: Nexus.blocks.InputDefinitionBlock<any>,\n attributeName: string,\n attribute: Schema.Attribute.Relation\n ) => {\n const utils = strapi.plugin('graphql').service('utils');\n const extension = strapi.plugin('graphql').service('extension');\n const { getFiltersInputTypeName } = utils.naming;\n const { isMorphRelation } = utils.attributes;\n\n const model = 'target' in attribute && strapi.getModel(attribute.target);\n\n // If there is no model corresponding to the attribute configuration\n // or if the attribute is a polymorphic relation, then ignore it\n if (!model || isMorphRelation(attribute)) return;\n\n // If the target model is disabled, then ignore it too\n if (extension.shadowCRUD(model.uid).isDisabled()) return;\n\n builder.field(attributeName, { type: getFiltersInputTypeName(model) });\n };\n\n const addComponentAttribute = (\n builder: Nexus.blocks.InputDefinitionBlock<any>,\n attributeName: string,\n attribute: Schema.Attribute.Component\n ) => {\n const utils = strapi.plugin('graphql').service('utils');\n const extension = strapi.plugin('graphql').service('extension');\n const { getFiltersInputTypeName } = utils.naming;\n\n const component = strapi.getModel(attribute.component);\n\n // If there is no component corresponding to the attribute configuration, then ignore it\n if (!component) return;\n\n // If the component is disabled, then ignore it too\n if (extension.shadowCRUD(component.uid).isDisabled()) return;\n\n builder.field(attributeName, { type: getFiltersInputTypeName(component) });\n };\n\n const buildContentTypeFilters = (contentType: Struct.ContentTypeSchema) => {\n const utils = strapi.plugin('graphql').service('utils');\n const extension = strapi.plugin('graphql').service('extension');\n\n const { getFiltersInputTypeName, getScalarFilterInputTypeName } = utils.naming;\n const { isStrapiScalar, isRelation, isComponent } = utils.attributes;\n\n const { attributes } = contentType;\n\n const filtersTypeName = getFiltersInputTypeName(contentType);\n\n return inputObjectType({\n name: filtersTypeName,\n\n definition(t) {\n const validAttributes = Object.entries(attributes)\n // Remove private attributes\n .filter(([attributeName]) => !contentTypes.isPrivateAttribute(contentType, attributeName))\n // Remove attributes that have been disabled using the shadow CRUD extension API\n .filter(([attributeName]) =>\n extension.shadowCRUD(contentType.uid).field(attributeName).hasFiltersEnabeld()\n );\n\n const isIDFilterEnabled = extension\n .shadowCRUD(contentType.uid)\n .field('documentId')\n .hasFiltersEnabeld();\n\n // Add an ID filter to the collection types\n if (contentType.kind === 'collectionType' && isIDFilterEnabled) {\n t.field('documentId', { type: getScalarFilterInputTypeName('ID') });\n }\n\n // Add every defined attribute\n for (const [attributeName, attribute] of validAttributes) {\n // Handle scalars\n if (isStrapiScalar(attribute)) {\n addScalarAttribute(t, attributeName, attribute);\n }\n\n // Handle relations\n else if (isRelation(attribute)) {\n addRelationalAttribute(t, attributeName, attribute as Schema.Attribute.Relation);\n }\n\n // Handle components\n else if (isComponent(attribute)) {\n addComponentAttribute(t, attributeName, attribute as Schema.Attribute.Component);\n }\n }\n\n // Conditional clauses\n for (const operator of rootLevelOperators()) {\n operator.add(t, filtersTypeName);\n }\n },\n });\n };\n\n return {\n buildContentTypeFilters,\n };\n};\n"],"names":["strapi","rootLevelOperators","operators","plugin","service","filters","and","or","not","addScalarAttribute","builder","attributeName","attribute","naming","mappers","gqlType","strapiScalarToGraphQLScalar","type","field","getScalarFilterInputTypeName","addRelationalAttribute","utils","extension","getFiltersInputTypeName","isMorphRelation","attributes","model","getModel","target","shadowCRUD","uid","isDisabled","addComponentAttribute","component","buildContentTypeFilters","contentType","isStrapiScalar","isRelation","isComponent","filtersTypeName","inputObjectType","name","definition","t","validAttributes","Object","entries","filter","contentTypes","isPrivateAttribute","hasFiltersEnabeld","isIDFilterEnabled","kind","operator","add"],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { inputObjectType } from 'nexus';
2
+ import { contentTypes } from '@strapi/utils';
3
+
4
+ var contentType = (({ strapi })=>{
5
+ const rootLevelOperators = ()=>{
6
+ const { operators } = strapi.plugin('graphql').service('builders').filters;
7
+ return [
8
+ operators.and,
9
+ operators.or,
10
+ operators.not
11
+ ];
12
+ };
13
+ const addScalarAttribute = (builder, attributeName, attribute)=>{
14
+ const { naming, mappers } = strapi.plugin('graphql').service('utils');
15
+ const gqlType = mappers.strapiScalarToGraphQLScalar(attribute.type);
16
+ builder.field(attributeName, {
17
+ type: naming.getScalarFilterInputTypeName(gqlType)
18
+ });
19
+ };
20
+ const addRelationalAttribute = (builder, attributeName, attribute)=>{
21
+ const utils = strapi.plugin('graphql').service('utils');
22
+ const extension = strapi.plugin('graphql').service('extension');
23
+ const { getFiltersInputTypeName } = utils.naming;
24
+ const { isMorphRelation } = utils.attributes;
25
+ const model = 'target' in attribute && strapi.getModel(attribute.target);
26
+ // If there is no model corresponding to the attribute configuration
27
+ // or if the attribute is a polymorphic relation, then ignore it
28
+ if (!model || isMorphRelation(attribute)) return;
29
+ // If the target model is disabled, then ignore it too
30
+ if (extension.shadowCRUD(model.uid).isDisabled()) return;
31
+ builder.field(attributeName, {
32
+ type: getFiltersInputTypeName(model)
33
+ });
34
+ };
35
+ const addComponentAttribute = (builder, attributeName, attribute)=>{
36
+ const utils = strapi.plugin('graphql').service('utils');
37
+ const extension = strapi.plugin('graphql').service('extension');
38
+ const { getFiltersInputTypeName } = utils.naming;
39
+ const component = strapi.getModel(attribute.component);
40
+ // If there is no component corresponding to the attribute configuration, then ignore it
41
+ if (!component) return;
42
+ // If the component is disabled, then ignore it too
43
+ if (extension.shadowCRUD(component.uid).isDisabled()) return;
44
+ builder.field(attributeName, {
45
+ type: getFiltersInputTypeName(component)
46
+ });
47
+ };
48
+ const buildContentTypeFilters = (contentType)=>{
49
+ const utils = strapi.plugin('graphql').service('utils');
50
+ const extension = strapi.plugin('graphql').service('extension');
51
+ const { getFiltersInputTypeName, getScalarFilterInputTypeName } = utils.naming;
52
+ const { isStrapiScalar, isRelation, isComponent } = utils.attributes;
53
+ const { attributes } = contentType;
54
+ const filtersTypeName = getFiltersInputTypeName(contentType);
55
+ return inputObjectType({
56
+ name: filtersTypeName,
57
+ definition (t) {
58
+ const validAttributes = Object.entries(attributes)// Remove private attributes
59
+ .filter(([attributeName])=>!contentTypes.isPrivateAttribute(contentType, attributeName))// Remove attributes that have been disabled using the shadow CRUD extension API
60
+ .filter(([attributeName])=>extension.shadowCRUD(contentType.uid).field(attributeName).hasFiltersEnabeld());
61
+ const isIDFilterEnabled = extension.shadowCRUD(contentType.uid).field('documentId').hasFiltersEnabeld();
62
+ // Add an ID filter to the collection types
63
+ if (contentType.kind === 'collectionType' && isIDFilterEnabled) {
64
+ t.field('documentId', {
65
+ type: getScalarFilterInputTypeName('ID')
66
+ });
67
+ }
68
+ // Add every defined attribute
69
+ for (const [attributeName, attribute] of validAttributes){
70
+ // Handle scalars
71
+ if (isStrapiScalar(attribute)) {
72
+ addScalarAttribute(t, attributeName, attribute);
73
+ } else if (isRelation(attribute)) {
74
+ addRelationalAttribute(t, attributeName, attribute);
75
+ } else if (isComponent(attribute)) {
76
+ addComponentAttribute(t, attributeName, attribute);
77
+ }
78
+ }
79
+ // Conditional clauses
80
+ for (const operator of rootLevelOperators()){
81
+ operator.add(t, filtersTypeName);
82
+ }
83
+ }
84
+ });
85
+ };
86
+ return {
87
+ buildContentTypeFilters
88
+ };
89
+ });
90
+
91
+ export { contentType as default };
92
+ //# sourceMappingURL=content-type.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type.mjs","sources":["../../../../../server/src/services/builders/filters/content-type.ts"],"sourcesContent":["import { inputObjectType } from 'nexus';\nimport { contentTypes } from '@strapi/utils';\nimport type * as Nexus from 'nexus';\nimport type { Struct, Schema } from '@strapi/types';\nimport type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => {\n const rootLevelOperators = () => {\n const { operators } = strapi.plugin('graphql').service('builders').filters;\n\n return [operators.and, operators.or, operators.not];\n };\n\n const addScalarAttribute = (\n builder: Nexus.blocks.InputDefinitionBlock<any>,\n attributeName: string,\n attribute: Schema.Attribute.AnyAttribute\n ) => {\n const { naming, mappers } = strapi.plugin('graphql').service('utils');\n\n const gqlType = mappers.strapiScalarToGraphQLScalar(attribute.type);\n\n builder.field(attributeName, { type: naming.getScalarFilterInputTypeName(gqlType) });\n };\n\n const addRelationalAttribute = (\n builder: Nexus.blocks.InputDefinitionBlock<any>,\n attributeName: string,\n attribute: Schema.Attribute.Relation\n ) => {\n const utils = strapi.plugin('graphql').service('utils');\n const extension = strapi.plugin('graphql').service('extension');\n const { getFiltersInputTypeName } = utils.naming;\n const { isMorphRelation } = utils.attributes;\n\n const model = 'target' in attribute && strapi.getModel(attribute.target);\n\n // If there is no model corresponding to the attribute configuration\n // or if the attribute is a polymorphic relation, then ignore it\n if (!model || isMorphRelation(attribute)) return;\n\n // If the target model is disabled, then ignore it too\n if (extension.shadowCRUD(model.uid).isDisabled()) return;\n\n builder.field(attributeName, { type: getFiltersInputTypeName(model) });\n };\n\n const addComponentAttribute = (\n builder: Nexus.blocks.InputDefinitionBlock<any>,\n attributeName: string,\n attribute: Schema.Attribute.Component\n ) => {\n const utils = strapi.plugin('graphql').service('utils');\n const extension = strapi.plugin('graphql').service('extension');\n const { getFiltersInputTypeName } = utils.naming;\n\n const component = strapi.getModel(attribute.component);\n\n // If there is no component corresponding to the attribute configuration, then ignore it\n if (!component) return;\n\n // If the component is disabled, then ignore it too\n if (extension.shadowCRUD(component.uid).isDisabled()) return;\n\n builder.field(attributeName, { type: getFiltersInputTypeName(component) });\n };\n\n const buildContentTypeFilters = (contentType: Struct.ContentTypeSchema) => {\n const utils = strapi.plugin('graphql').service('utils');\n const extension = strapi.plugin('graphql').service('extension');\n\n const { getFiltersInputTypeName, getScalarFilterInputTypeName } = utils.naming;\n const { isStrapiScalar, isRelation, isComponent } = utils.attributes;\n\n const { attributes } = contentType;\n\n const filtersTypeName = getFiltersInputTypeName(contentType);\n\n return inputObjectType({\n name: filtersTypeName,\n\n definition(t) {\n const validAttributes = Object.entries(attributes)\n // Remove private attributes\n .filter(([attributeName]) => !contentTypes.isPrivateAttribute(contentType, attributeName))\n // Remove attributes that have been disabled using the shadow CRUD extension API\n .filter(([attributeName]) =>\n extension.shadowCRUD(contentType.uid).field(attributeName).hasFiltersEnabeld()\n );\n\n const isIDFilterEnabled = extension\n .shadowCRUD(contentType.uid)\n .field('documentId')\n .hasFiltersEnabeld();\n\n // Add an ID filter to the collection types\n if (contentType.kind === 'collectionType' && isIDFilterEnabled) {\n t.field('documentId', { type: getScalarFilterInputTypeName('ID') });\n }\n\n // Add every defined attribute\n for (const [attributeName, attribute] of validAttributes) {\n // Handle scalars\n if (isStrapiScalar(attribute)) {\n addScalarAttribute(t, attributeName, attribute);\n }\n\n // Handle relations\n else if (isRelation(attribute)) {\n addRelationalAttribute(t, attributeName, attribute as Schema.Attribute.Relation);\n }\n\n // Handle components\n else if (isComponent(attribute)) {\n addComponentAttribute(t, attributeName, attribute as Schema.Attribute.Component);\n }\n }\n\n // Conditional clauses\n for (const operator of rootLevelOperators()) {\n operator.add(t, filtersTypeName);\n }\n },\n });\n };\n\n return {\n buildContentTypeFilters,\n };\n};\n"],"names":["strapi","rootLevelOperators","operators","plugin","service","filters","and","or","not","addScalarAttribute","builder","attributeName","attribute","naming","mappers","gqlType","strapiScalarToGraphQLScalar","type","field","getScalarFilterInputTypeName","addRelationalAttribute","utils","extension","getFiltersInputTypeName","isMorphRelation","attributes","model","getModel","target","shadowCRUD","uid","isDisabled","addComponentAttribute","component","buildContentTypeFilters","contentType","isStrapiScalar","isRelation","isComponent","filtersTypeName","inputObjectType","name","definition","t","validAttributes","Object","entries","filter","contentTypes","isPrivateAttribute","hasFiltersEnabeld","isIDFilterEnabled","kind","operator","add"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var contentType = require('./content-type.js');
4
+
5
+ var filters = ((context)=>({
6
+ ...contentType(context)
7
+ }));
8
+
9
+ module.exports = filters;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../server/src/services/builders/filters/index.ts"],"sourcesContent":["import contentType from './content-type';\nimport type { Context } from '../../types';\n\nexport default (context: Context) => ({\n ...contentType(context),\n});\n"],"names":["context","contentType"],"mappings":";;;;AAGA,cAAe,CAAA,CAACA,OAAAA,IAAsB;AACpC,QAAA,GAAGC,YAAYD,OAAQ;AACzB,KAAA,CAAC;;;;"}
@@ -0,0 +1,8 @@
1
+ import contentType from './content-type.mjs';
2
+
3
+ var filters = ((context)=>({
4
+ ...contentType(context)
5
+ }));
6
+
7
+ export { filters as default };
8
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../server/src/services/builders/filters/index.ts"],"sourcesContent":["import contentType from './content-type';\nimport type { Context } from '../../types';\n\nexport default (context: Context) => ({\n ...contentType(context),\n});\n"],"names":["context","contentType"],"mappings":";;AAGA,cAAe,CAAA,CAACA,OAAAA,IAAsB;AACpC,QAAA,GAAGC,YAAYD,OAAQ;AACzB,KAAA,CAAC;;;;"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var nexus = require('nexus');
4
+
5
+ const AND_FIELD_NAME = 'and';
6
+ var andOperator = (()=>({
7
+ fieldName: AND_FIELD_NAME,
8
+ strapiOperator: '$and',
9
+ add (t, type) {
10
+ t.field(AND_FIELD_NAME, {
11
+ type: nexus.list(type)
12
+ });
13
+ }
14
+ }));
15
+
16
+ module.exports = andOperator;
17
+ //# sourceMappingURL=and.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"and.js","sources":["../../../../../../server/src/services/builders/filters/operators/and.ts"],"sourcesContent":["import { list } from 'nexus';\nimport type * as Nexus from 'nexus';\n\nconst AND_FIELD_NAME = 'and';\n\nexport default () => ({\n fieldName: AND_FIELD_NAME,\n\n strapiOperator: '$and',\n\n add(t: Nexus.blocks.ObjectDefinitionBlock<string>, type: string) {\n t.field(AND_FIELD_NAME, { type: list(type) });\n },\n});\n"],"names":["AND_FIELD_NAME","fieldName","strapiOperator","add","t","type","field","list"],"mappings":";;;;AAGA,MAAMA,cAAiB,GAAA,KAAA;AAEvB,kBAAe,CAAA,KAAO;QACpBC,SAAWD,EAAAA,cAAAA;QAEXE,cAAgB,EAAA,MAAA;QAEhBC,GAAIC,CAAAA,CAAAA,CAA6C,EAAEC,IAAY,EAAA;YAC7DD,CAAEE,CAAAA,KAAK,CAACN,cAAgB,EAAA;AAAEK,gBAAAA,IAAAA,EAAME,UAAKF,CAAAA,IAAAA;AAAM,aAAA,CAAA;AAC7C;AACF,KAAA,CAAC;;;;"}
@@ -0,0 +1,15 @@
1
+ import { list } from 'nexus';
2
+
3
+ const AND_FIELD_NAME = 'and';
4
+ var andOperator = (()=>({
5
+ fieldName: AND_FIELD_NAME,
6
+ strapiOperator: '$and',
7
+ add (t, type) {
8
+ t.field(AND_FIELD_NAME, {
9
+ type: list(type)
10
+ });
11
+ }
12
+ }));
13
+
14
+ export { andOperator as default };
15
+ //# sourceMappingURL=and.mjs.map