@seshuk/payload-plugin-openapi 0.2.1 → 1.0.0-beta.1

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 (377) hide show
  1. package/README.md +67 -25
  2. package/dist/_tooling/telemetry.js +168 -0
  3. package/dist/_tooling/telemetry.js.map +1 -0
  4. package/dist/cli/generateSpec.d.ts +2 -0
  5. package/dist/cli/generateSpec.js +40 -0
  6. package/dist/cli/generateSpec.js.map +1 -0
  7. package/dist/index.d.ts +8 -9
  8. package/dist/index.js +76 -65
  9. package/dist/index.js.map +1 -0
  10. package/dist/{endpoints → server/endpoints}/interactiveAuth.d.ts +2 -2
  11. package/dist/server/endpoints/interactiveAuth.js +25 -0
  12. package/dist/server/endpoints/interactiveAuth.js.map +1 -0
  13. package/dist/server/endpoints/spec.d.ts +5 -0
  14. package/dist/server/endpoints/spec.js +39 -0
  15. package/dist/server/endpoints/spec.js.map +1 -0
  16. package/dist/server/options/resolveOptions.d.ts +4 -0
  17. package/dist/server/options/resolveOptions.js +65 -0
  18. package/dist/server/options/resolveOptions.js.map +1 -0
  19. package/dist/server/spec/build.d.ts +14 -0
  20. package/dist/server/spec/build.js +40 -0
  21. package/dist/server/spec/build.js.map +1 -0
  22. package/dist/server/spec/buildDocument.d.ts +16 -0
  23. package/dist/server/spec/buildDocument.js +287 -0
  24. package/dist/server/spec/buildDocument.js.map +1 -0
  25. package/dist/server/spec/components.d.ts +61 -0
  26. package/dist/server/spec/components.js +265 -0
  27. package/dist/server/spec/components.js.map +1 -0
  28. package/dist/{spec → server/spec}/downconvert.d.ts +2 -1
  29. package/dist/server/spec/downconvert.js +69 -0
  30. package/dist/server/spec/downconvert.js.map +1 -0
  31. package/dist/server/spec/entitySchemas.d.ts +16 -0
  32. package/dist/server/spec/entitySchemas.js +207 -0
  33. package/dist/server/spec/entitySchemas.js.map +1 -0
  34. package/dist/{spec → server/spec}/fields.d.ts +2 -1
  35. package/dist/server/spec/fields.js +47 -0
  36. package/dist/server/spec/fields.js.map +1 -0
  37. package/dist/server/spec/filters.d.ts +12 -0
  38. package/dist/server/spec/filters.js +91 -0
  39. package/dist/server/spec/filters.js.map +1 -0
  40. package/dist/server/spec/hierarchy.d.ts +11 -0
  41. package/dist/server/spec/hierarchy.js +38 -0
  42. package/dist/server/spec/hierarchy.js.map +1 -0
  43. package/dist/{spec → server/spec}/names.d.ts +2 -2
  44. package/dist/server/spec/names.js +43 -0
  45. package/dist/server/spec/names.js.map +1 -0
  46. package/dist/server/spec/params.d.ts +57 -0
  47. package/dist/server/spec/params.js +394 -0
  48. package/dist/server/spec/params.js.map +1 -0
  49. package/dist/server/spec/paths/auth.d.ts +10 -0
  50. package/dist/server/spec/paths/auth.js +190 -0
  51. package/dist/server/spec/paths/auth.js.map +1 -0
  52. package/dist/server/spec/paths/collections.d.ts +11 -0
  53. package/dist/server/spec/paths/collections.js +314 -0
  54. package/dist/server/spec/paths/collections.js.map +1 -0
  55. package/dist/server/spec/paths/custom.d.ts +10 -0
  56. package/dist/server/spec/paths/custom.js +42 -0
  57. package/dist/server/spec/paths/custom.js.map +1 -0
  58. package/dist/server/spec/paths/globals.d.ts +11 -0
  59. package/dist/server/spec/paths/globals.js +87 -0
  60. package/dist/server/spec/paths/globals.js.map +1 -0
  61. package/dist/server/spec/paths/jobs.d.ts +9 -0
  62. package/dist/server/spec/paths/jobs.js +98 -0
  63. package/dist/server/spec/paths/jobs.js.map +1 -0
  64. package/dist/server/spec/paths/system.d.ts +8 -0
  65. package/dist/server/spec/paths/system.js +137 -0
  66. package/dist/server/spec/paths/system.js.map +1 -0
  67. package/dist/server/spec/paths/versions.d.ts +22 -0
  68. package/dist/server/spec/paths/versions.js +185 -0
  69. package/dist/server/spec/paths/versions.js.map +1 -0
  70. package/dist/server/spec/security.d.ts +33 -0
  71. package/dist/server/spec/security.js +97 -0
  72. package/dist/server/spec/security.js.map +1 -0
  73. package/dist/server/spec/tags.d.ts +34 -0
  74. package/dist/server/spec/tags.js +83 -0
  75. package/dist/server/spec/tags.js.map +1 -0
  76. package/dist/server/telemetry.d.ts +31 -0
  77. package/dist/server/telemetry.js +33 -0
  78. package/dist/server/telemetry.js.map +1 -0
  79. package/dist/server/ui/createUiPlugin.d.ts +16 -0
  80. package/dist/server/ui/createUiPlugin.js +33 -0
  81. package/dist/server/ui/createUiPlugin.js.map +1 -0
  82. package/dist/{ui → server/ui}/html.d.ts +5 -3
  83. package/dist/server/ui/html.js +11 -0
  84. package/dist/server/ui/html.js.map +1 -0
  85. package/dist/server/ui/scalar.d.ts +4 -0
  86. package/dist/server/ui/scalar.js +17 -0
  87. package/dist/server/ui/scalar.js.map +1 -0
  88. package/dist/server/ui/swagger.d.ts +4 -0
  89. package/dist/server/ui/swagger.js +18 -0
  90. package/dist/server/ui/swagger.js.map +1 -0
  91. package/dist/shared/constants.d.ts +4 -0
  92. package/dist/shared/constants.js +6 -0
  93. package/dist/shared/constants.js.map +1 -0
  94. package/dist/shared/translations/index.d.ts +5 -0
  95. package/dist/{translations → shared/translations}/index.js +49 -47
  96. package/dist/shared/translations/index.js.map +1 -0
  97. package/dist/shared/translations/locales/ar.d.ts +3 -0
  98. package/dist/shared/translations/locales/ar.js +99 -0
  99. package/dist/shared/translations/locales/ar.js.map +1 -0
  100. package/dist/shared/translations/locales/az.d.ts +3 -0
  101. package/dist/shared/translations/locales/az.js +99 -0
  102. package/dist/shared/translations/locales/az.js.map +1 -0
  103. package/dist/shared/translations/locales/bg.d.ts +3 -0
  104. package/dist/shared/translations/locales/bg.js +99 -0
  105. package/dist/shared/translations/locales/bg.js.map +1 -0
  106. package/dist/shared/translations/locales/bnBd.d.ts +3 -0
  107. package/dist/shared/translations/locales/bnBd.js +99 -0
  108. package/dist/shared/translations/locales/bnBd.js.map +1 -0
  109. package/dist/shared/translations/locales/bnIn.d.ts +3 -0
  110. package/dist/shared/translations/locales/bnIn.js +99 -0
  111. package/dist/shared/translations/locales/bnIn.js.map +1 -0
  112. package/dist/shared/translations/locales/ca.d.ts +3 -0
  113. package/dist/shared/translations/locales/ca.js +99 -0
  114. package/dist/shared/translations/locales/ca.js.map +1 -0
  115. package/dist/shared/translations/locales/cs.d.ts +3 -0
  116. package/dist/shared/translations/locales/cs.js +99 -0
  117. package/dist/shared/translations/locales/cs.js.map +1 -0
  118. package/dist/shared/translations/locales/da.d.ts +3 -0
  119. package/dist/shared/translations/locales/da.js +99 -0
  120. package/dist/shared/translations/locales/da.js.map +1 -0
  121. package/dist/shared/translations/locales/de.d.ts +3 -0
  122. package/dist/shared/translations/locales/de.js +99 -0
  123. package/dist/shared/translations/locales/de.js.map +1 -0
  124. package/dist/shared/translations/locales/en.d.ts +3 -0
  125. package/dist/shared/translations/locales/en.js +99 -0
  126. package/dist/shared/translations/locales/en.js.map +1 -0
  127. package/dist/shared/translations/locales/es.d.ts +3 -0
  128. package/dist/shared/translations/locales/es.js +99 -0
  129. package/dist/shared/translations/locales/es.js.map +1 -0
  130. package/dist/shared/translations/locales/et.d.ts +3 -0
  131. package/dist/shared/translations/locales/et.js +99 -0
  132. package/dist/shared/translations/locales/et.js.map +1 -0
  133. package/dist/shared/translations/locales/fa.d.ts +3 -0
  134. package/dist/shared/translations/locales/fa.js +99 -0
  135. package/dist/shared/translations/locales/fa.js.map +1 -0
  136. package/dist/shared/translations/locales/fr.d.ts +3 -0
  137. package/dist/shared/translations/locales/fr.js +99 -0
  138. package/dist/shared/translations/locales/fr.js.map +1 -0
  139. package/dist/shared/translations/locales/he.d.ts +3 -0
  140. package/dist/shared/translations/locales/he.js +99 -0
  141. package/dist/shared/translations/locales/he.js.map +1 -0
  142. package/dist/shared/translations/locales/hr.d.ts +3 -0
  143. package/dist/shared/translations/locales/hr.js +99 -0
  144. package/dist/shared/translations/locales/hr.js.map +1 -0
  145. package/dist/shared/translations/locales/hu.d.ts +3 -0
  146. package/dist/shared/translations/locales/hu.js +99 -0
  147. package/dist/shared/translations/locales/hu.js.map +1 -0
  148. package/dist/shared/translations/locales/hy.d.ts +3 -0
  149. package/dist/shared/translations/locales/hy.js +99 -0
  150. package/dist/shared/translations/locales/hy.js.map +1 -0
  151. package/dist/shared/translations/locales/id.d.ts +3 -0
  152. package/dist/shared/translations/locales/id.js +99 -0
  153. package/dist/shared/translations/locales/id.js.map +1 -0
  154. package/dist/shared/translations/locales/is.d.ts +3 -0
  155. package/dist/shared/translations/locales/is.js +99 -0
  156. package/dist/shared/translations/locales/is.js.map +1 -0
  157. package/dist/shared/translations/locales/it.d.ts +3 -0
  158. package/dist/shared/translations/locales/it.js +99 -0
  159. package/dist/shared/translations/locales/it.js.map +1 -0
  160. package/dist/shared/translations/locales/ja.d.ts +3 -0
  161. package/dist/shared/translations/locales/ja.js +99 -0
  162. package/dist/shared/translations/locales/ja.js.map +1 -0
  163. package/dist/shared/translations/locales/ko.d.ts +3 -0
  164. package/dist/shared/translations/locales/ko.js +99 -0
  165. package/dist/shared/translations/locales/ko.js.map +1 -0
  166. package/dist/shared/translations/locales/lt.d.ts +3 -0
  167. package/dist/shared/translations/locales/lt.js +99 -0
  168. package/dist/shared/translations/locales/lt.js.map +1 -0
  169. package/dist/shared/translations/locales/lv.d.ts +3 -0
  170. package/dist/shared/translations/locales/lv.js +99 -0
  171. package/dist/shared/translations/locales/lv.js.map +1 -0
  172. package/dist/shared/translations/locales/my.d.ts +3 -0
  173. package/dist/shared/translations/locales/my.js +99 -0
  174. package/dist/shared/translations/locales/my.js.map +1 -0
  175. package/dist/shared/translations/locales/nb.d.ts +3 -0
  176. package/dist/shared/translations/locales/nb.js +99 -0
  177. package/dist/shared/translations/locales/nb.js.map +1 -0
  178. package/dist/shared/translations/locales/nl.d.ts +3 -0
  179. package/dist/shared/translations/locales/nl.js +99 -0
  180. package/dist/shared/translations/locales/nl.js.map +1 -0
  181. package/dist/shared/translations/locales/pl.d.ts +3 -0
  182. package/dist/shared/translations/locales/pl.js +99 -0
  183. package/dist/shared/translations/locales/pl.js.map +1 -0
  184. package/dist/shared/translations/locales/pt.d.ts +3 -0
  185. package/dist/shared/translations/locales/pt.js +99 -0
  186. package/dist/shared/translations/locales/pt.js.map +1 -0
  187. package/dist/shared/translations/locales/ro.d.ts +3 -0
  188. package/dist/shared/translations/locales/ro.js +99 -0
  189. package/dist/shared/translations/locales/ro.js.map +1 -0
  190. package/dist/shared/translations/locales/rs.d.ts +3 -0
  191. package/dist/shared/translations/locales/rs.js +99 -0
  192. package/dist/shared/translations/locales/rs.js.map +1 -0
  193. package/dist/shared/translations/locales/rsLatin.d.ts +3 -0
  194. package/dist/shared/translations/locales/rsLatin.js +99 -0
  195. package/dist/shared/translations/locales/rsLatin.js.map +1 -0
  196. package/dist/shared/translations/locales/ru.d.ts +3 -0
  197. package/dist/shared/translations/locales/ru.js +99 -0
  198. package/dist/shared/translations/locales/ru.js.map +1 -0
  199. package/dist/shared/translations/locales/sk.d.ts +3 -0
  200. package/dist/shared/translations/locales/sk.js +99 -0
  201. package/dist/shared/translations/locales/sk.js.map +1 -0
  202. package/dist/shared/translations/locales/sl.d.ts +3 -0
  203. package/dist/shared/translations/locales/sl.js +99 -0
  204. package/dist/shared/translations/locales/sl.js.map +1 -0
  205. package/dist/shared/translations/locales/sv.d.ts +3 -0
  206. package/dist/shared/translations/locales/sv.js +99 -0
  207. package/dist/shared/translations/locales/sv.js.map +1 -0
  208. package/dist/shared/translations/locales/ta.d.ts +3 -0
  209. package/dist/shared/translations/locales/ta.js +99 -0
  210. package/dist/shared/translations/locales/ta.js.map +1 -0
  211. package/dist/shared/translations/locales/th.d.ts +3 -0
  212. package/dist/shared/translations/locales/th.js +99 -0
  213. package/dist/shared/translations/locales/th.js.map +1 -0
  214. package/dist/shared/translations/locales/tr.d.ts +3 -0
  215. package/dist/shared/translations/locales/tr.js +99 -0
  216. package/dist/shared/translations/locales/tr.js.map +1 -0
  217. package/dist/shared/translations/locales/uk.d.ts +3 -0
  218. package/dist/shared/translations/locales/uk.js +99 -0
  219. package/dist/shared/translations/locales/uk.js.map +1 -0
  220. package/dist/shared/translations/locales/vi.d.ts +3 -0
  221. package/dist/shared/translations/locales/vi.js +99 -0
  222. package/dist/shared/translations/locales/vi.js.map +1 -0
  223. package/dist/shared/translations/locales/zh.d.ts +3 -0
  224. package/dist/shared/translations/locales/zh.js +99 -0
  225. package/dist/shared/translations/locales/zh.js.map +1 -0
  226. package/dist/shared/translations/locales/zhTw.d.ts +3 -0
  227. package/dist/shared/translations/locales/zhTw.js +99 -0
  228. package/dist/shared/translations/locales/zhTw.js.map +1 -0
  229. package/dist/shared/translations/types.d.ts +106 -0
  230. package/dist/shared/translations/types.js +1 -0
  231. package/dist/shared/types/index.d.ts +397 -0
  232. package/dist/shared/types/index.js +1 -0
  233. package/dist/{utils.d.ts → shared/utils.d.ts} +1 -0
  234. package/dist/shared/utils.js +13 -0
  235. package/dist/shared/utils.js.map +1 -0
  236. package/package.json +67 -56
  237. package/dist/bin/generateSpec.d.ts +0 -25
  238. package/dist/bin/generateSpec.js +0 -61
  239. package/dist/constants.d.ts +0 -1
  240. package/dist/constants.js +0 -2
  241. package/dist/endpoints/interactiveAuth.js +0 -27
  242. package/dist/endpoints/spec.d.ts +0 -5
  243. package/dist/endpoints/spec.js +0 -39
  244. package/dist/options.d.ts +0 -2
  245. package/dist/options.js +0 -45
  246. package/dist/spec/build.d.ts +0 -14
  247. package/dist/spec/build.js +0 -36
  248. package/dist/spec/buildDocument.d.ts +0 -15
  249. package/dist/spec/buildDocument.js +0 -268
  250. package/dist/spec/components.d.ts +0 -44
  251. package/dist/spec/components.js +0 -265
  252. package/dist/spec/downconvert.js +0 -74
  253. package/dist/spec/entitySchemas.d.ts +0 -15
  254. package/dist/spec/entitySchemas.js +0 -250
  255. package/dist/spec/fields.js +0 -44
  256. package/dist/spec/filters.d.ts +0 -11
  257. package/dist/spec/filters.js +0 -83
  258. package/dist/spec/names.js +0 -37
  259. package/dist/spec/params.d.ts +0 -55
  260. package/dist/spec/params.js +0 -436
  261. package/dist/spec/paths/auth.d.ts +0 -9
  262. package/dist/spec/paths/auth.js +0 -274
  263. package/dist/spec/paths/collections.d.ts +0 -9
  264. package/dist/spec/paths/collections.js +0 -278
  265. package/dist/spec/paths/custom.d.ts +0 -9
  266. package/dist/spec/paths/custom.js +0 -41
  267. package/dist/spec/paths/globals.d.ts +0 -9
  268. package/dist/spec/paths/globals.js +0 -78
  269. package/dist/spec/paths/jobs.d.ts +0 -7
  270. package/dist/spec/paths/jobs.js +0 -130
  271. package/dist/spec/paths/versions.d.ts +0 -19
  272. package/dist/spec/paths/versions.js +0 -252
  273. package/dist/spec/security.d.ts +0 -19
  274. package/dist/spec/security.js +0 -96
  275. package/dist/spec/tags.d.ts +0 -27
  276. package/dist/spec/tags.js +0 -79
  277. package/dist/translations/index.d.ts +0 -6
  278. package/dist/translations/locales/ar.d.ts +0 -2
  279. package/dist/translations/locales/ar.js +0 -81
  280. package/dist/translations/locales/az.d.ts +0 -2
  281. package/dist/translations/locales/az.js +0 -81
  282. package/dist/translations/locales/bg.d.ts +0 -2
  283. package/dist/translations/locales/bg.js +0 -81
  284. package/dist/translations/locales/bnBd.d.ts +0 -2
  285. package/dist/translations/locales/bnBd.js +0 -81
  286. package/dist/translations/locales/bnIn.d.ts +0 -2
  287. package/dist/translations/locales/bnIn.js +0 -81
  288. package/dist/translations/locales/ca.d.ts +0 -2
  289. package/dist/translations/locales/ca.js +0 -81
  290. package/dist/translations/locales/cs.d.ts +0 -2
  291. package/dist/translations/locales/cs.js +0 -81
  292. package/dist/translations/locales/da.d.ts +0 -2
  293. package/dist/translations/locales/da.js +0 -81
  294. package/dist/translations/locales/de.d.ts +0 -2
  295. package/dist/translations/locales/de.js +0 -81
  296. package/dist/translations/locales/en.d.ts +0 -2
  297. package/dist/translations/locales/en.js +0 -81
  298. package/dist/translations/locales/es.d.ts +0 -2
  299. package/dist/translations/locales/es.js +0 -81
  300. package/dist/translations/locales/et.d.ts +0 -2
  301. package/dist/translations/locales/et.js +0 -81
  302. package/dist/translations/locales/fa.d.ts +0 -2
  303. package/dist/translations/locales/fa.js +0 -81
  304. package/dist/translations/locales/fr.d.ts +0 -2
  305. package/dist/translations/locales/fr.js +0 -81
  306. package/dist/translations/locales/he.d.ts +0 -2
  307. package/dist/translations/locales/he.js +0 -81
  308. package/dist/translations/locales/hr.d.ts +0 -2
  309. package/dist/translations/locales/hr.js +0 -81
  310. package/dist/translations/locales/hu.d.ts +0 -2
  311. package/dist/translations/locales/hu.js +0 -81
  312. package/dist/translations/locales/hy.d.ts +0 -2
  313. package/dist/translations/locales/hy.js +0 -81
  314. package/dist/translations/locales/id.d.ts +0 -2
  315. package/dist/translations/locales/id.js +0 -81
  316. package/dist/translations/locales/is.d.ts +0 -2
  317. package/dist/translations/locales/is.js +0 -81
  318. package/dist/translations/locales/it.d.ts +0 -2
  319. package/dist/translations/locales/it.js +0 -81
  320. package/dist/translations/locales/ja.d.ts +0 -2
  321. package/dist/translations/locales/ja.js +0 -81
  322. package/dist/translations/locales/ko.d.ts +0 -2
  323. package/dist/translations/locales/ko.js +0 -81
  324. package/dist/translations/locales/lt.d.ts +0 -2
  325. package/dist/translations/locales/lt.js +0 -81
  326. package/dist/translations/locales/lv.d.ts +0 -2
  327. package/dist/translations/locales/lv.js +0 -81
  328. package/dist/translations/locales/my.d.ts +0 -2
  329. package/dist/translations/locales/my.js +0 -81
  330. package/dist/translations/locales/nb.d.ts +0 -2
  331. package/dist/translations/locales/nb.js +0 -81
  332. package/dist/translations/locales/nl.d.ts +0 -2
  333. package/dist/translations/locales/nl.js +0 -81
  334. package/dist/translations/locales/pl.d.ts +0 -2
  335. package/dist/translations/locales/pl.js +0 -81
  336. package/dist/translations/locales/pt.d.ts +0 -2
  337. package/dist/translations/locales/pt.js +0 -81
  338. package/dist/translations/locales/ro.d.ts +0 -2
  339. package/dist/translations/locales/ro.js +0 -81
  340. package/dist/translations/locales/rs.d.ts +0 -2
  341. package/dist/translations/locales/rs.js +0 -81
  342. package/dist/translations/locales/rsLatin.d.ts +0 -2
  343. package/dist/translations/locales/rsLatin.js +0 -81
  344. package/dist/translations/locales/ru.d.ts +0 -2
  345. package/dist/translations/locales/ru.js +0 -81
  346. package/dist/translations/locales/sk.d.ts +0 -2
  347. package/dist/translations/locales/sk.js +0 -81
  348. package/dist/translations/locales/sl.d.ts +0 -2
  349. package/dist/translations/locales/sl.js +0 -81
  350. package/dist/translations/locales/sv.d.ts +0 -2
  351. package/dist/translations/locales/sv.js +0 -81
  352. package/dist/translations/locales/ta.d.ts +0 -2
  353. package/dist/translations/locales/ta.js +0 -81
  354. package/dist/translations/locales/th.d.ts +0 -2
  355. package/dist/translations/locales/th.js +0 -81
  356. package/dist/translations/locales/tr.d.ts +0 -2
  357. package/dist/translations/locales/tr.js +0 -81
  358. package/dist/translations/locales/uk.d.ts +0 -2
  359. package/dist/translations/locales/uk.js +0 -81
  360. package/dist/translations/locales/vi.d.ts +0 -2
  361. package/dist/translations/locales/vi.js +0 -81
  362. package/dist/translations/locales/zh.d.ts +0 -2
  363. package/dist/translations/locales/zh.js +0 -81
  364. package/dist/translations/locales/zhTw.d.ts +0 -2
  365. package/dist/translations/locales/zhTw.js +0 -81
  366. package/dist/translations/types.d.ts +0 -87
  367. package/dist/translations/types.js +0 -1
  368. package/dist/types.d.ts +0 -192
  369. package/dist/types.js +0 -1
  370. package/dist/ui/createUiPlugin.d.ts +0 -14
  371. package/dist/ui/createUiPlugin.js +0 -28
  372. package/dist/ui/html.js +0 -8
  373. package/dist/ui/scalar.d.ts +0 -1
  374. package/dist/ui/scalar.js +0 -12
  375. package/dist/ui/swagger.d.ts +0 -1
  376. package/dist/ui/swagger.js +0 -12
  377. package/dist/utils.js +0 -13
@@ -1,27 +0,0 @@
1
- const interactiveAuthHandler = (authCollectionSlug)=>async (req)=>{
2
- const form = await req.formData?.();
3
- const username = form?.get('username')?.toString() ?? '';
4
- const password = form?.get('password')?.toString() ?? '';
5
- try {
6
- const result = await req.payload.login({
7
- collection: authCollectionSlug,
8
- data: {
9
- email: username,
10
- username,
11
- password
12
- }
13
- });
14
- return Response.json({
15
- access_token: result.token,
16
- token_type: 'JWT',
17
- expires_in: result.exp
18
- });
19
- } catch {
20
- return Response.json({
21
- error: 'invalid_grant'
22
- }, {
23
- status: 400
24
- });
25
- }
26
- };
27
- export { interactiveAuthHandler };
@@ -1,5 +0,0 @@
1
- import type { PayloadHandler } from 'payload';
2
- import type { ResolvedOptions } from '../types.js';
3
- type SpecHandler = (options: ResolvedOptions) => PayloadHandler;
4
- export declare const specHandler: SpecHandler;
5
- export {};
@@ -1,39 +0,0 @@
1
- import { buildOpenApiDocument } from "../spec/build.js";
2
- const deriveServerUrl = (req)=>{
3
- const host = req.headers.get('host') ?? 'localhost:3000';
4
- const protocol = host.startsWith('localhost') || host.startsWith('127.') ? 'http' : 'https';
5
- return `${protocol}://${host}`;
6
- };
7
- const requestedLang = (req)=>{
8
- const raw = new URL(req.url ?? '', 'http://localhost').searchParams.get('lang');
9
- if (!raw) return;
10
- const supported = req.payload.config.i18n?.supportedLanguages;
11
- return !supported || raw in supported ? raw : void 0;
12
- };
13
- const specHandler = (options)=>{
14
- const cache = new Map();
15
- return async (req)=>{
16
- const requested = requestedLang(req);
17
- const lang = requested ?? req.i18n?.language ?? req.payload.config.i18n?.fallbackLanguage ?? 'en';
18
- let doc = cache.get(lang);
19
- if (!options.cache || !doc) {
20
- doc = await buildOpenApiDocument({
21
- payload: req.payload,
22
- options,
23
- language: lang,
24
- i18n: requested ? void 0 : req.i18n
25
- });
26
- cache.set(lang, doc);
27
- }
28
- const document = {
29
- ...doc,
30
- servers: [
31
- {
32
- url: deriveServerUrl(req)
33
- }
34
- ]
35
- };
36
- return Response.json(document);
37
- };
38
- };
39
- export { specHandler };
package/dist/options.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import type { OpenApiPluginOptions, ResolvedOptions } from './types.js';
2
- export declare const resolveOptions: (options: OpenApiPluginOptions) => ResolvedOptions;
package/dist/options.js DELETED
@@ -1,45 +0,0 @@
1
- import { PLUGIN_NAME } from "./constants.js";
2
- const resolveFilters = (filters = {})=>({
3
- include: filters.include ?? [],
4
- exclude: filters.exclude ?? [],
5
- includeHidden: filters.includeHidden ?? false,
6
- includeSystem: filters.includeSystem ?? false,
7
- includeCustom: filters.includeCustom ?? true,
8
- includeAuth: filters.includeAuth ?? true,
9
- includeAdminAuth: filters.includeAdminAuth ?? false,
10
- includeVersions: filters.includeVersions ?? true,
11
- includeJobs: filters.includeJobs ?? true,
12
- excludeOperations: filters.excludeOperations ?? [],
13
- excludeWhen: filters.excludeWhen
14
- });
15
- const DEFAULT_AUTH_ENDPOINT = '/openapi-auth';
16
- const resolveInteractiveAuth = (option)=>{
17
- if (!option) return {
18
- enabled: false,
19
- endpoint: DEFAULT_AUTH_ENDPOINT
20
- };
21
- if (true === option) return {
22
- enabled: true,
23
- endpoint: DEFAULT_AUTH_ENDPOINT
24
- };
25
- return {
26
- enabled: true,
27
- endpoint: option.endpoint ?? DEFAULT_AUTH_ENDPOINT
28
- };
29
- };
30
- const resolveOptions = (options)=>{
31
- if (!options.metadata?.title || !options.metadata?.version) throw new Error(`${PLUGIN_NAME}: metadata.title and metadata.version are required.`);
32
- return {
33
- metadata: options.metadata,
34
- openapiVersion: options.openapiVersion ?? '3.2',
35
- specEndpoint: options.specEndpoint ?? '/openapi.json',
36
- serve: options.serve ?? true,
37
- filters: resolveFilters(options.filters),
38
- interactiveAuth: resolveInteractiveAuth(options.interactiveAuth),
39
- nestedTags: options.nestedTags ?? false,
40
- securityWhen: options.securityWhen,
41
- cache: options.cache ?? true,
42
- extensions: options.extensions ?? []
43
- };
44
- };
45
- export { resolveOptions };
@@ -1,14 +0,0 @@
1
- import type { BasePayload } from 'payload';
2
- import type { I18n } from '@payloadcms/translations';
3
- import type { Document } from '@scalar/openapi-types/3.2';
4
- import type { ResolvedOptions } from '../types.js';
5
- export interface BuildOpenApiInput {
6
- payload: BasePayload;
7
- options: ResolvedOptions;
8
- language?: string;
9
- i18n?: I18n;
10
- servers?: {
11
- url: string;
12
- }[];
13
- }
14
- export declare const buildOpenApiDocument: (input: BuildOpenApiInput) => Promise<Document>;
@@ -1,36 +0,0 @@
1
- import { getLocalI18n } from "payload";
2
- import { buildDocument } from "./buildDocument.js";
3
- import { toOpenApi30, toOpenApi31 } from "./downconvert.js";
4
- const buildOpenApiDocument = async (input)=>{
5
- const { payload, options, language, servers } = input;
6
- const { config } = payload;
7
- const locales = false === config.localization ? [] : config.localization.locales.map((locale)=>locale.code);
8
- const i18n = input.i18n ?? await getLocalI18n({
9
- config,
10
- language: language ?? config.i18n?.fallbackLanguage
11
- });
12
- const supported = Object.keys(config.i18n?.supportedLanguages ?? {});
13
- const docLanguages = supported.length > 0 ? supported : [
14
- 'en'
15
- ];
16
- const ctx = {
17
- defaultIDType: payload.db.defaultIDType,
18
- locales,
19
- apiRoute: config.routes?.api ?? '/api',
20
- docLanguages,
21
- i18n
22
- };
23
- const doc = await buildDocument({
24
- options,
25
- servers: servers ?? [],
26
- collections: Object.values(payload.collections).map((collection)=>collection.config),
27
- globals: config.globals,
28
- config,
29
- ctx,
30
- logger: payload.logger
31
- });
32
- if ('3.0' === options.openapiVersion) return toOpenApi30(doc);
33
- if ('3.1' === options.openapiVersion) return toOpenApi31(doc);
34
- return doc;
35
- };
36
- export { buildOpenApiDocument };
@@ -1,15 +0,0 @@
1
- import type { PayloadLogger, SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig } from 'payload';
2
- import type { Document } from '@scalar/openapi-types/3.2';
3
- import type { BuildContext, ResolvedOptions } from '../types.js';
4
- export interface BuildInput {
5
- options: ResolvedOptions;
6
- servers: {
7
- url: string;
8
- }[];
9
- collections: SanitizedCollectionConfig[];
10
- globals: SanitizedGlobalConfig[];
11
- config: SanitizedConfig;
12
- ctx: BuildContext;
13
- logger: PayloadLogger;
14
- }
15
- export declare const buildDocument: (input: BuildInput) => Promise<Document>;
@@ -1,268 +0,0 @@
1
- import { getTranslation } from "@payloadcms/translations";
2
- import { PLUGIN_NAME } from "../constants.js";
3
- import { deepMerge } from "../utils.js";
4
- import { makeT } from "../translations/index.js";
5
- import { ERROR_SCHEMA_NAME, INTERACTIVE_SCHEME_NAME, SECURITY_SCHEME_NAME, buildErrorResponseSchema, buildListEnvelopeSchema, interactiveSecurityScheme, securityScheme } from "./components.js";
6
- import { buildBlockSchema, buildEntitySchemas } from "./entitySchemas.js";
7
- import { filterOperations, shouldIncludeCollection, shouldIncludeGlobal } from "./filters.js";
8
- import { blockSchemaName, createSchemaName, globalSchemaName, joinsSchemaName, listSchemaName, populateSchemaName, querySchemaName, schemaName, selectSchemaName, updateSchemaName } from "./names.js";
9
- import { buildParamSchemas, buildQueryOperationsSchema, collectionHasFilters } from "./params.js";
10
- import { applySecurityWhen, resolveEntitySecurity } from "./security.js";
11
- import { buildTagHierarchy } from "./tags.js";
12
- import { buildAuthPaths } from "./paths/auth.js";
13
- import { buildCollectionPaths } from "./paths/collections.js";
14
- import { buildCustomEndpointPaths } from "./paths/custom.js";
15
- import { buildGlobalPaths } from "./paths/globals.js";
16
- import { buildJobsPaths } from "./paths/jobs.js";
17
- import { buildVersionPaths, versionComponentSchemas } from "./paths/versions.js";
18
- const resolveDescription = (description, ctx)=>{
19
- if (null == description) return;
20
- const resolved = getTranslation(description, ctx.i18n);
21
- return 'string' == typeof resolved && resolved.length > 0 ? resolved : void 0;
22
- };
23
- const registerParamSchemas = (schemas, base, fields, ctx)=>{
24
- const { select, populate, joins } = buildParamSchemas({
25
- fields,
26
- ctx
27
- });
28
- schemas[selectSchemaName(base)] = select;
29
- if (populate) schemas[populateSchemaName(base)] = populate;
30
- if (joins) schemas[joinsSchemaName(base)] = joins;
31
- };
32
- const buildDocument = async (input)=>{
33
- const { options, ctx, config, logger } = input;
34
- const t = makeT(ctx.i18n);
35
- const paths = {};
36
- const schemas = {};
37
- const { filters } = options;
38
- const collections = input.collections.filter((c)=>shouldIncludeCollection(c, filters));
39
- const globals = input.globals.filter((g)=>shouldIncludeGlobal(g, filters));
40
- const collectionTagInfos = [];
41
- const globalTagInfos = [];
42
- for (const block of config.blocks ?? [])try {
43
- schemas[blockSchemaName(block.slug)] = buildBlockSchema(block, config);
44
- } catch (error) {
45
- logger.warn(`${PLUGIN_NAME}: skipped block "${block.slug}": ${error.message}`);
46
- }
47
- for (const collection of collections)try {
48
- const { read, create, update } = await buildEntitySchemas({
49
- entity: collection,
50
- config,
51
- ctx
52
- });
53
- const base = schemaName(collection.slug);
54
- collectionTagInfos.push({
55
- base,
56
- hasAuth: filters.includeAuth && Boolean(collection.auth),
57
- hasVersions: Boolean(filters.includeVersions && collection.versions),
58
- description: resolveDescription(collection.admin?.description, ctx)
59
- });
60
- schemas[base] = read;
61
- schemas[createSchemaName(base)] = create;
62
- schemas[updateSchemaName(base)] = update;
63
- schemas[listSchemaName(base)] = buildListEnvelopeSchema(base);
64
- if (collectionHasFilters(collection.fields)) schemas[querySchemaName(base)] = buildQueryOperationsSchema({
65
- base,
66
- fields: collection.fields,
67
- ctx
68
- });
69
- registerParamSchemas(schemas, base, collection.fields, ctx);
70
- const security = await resolveEntitySecurity({
71
- entity: collection,
72
- operations: [
73
- 'read',
74
- 'create',
75
- 'update',
76
- 'delete'
77
- ],
78
- locale: ctx.locales[0]
79
- });
80
- const collectionPaths = {
81
- ...buildCollectionPaths({
82
- collection,
83
- ctx,
84
- security
85
- })
86
- };
87
- if (filters.includeAuth) Object.assign(collectionPaths, buildAuthPaths({
88
- collection,
89
- ctx,
90
- includeAdmin: filters.includeAdminAuth,
91
- nestedTags: options.nestedTags
92
- }));
93
- if (filters.includeVersions && collection.versions) {
94
- const { version, versionList } = versionComponentSchemas({
95
- docBase: base,
96
- base,
97
- idType: ctx.defaultIDType
98
- });
99
- schemas[`${base}Version`] = version;
100
- schemas[`${base}VersionList`] = versionList;
101
- Object.assign(collectionPaths, buildVersionPaths({
102
- entity: collection,
103
- pathBase: `${ctx.apiRoute}/${collection.slug}`,
104
- ctx,
105
- schemaBase: base,
106
- nestedTags: options.nestedTags
107
- }));
108
- }
109
- const filteredCollectionPaths = filterOperations({
110
- paths: collectionPaths,
111
- slug: collection.slug,
112
- kind: 'collection',
113
- filters
114
- });
115
- Object.assign(paths, applySecurityWhen({
116
- paths: filteredCollectionPaths,
117
- slug: collection.slug,
118
- kind: 'collection',
119
- securityWhen: options.securityWhen
120
- }));
121
- } catch (error) {
122
- logger.warn(`${PLUGIN_NAME}: skipped collection "${collection.slug}": ${error.message}`);
123
- }
124
- for (const global of globals)try {
125
- const { read, update } = await buildEntitySchemas({
126
- entity: global,
127
- config,
128
- ctx
129
- });
130
- const gbase = globalSchemaName(global.slug);
131
- globalTagInfos.push({
132
- base: gbase,
133
- hasVersions: Boolean(filters.includeVersions && global.versions),
134
- description: resolveDescription(global.admin?.description, ctx)
135
- });
136
- schemas[gbase] = read;
137
- schemas[updateSchemaName(gbase)] = update;
138
- registerParamSchemas(schemas, gbase, global.fields, ctx);
139
- const security = await resolveEntitySecurity({
140
- entity: global,
141
- operations: [
142
- 'read',
143
- 'update'
144
- ],
145
- locale: ctx.locales[0]
146
- });
147
- const globalPaths = {
148
- ...buildGlobalPaths({
149
- global,
150
- ctx,
151
- security
152
- })
153
- };
154
- if (filters.includeVersions && global.versions) {
155
- const { version, versionList } = versionComponentSchemas({
156
- docBase: gbase,
157
- base: gbase,
158
- idType: ctx.defaultIDType
159
- });
160
- schemas[`${gbase}Version`] = version;
161
- schemas[`${gbase}VersionList`] = versionList;
162
- Object.assign(globalPaths, buildVersionPaths({
163
- entity: global,
164
- pathBase: `${ctx.apiRoute}/globals/${global.slug}`,
165
- ctx,
166
- schemaBase: gbase,
167
- nestedTags: options.nestedTags,
168
- global: true
169
- }));
170
- }
171
- const filteredGlobalPaths = filterOperations({
172
- paths: globalPaths,
173
- slug: global.slug,
174
- kind: 'global',
175
- filters
176
- });
177
- Object.assign(paths, applySecurityWhen({
178
- paths: filteredGlobalPaths,
179
- slug: global.slug,
180
- kind: 'global',
181
- securityWhen: options.securityWhen
182
- }));
183
- } catch (error) {
184
- logger.warn(`${PLUGIN_NAME}: skipped global "${global.slug}": ${error.message}`);
185
- }
186
- if (filters.includeCustom) try {
187
- Object.assign(paths, buildCustomEndpointPaths({
188
- config,
189
- collections,
190
- globals,
191
- ctx
192
- }));
193
- } catch (error) {
194
- logger.warn(`${PLUGIN_NAME}: failed to collect custom endpoints: ${error.message}`);
195
- }
196
- const jobsConfig = config.jobs;
197
- const hasJobs = filters.includeJobs && Boolean(jobsConfig?.tasks?.length || jobsConfig?.workflows?.length);
198
- if (filters.includeJobs) try {
199
- Object.assign(paths, buildJobsPaths({
200
- config,
201
- ctx
202
- }));
203
- } catch (error) {
204
- logger.warn(`${PLUGIN_NAME}: failed to add jobs endpoint: ${error.message}`);
205
- }
206
- const supportedTimezones = config.admin?.timezones?.supportedTimezones;
207
- if (Array.isArray(supportedTimezones) && supportedTimezones.length > 0) schemas[schemaName('supportedTimezones')] = {
208
- type: 'string',
209
- description: t('schemaSupportedTimezones'),
210
- enum: supportedTimezones.map((tz)=>'string' == typeof tz ? tz : tz.value)
211
- };
212
- schemas[ERROR_SCHEMA_NAME] = buildErrorResponseSchema();
213
- const cookiePrefix = config.cookiePrefix || 'payload';
214
- const securitySchemes = {
215
- [SECURITY_SCHEME_NAME]: securityScheme({
216
- cookiePrefix,
217
- t
218
- })
219
- };
220
- if (options.interactiveAuth.enabled) securitySchemes[INTERACTIVE_SCHEME_NAME] = interactiveSecurityScheme({
221
- tokenUrl: `${ctx.apiRoute}${options.interactiveAuth.endpoint}`,
222
- t
223
- });
224
- const localeNote = ctx.locales.length > 0 ? `\n\n## ${t('localizationHeading')}\n\n` + t('localizationNote', {
225
- locales: ctx.locales.map((l)=>`\`${l}\``).join(', ')
226
- }) : '';
227
- const docLanguagesNote = ctx.docLanguages.length > 1 ? `\n\n${t('docLanguagesNote', {
228
- languages: ctx.docLanguages.map((l)=>`\`${l}\``).join(', ')
229
- })}` : '';
230
- const info = {
231
- ...options.metadata,
232
- description: `${options.metadata.description ?? ''}${localeNote}${docLanguagesNote}`.trim() || void 0
233
- };
234
- let doc = {
235
- openapi: '3.2.0',
236
- info,
237
- servers: input.servers,
238
- paths,
239
- components: {
240
- schemas,
241
- securitySchemes
242
- },
243
- tags: buildTagHierarchy({
244
- collections: collectionTagInfos,
245
- globals: globalTagInfos,
246
- hasJobs,
247
- t,
248
- nested: options.nestedTags
249
- }),
250
- 'x-doc-languages': ctx.docLanguages
251
- };
252
- for (const ext of options.extensions)try {
253
- if (ext.paths) doc.paths = deepMerge(doc.paths ?? {}, ext.paths);
254
- if (ext.components) doc.components = deepMerge(doc.components ?? {}, ext.components);
255
- if (ext.tags) {
256
- const seen = new Set((doc.tags ?? []).map((tag)=>tag.name));
257
- doc.tags = [
258
- ...doc.tags ?? [],
259
- ...ext.tags.filter((tag)=>!seen.has(tag.name))
260
- ];
261
- }
262
- if (ext.transform) doc = ext.transform(doc, ctx);
263
- } catch (error) {
264
- logger.warn(`${PLUGIN_NAME}: extension failed and was skipped: ${error.message}`);
265
- }
266
- return doc;
267
- };
268
- export { buildDocument };
@@ -1,44 +0,0 @@
1
- import type { ReferenceObject, RequestBodyObject, ResponseObject, ResponsesObject, SchemaObject, SecuritySchemeObject } from '@scalar/openapi-types/3.2';
2
- import type { Translate } from '../translations/types.js';
3
- type SchemaOrRef = SchemaObject | ReferenceObject;
4
- export declare const nullableType: (type: "integer" | "string" | "number" | "boolean") => SchemaObject;
5
- export declare const jsonResponse: (description: string, schema: SchemaOrRef) => ResponseObject;
6
- export declare const jsonOk: (description: string, schema: SchemaOrRef) => ResponsesObject;
7
- export declare const jsonBody: (schema: SchemaOrRef) => RequestBodyObject;
8
- export declare const messageResponse: (description: string) => ResponsesObject;
9
- export type ErrorCode = '400' | '401' | '403' | '404' | '500';
10
- export declare const ERROR_SCHEMA_NAME = "ErrorResponse";
11
- export declare const ERRORS: {
12
- readonly list: ErrorCode[];
13
- readonly read: ErrorCode[];
14
- readonly create: ErrorCode[];
15
- readonly update: ErrorCode[];
16
- readonly delete: ErrorCode[];
17
- readonly globalRead: ErrorCode[];
18
- readonly globalUpdate: ErrorCode[];
19
- readonly login: ErrorCode[];
20
- readonly session: ErrorCode[];
21
- readonly authAction: ErrorCode[];
22
- readonly versionList: ErrorCode[];
23
- readonly versionRead: ErrorCode[];
24
- readonly versionRestore: ErrorCode[];
25
- };
26
- export declare const buildErrorResponseSchema: () => SchemaObject;
27
- export declare const errorResponses: (codes: ErrorCode[], t: Translate) => ResponsesObject;
28
- export declare const buildListEnvelopeSchema: (base: string) => SchemaObject;
29
- export declare const uploadRequestBody: ({ bodyRef, fileRequired, t, }: {
30
- bodyRef: ReferenceObject;
31
- fileRequired: boolean;
32
- t: Translate;
33
- }) => RequestBodyObject;
34
- export declare const SECURITY_SCHEME_NAME = "PayloadToken";
35
- export declare const INTERACTIVE_SCHEME_NAME = "PayloadLogin";
36
- export declare const interactiveSecurityScheme: ({ tokenUrl, t, }: {
37
- tokenUrl: string;
38
- t: Translate;
39
- }) => SecuritySchemeObject;
40
- export declare const securityScheme: ({ cookiePrefix, t }: {
41
- cookiePrefix: string;
42
- t: Translate;
43
- }) => SecuritySchemeObject;
44
- export {};