@strapi/plugin-graphql 4.15.5 → 4.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/dist/admin/admin/src/index.d.ts +16 -0
  2. package/dist/admin/admin/src/pluginId.d.ts +1 -0
  3. package/dist/admin/index.js +31 -17
  4. package/dist/admin/index.js.map +1 -1
  5. package/dist/admin/index.mjs +31 -17
  6. package/dist/admin/index.mjs.map +1 -1
  7. package/dist/server/bootstrap.d.ts +5 -0
  8. package/dist/server/bootstrap.d.ts.map +1 -0
  9. package/dist/server/config/default-config.d.ts +9 -0
  10. package/dist/server/config/default-config.d.ts.map +1 -0
  11. package/dist/server/config/index.d.ts +10 -0
  12. package/dist/server/config/index.d.ts.map +1 -0
  13. package/dist/server/format-graphql-error.d.ts +4 -0
  14. package/dist/server/format-graphql-error.d.ts.map +1 -0
  15. package/dist/server/index.d.ts +301 -0
  16. package/dist/server/index.d.ts.map +1 -0
  17. package/dist/server/index.js +2970 -0
  18. package/dist/server/index.js.map +1 -0
  19. package/dist/server/index.mjs +2949 -0
  20. package/dist/server/index.mjs.map +1 -0
  21. package/dist/server/services/builders/dynamic-zones.d.ts +14 -0
  22. package/dist/server/services/builders/dynamic-zones.d.ts.map +1 -0
  23. package/dist/server/services/builders/entity-meta.d.ts +6 -0
  24. package/dist/server/services/builders/entity-meta.d.ts.map +1 -0
  25. package/dist/server/services/builders/entity.d.ts +12 -0
  26. package/dist/server/services/builders/entity.d.ts.map +1 -0
  27. package/dist/server/services/builders/enums.d.ts +8 -0
  28. package/dist/server/services/builders/enums.d.ts.map +1 -0
  29. package/dist/server/services/builders/filters/content-type.d.ts +8 -0
  30. package/dist/server/services/builders/filters/content-type.d.ts.map +1 -0
  31. package/dist/server/services/builders/filters/index.d.ts +6 -0
  32. package/dist/server/services/builders/filters/index.d.ts.map +1 -0
  33. package/dist/server/services/builders/filters/operators/and.d.ts +8 -0
  34. package/dist/server/services/builders/filters/operators/and.d.ts.map +1 -0
  35. package/dist/server/services/builders/filters/operators/between.d.ts +8 -0
  36. package/dist/server/services/builders/filters/operators/between.d.ts.map +1 -0
  37. package/dist/server/services/builders/filters/operators/contains.d.ts +8 -0
  38. package/dist/server/services/builders/filters/operators/contains.d.ts.map +1 -0
  39. package/dist/server/services/builders/filters/operators/containsi.d.ts +8 -0
  40. package/dist/server/services/builders/filters/operators/containsi.d.ts.map +1 -0
  41. package/dist/server/services/builders/filters/operators/ends-with.d.ts +8 -0
  42. package/dist/server/services/builders/filters/operators/ends-with.d.ts.map +1 -0
  43. package/dist/server/services/builders/filters/operators/eq.d.ts +11 -0
  44. package/dist/server/services/builders/filters/operators/eq.d.ts.map +1 -0
  45. package/dist/server/services/builders/filters/operators/eqi.d.ts +8 -0
  46. package/dist/server/services/builders/filters/operators/eqi.d.ts.map +1 -0
  47. package/dist/server/services/builders/filters/operators/gt.d.ts +8 -0
  48. package/dist/server/services/builders/filters/operators/gt.d.ts.map +1 -0
  49. package/dist/server/services/builders/filters/operators/gte.d.ts +8 -0
  50. package/dist/server/services/builders/filters/operators/gte.d.ts.map +1 -0
  51. package/dist/server/services/builders/filters/operators/in.d.ts +8 -0
  52. package/dist/server/services/builders/filters/operators/in.d.ts.map +1 -0
  53. package/dist/server/services/builders/filters/operators/index.d.ts +11 -0
  54. package/dist/server/services/builders/filters/operators/index.d.ts.map +1 -0
  55. package/dist/server/services/builders/filters/operators/lt.d.ts +8 -0
  56. package/dist/server/services/builders/filters/operators/lt.d.ts.map +1 -0
  57. package/dist/server/services/builders/filters/operators/lte.d.ts +8 -0
  58. package/dist/server/services/builders/filters/operators/lte.d.ts.map +1 -0
  59. package/dist/server/services/builders/filters/operators/ne.d.ts +8 -0
  60. package/dist/server/services/builders/filters/operators/ne.d.ts.map +1 -0
  61. package/dist/server/services/builders/filters/operators/nei.d.ts +8 -0
  62. package/dist/server/services/builders/filters/operators/nei.d.ts.map +1 -0
  63. package/dist/server/services/builders/filters/operators/not-contains.d.ts +8 -0
  64. package/dist/server/services/builders/filters/operators/not-contains.d.ts.map +1 -0
  65. package/dist/server/services/builders/filters/operators/not-containsi.d.ts +8 -0
  66. package/dist/server/services/builders/filters/operators/not-containsi.d.ts.map +1 -0
  67. package/dist/server/services/builders/filters/operators/not-in.d.ts +8 -0
  68. package/dist/server/services/builders/filters/operators/not-in.d.ts.map +1 -0
  69. package/dist/server/services/builders/filters/operators/not-null.d.ts +8 -0
  70. package/dist/server/services/builders/filters/operators/not-null.d.ts.map +1 -0
  71. package/dist/server/services/builders/filters/operators/not.d.ts +11 -0
  72. package/dist/server/services/builders/filters/operators/not.d.ts.map +1 -0
  73. package/dist/server/services/builders/filters/operators/null.d.ts +8 -0
  74. package/dist/server/services/builders/filters/operators/null.d.ts.map +1 -0
  75. package/dist/server/services/builders/filters/operators/or.d.ts +8 -0
  76. package/dist/server/services/builders/filters/operators/or.d.ts.map +1 -0
  77. package/dist/server/services/builders/filters/operators/starts-with.d.ts +8 -0
  78. package/dist/server/services/builders/filters/operators/starts-with.d.ts.map +1 -0
  79. package/dist/server/services/builders/generic-morph.d.ts +6 -0
  80. package/dist/server/services/builders/generic-morph.d.ts.map +1 -0
  81. package/dist/server/services/builders/index.d.ts +58 -0
  82. package/dist/server/services/builders/index.d.ts.map +1 -0
  83. package/dist/server/services/builders/input.d.ts +7 -0
  84. package/dist/server/services/builders/input.d.ts.map +1 -0
  85. package/dist/server/services/builders/mutations/collection-type.d.ts +8 -0
  86. package/dist/server/services/builders/mutations/collection-type.d.ts.map +1 -0
  87. package/dist/server/services/builders/mutations/index.d.ts +7 -0
  88. package/dist/server/services/builders/mutations/index.d.ts.map +1 -0
  89. package/dist/server/services/builders/mutations/single-type.d.ts +8 -0
  90. package/dist/server/services/builders/mutations/single-type.d.ts.map +1 -0
  91. package/dist/server/services/builders/queries/collection-type.d.ts +8 -0
  92. package/dist/server/services/builders/queries/collection-type.d.ts.map +1 -0
  93. package/dist/server/services/builders/queries/index.d.ts +7 -0
  94. package/dist/server/services/builders/queries/index.d.ts.map +1 -0
  95. package/dist/server/services/builders/queries/single-type.d.ts +8 -0
  96. package/dist/server/services/builders/queries/single-type.d.ts.map +1 -0
  97. package/dist/server/services/builders/relation-response-collection.d.ts +10 -0
  98. package/dist/server/services/builders/relation-response-collection.d.ts.map +1 -0
  99. package/dist/server/services/builders/resolvers/association.d.ts +10 -0
  100. package/dist/server/services/builders/resolvers/association.d.ts.map +1 -0
  101. package/dist/server/services/builders/resolvers/component.d.ts +10 -0
  102. package/dist/server/services/builders/resolvers/component.d.ts.map +1 -0
  103. package/dist/server/services/builders/resolvers/dynamic-zone.d.ts +10 -0
  104. package/dist/server/services/builders/resolvers/dynamic-zone.d.ts.map +1 -0
  105. package/dist/server/services/builders/resolvers/index.d.ts +30 -0
  106. package/dist/server/services/builders/resolvers/index.d.ts.map +1 -0
  107. package/dist/server/services/builders/resolvers/mutation.d.ts +13 -0
  108. package/dist/server/services/builders/resolvers/mutation.d.ts.map +1 -0
  109. package/dist/server/services/builders/resolvers/query.d.ts +12 -0
  110. package/dist/server/services/builders/resolvers/query.d.ts.map +1 -0
  111. package/dist/server/services/builders/response-collection.d.ts +12 -0
  112. package/dist/server/services/builders/response-collection.d.ts.map +1 -0
  113. package/dist/server/services/builders/response.d.ts +10 -0
  114. package/dist/server/services/builders/response.d.ts.map +1 -0
  115. package/dist/server/services/builders/type.d.ts +19 -0
  116. package/dist/server/services/builders/type.d.ts.map +1 -0
  117. package/dist/server/services/builders/utils.d.ts +52 -0
  118. package/dist/server/services/builders/utils.d.ts.map +1 -0
  119. package/dist/server/services/constants.d.ts +128 -0
  120. package/dist/server/services/constants.d.ts.map +1 -0
  121. package/dist/server/services/content-api/index.d.ts +8 -0
  122. package/dist/server/services/content-api/index.d.ts.map +1 -0
  123. package/dist/server/services/content-api/policy.d.ts +7 -0
  124. package/dist/server/services/content-api/policy.d.ts.map +1 -0
  125. package/dist/server/services/content-api/register-functions/collection-type.d.ts +9 -0
  126. package/dist/server/services/content-api/register-functions/collection-type.d.ts.map +1 -0
  127. package/dist/server/services/content-api/register-functions/component.d.ts +9 -0
  128. package/dist/server/services/content-api/register-functions/component.d.ts.map +1 -0
  129. package/dist/server/services/content-api/register-functions/content-type/dynamic-zones.d.ts +9 -0
  130. package/dist/server/services/content-api/register-functions/content-type/dynamic-zones.d.ts.map +1 -0
  131. package/dist/server/services/content-api/register-functions/content-type/enums.d.ts +9 -0
  132. package/dist/server/services/content-api/register-functions/content-type/enums.d.ts.map +1 -0
  133. package/dist/server/services/content-api/register-functions/content-type/filters.d.ts +9 -0
  134. package/dist/server/services/content-api/register-functions/content-type/filters.d.ts.map +1 -0
  135. package/dist/server/services/content-api/register-functions/content-type/index.d.ts +24 -0
  136. package/dist/server/services/content-api/register-functions/content-type/index.d.ts.map +1 -0
  137. package/dist/server/services/content-api/register-functions/content-type/inputs.d.ts +9 -0
  138. package/dist/server/services/content-api/register-functions/content-type/inputs.d.ts.map +1 -0
  139. package/dist/server/services/content-api/register-functions/index.d.ts +9 -0
  140. package/dist/server/services/content-api/register-functions/index.d.ts.map +1 -0
  141. package/dist/server/services/content-api/register-functions/internals.d.ts +4 -0
  142. package/dist/server/services/content-api/register-functions/internals.d.ts.map +1 -0
  143. package/dist/server/services/content-api/register-functions/polymorphic.d.ts +5 -0
  144. package/dist/server/services/content-api/register-functions/polymorphic.d.ts.map +1 -0
  145. package/dist/server/services/content-api/register-functions/scalars.d.ts +4 -0
  146. package/dist/server/services/content-api/register-functions/scalars.d.ts.map +1 -0
  147. package/dist/server/services/content-api/register-functions/single-type.d.ts +9 -0
  148. package/dist/server/services/content-api/register-functions/single-type.d.ts.map +1 -0
  149. package/dist/server/services/content-api/wrap-resolvers.d.ts +18 -0
  150. package/dist/server/services/content-api/wrap-resolvers.d.ts.map +1 -0
  151. package/dist/server/services/extension/extension.d.ts +63 -0
  152. package/dist/server/services/extension/extension.d.ts.map +1 -0
  153. package/dist/server/services/extension/index.d.ts +3 -0
  154. package/dist/server/services/extension/index.d.ts.map +1 -0
  155. package/dist/server/services/extension/shadow-crud-manager.d.ts +40 -0
  156. package/dist/server/services/extension/shadow-crud-manager.d.ts.map +1 -0
  157. package/dist/server/services/format/index.d.ts +20 -0
  158. package/dist/server/services/format/index.d.ts.map +1 -0
  159. package/dist/server/services/format/return-types.d.ts +22 -0
  160. package/dist/server/services/format/return-types.d.ts.map +1 -0
  161. package/dist/server/services/index.d.ts +287 -0
  162. package/dist/server/services/index.d.ts.map +1 -0
  163. package/dist/server/services/internals/args/index.d.ts +8 -0
  164. package/dist/server/services/internals/args/index.d.ts.map +1 -0
  165. package/dist/server/services/internals/args/pagination.d.ts +3 -0
  166. package/dist/server/services/internals/args/pagination.d.ts.map +1 -0
  167. package/dist/server/services/internals/args/publication-state.d.ts +4 -0
  168. package/dist/server/services/internals/args/publication-state.d.ts.map +1 -0
  169. package/dist/server/services/internals/args/sort.d.ts +3 -0
  170. package/dist/server/services/internals/args/sort.d.ts.map +1 -0
  171. package/dist/server/services/internals/helpers/get-enabled-scalars.d.ts +4 -0
  172. package/dist/server/services/internals/helpers/get-enabled-scalars.d.ts.map +1 -0
  173. package/dist/server/services/internals/helpers/index.d.ts +6 -0
  174. package/dist/server/services/internals/helpers/index.d.ts.map +1 -0
  175. package/dist/server/services/internals/index.d.ts +46 -0
  176. package/dist/server/services/internals/index.d.ts.map +1 -0
  177. package/dist/server/services/internals/scalars/date.d.ts +3 -0
  178. package/dist/server/services/internals/scalars/date.d.ts.map +1 -0
  179. package/dist/server/services/internals/scalars/index.d.ts +10 -0
  180. package/dist/server/services/internals/scalars/index.d.ts.map +1 -0
  181. package/dist/server/services/internals/scalars/time.d.ts +8 -0
  182. package/dist/server/services/internals/scalars/time.d.ts.map +1 -0
  183. package/dist/server/services/internals/types/error.d.ts +8 -0
  184. package/dist/server/services/internals/types/error.d.ts.map +1 -0
  185. package/dist/server/services/internals/types/filters.d.ts +6 -0
  186. package/dist/server/services/internals/types/filters.d.ts.map +1 -0
  187. package/dist/server/services/internals/types/index.d.ts +28 -0
  188. package/dist/server/services/internals/types/index.d.ts.map +1 -0
  189. package/dist/server/services/internals/types/pagination.d.ts +10 -0
  190. package/dist/server/services/internals/types/pagination.d.ts.map +1 -0
  191. package/dist/server/services/internals/types/publication-state.d.ts +10 -0
  192. package/dist/server/services/internals/types/publication-state.d.ts.map +1 -0
  193. package/dist/server/services/internals/types/response-collection-meta.d.ts +11 -0
  194. package/dist/server/services/internals/types/response-collection-meta.d.ts.map +1 -0
  195. package/dist/server/services/type-registry.d.ts +15 -0
  196. package/dist/server/services/type-registry.d.ts.map +1 -0
  197. package/dist/server/services/types.d.ts +7 -0
  198. package/dist/server/services/types.d.ts.map +1 -0
  199. package/dist/server/services/utils/attributes.d.ts +14 -0
  200. package/dist/server/services/utils/attributes.d.ts.map +1 -0
  201. package/dist/server/services/utils/index.d.ts +81 -0
  202. package/dist/server/services/utils/index.d.ts.map +1 -0
  203. package/dist/server/services/utils/mappers/entity-to-response-entity.d.ts +33 -0
  204. package/dist/server/services/utils/mappers/entity-to-response-entity.d.ts.map +1 -0
  205. package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.d.ts +13 -0
  206. package/dist/server/services/utils/mappers/graphql-filters-to-strapi-query.d.ts.map +1 -0
  207. package/dist/server/services/utils/mappers/graphql-scalar-to-operators.d.ts +6 -0
  208. package/dist/server/services/utils/mappers/graphql-scalar-to-operators.d.ts.map +1 -0
  209. package/dist/server/services/utils/mappers/index.d.ts +36 -0
  210. package/dist/server/services/utils/mappers/index.d.ts.map +1 -0
  211. package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.d.ts +9 -0
  212. package/dist/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.d.ts.map +1 -0
  213. package/dist/server/services/utils/naming.d.ts +37 -0
  214. package/dist/server/services/utils/naming.d.ts.map +1 -0
  215. package/package.json +28 -16
  216. package/strapi-server.js +1 -11
  217. package/.eslintignore +0 -1
  218. package/.eslintrc +0 -14
  219. package/admin/src/index.js +0 -38
  220. package/admin/src/pluginId.js +0 -5
  221. package/admin/src/translations/dk.json +0 -5
  222. package/admin/src/translations/en.json +0 -5
  223. package/admin/src/translations/es.json +0 -5
  224. package/admin/src/translations/fr.json +0 -5
  225. package/admin/src/translations/pl.json +0 -5
  226. package/admin/src/translations/ru.json +0 -5
  227. package/admin/src/translations/sv.json +0 -5
  228. package/admin/src/translations/tr.json +0 -5
  229. package/admin/src/translations/zh-Hans.json +0 -5
  230. package/admin/src/translations/zh.json +0 -5
  231. package/packup.config.ts +0 -42
  232. package/server/bootstrap.js +0 -134
  233. package/server/config/default-config.js +0 -13
  234. package/server/config/index.js +0 -7
  235. package/server/format-graphql-error.js +0 -45
  236. package/server/services/builders/dynamic-zones.js +0 -97
  237. package/server/services/builders/entity-meta.js +0 -7
  238. package/server/services/builders/entity.js +0 -43
  239. package/server/services/builders/enums.js +0 -26
  240. package/server/services/builders/filters/content-type.js +0 -111
  241. package/server/services/builders/filters/index.js +0 -7
  242. package/server/services/builders/filters/operators/and.js +0 -15
  243. package/server/services/builders/filters/operators/between.js +0 -15
  244. package/server/services/builders/filters/operators/contains.js +0 -13
  245. package/server/services/builders/filters/operators/containsi.js +0 -13
  246. package/server/services/builders/filters/operators/ends-with.js +0 -13
  247. package/server/services/builders/filters/operators/eq.js +0 -23
  248. package/server/services/builders/filters/operators/eqi.js +0 -13
  249. package/server/services/builders/filters/operators/gt.js +0 -13
  250. package/server/services/builders/filters/operators/gte.js +0 -13
  251. package/server/services/builders/filters/operators/in.js +0 -15
  252. package/server/services/builders/filters/operators/index.js +0 -40
  253. package/server/services/builders/filters/operators/lt.js +0 -13
  254. package/server/services/builders/filters/operators/lte.js +0 -13
  255. package/server/services/builders/filters/operators/ne.js +0 -13
  256. package/server/services/builders/filters/operators/nei.js +0 -13
  257. package/server/services/builders/filters/operators/not-contains.js +0 -13
  258. package/server/services/builders/filters/operators/not-containsi.js +0 -13
  259. package/server/services/builders/filters/operators/not-in.js +0 -15
  260. package/server/services/builders/filters/operators/not-null.js +0 -13
  261. package/server/services/builders/filters/operators/not.js +0 -19
  262. package/server/services/builders/filters/operators/null.js +0 -13
  263. package/server/services/builders/filters/operators/or.js +0 -15
  264. package/server/services/builders/filters/operators/starts-with.js +0 -13
  265. package/server/services/builders/generic-morph.js +0 -41
  266. package/server/services/builders/index.js +0 -92
  267. package/server/services/builders/input.js +0 -121
  268. package/server/services/builders/mutations/collection-type.js +0 -191
  269. package/server/services/builders/mutations/index.js +0 -9
  270. package/server/services/builders/mutations/single-type.js +0 -164
  271. package/server/services/builders/queries/collection-type.js +0 -122
  272. package/server/services/builders/queries/index.js +0 -9
  273. package/server/services/builders/queries/single-type.js +0 -71
  274. package/server/services/builders/relation-response-collection.js +0 -32
  275. package/server/services/builders/resolvers/association.js +0 -92
  276. package/server/services/builders/resolvers/component.js +0 -25
  277. package/server/services/builders/resolvers/dynamic-zone.js +0 -9
  278. package/server/services/builders/resolvers/index.js +0 -18
  279. package/server/services/builders/resolvers/mutation.js +0 -38
  280. package/server/services/builders/resolvers/query.js +0 -34
  281. package/server/services/builders/response-collection.js +0 -40
  282. package/server/services/builders/response.js +0 -32
  283. package/server/services/builders/type.js +0 -363
  284. package/server/services/builders/utils.js +0 -134
  285. package/server/services/constants.js +0 -153
  286. package/server/services/content-api/index.js +0 -188
  287. package/server/services/content-api/policy.js +0 -60
  288. package/server/services/content-api/register-functions/collection-type.js +0 -72
  289. package/server/services/content-api/register-functions/component.js +0 -15
  290. package/server/services/content-api/register-functions/content-type/dynamic-zones.js +0 -36
  291. package/server/services/content-api/register-functions/content-type/enums.js +0 -33
  292. package/server/services/content-api/register-functions/content-type/filters.js +0 -15
  293. package/server/services/content-api/register-functions/content-type/index.js +0 -13
  294. package/server/services/content-api/register-functions/content-type/inputs.js +0 -21
  295. package/server/services/content-api/register-functions/index.js +0 -22
  296. package/server/services/content-api/register-functions/internals.js +0 -13
  297. package/server/services/content-api/register-functions/polymorphic.js +0 -69
  298. package/server/services/content-api/register-functions/scalars.js +0 -14
  299. package/server/services/content-api/register-functions/single-type.js +0 -72
  300. package/server/services/content-api/wrap-resolvers.js +0 -148
  301. package/server/services/extension/extension.js +0 -94
  302. package/server/services/extension/index.js +0 -5
  303. package/server/services/extension/shadow-crud-manager.js +0 -161
  304. package/server/services/format/index.js +0 -7
  305. package/server/services/format/return-types.js +0 -27
  306. package/server/services/index.js +0 -21
  307. package/server/services/internals/args/index.js +0 -11
  308. package/server/services/internals/args/pagination.js +0 -19
  309. package/server/services/internals/args/publication-state.js +0 -12
  310. package/server/services/internals/args/sort.js +0 -10
  311. package/server/services/internals/helpers/get-enabled-scalars.js +0 -17
  312. package/server/services/internals/helpers/index.js +0 -7
  313. package/server/services/internals/index.js +0 -13
  314. package/server/services/internals/scalars/date.js +0 -22
  315. package/server/services/internals/scalars/index.js +0 -17
  316. package/server/services/internals/scalars/time.js +0 -36
  317. package/server/services/internals/types/error.js +0 -34
  318. package/server/services/internals/types/filters.js +0 -39
  319. package/server/services/internals/types/index.js +0 -29
  320. package/server/services/internals/types/pagination.js +0 -24
  321. package/server/services/internals/types/publication-state.js +0 -24
  322. package/server/services/internals/types/response-collection-meta.js +0 -46
  323. package/server/services/type-registry.js +0 -104
  324. package/server/services/utils/attributes.js +0 -78
  325. package/server/services/utils/index.js +0 -11
  326. package/server/services/utils/mappers/entity-to-response-entity.js +0 -12
  327. package/server/services/utils/mappers/graphql-filters-to-strapi-query.js +0 -119
  328. package/server/services/utils/mappers/graphql-scalar-to-operators.js +0 -17
  329. package/server/services/utils/mappers/index.js +0 -13
  330. package/server/services/utils/mappers/strapi-scalar-to-graphql-scalar.js +0 -25
  331. package/server/services/utils/naming.js +0 -287
@@ -1,5 +0,0 @@
1
- {
2
- "plugin.description.long": "Varsayılan API metodları ile bir GraphQL uç noktası ekler.",
3
- "plugin.description.short": "Varsayılan API metodları ile bir GraphQL uç noktası ekler.",
4
- "plugin.name": "GraphQL"
5
- }
@@ -1,5 +0,0 @@
1
- {
2
- "plugin.description.long": "为默认API方法添加GraphQL端点",
3
- "plugin.description.short": "为默认API方法添加GraphQL端点",
4
- "plugin.name": "GraphQL"
5
- }
@@ -1,5 +0,0 @@
1
- {
2
- "plugin.description.long": "新增使用預設 API 方法的 GraphQL 端點。",
3
- "plugin.description.short": "新增使用預設 API 方法的 GraphQL 端點。",
4
- "plugin.name": "GraphQL"
5
- }
package/packup.config.ts DELETED
@@ -1,42 +0,0 @@
1
- import { Config, defineConfig } from '@strapi/pack-up';
2
- import { transformWithEsbuild } from 'vite';
3
-
4
- const config: Config = defineConfig({
5
- bundles: [
6
- {
7
- source: './admin/src/index.js',
8
- import: './dist/admin/index.mjs',
9
- require: './dist/admin/index.js',
10
- runtime: 'web',
11
- },
12
- ],
13
- dist: './dist',
14
- /**
15
- * Because we're exporting a server & client package
16
- * which have different runtimes we want to ignore
17
- * what they look like in the package.json
18
- */
19
- exports: {},
20
- plugins: [
21
- {
22
- name: 'treat-js-files-as-jsx',
23
- async transform(code, id) {
24
- /**
25
- * Matches all files in src/ and ee/ that end with .js
26
- */
27
- if (!id.match(/src\/.*\.js$/) && !id.match(/ee\/.*\.js$/)) {
28
- return null;
29
- }
30
-
31
- // Use the exposed transform from vite, instead of directly
32
- // transforming with esbuild
33
- return transformWithEsbuild(code, id, {
34
- loader: 'tsx',
35
- jsx: 'automatic',
36
- });
37
- },
38
- },
39
- ],
40
- });
41
-
42
- export default config;
@@ -1,134 +0,0 @@
1
- 'use strict';
2
-
3
- const { isEmpty, mergeWith, isArray } = require('lodash/fp');
4
- const { ApolloServer } = require('apollo-server-koa');
5
- const {
6
- ApolloServerPluginLandingPageDisabled,
7
- ApolloServerPluginLandingPageGraphQLPlayground,
8
- } = require('apollo-server-core');
9
- const depthLimit = require('graphql-depth-limit');
10
- const { graphqlUploadKoa } = require('graphql-upload');
11
- const formatGraphqlError = require('./format-graphql-error');
12
-
13
- const merge = mergeWith((a, b) => {
14
- if (isArray(a) && isArray(b)) {
15
- return a.concat(b);
16
- }
17
- });
18
-
19
- /**
20
- * Register the upload middleware powered by graphql-upload in Strapi
21
- * @param {object} strapi
22
- * @param {string} path
23
- */
24
- const useUploadMiddleware = (strapi, path) => {
25
- const uploadMiddleware = graphqlUploadKoa();
26
-
27
- strapi.server.app.use((ctx, next) => {
28
- if (ctx.path === path) {
29
- return uploadMiddleware(ctx, next);
30
- }
31
-
32
- return next();
33
- });
34
- };
35
-
36
- module.exports = async ({ strapi }) => {
37
- // Generate the GraphQL schema for the content API
38
- const schema = strapi.plugin('graphql').service('content-api').buildSchema();
39
-
40
- if (isEmpty(schema)) {
41
- strapi.log.warn('The GraphQL schema has not been generated because it is empty');
42
-
43
- return;
44
- }
45
-
46
- const { config } = strapi.plugin('graphql');
47
-
48
- const path = config('endpoint');
49
-
50
- const defaultServerConfig = {
51
- // Schema
52
- schema,
53
-
54
- // Initialize loaders for this request.
55
- context: ({ ctx }) => ({
56
- state: ctx.state,
57
- koaContext: ctx,
58
- }),
59
-
60
- // Validation
61
- validationRules: [depthLimit(config('depthLimit'))],
62
-
63
- // Errors
64
- formatError: formatGraphqlError,
65
-
66
- // Misc
67
- cors: false,
68
- uploads: false,
69
- bodyParserConfig: true,
70
-
71
- plugins: [
72
- process.env.NODE_ENV === 'production' && !config('playgroundAlways')
73
- ? ApolloServerPluginLandingPageDisabled()
74
- : ApolloServerPluginLandingPageGraphQLPlayground(),
75
- ],
76
-
77
- cache: 'bounded',
78
- };
79
-
80
- const serverConfig = merge(defaultServerConfig, config('apolloServer'));
81
-
82
- // Create a new Apollo server
83
- const server = new ApolloServer(serverConfig);
84
-
85
- // Register the upload middleware
86
- useUploadMiddleware(strapi, path);
87
-
88
- try {
89
- // Since Apollo-Server v3, server.start() must be called before using server.applyMiddleware()
90
- await server.start();
91
- } catch (e) {
92
- strapi.log.error('Failed to start the Apollo server', e.message);
93
- }
94
-
95
- // Link the Apollo server & the Strapi app
96
- strapi.server.routes([
97
- {
98
- method: 'ALL',
99
- path,
100
- handler: [
101
- (ctx, next) => {
102
- ctx.state.route = {
103
- info: {
104
- // Indicate it's a content API route
105
- type: 'content-api',
106
- },
107
- };
108
-
109
- // allow graphql playground to load without authentication
110
- if (ctx.request.method === 'GET') return next();
111
-
112
- return strapi.auth.authenticate(ctx, next);
113
- },
114
-
115
- // Apollo Server
116
- server.getMiddleware({
117
- path,
118
- cors: serverConfig.cors,
119
- bodyParserConfig: serverConfig.bodyParserConfig,
120
- }),
121
- ],
122
- config: {
123
- auth: false,
124
- },
125
- },
126
- ]);
127
-
128
- // Register destroy behavior
129
- // We're doing it here instead of exposing a destroy method to the strapi-server.js
130
- // file since we need to have access to the ApolloServer instance
131
- strapi.plugin('graphql').destroy = async () => {
132
- await server.stop();
133
- };
134
- };
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- module.exports = {
4
- shadowCRUD: true,
5
-
6
- endpoint: '/graphql',
7
-
8
- subscriptions: false,
9
-
10
- maxLimit: -1,
11
-
12
- apolloServer: {},
13
- };
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- const defaultConfig = require('./default-config');
4
-
5
- module.exports = {
6
- default: defaultConfig,
7
- };
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- const { toUpper, snakeCase, pick, isEmpty } = require('lodash/fp');
4
- const { HttpError, ForbiddenError, UnauthorizedError, ApplicationError, ValidationError } =
5
- require('@strapi/utils').errors;
6
- const {
7
- ApolloError,
8
- UserInputError: ApolloUserInputError,
9
- ForbiddenError: ApolloForbiddenError,
10
- } = require('apollo-server-koa');
11
- const { GraphQLError } = require('graphql');
12
-
13
- const formatToCode = (name) => `STRAPI_${toUpper(snakeCase(name))}`;
14
- const formatErrorToExtension = (error) => ({ error: pick(['name', 'message', 'details'])(error) });
15
-
16
- const formatGraphqlError = (error) => {
17
- const { originalError } = error;
18
-
19
- if (isEmpty(originalError)) {
20
- return error;
21
- }
22
-
23
- if (originalError instanceof ForbiddenError || originalError instanceof UnauthorizedError) {
24
- return new ApolloForbiddenError(originalError.message, formatErrorToExtension(originalError));
25
- }
26
-
27
- if (originalError instanceof ValidationError) {
28
- return new ApolloUserInputError(originalError.message, formatErrorToExtension(originalError));
29
- }
30
-
31
- if (originalError instanceof ApplicationError || originalError instanceof HttpError) {
32
- const name = formatToCode(originalError.name);
33
- return new ApolloError(originalError.message, name, formatErrorToExtension(originalError));
34
- }
35
-
36
- if (originalError instanceof ApolloError || originalError instanceof GraphQLError) {
37
- return error;
38
- }
39
-
40
- // Internal server error
41
- strapi.log.error(originalError);
42
- return new ApolloError('Internal Server Error', 'INTERNAL_SERVER_ERROR');
43
- };
44
-
45
- module.exports = formatGraphqlError;
@@ -1,97 +0,0 @@
1
- 'use strict';
2
-
3
- const { Kind, valueFromASTUntyped } = require('graphql');
4
- const { omit } = require('lodash/fp');
5
- const { unionType, scalarType } = require('nexus');
6
- const { ApplicationError } = require('@strapi/utils').errors;
7
-
8
- module.exports = ({ strapi }) => {
9
- const buildTypeDefinition = (name, components) => {
10
- const { ERROR_TYPE_NAME } = strapi.plugin('graphql').service('constants');
11
- const isEmpty = components.length === 0;
12
-
13
- const componentsTypeNames = components.map((componentUID) => {
14
- const component = strapi.components[componentUID];
15
-
16
- if (!component) {
17
- throw new ApplicationError(
18
- `Trying to create a dynamic zone type with an unknown component: "${componentUID}"`
19
- );
20
- }
21
-
22
- return component.globalId;
23
- });
24
-
25
- return unionType({
26
- name,
27
-
28
- resolveType(obj) {
29
- if (isEmpty) {
30
- return ERROR_TYPE_NAME;
31
- }
32
-
33
- return strapi.components[obj.__component].globalId;
34
- },
35
-
36
- definition(t) {
37
- t.members(...componentsTypeNames, ERROR_TYPE_NAME);
38
- },
39
- });
40
- };
41
-
42
- const buildInputDefinition = (name, components) => {
43
- const parseData = (value) => {
44
- const component = Object.values(strapi.components).find(
45
- (component) => component.globalId === value.__typename
46
- );
47
-
48
- if (!component) {
49
- throw new ApplicationError(
50
- `Component not found. expected one of: ${components
51
- .map((uid) => strapi.components[uid].globalId)
52
- .join(', ')}`
53
- );
54
- }
55
-
56
- return {
57
- __component: component.uid,
58
- ...omit(['__typename'], value),
59
- };
60
- };
61
-
62
- return scalarType({
63
- name,
64
-
65
- serialize: (value) => value,
66
-
67
- parseValue: (value) => parseData(value),
68
-
69
- parseLiteral(ast, variables) {
70
- if (ast.kind !== Kind.OBJECT) {
71
- return undefined;
72
- }
73
-
74
- const value = valueFromASTUntyped(ast, variables);
75
- return parseData(value);
76
- },
77
- });
78
- };
79
-
80
- return {
81
- /**
82
- * Build a Nexus dynamic zone type from a Strapi dz attribute
83
- * @param {object} definition - The definition of the dynamic zone
84
- * @param {string} name - the name of the dynamic zone
85
- * @param {string} inputName - the name of the dynamic zone's input
86
- * @return {[NexusUnionTypeDef, NexusScalarTypeDef]}
87
- */
88
- buildDynamicZoneDefinition(definition, name, inputName) {
89
- const { components } = definition;
90
-
91
- const typeDefinition = buildTypeDefinition(name, components);
92
- const inputDefinition = buildInputDefinition(inputName, components);
93
-
94
- return [typeDefinition, inputDefinition];
95
- },
96
- };
97
- };
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- function buildEntityMetaDefinition(/* contentType */) {}
4
-
5
- module.exports = () => ({
6
- buildEntityMetaDefinition,
7
- });
@@ -1,43 +0,0 @@
1
- 'use strict';
2
-
3
- const { objectType } = require('nexus');
4
- const { prop, identity, isEmpty } = require('lodash/fp');
5
-
6
- module.exports = ({ strapi }) => {
7
- const { naming } = strapi.plugin('graphql').service('utils');
8
-
9
- return {
10
- /**
11
- * Build a higher level type for a content type which contains the attributes, the ID and the metadata
12
- * @param {object} contentType The content type which will be used to build its entity type
13
- * @return {NexusObjectTypeDef}
14
- */
15
- buildEntityDefinition(contentType) {
16
- const { attributes } = contentType;
17
-
18
- const name = naming.getEntityName(contentType);
19
- const typeName = naming.getTypeName(contentType);
20
-
21
- return objectType({
22
- name,
23
-
24
- definition(t) {
25
- // Keep the ID attribute at the top level
26
- t.id('id', { resolve: prop('id') });
27
-
28
- if (!isEmpty(attributes)) {
29
- // Keep the fetched object into a dedicated `attributes` field
30
- // TODO: [v4] precise why we keep the ID
31
- t.field('attributes', {
32
- type: typeName,
33
- resolve: identity,
34
- });
35
- }
36
-
37
- // todo[v4]: add the meta field to the entity when there will be data in it (can't add an empty type for now)
38
- // t.field('meta', { type: utils.getEntityMetaName(contentType) });
39
- },
40
- });
41
- },
42
- };
43
- };
@@ -1,26 +0,0 @@
1
- 'use strict';
2
-
3
- const { enumType } = require('nexus');
4
- const { set } = require('lodash/fp');
5
- const { toRegressedEnumValue } = require('@strapi/utils');
6
-
7
- /**
8
- * Build a Nexus enum type from a Strapi enum attribute
9
- * @param {object} definition - The definition of the enum
10
- * @param {string[]} definition.enum - The params of the enum
11
- * @param {string} name - The name of the enum
12
- * @return {NexusEnumTypeDef}
13
- */
14
- const buildEnumTypeDefinition = (definition, name) => {
15
- return enumType({
16
- name,
17
- members: definition.enum.reduce(
18
- (acc, value) => set(toRegressedEnumValue(value), value, acc),
19
- {}
20
- ),
21
- });
22
- };
23
-
24
- module.exports = () => ({
25
- buildEnumTypeDefinition,
26
- });
@@ -1,111 +0,0 @@
1
- 'use strict';
2
-
3
- const { inputObjectType } = require('nexus');
4
-
5
- module.exports = ({ strapi }) => {
6
- const rootLevelOperators = () => {
7
- const { operators } = strapi.plugin('graphql').service('builders').filters;
8
-
9
- return [operators.and, operators.or, operators.not];
10
- };
11
-
12
- const addScalarAttribute = (builder, attributeName, attribute) => {
13
- const { naming, mappers } = strapi.plugin('graphql').service('utils');
14
-
15
- const gqlType = mappers.strapiScalarToGraphQLScalar(attribute.type);
16
-
17
- builder.field(attributeName, { type: naming.getScalarFilterInputTypeName(gqlType) });
18
- };
19
-
20
- const addRelationalAttribute = (builder, attributeName, attribute) => {
21
- const utils = strapi.plugin('graphql').service('utils');
22
- const extension = strapi.plugin('graphql').service('extension');
23
- const { getFiltersInputTypeName } = utils.naming;
24
- const { isMorphRelation } = utils.attributes;
25
-
26
- const model = strapi.getModel(attribute.target);
27
-
28
- // If there is no model corresponding to the attribute configuration
29
- // or if the attribute is a polymorphic relation, then ignore it
30
- if (!model || isMorphRelation(attribute)) return;
31
-
32
- // If the target model is disabled, then ignore it too
33
- if (extension.shadowCRUD(model.uid).isDisabled()) return;
34
-
35
- builder.field(attributeName, { type: getFiltersInputTypeName(model) });
36
- };
37
-
38
- const addComponentAttribute = (builder, attributeName, attribute) => {
39
- const utils = strapi.plugin('graphql').service('utils');
40
- const extension = strapi.plugin('graphql').service('extension');
41
- const { getFiltersInputTypeName } = utils.naming;
42
-
43
- const component = strapi.getModel(attribute.component);
44
-
45
- // If there is no component corresponding to the attribute configuration, then ignore it
46
- if (!component) return;
47
-
48
- // If the component is disabled, then ignore it too
49
- if (extension.shadowCRUD(component.uid).isDisabled()) return;
50
-
51
- builder.field(attributeName, { type: getFiltersInputTypeName(component) });
52
- };
53
-
54
- const buildContentTypeFilters = (contentType) => {
55
- const utils = strapi.plugin('graphql').service('utils');
56
- const extension = strapi.plugin('graphql').service('extension');
57
-
58
- const { getFiltersInputTypeName, getScalarFilterInputTypeName } = utils.naming;
59
- const { isStrapiScalar, isRelation, isComponent } = utils.attributes;
60
-
61
- const { attributes } = contentType;
62
-
63
- const filtersTypeName = getFiltersInputTypeName(contentType);
64
-
65
- return inputObjectType({
66
- name: filtersTypeName,
67
-
68
- definition(t) {
69
- const validAttributes = Object.entries(attributes).filter(([attributeName]) =>
70
- extension.shadowCRUD(contentType.uid).field(attributeName).hasFiltersEnabeld()
71
- );
72
-
73
- const isIDFilterEnabled = extension
74
- .shadowCRUD(contentType.uid)
75
- .field('id')
76
- .hasFiltersEnabeld();
77
- // Add an ID filter to the collection types
78
- if (contentType.kind === 'collectionType' && isIDFilterEnabled) {
79
- t.field('id', { type: getScalarFilterInputTypeName('ID') });
80
- }
81
-
82
- // Add every defined attribute
83
- for (const [attributeName, attribute] of validAttributes) {
84
- // Handle scalars
85
- if (isStrapiScalar(attribute)) {
86
- addScalarAttribute(t, attributeName, attribute);
87
- }
88
-
89
- // Handle relations
90
- else if (isRelation(attribute)) {
91
- addRelationalAttribute(t, attributeName, attribute);
92
- }
93
-
94
- // Handle components
95
- else if (isComponent(attribute)) {
96
- addComponentAttribute(t, attributeName, attribute);
97
- }
98
- }
99
-
100
- // Conditional clauses
101
- for (const operator of rootLevelOperators()) {
102
- operator.add(t, filtersTypeName);
103
- }
104
- },
105
- });
106
- };
107
-
108
- return {
109
- buildContentTypeFilters,
110
- };
111
- };
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- const contentType = require('./content-type');
4
-
5
- module.exports = (context) => ({
6
- ...contentType(context),
7
- });
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- const { list } = require('nexus');
4
-
5
- const AND_FIELD_NAME = 'and';
6
-
7
- module.exports = () => ({
8
- fieldName: AND_FIELD_NAME,
9
-
10
- strapiOperator: '$and',
11
-
12
- add(t, type) {
13
- t.field(AND_FIELD_NAME, { type: list(type) });
14
- },
15
- });
@@ -1,15 +0,0 @@
1
- 'use strict';
2
-
3
- const { list } = require('nexus');
4
-
5
- const BETWEEN_FIELD_NAME = 'between';
6
-
7
- module.exports = () => ({
8
- fieldName: BETWEEN_FIELD_NAME,
9
-
10
- strapiOperator: '$between',
11
-
12
- add(t, type) {
13
- t.field(BETWEEN_FIELD_NAME, { type: list(type) });
14
- },
15
- });
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- const CONTAINS_FIELD_NAME = 'contains';
4
-
5
- module.exports = () => ({
6
- fieldName: CONTAINS_FIELD_NAME,
7
-
8
- strapiOperator: '$contains',
9
-
10
- add(t, type) {
11
- t.field(CONTAINS_FIELD_NAME, { type });
12
- },
13
- });
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- const CONTAINSI_FIELD_NAME = 'containsi';
4
-
5
- module.exports = () => ({
6
- fieldName: CONTAINSI_FIELD_NAME,
7
-
8
- strapiOperator: '$containsi',
9
-
10
- add(t, type) {
11
- t.field(CONTAINSI_FIELD_NAME, { type });
12
- },
13
- });
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- const ENDS_WITH_FIELD_NAME = 'endsWith';
4
-
5
- module.exports = () => ({
6
- fieldName: ENDS_WITH_FIELD_NAME,
7
-
8
- strapiOperator: '$endsWith',
9
-
10
- add(t, type) {
11
- t.field(ENDS_WITH_FIELD_NAME, { type });
12
- },
13
- });
@@ -1,23 +0,0 @@
1
- 'use strict';
2
-
3
- const { ValidationError } = require('@strapi/utils').errors;
4
-
5
- const EQ_FIELD_NAME = 'eq';
6
-
7
- module.exports = ({ strapi }) => ({
8
- fieldName: EQ_FIELD_NAME,
9
-
10
- strapiOperator: '$eq',
11
-
12
- add(t, type) {
13
- const { GRAPHQL_SCALARS } = strapi.plugin('graphql').service('constants');
14
-
15
- if (!GRAPHQL_SCALARS.includes(type)) {
16
- throw new ValidationError(
17
- `Can't use "${EQ_FIELD_NAME}" operator. "${type}" is not a valid scalar`
18
- );
19
- }
20
-
21
- t.field(EQ_FIELD_NAME, { type });
22
- },
23
- });
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- const EQI_FIELD_NAME = 'eqi';
4
-
5
- module.exports = () => ({
6
- fieldName: EQI_FIELD_NAME,
7
-
8
- strapiOperator: '$eqi',
9
-
10
- add(t, type) {
11
- t.field(EQI_FIELD_NAME, { type });
12
- },
13
- });