@strapi/plugin-graphql 0.0.0-experimental.62ce06180fe9a772eaeb3d43d238b26644f39f7c → 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. package/LICENSE +18 -3
  2. package/dist/admin/index.js +58 -167
  3. package/dist/admin/index.js.map +1 -1
  4. package/dist/admin/index.mjs +54 -168
  5. package/dist/admin/index.mjs.map +1 -1
  6. package/dist/admin/package.json.js +13 -0
  7. package/dist/admin/package.json.js.map +1 -0
  8. package/dist/admin/package.json.mjs +8 -0
  9. package/dist/admin/package.json.mjs.map +1 -0
  10. package/dist/admin/pluginId.js +6 -0
  11. package/dist/admin/pluginId.js.map +1 -0
  12. package/dist/admin/pluginId.mjs +4 -0
  13. package/dist/admin/pluginId.mjs.map +1 -0
  14. package/dist/admin/translations/cs.json.js +10 -0
  15. package/dist/admin/translations/cs.json.js.map +1 -0
  16. package/dist/admin/translations/cs.json.mjs +8 -0
  17. package/dist/admin/translations/cs.json.mjs.map +1 -0
  18. package/dist/admin/translations/da.json.js +10 -0
  19. package/dist/admin/translations/da.json.js.map +1 -0
  20. package/dist/admin/translations/da.json.mjs +8 -0
  21. package/dist/admin/translations/da.json.mjs.map +1 -0
  22. package/dist/admin/translations/en.json.js +10 -0
  23. package/dist/admin/translations/en.json.js.map +1 -0
  24. package/dist/admin/translations/en.json.mjs +8 -0
  25. package/dist/admin/translations/en.json.mjs.map +1 -0
  26. package/dist/admin/translations/es.json.js +10 -0
  27. package/dist/admin/translations/es.json.js.map +1 -0
  28. package/dist/admin/translations/es.json.mjs +8 -0
  29. package/dist/admin/translations/es.json.mjs.map +1 -0
  30. package/dist/admin/translations/fr.json.js +10 -0
  31. package/dist/admin/translations/fr.json.js.map +1 -0
  32. package/dist/admin/translations/fr.json.mjs +8 -0
  33. package/dist/admin/translations/fr.json.mjs.map +1 -0
  34. package/dist/admin/translations/pl.json.js +10 -0
  35. package/dist/admin/translations/pl.json.js.map +1 -0
  36. package/dist/admin/translations/pl.json.mjs +8 -0
  37. package/dist/admin/translations/pl.json.mjs.map +1 -0
  38. package/dist/admin/translations/ru.json.js +10 -0
  39. package/dist/admin/translations/ru.json.js.map +1 -0
  40. package/dist/admin/translations/ru.json.mjs +8 -0
  41. package/dist/admin/translations/ru.json.mjs.map +1 -0
  42. package/dist/admin/translations/sk.json.js +10 -0
  43. package/dist/admin/translations/sk.json.js.map +1 -0
  44. package/dist/admin/translations/sk.json.mjs +8 -0
  45. package/dist/admin/translations/sk.json.mjs.map +1 -0
  46. package/dist/admin/translations/sv.json.js +10 -0
  47. package/dist/admin/translations/sv.json.js.map +1 -0
  48. package/dist/admin/translations/sv.json.mjs +8 -0
  49. package/dist/admin/translations/sv.json.mjs.map +1 -0
  50. package/dist/admin/translations/tr.json.js +10 -0
  51. package/dist/admin/translations/tr.json.js.map +1 -0
  52. package/dist/admin/translations/tr.json.mjs +8 -0
  53. package/dist/admin/translations/tr.json.mjs.map +1 -0
  54. package/dist/admin/translations/uk.json.js +10 -0
  55. package/dist/admin/translations/uk.json.js.map +1 -0
  56. package/dist/admin/translations/uk.json.mjs +8 -0
  57. package/dist/admin/translations/uk.json.mjs.map +1 -0
  58. package/dist/admin/translations/zh-Hans.json.js +10 -0
  59. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  60. package/dist/admin/translations/zh-Hans.json.mjs +8 -0
  61. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  62. package/dist/admin/translations/zh.json.js +10 -0
  63. package/dist/admin/translations/zh.json.js.map +1 -0
  64. package/dist/admin/translations/zh.json.mjs +8 -0
  65. package/dist/admin/translations/zh.json.mjs.map +1 -0
  66. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  67. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  68. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  69. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  70. package/dist/server/bootstrap.js +221 -0
  71. package/dist/server/bootstrap.js.map +1 -0
  72. package/dist/server/bootstrap.mjs +212 -0
  73. package/dist/server/bootstrap.mjs.map +1 -0
  74. package/dist/server/config/default-config.js +13 -0
  75. package/dist/server/config/default-config.js.map +1 -0
  76. package/dist/server/config/default-config.mjs +11 -0
  77. package/dist/server/config/default-config.mjs.map +1 -0
  78. package/dist/server/config/index.js +10 -0
  79. package/dist/server/config/index.js.map +1 -0
  80. package/dist/server/config/index.mjs +8 -0
  81. package/dist/server/config/index.mjs.map +1 -0
  82. package/dist/server/format-graphql-error.js +60 -0
  83. package/dist/server/format-graphql-error.js.map +1 -0
  84. package/dist/server/format-graphql-error.mjs +58 -0
  85. package/dist/server/format-graphql-error.mjs.map +1 -0
  86. package/dist/server/index.js +12 -3112
  87. package/dist/server/index.js.map +1 -1
  88. package/dist/server/index.mjs +11 -3092
  89. package/dist/server/index.mjs.map +1 -1
  90. package/dist/server/services/builders/dynamic-zones.js +75 -0
  91. package/dist/server/services/builders/dynamic-zones.js.map +1 -0
  92. package/dist/server/services/builders/dynamic-zones.mjs +73 -0
  93. package/dist/server/services/builders/dynamic-zones.mjs.map +1 -0
  94. package/dist/server/services/builders/entity.js +38 -0
  95. package/dist/server/services/builders/entity.js.map +1 -0
  96. package/dist/server/services/builders/entity.mjs +36 -0
  97. package/dist/server/services/builders/entity.mjs.map +1 -0
  98. package/dist/server/services/builders/enums.js +24 -0
  99. package/dist/server/services/builders/enums.js.map +1 -0
  100. package/dist/server/services/builders/enums.mjs +22 -0
  101. package/dist/server/services/builders/enums.mjs.map +1 -0
  102. package/dist/server/services/builders/filters/content-type.js +94 -0
  103. package/dist/server/services/builders/filters/content-type.js.map +1 -0
  104. package/dist/server/services/builders/filters/content-type.mjs +92 -0
  105. package/dist/server/services/builders/filters/content-type.mjs.map +1 -0
  106. package/dist/server/services/builders/filters/index.js +10 -0
  107. package/dist/server/services/builders/filters/index.js.map +1 -0
  108. package/dist/server/services/builders/filters/index.mjs +8 -0
  109. package/dist/server/services/builders/filters/index.mjs.map +1 -0
  110. package/dist/server/services/builders/filters/operators/and.js +17 -0
  111. package/dist/server/services/builders/filters/operators/and.js.map +1 -0
  112. package/dist/server/services/builders/filters/operators/and.mjs +15 -0
  113. package/dist/server/services/builders/filters/operators/and.mjs.map +1 -0
  114. package/dist/server/services/builders/filters/operators/between.js +17 -0
  115. package/dist/server/services/builders/filters/operators/between.js.map +1 -0
  116. package/dist/server/services/builders/filters/operators/between.mjs +15 -0
  117. package/dist/server/services/builders/filters/operators/between.mjs.map +1 -0
  118. package/dist/server/services/builders/filters/operators/contains.js +15 -0
  119. package/dist/server/services/builders/filters/operators/contains.js.map +1 -0
  120. package/dist/server/services/builders/filters/operators/contains.mjs +13 -0
  121. package/dist/server/services/builders/filters/operators/contains.mjs.map +1 -0
  122. package/dist/server/services/builders/filters/operators/containsi.js +15 -0
  123. package/dist/server/services/builders/filters/operators/containsi.js.map +1 -0
  124. package/dist/server/services/builders/filters/operators/containsi.mjs +13 -0
  125. package/dist/server/services/builders/filters/operators/containsi.mjs.map +1 -0
  126. package/dist/server/services/builders/filters/operators/ends-with.js +15 -0
  127. package/dist/server/services/builders/filters/operators/ends-with.js.map +1 -0
  128. package/dist/server/services/builders/filters/operators/ends-with.mjs +13 -0
  129. package/dist/server/services/builders/filters/operators/ends-with.mjs.map +1 -0
  130. package/dist/server/services/builders/filters/operators/eq.js +22 -0
  131. package/dist/server/services/builders/filters/operators/eq.js.map +1 -0
  132. package/dist/server/services/builders/filters/operators/eq.mjs +20 -0
  133. package/dist/server/services/builders/filters/operators/eq.mjs.map +1 -0
  134. package/dist/server/services/builders/filters/operators/eqi.js +15 -0
  135. package/dist/server/services/builders/filters/operators/eqi.js.map +1 -0
  136. package/dist/server/services/builders/filters/operators/eqi.mjs +13 -0
  137. package/dist/server/services/builders/filters/operators/eqi.mjs.map +1 -0
  138. package/dist/server/services/builders/filters/operators/gt.js +15 -0
  139. package/dist/server/services/builders/filters/operators/gt.js.map +1 -0
  140. package/dist/server/services/builders/filters/operators/gt.mjs +13 -0
  141. package/dist/server/services/builders/filters/operators/gt.mjs.map +1 -0
  142. package/dist/server/services/builders/filters/operators/gte.js +15 -0
  143. package/dist/server/services/builders/filters/operators/gte.js.map +1 -0
  144. package/dist/server/services/builders/filters/operators/gte.mjs +13 -0
  145. package/dist/server/services/builders/filters/operators/gte.mjs.map +1 -0
  146. package/dist/server/services/builders/filters/operators/in.js +17 -0
  147. package/dist/server/services/builders/filters/operators/in.js.map +1 -0
  148. package/dist/server/services/builders/filters/operators/in.mjs +15 -0
  149. package/dist/server/services/builders/filters/operators/in.mjs.map +1 -0
  150. package/dist/server/services/builders/filters/operators/index.js +57 -0
  151. package/dist/server/services/builders/filters/operators/index.js.map +1 -0
  152. package/dist/server/services/builders/filters/operators/index.mjs +55 -0
  153. package/dist/server/services/builders/filters/operators/index.mjs.map +1 -0
  154. package/dist/server/services/builders/filters/operators/lt.js +15 -0
  155. package/dist/server/services/builders/filters/operators/lt.js.map +1 -0
  156. package/dist/server/services/builders/filters/operators/lt.mjs +13 -0
  157. package/dist/server/services/builders/filters/operators/lt.mjs.map +1 -0
  158. package/dist/server/services/builders/filters/operators/lte.js +15 -0
  159. package/dist/server/services/builders/filters/operators/lte.js.map +1 -0
  160. package/dist/server/services/builders/filters/operators/lte.mjs +13 -0
  161. package/dist/server/services/builders/filters/operators/lte.mjs.map +1 -0
  162. package/dist/server/services/builders/filters/operators/ne.js +15 -0
  163. package/dist/server/services/builders/filters/operators/ne.js.map +1 -0
  164. package/dist/server/services/builders/filters/operators/ne.mjs +13 -0
  165. package/dist/server/services/builders/filters/operators/ne.mjs.map +1 -0
  166. package/dist/server/services/builders/filters/operators/nei.js +15 -0
  167. package/dist/server/services/builders/filters/operators/nei.js.map +1 -0
  168. package/dist/server/services/builders/filters/operators/nei.mjs +13 -0
  169. package/dist/server/services/builders/filters/operators/nei.mjs.map +1 -0
  170. package/dist/server/services/builders/filters/operators/not-contains.js +15 -0
  171. package/dist/server/services/builders/filters/operators/not-contains.js.map +1 -0
  172. package/dist/server/services/builders/filters/operators/not-contains.mjs +13 -0
  173. package/dist/server/services/builders/filters/operators/not-contains.mjs.map +1 -0
  174. package/dist/server/services/builders/filters/operators/not-containsi.js +15 -0
  175. package/dist/server/services/builders/filters/operators/not-containsi.js.map +1 -0
  176. package/dist/server/services/builders/filters/operators/not-containsi.mjs +13 -0
  177. package/dist/server/services/builders/filters/operators/not-containsi.mjs.map +1 -0
  178. package/dist/server/services/builders/filters/operators/not-in.js +17 -0
  179. package/dist/server/services/builders/filters/operators/not-in.js.map +1 -0
  180. package/dist/server/services/builders/filters/operators/not-in.mjs +15 -0
  181. package/dist/server/services/builders/filters/operators/not-in.mjs.map +1 -0
  182. package/dist/server/services/builders/filters/operators/not-null.js +13 -0
  183. package/dist/server/services/builders/filters/operators/not-null.js.map +1 -0
  184. package/dist/server/services/builders/filters/operators/not-null.mjs +11 -0
  185. package/dist/server/services/builders/filters/operators/not-null.mjs.map +1 -0
  186. package/dist/server/services/builders/filters/operators/not.js +24 -0
  187. package/dist/server/services/builders/filters/operators/not.js.map +1 -0
  188. package/dist/server/services/builders/filters/operators/not.mjs +22 -0
  189. package/dist/server/services/builders/filters/operators/not.mjs.map +1 -0
  190. package/dist/server/services/builders/filters/operators/null.js +13 -0
  191. package/dist/server/services/builders/filters/operators/null.js.map +1 -0
  192. package/dist/server/services/builders/filters/operators/null.mjs +11 -0
  193. package/dist/server/services/builders/filters/operators/null.mjs.map +1 -0
  194. package/dist/server/services/builders/filters/operators/or.js +17 -0
  195. package/dist/server/services/builders/filters/operators/or.js.map +1 -0
  196. package/dist/server/services/builders/filters/operators/or.mjs +15 -0
  197. package/dist/server/services/builders/filters/operators/or.mjs.map +1 -0
  198. package/dist/server/services/builders/filters/operators/starts-with.js +15 -0
  199. package/dist/server/services/builders/filters/operators/starts-with.js.map +1 -0
  200. package/dist/server/services/builders/filters/operators/starts-with.mjs +13 -0
  201. package/dist/server/services/builders/filters/operators/starts-with.mjs.map +1 -0
  202. package/dist/server/services/builders/generic-morph.js +38 -0
  203. package/dist/server/services/builders/generic-morph.js.map +1 -0
  204. package/dist/server/services/builders/generic-morph.mjs +36 -0
  205. package/dist/server/services/builders/generic-morph.mjs.map +1 -0
  206. package/dist/server/services/builders/index.js +75 -0
  207. package/dist/server/services/builders/index.js.map +1 -0
  208. package/dist/server/services/builders/index.mjs +73 -0
  209. package/dist/server/services/builders/index.mjs.map +1 -0
  210. package/dist/server/services/builders/input.js +89 -0
  211. package/dist/server/services/builders/input.js.map +1 -0
  212. package/dist/server/services/builders/input.mjs +87 -0
  213. package/dist/server/services/builders/input.mjs.map +1 -0
  214. package/dist/server/services/builders/mutations/collection-type.js +155 -0
  215. package/dist/server/services/builders/mutations/collection-type.js.map +1 -0
  216. package/dist/server/services/builders/mutations/collection-type.mjs +153 -0
  217. package/dist/server/services/builders/mutations/collection-type.mjs.map +1 -0
  218. package/dist/server/services/builders/mutations/index.js +12 -0
  219. package/dist/server/services/builders/mutations/index.js.map +1 -0
  220. package/dist/server/services/builders/mutations/index.mjs +10 -0
  221. package/dist/server/services/builders/mutations/index.mjs.map +1 -0
  222. package/dist/server/services/builders/mutations/single-type.js +123 -0
  223. package/dist/server/services/builders/mutations/single-type.js.map +1 -0
  224. package/dist/server/services/builders/mutations/single-type.mjs +121 -0
  225. package/dist/server/services/builders/mutations/single-type.mjs.map +1 -0
  226. package/dist/server/services/builders/queries/collection-type.js +152 -0
  227. package/dist/server/services/builders/queries/collection-type.js.map +1 -0
  228. package/dist/server/services/builders/queries/collection-type.mjs +150 -0
  229. package/dist/server/services/builders/queries/collection-type.mjs.map +1 -0
  230. package/dist/server/services/builders/queries/index.js +12 -0
  231. package/dist/server/services/builders/queries/index.js.map +1 -0
  232. package/dist/server/services/builders/queries/index.mjs +10 -0
  233. package/dist/server/services/builders/queries/index.mjs.map +1 -0
  234. package/dist/server/services/builders/queries/single-type.js +70 -0
  235. package/dist/server/services/builders/queries/single-type.js.map +1 -0
  236. package/dist/server/services/builders/queries/single-type.mjs +68 -0
  237. package/dist/server/services/builders/queries/single-type.mjs.map +1 -0
  238. package/dist/server/services/builders/relation-response-collection.js +35 -0
  239. package/dist/server/services/builders/relation-response-collection.js.map +1 -0
  240. package/dist/server/services/builders/relation-response-collection.mjs +33 -0
  241. package/dist/server/services/builders/relation-response-collection.mjs.map +1 -0
  242. package/dist/server/services/builders/resolvers/association.js +141 -0
  243. package/dist/server/services/builders/resolvers/association.js.map +1 -0
  244. package/dist/server/services/builders/resolvers/association.mjs +139 -0
  245. package/dist/server/services/builders/resolvers/association.mjs.map +1 -0
  246. package/dist/server/services/builders/resolvers/component.js +27 -0
  247. package/dist/server/services/builders/resolvers/component.js.map +1 -0
  248. package/dist/server/services/builders/resolvers/component.mjs +25 -0
  249. package/dist/server/services/builders/resolvers/component.mjs.map +1 -0
  250. package/dist/server/services/builders/resolvers/dynamic-zone.js +12 -0
  251. package/dist/server/services/builders/resolvers/dynamic-zone.js.map +1 -0
  252. package/dist/server/services/builders/resolvers/dynamic-zone.mjs +10 -0
  253. package/dist/server/services/builders/resolvers/dynamic-zone.mjs.map +1 -0
  254. package/dist/server/services/builders/resolvers/index.js +20 -0
  255. package/dist/server/services/builders/resolvers/index.js.map +1 -0
  256. package/dist/server/services/builders/resolvers/index.mjs +18 -0
  257. package/dist/server/services/builders/resolvers/index.mjs.map +1 -0
  258. package/dist/server/services/builders/resolvers/merge-publication-args.js +23 -0
  259. package/dist/server/services/builders/resolvers/merge-publication-args.js.map +1 -0
  260. package/dist/server/services/builders/resolvers/merge-publication-args.mjs +21 -0
  261. package/dist/server/services/builders/resolvers/merge-publication-args.mjs.map +1 -0
  262. package/dist/server/services/builders/resolvers/pagination.js +40 -0
  263. package/dist/server/services/builders/resolvers/pagination.js.map +1 -0
  264. package/dist/server/services/builders/resolvers/pagination.mjs +38 -0
  265. package/dist/server/services/builders/resolvers/pagination.mjs.map +1 -0
  266. package/dist/server/services/builders/resolvers/query.js +62 -0
  267. package/dist/server/services/builders/resolvers/query.js.map +1 -0
  268. package/dist/server/services/builders/resolvers/query.mjs +60 -0
  269. package/dist/server/services/builders/resolvers/query.mjs.map +1 -0
  270. package/dist/server/services/builders/response-collection.js +50 -0
  271. package/dist/server/services/builders/response-collection.js.map +1 -0
  272. package/dist/server/services/builders/response-collection.mjs +48 -0
  273. package/dist/server/services/builders/response-collection.mjs.map +1 -0
  274. package/dist/server/services/builders/response.js +28 -0
  275. package/dist/server/services/builders/response.js.map +1 -0
  276. package/dist/server/services/builders/response.mjs +26 -0
  277. package/dist/server/services/builders/response.mjs.map +1 -0
  278. package/dist/server/services/builders/type.js +345 -0
  279. package/dist/server/services/builders/type.js.map +1 -0
  280. package/dist/server/services/builders/type.mjs +343 -0
  281. package/dist/server/services/builders/type.mjs.map +1 -0
  282. package/dist/server/services/builders/utils.js +132 -0
  283. package/dist/server/services/builders/utils.js.map +1 -0
  284. package/dist/server/services/builders/utils.mjs +130 -0
  285. package/dist/server/services/builders/utils.mjs.map +1 -0
  286. package/dist/server/services/constants.js +141 -0
  287. package/dist/server/services/constants.js.map +1 -0
  288. package/dist/server/services/constants.mjs +139 -0
  289. package/dist/server/services/constants.mjs.map +1 -0
  290. package/dist/server/services/content-api/index.js +198 -0
  291. package/dist/server/services/content-api/index.js.map +1 -0
  292. package/dist/server/services/content-api/index.mjs +196 -0
  293. package/dist/server/services/content-api/index.mjs.map +1 -0
  294. package/dist/server/services/content-api/policy.js +54 -0
  295. package/dist/server/services/content-api/policy.js.map +1 -0
  296. package/dist/server/services/content-api/policy.mjs +52 -0
  297. package/dist/server/services/content-api/policy.mjs.map +1 -0
  298. package/dist/server/services/content-api/register-functions/collection-type.js +41 -0
  299. package/dist/server/services/content-api/register-functions/collection-type.js.map +1 -0
  300. package/dist/server/services/content-api/register-functions/collection-type.mjs +39 -0
  301. package/dist/server/services/content-api/register-functions/collection-type.mjs.map +1 -0
  302. package/dist/server/services/content-api/register-functions/component.js +16 -0
  303. package/dist/server/services/content-api/register-functions/component.js.map +1 -0
  304. package/dist/server/services/content-api/register-functions/component.mjs +14 -0
  305. package/dist/server/services/content-api/register-functions/component.mjs.map +1 -0
  306. package/dist/server/services/content-api/register-functions/dynamic-zones.js +31 -0
  307. package/dist/server/services/content-api/register-functions/dynamic-zones.js.map +1 -0
  308. package/dist/server/services/content-api/register-functions/dynamic-zones.mjs +29 -0
  309. package/dist/server/services/content-api/register-functions/dynamic-zones.mjs.map +1 -0
  310. package/dist/server/services/content-api/register-functions/enums.js +23 -0
  311. package/dist/server/services/content-api/register-functions/enums.js.map +1 -0
  312. package/dist/server/services/content-api/register-functions/enums.mjs +21 -0
  313. package/dist/server/services/content-api/register-functions/enums.mjs.map +1 -0
  314. package/dist/server/services/content-api/register-functions/filters.js +16 -0
  315. package/dist/server/services/content-api/register-functions/filters.js.map +1 -0
  316. package/dist/server/services/content-api/register-functions/filters.mjs +14 -0
  317. package/dist/server/services/content-api/register-functions/filters.mjs.map +1 -0
  318. package/dist/server/services/content-api/register-functions/inputs.js +17 -0
  319. package/dist/server/services/content-api/register-functions/inputs.js.map +1 -0
  320. package/dist/server/services/content-api/register-functions/inputs.mjs +15 -0
  321. package/dist/server/services/content-api/register-functions/inputs.mjs.map +1 -0
  322. package/dist/server/services/content-api/register-functions/internals.js +16 -0
  323. package/dist/server/services/content-api/register-functions/internals.js.map +1 -0
  324. package/dist/server/services/content-api/register-functions/internals.mjs +14 -0
  325. package/dist/server/services/content-api/register-functions/internals.mjs.map +1 -0
  326. package/dist/server/services/content-api/register-functions/polymorphic.js +49 -0
  327. package/dist/server/services/content-api/register-functions/polymorphic.js.map +1 -0
  328. package/dist/server/services/content-api/register-functions/polymorphic.mjs +47 -0
  329. package/dist/server/services/content-api/register-functions/polymorphic.mjs.map +1 -0
  330. package/dist/server/services/content-api/register-functions/scalars.js +15 -0
  331. package/dist/server/services/content-api/register-functions/scalars.js.map +1 -0
  332. package/dist/server/services/content-api/register-functions/scalars.mjs +13 -0
  333. package/dist/server/services/content-api/register-functions/scalars.mjs.map +1 -0
  334. package/dist/server/services/content-api/register-functions/single-type.js +41 -0
  335. package/dist/server/services/content-api/register-functions/single-type.js.map +1 -0
  336. package/dist/server/services/content-api/register-functions/single-type.mjs +39 -0
  337. package/dist/server/services/content-api/register-functions/single-type.mjs.map +1 -0
  338. package/dist/server/services/content-api/wrap-resolvers.js +119 -0
  339. package/dist/server/services/content-api/wrap-resolvers.js.map +1 -0
  340. package/dist/server/services/content-api/wrap-resolvers.mjs +117 -0
  341. package/dist/server/services/content-api/wrap-resolvers.mjs.map +1 -0
  342. package/dist/server/services/extension/extension.js +85 -0
  343. package/dist/server/services/extension/extension.js.map +1 -0
  344. package/dist/server/services/extension/extension.mjs +63 -0
  345. package/dist/server/services/extension/extension.mjs.map +1 -0
  346. package/dist/server/services/extension/index.js +8 -0
  347. package/dist/server/services/extension/index.js.map +1 -0
  348. package/dist/server/services/extension/index.mjs +6 -0
  349. package/dist/server/services/extension/index.mjs.map +1 -0
  350. package/dist/server/services/extension/shadow-crud-manager.js +121 -0
  351. package/dist/server/services/extension/shadow-crud-manager.js.map +1 -0
  352. package/dist/server/services/extension/shadow-crud-manager.mjs +119 -0
  353. package/dist/server/services/extension/shadow-crud-manager.mjs.map +1 -0
  354. package/dist/server/services/format/index.js +10 -0
  355. package/dist/server/services/format/index.js.map +1 -0
  356. package/dist/server/services/format/index.mjs +8 -0
  357. package/dist/server/services/format/index.mjs.map +1 -0
  358. package/dist/server/services/format/return-types.js +27 -0
  359. package/dist/server/services/format/return-types.js.map +1 -0
  360. package/dist/server/services/format/return-types.mjs +25 -0
  361. package/dist/server/services/format/return-types.mjs.map +1 -0
  362. package/dist/server/services/index.js +24 -0
  363. package/dist/server/services/index.js.map +1 -0
  364. package/dist/server/services/index.mjs +22 -0
  365. package/dist/server/services/index.mjs.map +1 -0
  366. package/dist/server/services/internals/args/has-published-version.js +11 -0
  367. package/dist/server/services/internals/args/has-published-version.js.map +1 -0
  368. package/dist/server/services/internals/args/has-published-version.mjs +9 -0
  369. package/dist/server/services/internals/args/has-published-version.mjs.map +1 -0
  370. package/dist/server/services/internals/args/index.js +18 -0
  371. package/dist/server/services/internals/args/index.js.map +1 -0
  372. package/dist/server/services/internals/args/index.mjs +16 -0
  373. package/dist/server/services/internals/args/index.mjs.map +1 -0
  374. package/dist/server/services/internals/args/pagination.js +20 -0
  375. package/dist/server/services/internals/args/pagination.js.map +1 -0
  376. package/dist/server/services/internals/args/pagination.mjs +18 -0
  377. package/dist/server/services/internals/args/pagination.mjs.map +1 -0
  378. package/dist/server/services/internals/args/publication-filter.js +13 -0
  379. package/dist/server/services/internals/args/publication-filter.js.map +1 -0
  380. package/dist/server/services/internals/args/publication-filter.mjs +11 -0
  381. package/dist/server/services/internals/args/publication-filter.mjs.map +1 -0
  382. package/dist/server/services/internals/args/publication-status.js +14 -0
  383. package/dist/server/services/internals/args/publication-status.js.map +1 -0
  384. package/dist/server/services/internals/args/publication-status.mjs +12 -0
  385. package/dist/server/services/internals/args/publication-status.mjs.map +1 -0
  386. package/dist/server/services/internals/args/sort.js +11 -0
  387. package/dist/server/services/internals/args/sort.js.map +1 -0
  388. package/dist/server/services/internals/args/sort.mjs +9 -0
  389. package/dist/server/services/internals/args/sort.mjs.map +1 -0
  390. package/dist/server/services/internals/helpers/get-enabled-scalars.js +13 -0
  391. package/dist/server/services/internals/helpers/get-enabled-scalars.js.map +1 -0
  392. package/dist/server/services/internals/helpers/get-enabled-scalars.mjs +11 -0
  393. package/dist/server/services/internals/helpers/get-enabled-scalars.mjs.map +1 -0
  394. package/dist/server/services/internals/helpers/index.js +10 -0
  395. package/dist/server/services/internals/helpers/index.js.map +1 -0
  396. package/dist/server/services/internals/helpers/index.mjs +8 -0
  397. package/dist/server/services/internals/helpers/index.mjs.map +1 -0
  398. package/dist/server/services/internals/index.js +16 -0
  399. package/dist/server/services/internals/index.js.map +1 -0
  400. package/dist/server/services/internals/index.mjs +14 -0
  401. package/dist/server/services/internals/index.mjs.map +1 -0
  402. package/dist/server/services/internals/scalars/date.js +18 -0
  403. package/dist/server/services/internals/scalars/date.js.map +1 -0
  404. package/dist/server/services/internals/scalars/date.mjs +15 -0
  405. package/dist/server/services/internals/scalars/date.mjs.map +1 -0
  406. package/dist/server/services/internals/scalars/index.js +17 -0
  407. package/dist/server/services/internals/scalars/index.js.map +1 -0
  408. package/dist/server/services/internals/scalars/index.mjs +15 -0
  409. package/dist/server/services/internals/scalars/index.mjs.map +1 -0
  410. package/dist/server/services/internals/scalars/time.js +38 -0
  411. package/dist/server/services/internals/scalars/time.js.map +1 -0
  412. package/dist/server/services/internals/scalars/time.mjs +36 -0
  413. package/dist/server/services/internals/scalars/time.mjs.map +1 -0
  414. package/dist/server/services/internals/types/delete-mutation-response.js +18 -0
  415. package/dist/server/services/internals/types/delete-mutation-response.js.map +1 -0
  416. package/dist/server/services/internals/types/delete-mutation-response.mjs +16 -0
  417. package/dist/server/services/internals/types/delete-mutation-response.mjs.map +1 -0
  418. package/dist/server/services/internals/types/error.js +32 -0
  419. package/dist/server/services/internals/types/error.js.map +1 -0
  420. package/dist/server/services/internals/types/error.mjs +30 -0
  421. package/dist/server/services/internals/types/error.mjs.map +1 -0
  422. package/dist/server/services/internals/types/filters.js +35 -0
  423. package/dist/server/services/internals/types/filters.js.map +1 -0
  424. package/dist/server/services/internals/types/filters.mjs +33 -0
  425. package/dist/server/services/internals/types/filters.mjs.map +1 -0
  426. package/dist/server/services/internals/types/index.js +32 -0
  427. package/dist/server/services/internals/types/index.js.map +1 -0
  428. package/dist/server/services/internals/types/index.mjs +30 -0
  429. package/dist/server/services/internals/types/index.mjs.map +1 -0
  430. package/dist/server/services/internals/types/pagination.js +24 -0
  431. package/dist/server/services/internals/types/pagination.js.map +1 -0
  432. package/dist/server/services/internals/types/pagination.mjs +22 -0
  433. package/dist/server/services/internals/types/pagination.mjs.map +1 -0
  434. package/dist/server/services/internals/types/publication-filter.js +25 -0
  435. package/dist/server/services/internals/types/publication-filter.js.map +1 -0
  436. package/dist/server/services/internals/types/publication-filter.mjs +23 -0
  437. package/dist/server/services/internals/types/publication-filter.mjs.map +1 -0
  438. package/dist/server/services/internals/types/publication-status.js +22 -0
  439. package/dist/server/services/internals/types/publication-status.js.map +1 -0
  440. package/dist/server/services/internals/types/publication-status.mjs +20 -0
  441. package/dist/server/services/internals/types/publication-status.mjs.map +1 -0
  442. package/dist/server/services/internals/types/response-collection-meta.js +27 -0
  443. package/dist/server/services/internals/types/response-collection-meta.js.map +1 -0
  444. package/dist/server/services/internals/types/response-collection-meta.mjs +25 -0
  445. package/dist/server/services/internals/types/response-collection-meta.mjs.map +1 -0
  446. package/dist/server/services/type-registry.js +81 -0
  447. package/dist/server/services/type-registry.js.map +1 -0
  448. package/dist/server/services/type-registry.mjs +79 -0
  449. package/dist/server/services/type-registry.mjs.map +1 -0
  450. package/dist/server/services/utils/attributes.js +65 -0
  451. package/dist/server/services/utils/attributes.js.map +1 -0
  452. package/dist/server/services/utils/attributes.mjs +63 -0
  453. package/dist/server/services/utils/attributes.mjs.map +1 -0
  454. package/dist/server/services/utils/index.js +16 -0
  455. package/dist/server/services/utils/index.js.map +1 -0
  456. package/dist/server/services/utils/index.mjs +14 -0
  457. package/dist/server/services/utils/index.mjs.map +1 -0
  458. package/dist/server/services/utils/mappers/entity-to-response-entity.js +16 -0
  459. package/dist/server/services/utils/mappers/entity-to-response-entity.js.map +1 -0
  460. package/dist/server/services/utils/mappers/entity-to-response-entity.mjs +14 -0
  461. package/dist/server/services/utils/mappers/entity-to-response-entity.mjs.map +1 -0
  462. package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.js +95 -0
  463. package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.js.map +1 -0
  464. package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.mjs +93 -0
  465. package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.mjs.map +1 -0
  466. package/dist/server/services/utils/mappers/graphql-scalar-to-operators.js +15 -0
  467. package/dist/server/services/utils/mappers/graphql-scalar-to-operators.js.map +1 -0
  468. package/dist/server/services/utils/mappers/graphql-scalar-to-operators.mjs +13 -0
  469. package/dist/server/services/utils/mappers/graphql-scalar-to-operators.mjs.map +1 -0
  470. package/dist/server/services/utils/mappers/index.js +16 -0
  471. package/dist/server/services/utils/mappers/index.js.map +1 -0
  472. package/dist/server/services/utils/mappers/index.mjs +14 -0
  473. package/dist/server/services/utils/mappers/index.mjs.map +1 -0
  474. package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.js +23 -0
  475. package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.js.map +1 -0
  476. package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.mjs +21 -0
  477. package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.mjs.map +1 -0
  478. package/dist/server/services/utils/naming.js +187 -0
  479. package/dist/server/services/utils/naming.js.map +1 -0
  480. package/dist/server/services/utils/naming.mjs +185 -0
  481. package/dist/server/services/utils/naming.mjs.map +1 -0
  482. package/dist/server/services/utils/playground.js +19 -0
  483. package/dist/server/services/utils/playground.js.map +1 -0
  484. package/dist/server/services/utils/playground.mjs +17 -0
  485. package/dist/server/services/utils/playground.mjs.map +1 -0
  486. package/dist/server/src/bootstrap.d.ts +7 -0
  487. package/dist/server/src/bootstrap.d.ts.map +1 -1
  488. package/dist/server/src/index.d.ts +35 -33
  489. package/dist/server/src/index.d.ts.map +1 -1
  490. package/dist/server/src/services/builders/dynamic-zones.d.ts.map +1 -1
  491. package/dist/server/src/services/builders/entity.d.ts.map +1 -1
  492. package/dist/server/src/services/builders/enums.d.ts.map +1 -1
  493. package/dist/server/src/services/builders/filters/content-type.d.ts.map +1 -1
  494. package/dist/server/src/services/builders/filters/index.d.ts.map +1 -1
  495. package/dist/server/src/services/builders/filters/operators/and.d.ts.map +1 -1
  496. package/dist/server/src/services/builders/filters/operators/between.d.ts.map +1 -1
  497. package/dist/server/src/services/builders/filters/operators/contains.d.ts.map +1 -1
  498. package/dist/server/src/services/builders/filters/operators/containsi.d.ts.map +1 -1
  499. package/dist/server/src/services/builders/filters/operators/ends-with.d.ts.map +1 -1
  500. package/dist/server/src/services/builders/filters/operators/eq.d.ts.map +1 -1
  501. package/dist/server/src/services/builders/filters/operators/eqi.d.ts.map +1 -1
  502. package/dist/server/src/services/builders/filters/operators/gt.d.ts.map +1 -1
  503. package/dist/server/src/services/builders/filters/operators/gte.d.ts.map +1 -1
  504. package/dist/server/src/services/builders/filters/operators/in.d.ts.map +1 -1
  505. package/dist/server/src/services/builders/filters/operators/index.d.ts +0 -1
  506. package/dist/server/src/services/builders/filters/operators/index.d.ts.map +1 -1
  507. package/dist/server/src/services/builders/filters/operators/lt.d.ts.map +1 -1
  508. package/dist/server/src/services/builders/filters/operators/lte.d.ts.map +1 -1
  509. package/dist/server/src/services/builders/filters/operators/ne.d.ts.map +1 -1
  510. package/dist/server/src/services/builders/filters/operators/nei.d.ts.map +1 -1
  511. package/dist/server/src/services/builders/filters/operators/not-contains.d.ts.map +1 -1
  512. package/dist/server/src/services/builders/filters/operators/not-containsi.d.ts.map +1 -1
  513. package/dist/server/src/services/builders/filters/operators/not-in.d.ts.map +1 -1
  514. package/dist/server/src/services/builders/filters/operators/not-null.d.ts.map +1 -1
  515. package/dist/server/src/services/builders/filters/operators/not.d.ts.map +1 -1
  516. package/dist/server/src/services/builders/filters/operators/null.d.ts.map +1 -1
  517. package/dist/server/src/services/builders/filters/operators/or.d.ts.map +1 -1
  518. package/dist/server/src/services/builders/filters/operators/starts-with.d.ts.map +1 -1
  519. package/dist/server/src/services/builders/generic-morph.d.ts.map +1 -1
  520. package/dist/server/src/services/builders/index.d.ts +7 -14
  521. package/dist/server/src/services/builders/index.d.ts.map +1 -1
  522. package/dist/server/src/services/builders/input.d.ts.map +1 -1
  523. package/dist/server/src/services/builders/mutations/collection-type.d.ts.map +1 -1
  524. package/dist/server/src/services/builders/mutations/index.d.ts.map +1 -1
  525. package/dist/server/src/services/builders/mutations/single-type.d.ts.map +1 -1
  526. package/dist/server/src/services/builders/queries/collection-type.d.ts.map +1 -1
  527. package/dist/server/src/services/builders/queries/index.d.ts.map +1 -1
  528. package/dist/server/src/services/builders/queries/single-type.d.ts.map +1 -1
  529. package/dist/server/src/services/builders/relation-response-collection.d.ts.map +1 -1
  530. package/dist/server/src/services/builders/resolvers/association.d.ts +1 -1
  531. package/dist/server/src/services/builders/resolvers/association.d.ts.map +1 -1
  532. package/dist/server/src/services/builders/resolvers/component.d.ts.map +1 -1
  533. package/dist/server/src/services/builders/resolvers/dynamic-zone.d.ts.map +1 -1
  534. package/dist/server/src/services/builders/resolvers/index.d.ts +5 -5
  535. package/dist/server/src/services/builders/resolvers/index.d.ts.map +1 -1
  536. package/dist/server/src/services/builders/resolvers/merge-publication-args.d.ts +9 -0
  537. package/dist/server/src/services/builders/resolvers/merge-publication-args.d.ts.map +1 -0
  538. package/dist/server/src/services/builders/resolvers/pagination.d.ts.map +1 -1
  539. package/dist/server/src/services/builders/resolvers/query.d.ts.map +1 -1
  540. package/dist/server/src/services/builders/response-collection.d.ts.map +1 -1
  541. package/dist/server/src/services/builders/response.d.ts.map +1 -1
  542. package/dist/server/src/services/builders/type.d.ts.map +1 -1
  543. package/dist/server/src/services/builders/utils.d.ts +4 -11
  544. package/dist/server/src/services/builders/utils.d.ts.map +1 -1
  545. package/dist/server/src/services/constants.d.ts +1 -0
  546. package/dist/server/src/services/constants.d.ts.map +1 -1
  547. package/dist/server/src/services/content-api/index.d.ts +2 -0
  548. package/dist/server/src/services/content-api/index.d.ts.map +1 -1
  549. package/dist/server/src/services/content-api/policy.d.ts.map +1 -1
  550. package/dist/server/src/services/content-api/register-functions/collection-type.d.ts.map +1 -1
  551. package/dist/server/src/services/content-api/register-functions/component.d.ts.map +1 -1
  552. package/dist/server/src/services/content-api/register-functions/dynamic-zones.d.ts.map +1 -1
  553. package/dist/server/src/services/content-api/register-functions/enums.d.ts.map +1 -1
  554. package/dist/server/src/services/content-api/register-functions/filters.d.ts.map +1 -1
  555. package/dist/server/src/services/content-api/register-functions/inputs.d.ts.map +1 -1
  556. package/dist/server/src/services/content-api/register-functions/internals.d.ts.map +1 -1
  557. package/dist/server/src/services/content-api/register-functions/polymorphic.d.ts.map +1 -1
  558. package/dist/server/src/services/content-api/register-functions/scalars.d.ts.map +1 -1
  559. package/dist/server/src/services/content-api/register-functions/single-type.d.ts.map +1 -1
  560. package/dist/server/src/services/content-api/wrap-resolvers.d.ts.map +1 -1
  561. package/dist/server/src/services/extension/extension.d.ts +10 -10
  562. package/dist/server/src/services/extension/extension.d.ts.map +1 -1
  563. package/dist/server/src/services/extension/shadow-crud-manager.d.ts +9 -9
  564. package/dist/server/src/services/extension/shadow-crud-manager.d.ts.map +1 -1
  565. package/dist/server/src/services/index.d.ts +35 -33
  566. package/dist/server/src/services/index.d.ts.map +1 -1
  567. package/dist/server/src/services/internals/args/has-published-version.d.ts +7 -0
  568. package/dist/server/src/services/internals/args/has-published-version.d.ts.map +1 -0
  569. package/dist/server/src/services/internals/args/index.d.ts +3 -0
  570. package/dist/server/src/services/internals/args/index.d.ts.map +1 -1
  571. package/dist/server/src/services/internals/args/publication-filter.d.ts +4 -0
  572. package/dist/server/src/services/internals/args/publication-filter.d.ts.map +1 -0
  573. package/dist/server/src/services/internals/args/publication-status.d.ts.map +1 -1
  574. package/dist/server/src/services/internals/helpers/get-enabled-scalars.d.ts.map +1 -1
  575. package/dist/server/src/services/internals/helpers/index.d.ts.map +1 -1
  576. package/dist/server/src/services/internals/index.d.ts +7 -0
  577. package/dist/server/src/services/internals/index.d.ts.map +1 -1
  578. package/dist/server/src/services/internals/types/delete-mutation-response.d.ts.map +1 -1
  579. package/dist/server/src/services/internals/types/error.d.ts.map +1 -1
  580. package/dist/server/src/services/internals/types/filters.d.ts.map +1 -1
  581. package/dist/server/src/services/internals/types/index.d.ts +5 -0
  582. package/dist/server/src/services/internals/types/index.d.ts.map +1 -1
  583. package/dist/server/src/services/internals/types/pagination.d.ts.map +1 -1
  584. package/dist/server/src/services/internals/types/publication-filter.d.ts +6 -0
  585. package/dist/server/src/services/internals/types/publication-filter.d.ts.map +1 -0
  586. package/dist/server/src/services/internals/types/publication-status.d.ts.map +1 -1
  587. package/dist/server/src/services/internals/types/response-collection-meta.d.ts.map +1 -1
  588. package/dist/server/src/services/type-registry.d.ts.map +1 -1
  589. package/dist/server/src/services/utils/attributes.d.ts.map +1 -1
  590. package/dist/server/src/services/utils/index.d.ts +8 -9
  591. package/dist/server/src/services/utils/index.d.ts.map +1 -1
  592. package/dist/server/src/services/utils/mappers/entity-to-response-entity.d.ts +1 -3
  593. package/dist/server/src/services/utils/mappers/entity-to-response-entity.d.ts.map +1 -1
  594. package/dist/server/src/services/utils/mappers/graphql-filters-to-strapi-query.d.ts.map +1 -1
  595. package/dist/server/src/services/utils/mappers/graphql-scalar-to-operators.d.ts.map +1 -1
  596. package/dist/server/src/services/utils/mappers/index.d.ts +1 -3
  597. package/dist/server/src/services/utils/mappers/index.d.ts.map +1 -1
  598. package/dist/server/src/services/utils/mappers/strapi-scalar-to-graphql-scalar.d.ts.map +1 -1
  599. package/dist/server/src/services/utils/naming.d.ts +3 -3
  600. package/dist/server/src/services/utils/naming.d.ts.map +1 -1
  601. package/dist/server/src/services/utils/playground.d.ts +1 -0
  602. package/dist/server/src/services/utils/playground.d.ts.map +1 -1
  603. package/package.json +30 -22
  604. package/dist/_chunks/dk-BbJCmDw6.mjs +0 -9
  605. package/dist/_chunks/dk-BbJCmDw6.mjs.map +0 -1
  606. package/dist/_chunks/dk-C9NcSzyg.js +0 -9
  607. package/dist/_chunks/dk-C9NcSzyg.js.map +0 -1
  608. package/dist/_chunks/en-BiKpmhCU.js +0 -9
  609. package/dist/_chunks/en-BiKpmhCU.js.map +0 -1
  610. package/dist/_chunks/en-YIQYYlvv.mjs +0 -9
  611. package/dist/_chunks/en-YIQYYlvv.mjs.map +0 -1
  612. package/dist/_chunks/es-BbsZ5Fh0.mjs +0 -9
  613. package/dist/_chunks/es-BbsZ5Fh0.mjs.map +0 -1
  614. package/dist/_chunks/es-DE22V9D4.js +0 -9
  615. package/dist/_chunks/es-DE22V9D4.js.map +0 -1
  616. package/dist/_chunks/fr-BgqFw7G8.mjs +0 -9
  617. package/dist/_chunks/fr-BgqFw7G8.mjs.map +0 -1
  618. package/dist/_chunks/fr-Ca-HowfR.js +0 -9
  619. package/dist/_chunks/fr-Ca-HowfR.js.map +0 -1
  620. package/dist/_chunks/pl-CbET57Jb.mjs +0 -9
  621. package/dist/_chunks/pl-CbET57Jb.mjs.map +0 -1
  622. package/dist/_chunks/pl-DVnJGR87.js +0 -9
  623. package/dist/_chunks/pl-DVnJGR87.js.map +0 -1
  624. package/dist/_chunks/ru-BFz40YSA.mjs +0 -9
  625. package/dist/_chunks/ru-BFz40YSA.mjs.map +0 -1
  626. package/dist/_chunks/ru-o4zaP02C.js +0 -9
  627. package/dist/_chunks/ru-o4zaP02C.js.map +0 -1
  628. package/dist/_chunks/sv-9qK4y9fb.js +0 -9
  629. package/dist/_chunks/sv-9qK4y9fb.js.map +0 -1
  630. package/dist/_chunks/sv-CNYcKBn2.mjs +0 -9
  631. package/dist/_chunks/sv-CNYcKBn2.mjs.map +0 -1
  632. package/dist/_chunks/tr-H1PrR6RM.mjs +0 -9
  633. package/dist/_chunks/tr-H1PrR6RM.mjs.map +0 -1
  634. package/dist/_chunks/tr-fBBDNMBY.js +0 -9
  635. package/dist/_chunks/tr-fBBDNMBY.js.map +0 -1
  636. package/dist/_chunks/zh-BEh3jejH.mjs +0 -9
  637. package/dist/_chunks/zh-BEh3jejH.mjs.map +0 -1
  638. package/dist/_chunks/zh-CyCKPuL0.js +0 -9
  639. package/dist/_chunks/zh-CyCKPuL0.js.map +0 -1
  640. package/dist/_chunks/zh-Hans-Btuz6Y7W.js +0 -9
  641. package/dist/_chunks/zh-Hans-Btuz6Y7W.js.map +0 -1
  642. package/dist/_chunks/zh-Hans-CRQss50D.mjs +0 -9
  643. package/dist/_chunks/zh-Hans-CRQss50D.mjs.map +0 -1
  644. package/strapi-server.js +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-collection-meta.mjs","sources":["../../../../../server/src/services/internals/types/response-collection-meta.ts"],"sourcesContent":["import { objectType } from 'nexus';\nimport type { Context } from '../../types';\n\nexport default ({ strapi }: Context) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const { RESPONSE_COLLECTION_META_TYPE_NAME, PAGINATION_TYPE_NAME } = getService('constants');\n\n return {\n /**\n * A shared type definition used in EntitiesResponseCollection\n * to have information about the collection as a whole\n * @type {NexusObjectTypeDef}\n */\n ResponseCollectionMeta: objectType({\n name: RESPONSE_COLLECTION_META_TYPE_NAME,\n\n definition(t) {\n const { resolvePagination } = getService('builders').get('content-api');\n\n t.nonNull.field('pagination', {\n type: PAGINATION_TYPE_NAME,\n resolve: resolvePagination,\n });\n },\n }),\n };\n};\n"],"names":["strapi","service","getService","plugin","RESPONSE_COLLECTION_META_TYPE_NAME","PAGINATION_TYPE_NAME","ResponseCollectionMeta","objectType","name","definition","t","resolvePagination","get","nonNull","field","type","resolve"],"mappings":";;AAGA,kCAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,GAAA;AACjC,IAAA,MAAM,EAAEC,OAAAA,EAASC,UAAU,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;AAE9C,IAAA,MAAM,EAAEC,kCAAkC,EAAEC,oBAAoB,EAAE,GAAGH,UAAAA,CAAW,WAAA,CAAA;IAEhF,OAAO;AACL;;;;AAIC,QACDI,wBAAwBC,UAAAA,CAAW;YACjCC,IAAAA,EAAMJ,kCAAAA;AAENK,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACV,gBAAA,MAAM,EAAEC,iBAAiB,EAAE,GAAGT,UAAAA,CAAW,UAAA,CAAA,CAAYU,GAAG,CAAC,aAAA,CAAA;AAEzDF,gBAAAA,CAAAA,CAAEG,OAAO,CAACC,KAAK,CAAC,YAAA,EAAc;oBAC5BC,IAAAA,EAAMV,oBAAAA;oBACNW,OAAAA,EAASL;AACX,iBAAA,CAAA;AACF,YAAA;AACF,SAAA;AACF,KAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,81 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+ var utils = require('@strapi/utils');
5
+
6
+ const { ApplicationError } = utils.errors;
7
+ /**
8
+ * Create a new type registry
9
+ */ const createTypeRegistry = ()=>{
10
+ const registry = new Map();
11
+ const typeRegistry = {
12
+ /**
13
+ * Register a new type definition
14
+ */ register (name, definition, config = {}) {
15
+ if (registry.has(name)) {
16
+ throw new ApplicationError(`"${name}" has already been registered`);
17
+ }
18
+ registry.set(name, {
19
+ name,
20
+ definition,
21
+ config
22
+ });
23
+ return this;
24
+ },
25
+ /**
26
+ * Register many types definitions at once
27
+ * @param {[string, NexusAcceptedTypeDef][]} definitionsEntries
28
+ * @param {object | function} [config]
29
+ */ registerMany (definitionsEntries, config = {}) {
30
+ for (const [name, definition] of definitionsEntries){
31
+ this.register(name, definition, fp.isFunction(config) ? config(name, definition) : config);
32
+ }
33
+ return this;
34
+ },
35
+ /**
36
+ * Check if the given type name has already been added to the registry
37
+ * @param {string} name
38
+ * @return {boolean}
39
+ */ has (name) {
40
+ return registry.has(name);
41
+ },
42
+ /**
43
+ * Get the type definition for `name`
44
+ * @param {string} name - The name of the type
45
+ */ get (name) {
46
+ return registry.get(name);
47
+ },
48
+ /**
49
+ * Transform and return the registry as an object
50
+ * @return {Object<string, RegisteredTypeDef>}
51
+ */ toObject () {
52
+ return Object.fromEntries(registry.entries());
53
+ },
54
+ /**
55
+ * Return the name of every registered type
56
+ * @return {string[]}
57
+ */ get types () {
58
+ return Array.from(registry.keys());
59
+ },
60
+ /**
61
+ * Return all the registered definitions as an array
62
+ * @return {RegisteredTypeDef[]}
63
+ */ get definitions () {
64
+ return Array.from(registry.values());
65
+ },
66
+ /**
67
+ * Filter and return the types definitions that matches the given predicate
68
+ * @param {function(RegisteredTypeDef): boolean} predicate
69
+ * @return {RegisteredTypeDef[]}
70
+ */ where (predicate) {
71
+ return this.definitions.filter(predicate);
72
+ }
73
+ };
74
+ return typeRegistry;
75
+ };
76
+ var typeRegistry = (()=>({
77
+ new: createTypeRegistry
78
+ }));
79
+
80
+ module.exports = typeRegistry;
81
+ //# sourceMappingURL=type-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-registry.js","sources":["../../../server/src/services/type-registry.ts"],"sourcesContent":["import { isFunction } from 'lodash/fp';\nimport { errors } from '@strapi/utils';\n\nconst { ApplicationError } = errors;\n\nexport type TypeRegistry = {\n register(name: string, definition: any, config?: object): TypeRegistry;\n registerMany(\n definitionsEntries: [string, any][],\n config?: object | ((...args: any[]) => any)\n ): TypeRegistry;\n has(name: string): boolean;\n get(name: string): any;\n toObject(): Record<string, any>;\n types: string[];\n definitions: any[];\n where(predicate: (item: any) => boolean): any[];\n};\n\n/**\n * Create a new type registry\n */\nconst createTypeRegistry = (): TypeRegistry => {\n const registry = new Map();\n\n const typeRegistry: TypeRegistry = {\n /**\n * Register a new type definition\n */\n register(name, definition, config = {}) {\n if (registry.has(name)) {\n throw new ApplicationError(`\"${name}\" has already been registered`);\n }\n\n registry.set(name, { name, definition, config });\n\n return this;\n },\n\n /**\n * Register many types definitions at once\n * @param {[string, NexusAcceptedTypeDef][]} definitionsEntries\n * @param {object | function} [config]\n */\n registerMany(definitionsEntries, config = {}) {\n for (const [name, definition] of definitionsEntries) {\n this.register(name, definition, isFunction(config) ? config(name, definition) : config);\n }\n\n return this;\n },\n\n /**\n * Check if the given type name has already been added to the registry\n * @param {string} name\n * @return {boolean}\n */\n has(name) {\n return registry.has(name);\n },\n\n /**\n * Get the type definition for `name`\n * @param {string} name - The name of the type\n */\n get(name) {\n return registry.get(name);\n },\n\n /**\n * Transform and return the registry as an object\n * @return {Object<string, RegisteredTypeDef>}\n */\n toObject() {\n return Object.fromEntries(registry.entries());\n },\n\n /**\n * Return the name of every registered type\n * @return {string[]}\n */\n get types() {\n return Array.from(registry.keys());\n },\n\n /**\n * Return all the registered definitions as an array\n * @return {RegisteredTypeDef[]}\n */\n get definitions() {\n return Array.from(registry.values());\n },\n\n /**\n * Filter and return the types definitions that matches the given predicate\n * @param {function(RegisteredTypeDef): boolean} predicate\n * @return {RegisteredTypeDef[]}\n */\n where(predicate) {\n return this.definitions.filter(predicate);\n },\n };\n\n return typeRegistry;\n};\n\nexport default () => ({\n new: createTypeRegistry,\n});\n"],"names":["ApplicationError","errors","createTypeRegistry","registry","Map","typeRegistry","register","name","definition","config","has","set","registerMany","definitionsEntries","isFunction","get","toObject","Object","fromEntries","entries","types","Array","from","keys","definitions","values","where","predicate","filter","new"],"mappings":";;;;;AAGA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,YAAAA;AAgB7B;;AAEC,IACD,MAAMC,kBAAAA,GAAqB,IAAA;AACzB,IAAA,MAAMC,WAAW,IAAIC,GAAAA,EAAAA;AAErB,IAAA,MAAMC,YAAAA,GAA6B;AACjC;;AAEC,QACDC,UAASC,IAAI,EAAEC,UAAU,EAAEC,MAAAA,GAAS,EAAE,EAAA;YACpC,IAAIN,QAAAA,CAASO,GAAG,CAACH,IAAAA,CAAAA,EAAO;AACtB,gBAAA,MAAM,IAAIP,gBAAAA,CAAiB,CAAC,CAAC,EAAEO,IAAAA,CAAK,6BAA6B,CAAC,CAAA;AACpE,YAAA;YAEAJ,QAAAA,CAASQ,GAAG,CAACJ,IAAAA,EAAM;AAAEA,gBAAAA,IAAAA;AAAMC,gBAAAA,UAAAA;AAAYC,gBAAAA;AAAO,aAAA,CAAA;AAE9C,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;;;AAIC,QACDG,YAAAA,CAAAA,CAAaC,kBAAkB,EAAEJ,MAAAA,GAAS,EAAE,EAAA;AAC1C,YAAA,KAAK,MAAM,CAACF,IAAAA,EAAMC,UAAAA,CAAW,IAAIK,kBAAAA,CAAoB;gBACnD,IAAI,CAACP,QAAQ,CAACC,IAAAA,EAAMC,YAAYM,aAAAA,CAAWL,MAAAA,CAAAA,GAAUA,MAAAA,CAAOF,IAAAA,EAAMC,UAAAA,CAAAA,GAAcC,MAAAA,CAAAA;AAClF,YAAA;AAEA,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;;;AAIC,QACDC,KAAIH,IAAI,EAAA;YACN,OAAOJ,QAAAA,CAASO,GAAG,CAACH,IAAAA,CAAAA;AACtB,QAAA,CAAA;AAEA;;;AAGC,QACDQ,KAAIR,IAAI,EAAA;YACN,OAAOJ,QAAAA,CAASY,GAAG,CAACR,IAAAA,CAAAA;AACtB,QAAA,CAAA;AAEA;;;QAIAS,QAAAA,CAAAA,GAAAA;AACE,YAAA,OAAOC,MAAAA,CAAOC,WAAW,CAACf,QAAAA,CAASgB,OAAO,EAAA,CAAA;AAC5C,QAAA,CAAA;AAEA;;;AAGC,QACD,IAAIC,KAAAA,CAAAA,GAAQ;AACV,YAAA,OAAOC,KAAAA,CAAMC,IAAI,CAACnB,QAAAA,CAASoB,IAAI,EAAA,CAAA;AACjC,QAAA,CAAA;AAEA;;;AAGC,QACD,IAAIC,WAAAA,CAAAA,GAAc;AAChB,YAAA,OAAOH,KAAAA,CAAMC,IAAI,CAACnB,QAAAA,CAASsB,MAAM,EAAA,CAAA;AACnC,QAAA,CAAA;AAEA;;;;AAIC,QACDC,OAAMC,SAAS,EAAA;AACb,YAAA,OAAO,IAAI,CAACH,WAAW,CAACI,MAAM,CAACD,SAAAA,CAAAA;AACjC,QAAA;AACF,KAAA;IAEA,OAAOtB,YAAAA;AACT,CAAA;AAEA,mBAAe,CAAA,KAAO;QACpBwB,GAAAA,EAAK3B;AACP,KAAA,CAAC;;;;"}
@@ -0,0 +1,79 @@
1
+ import { isFunction } from 'lodash/fp';
2
+ import { errors } from '@strapi/utils';
3
+
4
+ const { ApplicationError } = errors;
5
+ /**
6
+ * Create a new type registry
7
+ */ const createTypeRegistry = ()=>{
8
+ const registry = new Map();
9
+ const typeRegistry = {
10
+ /**
11
+ * Register a new type definition
12
+ */ register (name, definition, config = {}) {
13
+ if (registry.has(name)) {
14
+ throw new ApplicationError(`"${name}" has already been registered`);
15
+ }
16
+ registry.set(name, {
17
+ name,
18
+ definition,
19
+ config
20
+ });
21
+ return this;
22
+ },
23
+ /**
24
+ * Register many types definitions at once
25
+ * @param {[string, NexusAcceptedTypeDef][]} definitionsEntries
26
+ * @param {object | function} [config]
27
+ */ registerMany (definitionsEntries, config = {}) {
28
+ for (const [name, definition] of definitionsEntries){
29
+ this.register(name, definition, isFunction(config) ? config(name, definition) : config);
30
+ }
31
+ return this;
32
+ },
33
+ /**
34
+ * Check if the given type name has already been added to the registry
35
+ * @param {string} name
36
+ * @return {boolean}
37
+ */ has (name) {
38
+ return registry.has(name);
39
+ },
40
+ /**
41
+ * Get the type definition for `name`
42
+ * @param {string} name - The name of the type
43
+ */ get (name) {
44
+ return registry.get(name);
45
+ },
46
+ /**
47
+ * Transform and return the registry as an object
48
+ * @return {Object<string, RegisteredTypeDef>}
49
+ */ toObject () {
50
+ return Object.fromEntries(registry.entries());
51
+ },
52
+ /**
53
+ * Return the name of every registered type
54
+ * @return {string[]}
55
+ */ get types () {
56
+ return Array.from(registry.keys());
57
+ },
58
+ /**
59
+ * Return all the registered definitions as an array
60
+ * @return {RegisteredTypeDef[]}
61
+ */ get definitions () {
62
+ return Array.from(registry.values());
63
+ },
64
+ /**
65
+ * Filter and return the types definitions that matches the given predicate
66
+ * @param {function(RegisteredTypeDef): boolean} predicate
67
+ * @return {RegisteredTypeDef[]}
68
+ */ where (predicate) {
69
+ return this.definitions.filter(predicate);
70
+ }
71
+ };
72
+ return typeRegistry;
73
+ };
74
+ var typeRegistry = (()=>({
75
+ new: createTypeRegistry
76
+ }));
77
+
78
+ export { typeRegistry as default };
79
+ //# sourceMappingURL=type-registry.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-registry.mjs","sources":["../../../server/src/services/type-registry.ts"],"sourcesContent":["import { isFunction } from 'lodash/fp';\nimport { errors } from '@strapi/utils';\n\nconst { ApplicationError } = errors;\n\nexport type TypeRegistry = {\n register(name: string, definition: any, config?: object): TypeRegistry;\n registerMany(\n definitionsEntries: [string, any][],\n config?: object | ((...args: any[]) => any)\n ): TypeRegistry;\n has(name: string): boolean;\n get(name: string): any;\n toObject(): Record<string, any>;\n types: string[];\n definitions: any[];\n where(predicate: (item: any) => boolean): any[];\n};\n\n/**\n * Create a new type registry\n */\nconst createTypeRegistry = (): TypeRegistry => {\n const registry = new Map();\n\n const typeRegistry: TypeRegistry = {\n /**\n * Register a new type definition\n */\n register(name, definition, config = {}) {\n if (registry.has(name)) {\n throw new ApplicationError(`\"${name}\" has already been registered`);\n }\n\n registry.set(name, { name, definition, config });\n\n return this;\n },\n\n /**\n * Register many types definitions at once\n * @param {[string, NexusAcceptedTypeDef][]} definitionsEntries\n * @param {object | function} [config]\n */\n registerMany(definitionsEntries, config = {}) {\n for (const [name, definition] of definitionsEntries) {\n this.register(name, definition, isFunction(config) ? config(name, definition) : config);\n }\n\n return this;\n },\n\n /**\n * Check if the given type name has already been added to the registry\n * @param {string} name\n * @return {boolean}\n */\n has(name) {\n return registry.has(name);\n },\n\n /**\n * Get the type definition for `name`\n * @param {string} name - The name of the type\n */\n get(name) {\n return registry.get(name);\n },\n\n /**\n * Transform and return the registry as an object\n * @return {Object<string, RegisteredTypeDef>}\n */\n toObject() {\n return Object.fromEntries(registry.entries());\n },\n\n /**\n * Return the name of every registered type\n * @return {string[]}\n */\n get types() {\n return Array.from(registry.keys());\n },\n\n /**\n * Return all the registered definitions as an array\n * @return {RegisteredTypeDef[]}\n */\n get definitions() {\n return Array.from(registry.values());\n },\n\n /**\n * Filter and return the types definitions that matches the given predicate\n * @param {function(RegisteredTypeDef): boolean} predicate\n * @return {RegisteredTypeDef[]}\n */\n where(predicate) {\n return this.definitions.filter(predicate);\n },\n };\n\n return typeRegistry;\n};\n\nexport default () => ({\n new: createTypeRegistry,\n});\n"],"names":["ApplicationError","errors","createTypeRegistry","registry","Map","typeRegistry","register","name","definition","config","has","set","registerMany","definitionsEntries","isFunction","get","toObject","Object","fromEntries","entries","types","Array","from","keys","definitions","values","where","predicate","filter","new"],"mappings":";;;AAGA,MAAM,EAAEA,gBAAgB,EAAE,GAAGC,MAAAA;AAgB7B;;AAEC,IACD,MAAMC,kBAAAA,GAAqB,IAAA;AACzB,IAAA,MAAMC,WAAW,IAAIC,GAAAA,EAAAA;AAErB,IAAA,MAAMC,YAAAA,GAA6B;AACjC;;AAEC,QACDC,UAASC,IAAI,EAAEC,UAAU,EAAEC,MAAAA,GAAS,EAAE,EAAA;YACpC,IAAIN,QAAAA,CAASO,GAAG,CAACH,IAAAA,CAAAA,EAAO;AACtB,gBAAA,MAAM,IAAIP,gBAAAA,CAAiB,CAAC,CAAC,EAAEO,IAAAA,CAAK,6BAA6B,CAAC,CAAA;AACpE,YAAA;YAEAJ,QAAAA,CAASQ,GAAG,CAACJ,IAAAA,EAAM;AAAEA,gBAAAA,IAAAA;AAAMC,gBAAAA,UAAAA;AAAYC,gBAAAA;AAAO,aAAA,CAAA;AAE9C,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;;;AAIC,QACDG,YAAAA,CAAAA,CAAaC,kBAAkB,EAAEJ,MAAAA,GAAS,EAAE,EAAA;AAC1C,YAAA,KAAK,MAAM,CAACF,IAAAA,EAAMC,UAAAA,CAAW,IAAIK,kBAAAA,CAAoB;gBACnD,IAAI,CAACP,QAAQ,CAACC,IAAAA,EAAMC,YAAYM,UAAAA,CAAWL,MAAAA,CAAAA,GAAUA,MAAAA,CAAOF,IAAAA,EAAMC,UAAAA,CAAAA,GAAcC,MAAAA,CAAAA;AAClF,YAAA;AAEA,YAAA,OAAO,IAAI;AACb,QAAA,CAAA;AAEA;;;;AAIC,QACDC,KAAIH,IAAI,EAAA;YACN,OAAOJ,QAAAA,CAASO,GAAG,CAACH,IAAAA,CAAAA;AACtB,QAAA,CAAA;AAEA;;;AAGC,QACDQ,KAAIR,IAAI,EAAA;YACN,OAAOJ,QAAAA,CAASY,GAAG,CAACR,IAAAA,CAAAA;AACtB,QAAA,CAAA;AAEA;;;QAIAS,QAAAA,CAAAA,GAAAA;AACE,YAAA,OAAOC,MAAAA,CAAOC,WAAW,CAACf,QAAAA,CAASgB,OAAO,EAAA,CAAA;AAC5C,QAAA,CAAA;AAEA;;;AAGC,QACD,IAAIC,KAAAA,CAAAA,GAAQ;AACV,YAAA,OAAOC,KAAAA,CAAMC,IAAI,CAACnB,QAAAA,CAASoB,IAAI,EAAA,CAAA;AACjC,QAAA,CAAA;AAEA;;;AAGC,QACD,IAAIC,WAAAA,CAAAA,GAAc;AAChB,YAAA,OAAOH,KAAAA,CAAMC,IAAI,CAACnB,QAAAA,CAASsB,MAAM,EAAA,CAAA;AACnC,QAAA,CAAA;AAEA;;;;AAIC,QACDC,OAAMC,SAAS,EAAA;AACb,YAAA,OAAO,IAAI,CAACH,WAAW,CAACI,MAAM,CAACD,SAAAA,CAAAA;AACjC,QAAA;AACF,KAAA;IAEA,OAAOtB,YAAAA;AACT,CAAA;AAEA,mBAAe,CAAA,KAAO;QACpBwB,GAAAA,EAAK3B;AACP,KAAA,CAAC;;;;"}
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+
5
+ var attributes = (({ strapi })=>{
6
+ /**
7
+ * Check if the given attribute is a Strapi scalar
8
+ * @param {object} attribute
9
+ * @return {boolean}
10
+ */ const isStrapiScalar = (attribute)=>{
11
+ return strapi.plugin('graphql').service('constants').STRAPI_SCALARS.includes(attribute.type);
12
+ };
13
+ /**
14
+ * Check if the given attribute is a GraphQL scalar
15
+ * @param {object} attribute
16
+ * @return {boolean}
17
+ */ const isGraphQLScalar = (attribute)=>{
18
+ return strapi.plugin('graphql').service('constants').GRAPHQL_SCALARS.includes(attribute.type);
19
+ };
20
+ /**
21
+ * Check if the given attribute is a polymorphic relation
22
+ * @param {object} attribute
23
+ * @return {boolean}
24
+ */ const isMorphRelation = (attribute)=>{
25
+ return attribute.type === 'relation' && attribute.relation.includes('morph');
26
+ };
27
+ /**
28
+ * Check if the given attribute is a media
29
+ * @param {object} attribute
30
+ * @return {boolean}
31
+ */ const isMedia = fp.propEq('type', 'media');
32
+ /**
33
+ * Check if the given attribute is a relation
34
+ * @param {object} attribute
35
+ * @return {boolean}
36
+ */ const isRelation = fp.propEq('type', 'relation');
37
+ /**
38
+ * Check if the given attribute is an enum
39
+ * @param {object} attribute
40
+ * @return {boolean}
41
+ */ const isEnumeration = fp.propEq('type', 'enumeration');
42
+ /**
43
+ * Check if the given attribute is a component
44
+ * @param {object} attribute
45
+ * @return {boolean}
46
+ */ const isComponent = fp.propEq('type', 'component');
47
+ /**
48
+ * Check if the given attribute is a dynamic zone
49
+ * @param {object} attribute
50
+ * @return {boolean}
51
+ */ const isDynamicZone = fp.propEq('type', 'dynamiczone');
52
+ return {
53
+ isStrapiScalar,
54
+ isGraphQLScalar,
55
+ isMorphRelation,
56
+ isMedia,
57
+ isRelation,
58
+ isEnumeration,
59
+ isComponent,
60
+ isDynamicZone
61
+ };
62
+ });
63
+
64
+ module.exports = attributes;
65
+ //# sourceMappingURL=attributes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributes.js","sources":["../../../../server/src/services/utils/attributes.ts"],"sourcesContent":["import { propEq } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\nimport type { Context } from '../types';\n\nexport default ({ strapi }: Context) => {\n /**\n * Check if the given attribute is a Strapi scalar\n * @param {object} attribute\n * @return {boolean}\n */\n const isStrapiScalar = (attribute: Schema.Attribute.AnyAttribute) => {\n return strapi.plugin('graphql').service('constants').STRAPI_SCALARS.includes(attribute.type);\n };\n\n /**\n * Check if the given attribute is a GraphQL scalar\n * @param {object} attribute\n * @return {boolean}\n */\n const isGraphQLScalar = (attribute: Schema.Attribute.AnyAttribute) => {\n return strapi.plugin('graphql').service('constants').GRAPHQL_SCALARS.includes(attribute.type);\n };\n\n /**\n * Check if the given attribute is a polymorphic relation\n * @param {object} attribute\n * @return {boolean}\n */\n const isMorphRelation = (attribute: Schema.Attribute.AnyAttribute) => {\n return attribute.type === 'relation' && attribute.relation.includes('morph');\n };\n\n /**\n * Check if the given attribute is a media\n * @param {object} attribute\n * @return {boolean}\n */\n const isMedia = propEq('type', 'media');\n\n /**\n * Check if the given attribute is a relation\n * @param {object} attribute\n * @return {boolean}\n */\n const isRelation = propEq('type', 'relation');\n\n /**\n * Check if the given attribute is an enum\n * @param {object} attribute\n * @return {boolean}\n */\n const isEnumeration = propEq('type', 'enumeration');\n\n /**\n * Check if the given attribute is a component\n * @param {object} attribute\n * @return {boolean}\n */\n const isComponent = propEq('type', 'component');\n\n /**\n * Check if the given attribute is a dynamic zone\n * @param {object} attribute\n * @return {boolean}\n */\n const isDynamicZone = propEq('type', 'dynamiczone');\n\n return {\n isStrapiScalar,\n isGraphQLScalar,\n isMorphRelation,\n isMedia,\n isRelation,\n isEnumeration,\n isComponent,\n isDynamicZone,\n };\n};\n"],"names":["strapi","isStrapiScalar","attribute","plugin","service","STRAPI_SCALARS","includes","type","isGraphQLScalar","GRAPHQL_SCALARS","isMorphRelation","relation","isMedia","propEq","isRelation","isEnumeration","isComponent","isDynamicZone"],"mappings":";;;;AAIA,iBAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,GAAA;AACjC;;;;MAKA,MAAMC,iBAAiB,CAACC,SAAAA,GAAAA;AACtB,QAAA,OAAOF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA,CAAWC,OAAO,CAAC,WAAA,CAAA,CAAaC,cAAc,CAACC,QAAQ,CAACJ,SAAAA,CAAUK,IAAI,CAAA;AAC7F,IAAA,CAAA;AAEA;;;;MAKA,MAAMC,kBAAkB,CAACN,SAAAA,GAAAA;AACvB,QAAA,OAAOF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA,CAAWC,OAAO,CAAC,WAAA,CAAA,CAAaK,eAAe,CAACH,QAAQ,CAACJ,SAAAA,CAAUK,IAAI,CAAA;AAC9F,IAAA,CAAA;AAEA;;;;MAKA,MAAMG,kBAAkB,CAACR,SAAAA,GAAAA;QACvB,OAAOA,SAAAA,CAAUK,IAAI,KAAK,UAAA,IAAcL,UAAUS,QAAQ,CAACL,QAAQ,CAAC,OAAA,CAAA;AACtE,IAAA,CAAA;AAEA;;;;MAKA,MAAMM,OAAAA,GAAUC,SAAAA,CAAO,MAAA,EAAQ,OAAA,CAAA;AAE/B;;;;MAKA,MAAMC,UAAAA,GAAaD,SAAAA,CAAO,MAAA,EAAQ,UAAA,CAAA;AAElC;;;;MAKA,MAAME,aAAAA,GAAgBF,SAAAA,CAAO,MAAA,EAAQ,aAAA,CAAA;AAErC;;;;MAKA,MAAMG,WAAAA,GAAcH,SAAAA,CAAO,MAAA,EAAQ,WAAA,CAAA;AAEnC;;;;MAKA,MAAMI,aAAAA,GAAgBJ,SAAAA,CAAO,MAAA,EAAQ,aAAA,CAAA;IAErC,OAAO;AACLZ,QAAAA,cAAAA;AACAO,QAAAA,eAAAA;AACAE,QAAAA,eAAAA;AACAE,QAAAA,OAAAA;AACAE,QAAAA,UAAAA;AACAC,QAAAA,aAAAA;AACAC,QAAAA,WAAAA;AACAC,QAAAA;AACF,KAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,63 @@
1
+ import { propEq } from 'lodash/fp';
2
+
3
+ var attributes = (({ strapi })=>{
4
+ /**
5
+ * Check if the given attribute is a Strapi scalar
6
+ * @param {object} attribute
7
+ * @return {boolean}
8
+ */ const isStrapiScalar = (attribute)=>{
9
+ return strapi.plugin('graphql').service('constants').STRAPI_SCALARS.includes(attribute.type);
10
+ };
11
+ /**
12
+ * Check if the given attribute is a GraphQL scalar
13
+ * @param {object} attribute
14
+ * @return {boolean}
15
+ */ const isGraphQLScalar = (attribute)=>{
16
+ return strapi.plugin('graphql').service('constants').GRAPHQL_SCALARS.includes(attribute.type);
17
+ };
18
+ /**
19
+ * Check if the given attribute is a polymorphic relation
20
+ * @param {object} attribute
21
+ * @return {boolean}
22
+ */ const isMorphRelation = (attribute)=>{
23
+ return attribute.type === 'relation' && attribute.relation.includes('morph');
24
+ };
25
+ /**
26
+ * Check if the given attribute is a media
27
+ * @param {object} attribute
28
+ * @return {boolean}
29
+ */ const isMedia = propEq('type', 'media');
30
+ /**
31
+ * Check if the given attribute is a relation
32
+ * @param {object} attribute
33
+ * @return {boolean}
34
+ */ const isRelation = propEq('type', 'relation');
35
+ /**
36
+ * Check if the given attribute is an enum
37
+ * @param {object} attribute
38
+ * @return {boolean}
39
+ */ const isEnumeration = propEq('type', 'enumeration');
40
+ /**
41
+ * Check if the given attribute is a component
42
+ * @param {object} attribute
43
+ * @return {boolean}
44
+ */ const isComponent = propEq('type', 'component');
45
+ /**
46
+ * Check if the given attribute is a dynamic zone
47
+ * @param {object} attribute
48
+ * @return {boolean}
49
+ */ const isDynamicZone = propEq('type', 'dynamiczone');
50
+ return {
51
+ isStrapiScalar,
52
+ isGraphQLScalar,
53
+ isMorphRelation,
54
+ isMedia,
55
+ isRelation,
56
+ isEnumeration,
57
+ isComponent,
58
+ isDynamicZone
59
+ };
60
+ });
61
+
62
+ export { attributes as default };
63
+ //# sourceMappingURL=attributes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributes.mjs","sources":["../../../../server/src/services/utils/attributes.ts"],"sourcesContent":["import { propEq } from 'lodash/fp';\nimport type { Schema } from '@strapi/types';\nimport type { Context } from '../types';\n\nexport default ({ strapi }: Context) => {\n /**\n * Check if the given attribute is a Strapi scalar\n * @param {object} attribute\n * @return {boolean}\n */\n const isStrapiScalar = (attribute: Schema.Attribute.AnyAttribute) => {\n return strapi.plugin('graphql').service('constants').STRAPI_SCALARS.includes(attribute.type);\n };\n\n /**\n * Check if the given attribute is a GraphQL scalar\n * @param {object} attribute\n * @return {boolean}\n */\n const isGraphQLScalar = (attribute: Schema.Attribute.AnyAttribute) => {\n return strapi.plugin('graphql').service('constants').GRAPHQL_SCALARS.includes(attribute.type);\n };\n\n /**\n * Check if the given attribute is a polymorphic relation\n * @param {object} attribute\n * @return {boolean}\n */\n const isMorphRelation = (attribute: Schema.Attribute.AnyAttribute) => {\n return attribute.type === 'relation' && attribute.relation.includes('morph');\n };\n\n /**\n * Check if the given attribute is a media\n * @param {object} attribute\n * @return {boolean}\n */\n const isMedia = propEq('type', 'media');\n\n /**\n * Check if the given attribute is a relation\n * @param {object} attribute\n * @return {boolean}\n */\n const isRelation = propEq('type', 'relation');\n\n /**\n * Check if the given attribute is an enum\n * @param {object} attribute\n * @return {boolean}\n */\n const isEnumeration = propEq('type', 'enumeration');\n\n /**\n * Check if the given attribute is a component\n * @param {object} attribute\n * @return {boolean}\n */\n const isComponent = propEq('type', 'component');\n\n /**\n * Check if the given attribute is a dynamic zone\n * @param {object} attribute\n * @return {boolean}\n */\n const isDynamicZone = propEq('type', 'dynamiczone');\n\n return {\n isStrapiScalar,\n isGraphQLScalar,\n isMorphRelation,\n isMedia,\n isRelation,\n isEnumeration,\n isComponent,\n isDynamicZone,\n };\n};\n"],"names":["strapi","isStrapiScalar","attribute","plugin","service","STRAPI_SCALARS","includes","type","isGraphQLScalar","GRAPHQL_SCALARS","isMorphRelation","relation","isMedia","propEq","isRelation","isEnumeration","isComponent","isDynamicZone"],"mappings":";;AAIA,iBAAe,CAAA,CAAC,EAAEA,MAAM,EAAW,GAAA;AACjC;;;;MAKA,MAAMC,iBAAiB,CAACC,SAAAA,GAAAA;AACtB,QAAA,OAAOF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA,CAAWC,OAAO,CAAC,WAAA,CAAA,CAAaC,cAAc,CAACC,QAAQ,CAACJ,SAAAA,CAAUK,IAAI,CAAA;AAC7F,IAAA,CAAA;AAEA;;;;MAKA,MAAMC,kBAAkB,CAACN,SAAAA,GAAAA;AACvB,QAAA,OAAOF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA,CAAWC,OAAO,CAAC,WAAA,CAAA,CAAaK,eAAe,CAACH,QAAQ,CAACJ,SAAAA,CAAUK,IAAI,CAAA;AAC9F,IAAA,CAAA;AAEA;;;;MAKA,MAAMG,kBAAkB,CAACR,SAAAA,GAAAA;QACvB,OAAOA,SAAAA,CAAUK,IAAI,KAAK,UAAA,IAAcL,UAAUS,QAAQ,CAACL,QAAQ,CAAC,OAAA,CAAA;AACtE,IAAA,CAAA;AAEA;;;;MAKA,MAAMM,OAAAA,GAAUC,MAAAA,CAAO,MAAA,EAAQ,OAAA,CAAA;AAE/B;;;;MAKA,MAAMC,UAAAA,GAAaD,MAAAA,CAAO,MAAA,EAAQ,UAAA,CAAA;AAElC;;;;MAKA,MAAME,aAAAA,GAAgBF,MAAAA,CAAO,MAAA,EAAQ,aAAA,CAAA;AAErC;;;;MAKA,MAAMG,WAAAA,GAAcH,MAAAA,CAAO,MAAA,EAAQ,WAAA,CAAA;AAEnC;;;;MAKA,MAAMI,aAAAA,GAAgBJ,MAAAA,CAAO,MAAA,EAAQ,aAAA,CAAA;IAErC,OAAO;AACLZ,QAAAA,cAAAA;AACAO,QAAAA,eAAAA;AACAE,QAAAA,eAAAA;AACAE,QAAAA,OAAAA;AACAE,QAAAA,UAAAA;AACAC,QAAAA,aAAAA;AACAC,QAAAA,WAAAA;AACAC,QAAAA;AACF,KAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var index = require('./mappers/index.js');
4
+ var attributes = require('./attributes.js');
5
+ var naming = require('./naming.js');
6
+ var playground = require('./playground.js');
7
+
8
+ var utils = ((context)=>({
9
+ playground: playground(),
10
+ naming: naming(context),
11
+ attributes: attributes(context),
12
+ mappers: index(context)
13
+ }));
14
+
15
+ module.exports = utils;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../server/src/services/utils/index.ts"],"sourcesContent":["import mappers from './mappers';\nimport attributes from './attributes';\nimport naming from './naming';\nimport playground from './playground';\n\nimport type { Context } from '../types';\n\nexport default (context: Context) => ({\n playground: playground(context),\n naming: naming(context),\n attributes: attributes(context),\n mappers: mappers(context),\n});\n"],"names":["context","playground","naming","attributes","mappers"],"mappings":";;;;;;;AAOA,YAAe,CAAA,CAACA,OAAAA,IAAsB;AACpCC,QAAAA,UAAAA,EAAYA,UAAAA,CAAWD,CAAAA;AACvBE,QAAAA,MAAAA,EAAQA,MAAAA,CAAOF,OAAAA,CAAAA;AACfG,QAAAA,UAAAA,EAAYA,UAAAA,CAAWH,OAAAA,CAAAA;AACvBI,QAAAA,OAAAA,EAASA,KAAAA,CAAQJ,OAAAA;AACnB,KAAA,CAAC;;;;"}
@@ -0,0 +1,14 @@
1
+ import mappers from './mappers/index.mjs';
2
+ import attributes from './attributes.mjs';
3
+ import naming from './naming.mjs';
4
+ import playground from './playground.mjs';
5
+
6
+ var utils = ((context)=>({
7
+ playground: playground(),
8
+ naming: naming(context),
9
+ attributes: attributes(context),
10
+ mappers: mappers(context)
11
+ }));
12
+
13
+ export { utils as default };
14
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../server/src/services/utils/index.ts"],"sourcesContent":["import mappers from './mappers';\nimport attributes from './attributes';\nimport naming from './naming';\nimport playground from './playground';\n\nimport type { Context } from '../types';\n\nexport default (context: Context) => ({\n playground: playground(context),\n naming: naming(context),\n attributes: attributes(context),\n mappers: mappers(context),\n});\n"],"names":["context","playground","naming","attributes","mappers"],"mappings":";;;;;AAOA,YAAe,CAAA,CAACA,OAAAA,IAAsB;AACpCC,QAAAA,UAAAA,EAAYA,UAAAA,CAAWD,CAAAA;AACvBE,QAAAA,MAAAA,EAAQA,MAAAA,CAAOF,OAAAA,CAAAA;AACfG,QAAAA,UAAAA,EAAYA,UAAAA,CAAWH,OAAAA,CAAAA;AACvBI,QAAAA,OAAAA,EAASA,OAAAA,CAAQJ,OAAAA;AACnB,KAAA,CAAC;;;;"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+
5
+ const entityToResponseEntity = (entity)=>({
6
+ id: entity.id,
7
+ attributes: entity
8
+ });
9
+ const entitiesToResponseEntities = fp.map(entityToResponseEntity);
10
+ var entityToResponseEntity$1 = (()=>({
11
+ entityToResponseEntity,
12
+ entitiesToResponseEntities
13
+ }));
14
+
15
+ module.exports = entityToResponseEntity$1;
16
+ //# sourceMappingURL=entity-to-response-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-to-response-entity.js","sources":["../../../../../server/src/services/utils/mappers/entity-to-response-entity.ts"],"sourcesContent":["import { map } from 'lodash/fp';\nimport type { Data } from '@strapi/types';\n\nconst entityToResponseEntity = (entity: { id: Data.ID; [key: keyof any]: unknown }) => ({\n id: entity.id,\n attributes: entity,\n});\n\nconst entitiesToResponseEntities = map(entityToResponseEntity);\n\nexport default () => ({\n entityToResponseEntity,\n entitiesToResponseEntities,\n});\n"],"names":["entityToResponseEntity","entity","id","attributes","entitiesToResponseEntities","map"],"mappings":";;;;AAGA,MAAMA,sBAAAA,GAAyB,CAACC,MAAAA,IAAwD;AACtFC,QAAAA,EAAAA,EAAID,OAAOC,EAAE;QACbC,UAAAA,EAAYF;KACd,CAAA;AAEA,MAAMG,6BAA6BC,MAAAA,CAAIL,sBAAAA,CAAAA;AAEvC,+BAAe,CAAA,KAAO;AACpBA,QAAAA,sBAAAA;AACAI,QAAAA;AACF,KAAA,CAAC;;;;"}
@@ -0,0 +1,14 @@
1
+ import { map } from 'lodash/fp';
2
+
3
+ const entityToResponseEntity$1 = (entity)=>({
4
+ id: entity.id,
5
+ attributes: entity
6
+ });
7
+ const entitiesToResponseEntities = map(entityToResponseEntity$1);
8
+ var entityToResponseEntity = (()=>({
9
+ entityToResponseEntity: entityToResponseEntity$1,
10
+ entitiesToResponseEntities
11
+ }));
12
+
13
+ export { entityToResponseEntity as default };
14
+ //# sourceMappingURL=entity-to-response-entity.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-to-response-entity.mjs","sources":["../../../../../server/src/services/utils/mappers/entity-to-response-entity.ts"],"sourcesContent":["import { map } from 'lodash/fp';\nimport type { Data } from '@strapi/types';\n\nconst entityToResponseEntity = (entity: { id: Data.ID; [key: keyof any]: unknown }) => ({\n id: entity.id,\n attributes: entity,\n});\n\nconst entitiesToResponseEntities = map(entityToResponseEntity);\n\nexport default () => ({\n entityToResponseEntity,\n entitiesToResponseEntities,\n});\n"],"names":["entityToResponseEntity","entity","id","attributes","entitiesToResponseEntities","map"],"mappings":";;AAGA,MAAMA,wBAAAA,GAAyB,CAACC,MAAAA,IAAwD;AACtFC,QAAAA,EAAAA,EAAID,OAAOC,EAAE;QACbC,UAAAA,EAAYF;KACd,CAAA;AAEA,MAAMG,6BAA6BC,GAAAA,CAAIL,wBAAAA,CAAAA;AAEvC,6BAAe,CAAA,KAAO;AACpBA,gCAAAA,wBAAAA;AACAI,QAAAA;AACF,KAAA,CAAC;;;;"}
@@ -0,0 +1,95 @@
1
+ 'use strict';
2
+
3
+ var fp = require('lodash/fp');
4
+
5
+ // todo[v4]: Find a way to get that dynamically
6
+ const virtualScalarAttributes = [
7
+ 'id',
8
+ 'documentId'
9
+ ];
10
+ var graphQLFiltersToStrapiQuery = (({ strapi })=>{
11
+ const { service: getService } = strapi.plugin('graphql');
12
+ const recursivelyReplaceScalarOperators = (data)=>{
13
+ const { operators } = getService('builders').filters;
14
+ if (Array.isArray(data)) {
15
+ return data.map(recursivelyReplaceScalarOperators);
16
+ }
17
+ // Note: We need to make an exception for date since GraphQL
18
+ // automatically cast date strings to date instances in args
19
+ if (fp.isDate(data) || !fp.isObject(data)) {
20
+ return data;
21
+ }
22
+ const result = {};
23
+ for (const [key, value] of Object.entries(data)){
24
+ const isOperator = !!operators[key];
25
+ const newKey = isOperator ? operators[key].strapiOperator : key;
26
+ result[newKey] = recursivelyReplaceScalarOperators(value);
27
+ }
28
+ return result;
29
+ };
30
+ return {
31
+ /**
32
+ * Transform one or many GraphQL filters object into a valid Strapi query
33
+ * @param {object | object[]} filters
34
+ * @param {object} contentType
35
+ * @return {object | object[]}
36
+ */ graphQLFiltersToStrapiQuery (filters, contentType) {
37
+ const { isStrapiScalar, isMedia, isRelation, isComponent } = getService('utils').attributes;
38
+ const { operators } = getService('builders').filters;
39
+ const ROOT_LEVEL_OPERATORS = [
40
+ operators.and,
41
+ operators.or,
42
+ operators.not
43
+ ];
44
+ // Handle unwanted scenario where there is no filters defined
45
+ if (fp.isNil(filters)) {
46
+ return {};
47
+ }
48
+ // If filters is a collection, then apply the transformation to every item of the list
49
+ if (Array.isArray(filters)) {
50
+ return filters.map((filtersItem)=>this.graphQLFiltersToStrapiQuery(filtersItem, contentType));
51
+ }
52
+ const resultMap = {};
53
+ const { attributes } = contentType;
54
+ const isAttribute = (attributeName)=>{
55
+ return virtualScalarAttributes.includes(attributeName) || fp.has(attributeName, attributes);
56
+ };
57
+ for (const [key, value] of Object.entries(filters)){
58
+ // If the key is an attribute, update the value
59
+ if (isAttribute(key)) {
60
+ const attribute = attributes[key];
61
+ // If it's a scalar attribute
62
+ if (virtualScalarAttributes.includes(key) || isStrapiScalar(attribute)) {
63
+ // Replace (recursively) every GraphQL scalar operator with the associated Strapi operator
64
+ resultMap[key] = recursivelyReplaceScalarOperators(value);
65
+ } else if (isRelation(attribute) || isMedia(attribute)) {
66
+ // Fetch the model from the relation
67
+ const relModel = strapi.getModel(attribute.target);
68
+ // Recursively apply the mapping to the value using the fetched model,
69
+ // and update the value within `resultMap`
70
+ resultMap[key] = this.graphQLFiltersToStrapiQuery(value, relModel);
71
+ } else if (isComponent(attribute)) {
72
+ // Fetch the model from the component attribute
73
+ const componentModel = strapi.getModel(attribute.component);
74
+ // Recursively apply the mapping to the value using the fetched model,
75
+ // and update the value within `resultMap`
76
+ resultMap[key] = this.graphQLFiltersToStrapiQuery(value, componentModel);
77
+ }
78
+ } else {
79
+ const rootLevelOperator = ROOT_LEVEL_OPERATORS.find(fp.propEq('fieldName', key));
80
+ // If it's a root level operator (AND, NOT, OR, ...)
81
+ if (rootLevelOperator) {
82
+ const { strapiOperator } = rootLevelOperator;
83
+ // Transform the current value recursively and add it to the resultMap
84
+ // object using the strapiOperator equivalent of the GraphQL key
85
+ resultMap[strapiOperator] = this.graphQLFiltersToStrapiQuery(value, contentType);
86
+ }
87
+ }
88
+ }
89
+ return resultMap;
90
+ }
91
+ };
92
+ });
93
+
94
+ module.exports = graphQLFiltersToStrapiQuery;
95
+ //# sourceMappingURL=graphql-filters-to-strapi-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-filters-to-strapi-query.js","sources":["../../../../../server/src/services/utils/mappers/graphql-filters-to-strapi-query.ts"],"sourcesContent":["import { has, propEq, isNil, isDate, isObject } from 'lodash/fp';\nimport type { Struct } from '@strapi/types';\nimport type { Context } from '../../types';\n\n// todo[v4]: Find a way to get that dynamically\nconst virtualScalarAttributes = ['id', 'documentId'];\n\nexport default ({ strapi }: Context) => {\n const { service: getService } = strapi.plugin('graphql');\n\n const recursivelyReplaceScalarOperators = (data: any): any => {\n const { operators } = getService('builders').filters;\n\n if (Array.isArray(data)) {\n return data.map(recursivelyReplaceScalarOperators);\n }\n\n // Note: We need to make an exception for date since GraphQL\n // automatically cast date strings to date instances in args\n if (isDate(data) || !isObject(data)) {\n return data;\n }\n\n const result: any = {};\n\n for (const [key, value] of Object.entries(data)) {\n const isOperator = !!operators[key];\n\n const newKey = isOperator ? operators[key].strapiOperator : key;\n\n result[newKey] = recursivelyReplaceScalarOperators(value);\n }\n\n return result;\n };\n\n return {\n /**\n * Transform one or many GraphQL filters object into a valid Strapi query\n * @param {object | object[]} filters\n * @param {object} contentType\n * @return {object | object[]}\n */\n graphQLFiltersToStrapiQuery(filters: any, contentType: Struct.Schema): any {\n const { isStrapiScalar, isMedia, isRelation, isComponent } = getService('utils').attributes;\n const { operators } = getService('builders').filters;\n\n const ROOT_LEVEL_OPERATORS = [operators.and, operators.or, operators.not];\n\n // Handle unwanted scenario where there is no filters defined\n if (isNil(filters)) {\n return {};\n }\n\n // If filters is a collection, then apply the transformation to every item of the list\n if (Array.isArray(filters)) {\n return filters.map((filtersItem) =>\n this.graphQLFiltersToStrapiQuery(filtersItem, contentType)\n );\n }\n\n const resultMap: any = {};\n const { attributes } = contentType;\n\n const isAttribute = (attributeName: string) => {\n return virtualScalarAttributes.includes(attributeName) || has(attributeName, attributes);\n };\n\n for (const [key, value] of Object.entries(filters)) {\n // If the key is an attribute, update the value\n if (isAttribute(key)) {\n const attribute: any = attributes[key];\n\n // If it's a scalar attribute\n if (virtualScalarAttributes.includes(key) || isStrapiScalar(attribute)) {\n // Replace (recursively) every GraphQL scalar operator with the associated Strapi operator\n resultMap[key] = recursivelyReplaceScalarOperators(value);\n }\n\n // If it's a deep filter on a relation\n else if (isRelation(attribute) || isMedia(attribute)) {\n // Fetch the model from the relation\n const relModel = strapi.getModel(attribute.target);\n\n // Recursively apply the mapping to the value using the fetched model,\n // and update the value within `resultMap`\n resultMap[key] = this.graphQLFiltersToStrapiQuery(value, relModel);\n }\n\n // If it's a deep filter on a component\n else if (isComponent(attribute)) {\n // Fetch the model from the component attribute\n const componentModel = strapi.getModel(attribute.component);\n\n // Recursively apply the mapping to the value using the fetched model,\n // and update the value within `resultMap`\n resultMap[key] = this.graphQLFiltersToStrapiQuery(value, componentModel);\n }\n }\n\n // Handle the case where the key is not an attribute (operator, ...)\n else {\n const rootLevelOperator = ROOT_LEVEL_OPERATORS.find(propEq('fieldName', key));\n\n // If it's a root level operator (AND, NOT, OR, ...)\n if (rootLevelOperator) {\n const { strapiOperator } = rootLevelOperator;\n\n // Transform the current value recursively and add it to the resultMap\n // object using the strapiOperator equivalent of the GraphQL key\n resultMap[strapiOperator] = this.graphQLFiltersToStrapiQuery(value, contentType);\n }\n }\n }\n\n return resultMap;\n },\n };\n};\n"],"names":["virtualScalarAttributes","strapi","service","getService","plugin","recursivelyReplaceScalarOperators","data","operators","filters","Array","isArray","map","isDate","isObject","result","key","value","Object","entries","isOperator","newKey","strapiOperator","graphQLFiltersToStrapiQuery","contentType","isStrapiScalar","isMedia","isRelation","isComponent","attributes","ROOT_LEVEL_OPERATORS","and","or","not","isNil","filtersItem","resultMap","isAttribute","attributeName","includes","has","attribute","relModel","getModel","target","componentModel","component","rootLevelOperator","find","propEq"],"mappings":";;;;AAIA;AACA,MAAMA,uBAAAA,GAA0B;AAAC,IAAA,IAAA;AAAM,IAAA;AAAa,CAAA;AAEpD,kCAAe,CAAA,CAAC,EAAEC,MAAM,EAAW,GAAA;AACjC,IAAA,MAAM,EAAEC,OAAAA,EAASC,UAAU,EAAE,GAAGF,MAAAA,CAAOG,MAAM,CAAC,SAAA,CAAA;AAE9C,IAAA,MAAMC,oCAAoC,CAACC,IAAAA,GAAAA;AACzC,QAAA,MAAM,EAAEC,SAAS,EAAE,GAAGJ,UAAAA,CAAW,YAAYK,OAAO;QAEpD,IAAIC,KAAAA,CAAMC,OAAO,CAACJ,IAAAA,CAAAA,EAAO;YACvB,OAAOA,IAAAA,CAAKK,GAAG,CAACN,iCAAAA,CAAAA;AAClB,QAAA;;;AAIA,QAAA,IAAIO,SAAAA,CAAON,IAAAA,CAAAA,IAAS,CAACO,WAAAA,CAASP,IAAAA,CAAAA,EAAO;YACnC,OAAOA,IAAAA;AACT,QAAA;AAEA,QAAA,MAAMQ,SAAc,EAAC;QAErB,KAAK,MAAM,CAACC,GAAAA,EAAKC,KAAAA,CAAM,IAAIC,MAAAA,CAAOC,OAAO,CAACZ,IAAAA,CAAAA,CAAO;AAC/C,YAAA,MAAMa,UAAAA,GAAa,CAAC,CAACZ,SAAS,CAACQ,GAAAA,CAAI;AAEnC,YAAA,MAAMK,SAASD,UAAAA,GAAaZ,SAAS,CAACQ,GAAAA,CAAI,CAACM,cAAc,GAAGN,GAAAA;YAE5DD,MAAM,CAACM,MAAAA,CAAO,GAAGf,iCAAAA,CAAkCW,KAAAA,CAAAA;AACrD,QAAA;QAEA,OAAOF,MAAAA;AACT,IAAA,CAAA;IAEA,OAAO;AACL;;;;;QAMAQ,2BAAAA,CAAAA,CAA4Bd,OAAY,EAAEe,WAA0B,EAAA;AAClE,YAAA,MAAM,EAAEC,cAAc,EAAEC,OAAO,EAAEC,UAAU,EAAEC,WAAW,EAAE,GAAGxB,UAAAA,CAAW,OAAA,CAAA,CAASyB,UAAU;AAC3F,YAAA,MAAM,EAAErB,SAAS,EAAE,GAAGJ,UAAAA,CAAW,YAAYK,OAAO;AAEpD,YAAA,MAAMqB,oBAAAA,GAAuB;AAACtB,gBAAAA,SAAAA,CAAUuB,GAAG;AAAEvB,gBAAAA,SAAAA,CAAUwB,EAAE;AAAExB,gBAAAA,SAAAA,CAAUyB;AAAI,aAAA;;AAGzE,YAAA,IAAIC,SAAMzB,OAAAA,CAAAA,EAAU;AAClB,gBAAA,OAAO,EAAC;AACV,YAAA;;YAGA,IAAIC,KAAAA,CAAMC,OAAO,CAACF,OAAAA,CAAAA,EAAU;gBAC1B,OAAOA,OAAAA,CAAQG,GAAG,CAAC,CAACuB,cAClB,IAAI,CAACZ,2BAA2B,CAACY,WAAAA,EAAaX,WAAAA,CAAAA,CAAAA;AAElD,YAAA;AAEA,YAAA,MAAMY,YAAiB,EAAC;YACxB,MAAM,EAAEP,UAAU,EAAE,GAAGL,WAAAA;AAEvB,YAAA,MAAMa,cAAc,CAACC,aAAAA,GAAAA;AACnB,gBAAA,OAAOrC,uBAAAA,CAAwBsC,QAAQ,CAACD,aAAAA,CAAAA,IAAkBE,OAAIF,aAAAA,EAAeT,UAAAA,CAAAA;AAC/E,YAAA,CAAA;YAEA,KAAK,MAAM,CAACb,GAAAA,EAAKC,KAAAA,CAAM,IAAIC,MAAAA,CAAOC,OAAO,CAACV,OAAAA,CAAAA,CAAU;;AAElD,gBAAA,IAAI4B,YAAYrB,GAAAA,CAAAA,EAAM;oBACpB,MAAMyB,SAAAA,GAAiBZ,UAAU,CAACb,GAAAA,CAAI;;AAGtC,oBAAA,IAAIf,uBAAAA,CAAwBsC,QAAQ,CAACvB,GAAAA,CAAAA,IAAQS,eAAegB,SAAAA,CAAAA,EAAY;;wBAEtEL,SAAS,CAACpB,GAAAA,CAAI,GAAGV,iCAAAA,CAAkCW,KAAAA,CAAAA;AACrD,oBAAA,CAAA,MAGK,IAAIU,UAAAA,CAAWc,SAAAA,CAAAA,IAAcf,OAAAA,CAAQe,SAAAA,CAAAA,EAAY;;AAEpD,wBAAA,MAAMC,QAAAA,GAAWxC,MAAAA,CAAOyC,QAAQ,CAACF,UAAUG,MAAM,CAAA;;;AAIjDR,wBAAAA,SAAS,CAACpB,GAAAA,CAAI,GAAG,IAAI,CAACO,2BAA2B,CAACN,KAAAA,EAAOyB,QAAAA,CAAAA;oBAC3D,CAAA,MAGK,IAAId,YAAYa,SAAAA,CAAAA,EAAY;;AAE/B,wBAAA,MAAMI,cAAAA,GAAiB3C,MAAAA,CAAOyC,QAAQ,CAACF,UAAUK,SAAS,CAAA;;;AAI1DV,wBAAAA,SAAS,CAACpB,GAAAA,CAAI,GAAG,IAAI,CAACO,2BAA2B,CAACN,KAAAA,EAAO4B,cAAAA,CAAAA;AAC3D,oBAAA;gBACF,CAAA,MAGK;AACH,oBAAA,MAAME,iBAAAA,GAAoBjB,oBAAAA,CAAqBkB,IAAI,CAACC,UAAO,WAAA,EAAajC,GAAAA,CAAAA,CAAAA;;AAGxE,oBAAA,IAAI+B,iBAAAA,EAAmB;wBACrB,MAAM,EAAEzB,cAAc,EAAE,GAAGyB,iBAAAA;;;AAI3BX,wBAAAA,SAAS,CAACd,cAAAA,CAAe,GAAG,IAAI,CAACC,2BAA2B,CAACN,KAAAA,EAAOO,WAAAA,CAAAA;AACtE,oBAAA;AACF,gBAAA;AACF,YAAA;YAEA,OAAOY,SAAAA;AACT,QAAA;AACF,KAAA;AACF,CAAA;;;;"}
@@ -0,0 +1,93 @@
1
+ import { isNil, propEq, isDate, isObject, has } from 'lodash/fp';
2
+
3
+ // todo[v4]: Find a way to get that dynamically
4
+ const virtualScalarAttributes = [
5
+ 'id',
6
+ 'documentId'
7
+ ];
8
+ var graphQLFiltersToStrapiQuery = (({ strapi })=>{
9
+ const { service: getService } = strapi.plugin('graphql');
10
+ const recursivelyReplaceScalarOperators = (data)=>{
11
+ const { operators } = getService('builders').filters;
12
+ if (Array.isArray(data)) {
13
+ return data.map(recursivelyReplaceScalarOperators);
14
+ }
15
+ // Note: We need to make an exception for date since GraphQL
16
+ // automatically cast date strings to date instances in args
17
+ if (isDate(data) || !isObject(data)) {
18
+ return data;
19
+ }
20
+ const result = {};
21
+ for (const [key, value] of Object.entries(data)){
22
+ const isOperator = !!operators[key];
23
+ const newKey = isOperator ? operators[key].strapiOperator : key;
24
+ result[newKey] = recursivelyReplaceScalarOperators(value);
25
+ }
26
+ return result;
27
+ };
28
+ return {
29
+ /**
30
+ * Transform one or many GraphQL filters object into a valid Strapi query
31
+ * @param {object | object[]} filters
32
+ * @param {object} contentType
33
+ * @return {object | object[]}
34
+ */ graphQLFiltersToStrapiQuery (filters, contentType) {
35
+ const { isStrapiScalar, isMedia, isRelation, isComponent } = getService('utils').attributes;
36
+ const { operators } = getService('builders').filters;
37
+ const ROOT_LEVEL_OPERATORS = [
38
+ operators.and,
39
+ operators.or,
40
+ operators.not
41
+ ];
42
+ // Handle unwanted scenario where there is no filters defined
43
+ if (isNil(filters)) {
44
+ return {};
45
+ }
46
+ // If filters is a collection, then apply the transformation to every item of the list
47
+ if (Array.isArray(filters)) {
48
+ return filters.map((filtersItem)=>this.graphQLFiltersToStrapiQuery(filtersItem, contentType));
49
+ }
50
+ const resultMap = {};
51
+ const { attributes } = contentType;
52
+ const isAttribute = (attributeName)=>{
53
+ return virtualScalarAttributes.includes(attributeName) || has(attributeName, attributes);
54
+ };
55
+ for (const [key, value] of Object.entries(filters)){
56
+ // If the key is an attribute, update the value
57
+ if (isAttribute(key)) {
58
+ const attribute = attributes[key];
59
+ // If it's a scalar attribute
60
+ if (virtualScalarAttributes.includes(key) || isStrapiScalar(attribute)) {
61
+ // Replace (recursively) every GraphQL scalar operator with the associated Strapi operator
62
+ resultMap[key] = recursivelyReplaceScalarOperators(value);
63
+ } else if (isRelation(attribute) || isMedia(attribute)) {
64
+ // Fetch the model from the relation
65
+ const relModel = strapi.getModel(attribute.target);
66
+ // Recursively apply the mapping to the value using the fetched model,
67
+ // and update the value within `resultMap`
68
+ resultMap[key] = this.graphQLFiltersToStrapiQuery(value, relModel);
69
+ } else if (isComponent(attribute)) {
70
+ // Fetch the model from the component attribute
71
+ const componentModel = strapi.getModel(attribute.component);
72
+ // Recursively apply the mapping to the value using the fetched model,
73
+ // and update the value within `resultMap`
74
+ resultMap[key] = this.graphQLFiltersToStrapiQuery(value, componentModel);
75
+ }
76
+ } else {
77
+ const rootLevelOperator = ROOT_LEVEL_OPERATORS.find(propEq('fieldName', key));
78
+ // If it's a root level operator (AND, NOT, OR, ...)
79
+ if (rootLevelOperator) {
80
+ const { strapiOperator } = rootLevelOperator;
81
+ // Transform the current value recursively and add it to the resultMap
82
+ // object using the strapiOperator equivalent of the GraphQL key
83
+ resultMap[strapiOperator] = this.graphQLFiltersToStrapiQuery(value, contentType);
84
+ }
85
+ }
86
+ }
87
+ return resultMap;
88
+ }
89
+ };
90
+ });
91
+
92
+ export { graphQLFiltersToStrapiQuery as default };
93
+ //# sourceMappingURL=graphql-filters-to-strapi-query.mjs.map