e621 2.2.6 → 3.0.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 (396) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +14 -41
  3. package/dist/lib/Debug.d.ts +1 -0
  4. package/dist/lib/Debug.js +16 -0
  5. package/dist/lib/errors.d.ts +8 -0
  6. package/dist/lib/errors.js +37 -0
  7. package/dist/lib/generated/client/client.d.ts +2 -0
  8. package/dist/lib/generated/client/client.js +236 -0
  9. package/dist/lib/generated/client/index.d.ts +8 -0
  10. package/dist/lib/generated/client/index.js +7 -0
  11. package/dist/lib/generated/client/types.d.ts +117 -0
  12. package/dist/lib/generated/client/types.js +3 -0
  13. package/dist/lib/generated/client/utils.d.ts +33 -0
  14. package/dist/lib/generated/client/utils.js +229 -0
  15. package/dist/lib/generated/client.d.ts +12 -0
  16. package/dist/lib/generated/client.js +4 -0
  17. package/dist/lib/generated/core/auth.d.ts +18 -0
  18. package/dist/lib/generated/core/auth.js +15 -0
  19. package/dist/lib/generated/core/bodySerializer.d.ts +25 -0
  20. package/dist/lib/generated/core/bodySerializer.js +58 -0
  21. package/dist/lib/generated/core/params.d.ts +43 -0
  22. package/dist/lib/generated/core/params.js +101 -0
  23. package/dist/lib/generated/core/pathSerializer.d.ts +33 -0
  24. package/dist/lib/generated/core/pathSerializer.js +107 -0
  25. package/dist/lib/generated/core/queryKeySerializer.d.ts +18 -0
  26. package/dist/lib/generated/core/queryKeySerializer.js +93 -0
  27. package/dist/lib/generated/core/serverSentEvents.d.ts +71 -0
  28. package/dist/lib/generated/core/serverSentEvents.js +134 -0
  29. package/dist/lib/generated/core/types.d.ts +78 -0
  30. package/dist/lib/generated/core/types.js +3 -0
  31. package/dist/lib/generated/core/utils.d.ts +19 -0
  32. package/dist/lib/generated/core/utils.js +88 -0
  33. package/dist/lib/generated/schemas.d.ts +2989 -0
  34. package/dist/lib/generated/schemas.js +4014 -0
  35. package/dist/lib/generated/sdk.d.ts +1417 -0
  36. package/dist/lib/generated/sdk.js +2633 -0
  37. package/dist/lib/generated/source.json +18815 -0
  38. package/dist/lib/generated/types.d.ts +9923 -0
  39. package/dist/lib/generated/types.js +3 -0
  40. package/dist/lib/generated.d.ts +4 -0
  41. package/dist/lib/generated.js +5 -0
  42. package/dist/lib/index.d.ts +58 -0
  43. package/dist/lib/index.js +74 -0
  44. package/dist/lib/models/ApiKey.d.ts +14 -0
  45. package/dist/lib/models/ApiKey.js +17 -0
  46. package/dist/lib/models/Artist.d.ts +61 -0
  47. package/dist/lib/models/Artist.js +86 -0
  48. package/dist/lib/models/ArtistUrl.d.ts +14 -0
  49. package/dist/lib/models/ArtistUrl.js +17 -0
  50. package/dist/lib/models/ArtistVersion.d.ts +14 -0
  51. package/dist/lib/models/ArtistVersion.js +17 -0
  52. package/dist/lib/models/AvoidPosting.d.ts +63 -0
  53. package/dist/lib/models/AvoidPosting.js +97 -0
  54. package/dist/lib/models/AvoidPostingVersion.d.ts +14 -0
  55. package/dist/lib/models/AvoidPostingVersion.js +17 -0
  56. package/dist/lib/models/Ban.d.ts +14 -0
  57. package/dist/lib/models/Ban.js +17 -0
  58. package/dist/lib/models/Base.d.ts +11 -0
  59. package/dist/lib/models/Base.js +39 -0
  60. package/dist/lib/models/Blip.d.ts +79 -0
  61. package/dist/lib/models/Blip.js +120 -0
  62. package/dist/lib/models/BulkUpdateRequest.d.ts +49 -0
  63. package/dist/lib/models/BulkUpdateRequest.js +75 -0
  64. package/dist/lib/models/Comment.d.ts +101 -0
  65. package/dist/lib/models/Comment.js +157 -0
  66. package/dist/lib/models/CurrentUser.d.ts +14 -0
  67. package/dist/lib/models/CurrentUser.js +17 -0
  68. package/dist/lib/models/DMail.d.ts +46 -0
  69. package/dist/lib/models/DMail.js +73 -0
  70. package/dist/lib/models/EditHistory.d.ts +14 -0
  71. package/dist/lib/models/EditHistory.js +17 -0
  72. package/dist/lib/models/EmailBlacklist.d.ts +26 -0
  73. package/dist/lib/models/EmailBlacklist.js +37 -0
  74. package/dist/lib/models/ForumPost.d.ts +98 -0
  75. package/dist/lib/models/ForumPost.js +154 -0
  76. package/dist/lib/models/ForumPostVote.d.ts +24 -0
  77. package/dist/lib/models/ForumPostVote.js +35 -0
  78. package/dist/lib/models/ForumTopic.d.ts +81 -0
  79. package/dist/lib/models/ForumTopic.js +131 -0
  80. package/dist/lib/models/FullCurrentUser.d.ts +14 -0
  81. package/dist/lib/models/FullCurrentUser.js +17 -0
  82. package/dist/lib/models/FullUser.d.ts +14 -0
  83. package/dist/lib/models/FullUser.js +17 -0
  84. package/dist/lib/models/Help.d.ts +39 -0
  85. package/dist/lib/models/Help.js +57 -0
  86. package/dist/lib/models/IpBan.d.ts +28 -0
  87. package/dist/lib/models/IpBan.js +39 -0
  88. package/dist/lib/models/IqdbPost.d.ts +14 -0
  89. package/dist/lib/models/IqdbPost.js +17 -0
  90. package/dist/lib/models/Mascot.d.ts +39 -0
  91. package/dist/lib/models/Mascot.js +57 -0
  92. package/dist/lib/models/ModAction.d.ts +14 -0
  93. package/dist/lib/models/ModAction.js +17 -0
  94. package/dist/lib/models/NewsUpdate.d.ts +39 -0
  95. package/dist/lib/models/NewsUpdate.js +57 -0
  96. package/dist/lib/models/Note.d.ts +45 -0
  97. package/dist/lib/models/Note.js +71 -0
  98. package/dist/lib/models/NoteVersion.d.ts +24 -0
  99. package/dist/lib/models/NoteVersion.js +35 -0
  100. package/dist/lib/models/Pool.d.ts +67 -0
  101. package/dist/lib/models/Pool.js +109 -0
  102. package/dist/lib/models/PoolVersion.d.ts +24 -0
  103. package/dist/lib/models/PoolVersion.js +35 -0
  104. package/dist/lib/models/Post.d.ts +175 -0
  105. package/dist/lib/models/Post.js +287 -0
  106. package/dist/lib/models/PostApproval.d.ts +26 -0
  107. package/dist/lib/models/PostApproval.js +37 -0
  108. package/dist/lib/models/PostDisapproval.d.ts +14 -0
  109. package/dist/lib/models/PostDisapproval.js +17 -0
  110. package/dist/lib/models/PostEvent.d.ts +14 -0
  111. package/dist/lib/models/PostEvent.js +17 -0
  112. package/dist/lib/models/PostFlag.d.ts +38 -0
  113. package/dist/lib/models/PostFlag.js +57 -0
  114. package/dist/lib/models/PostReplacement.d.ts +75 -0
  115. package/dist/lib/models/PostReplacement.js +117 -0
  116. package/dist/lib/models/PostSet.d.ts +75 -0
  117. package/dist/lib/models/PostSet.js +117 -0
  118. package/dist/lib/models/PostVersion.d.ts +58 -0
  119. package/dist/lib/models/PostVersion.js +93 -0
  120. package/dist/lib/models/RisingSearchTrend.d.ts +14 -0
  121. package/dist/lib/models/RisingSearchTrend.js +17 -0
  122. package/dist/lib/models/SearchTrend.d.ts +14 -0
  123. package/dist/lib/models/SearchTrend.js +17 -0
  124. package/dist/lib/models/SearchTrendBlacklist.d.ts +14 -0
  125. package/dist/lib/models/SearchTrendBlacklist.js +17 -0
  126. package/dist/lib/models/StaffNote.d.ts +53 -0
  127. package/dist/lib/models/StaffNote.js +79 -0
  128. package/dist/lib/models/Tag.d.ts +59 -0
  129. package/dist/lib/models/Tag.js +91 -0
  130. package/dist/lib/models/TagAlias.d.ts +51 -0
  131. package/dist/lib/models/TagAlias.js +77 -0
  132. package/dist/lib/models/TagCorrection.d.ts +15 -0
  133. package/dist/lib/models/TagCorrection.js +20 -0
  134. package/dist/lib/models/TagImplication.d.ts +51 -0
  135. package/dist/lib/models/TagImplication.js +77 -0
  136. package/dist/lib/models/TagPreview.d.ts +14 -0
  137. package/dist/lib/models/TagPreview.js +17 -0
  138. package/dist/lib/models/TagTypeVersion.d.ts +14 -0
  139. package/dist/lib/models/TagTypeVersion.js +17 -0
  140. package/dist/lib/models/Takedown.d.ts +87 -0
  141. package/dist/lib/models/Takedown.js +137 -0
  142. package/dist/lib/models/Ticket.d.ts +51 -0
  143. package/dist/lib/models/Ticket.js +77 -0
  144. package/dist/lib/models/Upload.d.ts +14 -0
  145. package/dist/lib/models/Upload.js +17 -0
  146. package/dist/lib/models/UploadWhitelist.d.ts +37 -0
  147. package/dist/lib/models/UploadWhitelist.js +55 -0
  148. package/dist/lib/models/User.d.ts +97 -0
  149. package/dist/lib/models/User.js +160 -0
  150. package/dist/lib/models/UserFeedback.d.ts +63 -0
  151. package/dist/lib/models/UserFeedback.js +97 -0
  152. package/dist/lib/models/UserNameChangeRequest.d.ts +26 -0
  153. package/dist/lib/models/UserNameChangeRequest.js +37 -0
  154. package/dist/lib/models/WikiPage.d.ts +49 -0
  155. package/dist/lib/models/WikiPage.js +75 -0
  156. package/dist/lib/models/WikiPageVersion.d.ts +24 -0
  157. package/dist/lib/models/WikiPageVersion.js +35 -0
  158. package/dist/lib/models/index.d.ts +56 -0
  159. package/dist/lib/models/index.js +57 -0
  160. package/dist/lib/modules/ArtistUrls.d.ts +18 -0
  161. package/dist/lib/modules/ArtistUrls.js +28 -0
  162. package/dist/lib/modules/ArtistVersions.d.ts +18 -0
  163. package/dist/lib/modules/ArtistVersions.js +28 -0
  164. package/dist/lib/modules/Artists.d.ts +90 -0
  165. package/dist/lib/modules/Artists.js +151 -0
  166. package/dist/lib/modules/AvoidPostingVersions.d.ts +18 -0
  167. package/dist/lib/modules/AvoidPostingVersions.js +28 -0
  168. package/dist/lib/modules/AvoidPostings.d.ts +112 -0
  169. package/dist/lib/modules/AvoidPostings.js +181 -0
  170. package/dist/lib/modules/Bans.d.ts +26 -0
  171. package/dist/lib/modules/Bans.js +47 -0
  172. package/dist/lib/modules/Base.d.ts +20 -0
  173. package/dist/lib/modules/Base.js +39 -0
  174. package/dist/lib/modules/Blips.d.ts +108 -0
  175. package/dist/lib/modules/Blips.js +188 -0
  176. package/dist/lib/modules/BulkUpdateRequests.d.ts +76 -0
  177. package/dist/lib/modules/BulkUpdateRequests.js +136 -0
  178. package/dist/lib/modules/CommentVotes.d.ts +30 -0
  179. package/dist/lib/modules/CommentVotes.js +56 -0
  180. package/dist/lib/modules/Comments.d.ts +115 -0
  181. package/dist/lib/modules/Comments.js +195 -0
  182. package/dist/lib/modules/DMails.d.ts +70 -0
  183. package/dist/lib/modules/DMails.js +134 -0
  184. package/dist/lib/modules/DText.d.ts +22 -0
  185. package/dist/lib/modules/DText.js +32 -0
  186. package/dist/lib/modules/EditHistories.d.ts +34 -0
  187. package/dist/lib/modules/EditHistories.js +56 -0
  188. package/dist/lib/modules/EmailBlacklists.d.ts +45 -0
  189. package/dist/lib/modules/EmailBlacklists.js +74 -0
  190. package/dist/lib/modules/Favorites.d.ts +44 -0
  191. package/dist/lib/modules/Favorites.js +73 -0
  192. package/dist/lib/modules/ForumPosts.d.ts +110 -0
  193. package/dist/lib/modules/ForumPosts.js +190 -0
  194. package/dist/lib/modules/ForumTopics.d.ts +125 -0
  195. package/dist/lib/modules/ForumTopics.js +237 -0
  196. package/dist/lib/modules/HelpPages.d.ts +67 -0
  197. package/dist/lib/modules/HelpPages.js +118 -0
  198. package/dist/lib/modules/IpBans.d.ts +47 -0
  199. package/dist/lib/modules/IpBans.js +76 -0
  200. package/dist/lib/modules/IqdbQueries.d.ts +36 -0
  201. package/dist/lib/modules/IqdbQueries.js +63 -0
  202. package/dist/lib/modules/Mascots.d.ts +60 -0
  203. package/dist/lib/modules/Mascots.js +98 -0
  204. package/dist/lib/modules/ModActions.d.ts +34 -0
  205. package/dist/lib/modules/ModActions.js +55 -0
  206. package/dist/lib/modules/NewsUpdates.d.ts +60 -0
  207. package/dist/lib/modules/NewsUpdates.js +98 -0
  208. package/dist/lib/modules/NoteVersions.d.ts +18 -0
  209. package/dist/lib/modules/NoteVersions.js +28 -0
  210. package/dist/lib/modules/Notes.d.ts +72 -0
  211. package/dist/lib/modules/Notes.js +133 -0
  212. package/dist/lib/modules/PoolVersions.d.ts +18 -0
  213. package/dist/lib/modules/PoolVersions.js +28 -0
  214. package/dist/lib/modules/Pools.d.ts +107 -0
  215. package/dist/lib/modules/Pools.js +197 -0
  216. package/dist/lib/modules/Popular.d.ts +18 -0
  217. package/dist/lib/modules/Popular.js +31 -0
  218. package/dist/lib/modules/PostApprovals.d.ts +42 -0
  219. package/dist/lib/modules/PostApprovals.js +77 -0
  220. package/dist/lib/modules/PostDisapprovals.d.ts +37 -0
  221. package/dist/lib/modules/PostDisapprovals.js +55 -0
  222. package/dist/lib/modules/PostEvents.d.ts +20 -0
  223. package/dist/lib/modules/PostEvents.js +30 -0
  224. package/dist/lib/modules/PostFlags.d.ts +53 -0
  225. package/dist/lib/modules/PostFlags.js +93 -0
  226. package/dist/lib/modules/PostReplacements.d.ts +97 -0
  227. package/dist/lib/modules/PostReplacements.js +167 -0
  228. package/dist/lib/modules/PostSets.d.ts +119 -0
  229. package/dist/lib/modules/PostSets.js +211 -0
  230. package/dist/lib/modules/PostVersions.d.ts +51 -0
  231. package/dist/lib/modules/PostVersions.js +94 -0
  232. package/dist/lib/modules/PostVotes.d.ts +28 -0
  233. package/dist/lib/modules/PostVotes.js +54 -0
  234. package/dist/lib/modules/Posts.d.ts +193 -0
  235. package/dist/lib/modules/Posts.js +395 -0
  236. package/dist/lib/modules/RelatedTags.d.ts +22 -0
  237. package/dist/lib/modules/RelatedTags.js +29 -0
  238. package/dist/lib/modules/SearchTrendBlacklists.d.ts +64 -0
  239. package/dist/lib/modules/SearchTrendBlacklists.js +101 -0
  240. package/dist/lib/modules/SearchTrends.d.ts +57 -0
  241. package/dist/lib/modules/SearchTrends.js +92 -0
  242. package/dist/lib/modules/StaffNotes.d.ts +80 -0
  243. package/dist/lib/modules/StaffNotes.js +140 -0
  244. package/dist/lib/modules/TagAliases.d.ts +80 -0
  245. package/dist/lib/modules/TagAliases.js +140 -0
  246. package/dist/lib/modules/TagCorrections.d.ts +25 -0
  247. package/dist/lib/modules/TagCorrections.js +52 -0
  248. package/dist/lib/modules/TagImplications.d.ts +80 -0
  249. package/dist/lib/modules/TagImplications.js +140 -0
  250. package/dist/lib/modules/TagTypeVersions.d.ts +18 -0
  251. package/dist/lib/modules/TagTypeVersions.js +28 -0
  252. package/dist/lib/modules/Tags.d.ts +64 -0
  253. package/dist/lib/modules/Tags.js +116 -0
  254. package/dist/lib/modules/Takedowns.d.ts +123 -0
  255. package/dist/lib/modules/Takedowns.js +211 -0
  256. package/dist/lib/modules/Tickets.d.ts +71 -0
  257. package/dist/lib/modules/Tickets.js +123 -0
  258. package/dist/lib/modules/UploadWhitelists.d.ts +71 -0
  259. package/dist/lib/modules/UploadWhitelists.js +117 -0
  260. package/dist/lib/modules/Uploads.d.ts +42 -0
  261. package/dist/lib/modules/Uploads.js +78 -0
  262. package/dist/lib/modules/UserFeedbacks.d.ts +94 -0
  263. package/dist/lib/modules/UserFeedbacks.js +165 -0
  264. package/dist/lib/modules/UserNameChangeRequests.d.ts +59 -0
  265. package/dist/lib/modules/UserNameChangeRequests.js +99 -0
  266. package/dist/lib/modules/Users.d.ts +135 -0
  267. package/dist/lib/modules/Users.js +263 -0
  268. package/dist/lib/modules/WikiPageVersions.d.ts +26 -0
  269. package/dist/lib/modules/WikiPageVersions.js +47 -0
  270. package/dist/lib/modules/WikiPages.d.ts +76 -0
  271. package/dist/lib/modules/WikiPages.js +137 -0
  272. package/dist/lib/modules/admin/Users.d.ts +45 -0
  273. package/dist/lib/modules/admin/Users.js +77 -0
  274. package/dist/lib/modules/comments/Votes.d.ts +31 -0
  275. package/dist/lib/modules/comments/Votes.js +51 -0
  276. package/dist/lib/modules/forum_posts/Votes.d.ts +29 -0
  277. package/dist/lib/modules/forum_posts/Votes.js +51 -0
  278. package/dist/lib/modules/index.d.ts +178 -0
  279. package/dist/lib/modules/index.js +118 -0
  280. package/dist/lib/modules/posts/Flag.d.ts +16 -0
  281. package/dist/lib/modules/posts/Flag.js +31 -0
  282. package/dist/lib/modules/posts/Votes.d.ts +31 -0
  283. package/dist/lib/modules/posts/Votes.js +51 -0
  284. package/dist/lib/modules/users/DMails.d.ts +29 -0
  285. package/dist/lib/modules/users/DMails.js +55 -0
  286. package/dist/lib/util.d.ts +50 -0
  287. package/dist/lib/util.js +49 -0
  288. package/dist/package.json +73 -0
  289. package/package.json +46 -20
  290. package/tsconfig.json +54 -0
  291. package/.mocharc.json +0 -6
  292. package/.ncurc.json +0 -3
  293. package/.node-version +0 -1
  294. package/Features/Artists.md +0 -39
  295. package/Features/Blips.md +0 -33
  296. package/Features/E621SearchInconsistencies.md +0 -54
  297. package/Features/FuturePlans.md +0 -50
  298. package/Features/Notes.md +0 -34
  299. package/Features/Pools.md +0 -38
  300. package/Features/PostFlags.md +0 -31
  301. package/Features/PostSets.md +0 -36
  302. package/Features/Posts.md +0 -46
  303. package/Features/README.md +0 -15
  304. package/Features/Tags.md +0 -34
  305. package/Features/Takedowns.md +0 -32
  306. package/Features/UserFeedback.md +0 -32
  307. package/Features/Users.md +0 -36
  308. package/Features/WikiPages.md +0 -36
  309. package/build/package.json +0 -45
  310. package/build/src/index.d.ts +0 -68
  311. package/build/src/index.js +0 -194
  312. package/build/src/modules/Artists.d.ts +0 -128
  313. package/build/src/modules/Artists.js +0 -295
  314. package/build/src/modules/Blips.d.ts +0 -79
  315. package/build/src/modules/Blips.js +0 -157
  316. package/build/src/modules/Notes.d.ts +0 -88
  317. package/build/src/modules/Notes.js +0 -189
  318. package/build/src/modules/Pools.d.ts +0 -130
  319. package/build/src/modules/Pools.js +0 -261
  320. package/build/src/modules/PostFlags.d.ts +0 -55
  321. package/build/src/modules/PostFlags.js +0 -126
  322. package/build/src/modules/PostSets.d.ts +0 -102
  323. package/build/src/modules/PostSets.js +0 -208
  324. package/build/src/modules/Posts.d.ts +0 -154
  325. package/build/src/modules/Posts.js +0 -390
  326. package/build/src/modules/Tags.d.ts +0 -78
  327. package/build/src/modules/Tags.js +0 -174
  328. package/build/src/modules/Takedowns.d.ts +0 -81
  329. package/build/src/modules/Takedowns.js +0 -195
  330. package/build/src/modules/UserFeedback.d.ts +0 -66
  331. package/build/src/modules/UserFeedback.js +0 -136
  332. package/build/src/modules/Users.d.ts +0 -117
  333. package/build/src/modules/Users.js +0 -261
  334. package/build/src/modules/WikiPages.d.ts +0 -107
  335. package/build/src/modules/WikiPages.js +0 -220
  336. package/build/src/structures/Artist.d.ts +0 -36
  337. package/build/src/structures/Artist.js +0 -51
  338. package/build/src/structures/ArtistHistory.d.ts +0 -39
  339. package/build/src/structures/ArtistHistory.js +0 -50
  340. package/build/src/structures/AuthenticatedUser.d.ts +0 -109
  341. package/build/src/structures/AuthenticatedUser.js +0 -128
  342. package/build/src/structures/Blip.d.ts +0 -66
  343. package/build/src/structures/Blip.js +0 -85
  344. package/build/src/structures/Note.d.ts +0 -32
  345. package/build/src/structures/Note.js +0 -41
  346. package/build/src/structures/NoteHistory.d.ts +0 -38
  347. package/build/src/structures/NoteHistory.js +0 -47
  348. package/build/src/structures/Pool.d.ts +0 -85
  349. package/build/src/structures/Pool.js +0 -112
  350. package/build/src/structures/PoolHistory.d.ts +0 -43
  351. package/build/src/structures/PoolHistory.js +0 -54
  352. package/build/src/structures/Post.d.ts +0 -157
  353. package/build/src/structures/Post.js +0 -170
  354. package/build/src/structures/PostApproval.d.ts +0 -25
  355. package/build/src/structures/PostApproval.js +0 -33
  356. package/build/src/structures/PostFlag.d.ts +0 -38
  357. package/build/src/structures/PostFlag.js +0 -47
  358. package/build/src/structures/PostHistory.d.ts +0 -52
  359. package/build/src/structures/PostHistory.js +0 -93
  360. package/build/src/structures/PostSet.d.ts +0 -71
  361. package/build/src/structures/PostSet.js +0 -93
  362. package/build/src/structures/Tag.d.ts +0 -61
  363. package/build/src/structures/Tag.js +0 -87
  364. package/build/src/structures/TagHistory.d.ts +0 -28
  365. package/build/src/structures/TagHistory.js +0 -36
  366. package/build/src/structures/Takedown.d.ts +0 -49
  367. package/build/src/structures/Takedown.js +0 -64
  368. package/build/src/structures/User.d.ts +0 -62
  369. package/build/src/structures/User.js +0 -80
  370. package/build/src/structures/WikiPage.d.ts +0 -17
  371. package/build/src/structures/WikiPage.js +0 -27
  372. package/build/src/structures/WikiPageHistory.d.ts +0 -38
  373. package/build/src/structures/WikiPageHistory.js +0 -49
  374. package/build/src/types/artists.d.ts +0 -82
  375. package/build/src/types/blips.d.ts +0 -37
  376. package/build/src/types/index.d.ts +0 -96
  377. package/build/src/types/notes.d.ts +0 -64
  378. package/build/src/types/pools.d.ts +0 -62
  379. package/build/src/types/post_flags.d.ts +0 -36
  380. package/build/src/types/post_sets.d.ts +0 -33
  381. package/build/src/types/posts.d.ts +0 -181
  382. package/build/src/types/tags.d.ts +0 -56
  383. package/build/src/types/takedowns.d.ts +0 -62
  384. package/build/src/types/user_feedback.d.ts +0 -27
  385. package/build/src/types/users.d.ts +0 -277
  386. package/build/src/types/wiki_pages.d.ts +0 -66
  387. package/build/src/util/Debug.d.ts +0 -1
  388. package/build/src/util/Debug.js +0 -16
  389. package/build/src/util/FormHelper.d.ts +0 -9
  390. package/build/src/util/FormHelper.js +0 -15
  391. package/build/src/util/MultipartData.d.ts +0 -7
  392. package/build/src/util/MultipartData.js +0 -39
  393. package/build/src/util/RequestHandler.d.ts +0 -38
  394. package/build/src/util/RequestHandler.js +0 -343
  395. package/build/src/util/Timer.d.ts +0 -6
  396. package/build/src/util/Timer.js +0 -74
@@ -0,0 +1,4014 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ export const AccessDeniedResponseSchema = {
3
+ type: 'object',
4
+ required: [
5
+ 'success',
6
+ 'reason'
7
+ ],
8
+ properties: {
9
+ success: {
10
+ type: 'boolean'
11
+ },
12
+ reason: {
13
+ type: 'string',
14
+ enum: [
15
+ 'Access Denied'
16
+ ]
17
+ }
18
+ }
19
+ };
20
+ export const NotFoundResponseSchema = {
21
+ type: 'object',
22
+ required: [
23
+ 'success',
24
+ 'reason'
25
+ ],
26
+ properties: {
27
+ success: {
28
+ type: 'boolean'
29
+ },
30
+ reason: {
31
+ type: 'string',
32
+ enum: [
33
+ 'not found'
34
+ ]
35
+ }
36
+ }
37
+ };
38
+ export const WarningRecordTypeSchema = {
39
+ type: 'object',
40
+ required: [
41
+ 'record_type'
42
+ ],
43
+ properties: {
44
+ record_type: {
45
+ type: 'string',
46
+ enum: [
47
+ 'unmark',
48
+ 'ban',
49
+ 'record',
50
+ 'warning'
51
+ ]
52
+ }
53
+ }
54
+ };
55
+ export const ModActionActionsSchema = {
56
+ type: 'string',
57
+ enum: [
58
+ 'artist_page_rename',
59
+ 'artist_page_lock',
60
+ 'artist_page_unlock',
61
+ 'artist_user_linked',
62
+ 'artist_user_unlinked',
63
+ 'avoid_posting_create',
64
+ 'avoid_posting_update',
65
+ 'avoid_posting_delete',
66
+ 'avoid_posting_undelete',
67
+ 'avoid_posting_destroy',
68
+ 'blip_delete',
69
+ 'blip_hide',
70
+ 'blip_unhide',
71
+ 'blip_update',
72
+ 'comment_delete',
73
+ 'comment_hide',
74
+ 'comment_unhide',
75
+ 'comment_update',
76
+ 'forum_category_create',
77
+ 'forum_category_delete',
78
+ 'forum_category_update',
79
+ 'forum_post_delete',
80
+ 'forum_post_hide',
81
+ 'forum_post_unhide',
82
+ 'forum_post_update',
83
+ 'forum_topic_delete',
84
+ 'forum_topic_hide',
85
+ 'forum_topic_unhide',
86
+ 'forum_topic_lock',
87
+ 'forum_topic_unlock',
88
+ 'forum_topic_stick',
89
+ 'forum_topic_unstick',
90
+ 'forum_topic_update',
91
+ 'help_create',
92
+ 'help_delete',
93
+ 'help_update',
94
+ 'ip_ban_create',
95
+ 'ip_ban_delete',
96
+ 'mascot_create',
97
+ 'mascot_update',
98
+ 'mascot_delete',
99
+ 'pool_delete',
100
+ 'report_reason_create',
101
+ 'report_reason_delete',
102
+ 'report_reason_update',
103
+ 'set_update',
104
+ 'set_delete',
105
+ 'set_change_visibility',
106
+ 'tag_alias_create',
107
+ 'tag_alias_update',
108
+ 'tag_implication_create',
109
+ 'tag_implication_update',
110
+ 'ticket_claim',
111
+ 'ticket_unclaim',
112
+ 'ticket_update',
113
+ 'upload_whitelist_create',
114
+ 'upload_whitelist_update',
115
+ 'upload_whitelist_delete',
116
+ 'user_blacklist_changed',
117
+ 'user_text_change',
118
+ 'user_upload_limit_change',
119
+ 'user_flags_change',
120
+ 'user_level_change',
121
+ 'user_name_change',
122
+ 'user_delete',
123
+ 'user_ban',
124
+ 'user_ban_update',
125
+ 'user_unban',
126
+ 'user_feedback_create',
127
+ 'user_feedback_update',
128
+ 'user_feedback_delete',
129
+ 'user_feedback_undelete',
130
+ 'user_feedback_destroy',
131
+ 'wiki_page_rename',
132
+ 'wiki_page_delete',
133
+ 'wiki_page_lock',
134
+ 'wiki_page_unlock',
135
+ 'mass_update',
136
+ 'nuke_tag',
137
+ 'takedown_delete',
138
+ 'takedown_process',
139
+ 'user_flush_favorites',
140
+ 'post_version_hide',
141
+ 'post_version_unhide',
142
+ 'user_uploads_toggle',
143
+ 'staff_note_create',
144
+ 'staff_note_update',
145
+ 'staff_note_delete',
146
+ 'staff_note_undelete',
147
+ 'search_trend_blacklist_purge',
148
+ 'created_positive_record',
149
+ 'created_neutral_record',
150
+ 'created_negative_record',
151
+ 'created_flag_reason',
152
+ 'edited_flag_reason',
153
+ 'deleted_flag_reason',
154
+ 'post_move_favorites',
155
+ 'post_delete',
156
+ 'post_undelete',
157
+ 'post_destroy',
158
+ 'post_rating_lock',
159
+ 'post_unapprove',
160
+ 'post_replacement_accept',
161
+ 'post_replacement_reject',
162
+ 'post_replacement_delete'
163
+ ]
164
+ };
165
+ export const PostEventActionsSchema = {
166
+ type: 'string',
167
+ enum: [
168
+ 'deleted',
169
+ 'undeleted',
170
+ 'approved',
171
+ 'unapproved',
172
+ 'flag_created',
173
+ 'flag_removed',
174
+ 'favorites_moved',
175
+ 'favorites_received',
176
+ 'rating_locked',
177
+ 'rating_unlocked',
178
+ 'status_locked',
179
+ 'status_unlocked',
180
+ 'note_locked',
181
+ 'note_unlocked',
182
+ 'comment_locked',
183
+ 'comment_unlocked',
184
+ 'replacement_accepted',
185
+ 'replacement_rejected',
186
+ 'replacement_promoted',
187
+ 'replacement_deleted',
188
+ 'expunged',
189
+ 'changed_bg_color',
190
+ 'replacement_penalty_changed'
191
+ ]
192
+ };
193
+ export const RatingsSchema = {
194
+ type: 'string',
195
+ enum: [
196
+ 's',
197
+ 'q',
198
+ 'e'
199
+ ]
200
+ };
201
+ export const TagCategoriesSchema = {
202
+ type: 'integer',
203
+ enum: [
204
+ 0,
205
+ 1,
206
+ 3,
207
+ 4,
208
+ 5,
209
+ 6,
210
+ 7,
211
+ 8
212
+ ]
213
+ };
214
+ export const FeedbackCategoriesSchema = {
215
+ type: 'string',
216
+ enum: [
217
+ 'negative',
218
+ 'neutral',
219
+ 'positive'
220
+ ]
221
+ };
222
+ export const TagRequestStatusesSchema = {
223
+ type: 'string',
224
+ enum: [
225
+ 'active',
226
+ 'deleted',
227
+ 'processing',
228
+ 'queued',
229
+ 'retired',
230
+ 'error',
231
+ 'pending'
232
+ ]
233
+ };
234
+ export const WarningTypesSchema = {
235
+ type: 'string',
236
+ enum: [
237
+ 'warning',
238
+ 'record',
239
+ 'ban'
240
+ ]
241
+ };
242
+ export const PoolCategoriesSchema = {
243
+ type: 'string',
244
+ enum: [
245
+ 'collection',
246
+ 'series'
247
+ ]
248
+ };
249
+ export const TicketTypesSchema = {
250
+ type: 'string',
251
+ enum: [
252
+ 'blip',
253
+ 'comment',
254
+ 'dmail',
255
+ 'forum',
256
+ 'pool',
257
+ 'post',
258
+ 'set',
259
+ 'user',
260
+ 'wiki',
261
+ 'replacement'
262
+ ]
263
+ };
264
+ export const TicketStatusesSchema = {
265
+ type: 'string',
266
+ enum: [
267
+ 'pending',
268
+ 'partial',
269
+ 'approved'
270
+ ]
271
+ };
272
+ export const ArtistSchema = {
273
+ type: 'object',
274
+ required: [
275
+ 'id',
276
+ 'name',
277
+ 'updated_at',
278
+ 'is_active',
279
+ 'other_names',
280
+ 'group_name',
281
+ 'linked_user_id',
282
+ 'created_at',
283
+ 'creator_id',
284
+ 'is_locked',
285
+ 'notes',
286
+ 'urls'
287
+ ],
288
+ properties: {
289
+ id: {
290
+ type: 'integer'
291
+ },
292
+ name: {
293
+ type: 'string'
294
+ },
295
+ updated_at: {
296
+ type: 'string',
297
+ format: 'date-time'
298
+ },
299
+ is_active: {
300
+ type: 'boolean'
301
+ },
302
+ other_names: {
303
+ type: 'array',
304
+ items: {
305
+ type: 'string'
306
+ }
307
+ },
308
+ group_name: {
309
+ type: 'string'
310
+ },
311
+ linked_user_id: {
312
+ type: 'integer',
313
+ nullable: true
314
+ },
315
+ created_at: {
316
+ type: 'string',
317
+ format: 'date-time'
318
+ },
319
+ creator_id: {
320
+ type: 'integer'
321
+ },
322
+ is_locked: {
323
+ type: 'boolean'
324
+ },
325
+ notes: {
326
+ type: 'string',
327
+ nullable: true
328
+ }
329
+ }
330
+ };
331
+ export const ArtistUrlSchema = {
332
+ type: 'object',
333
+ required: [
334
+ 'id',
335
+ 'artist_id',
336
+ 'url',
337
+ 'normalized_url',
338
+ 'created_at',
339
+ 'updated_at',
340
+ 'is_active'
341
+ ],
342
+ properties: {
343
+ id: {
344
+ type: 'integer'
345
+ },
346
+ artist_id: {
347
+ type: 'integer'
348
+ },
349
+ url: {
350
+ type: 'string',
351
+ format: 'uri'
352
+ },
353
+ normalized_url: {
354
+ type: 'string',
355
+ format: 'uri'
356
+ },
357
+ created_at: {
358
+ type: 'string',
359
+ format: 'date-time'
360
+ },
361
+ updated_at: {
362
+ type: 'string',
363
+ format: 'date-time'
364
+ },
365
+ is_active: {
366
+ type: 'boolean'
367
+ }
368
+ }
369
+ };
370
+ export const ArtistVersionSchema = {
371
+ type: 'object',
372
+ required: [
373
+ 'id',
374
+ 'artist_id',
375
+ 'name',
376
+ 'updater_id',
377
+ 'created_at',
378
+ 'updated_at',
379
+ 'is_active',
380
+ 'other_names',
381
+ 'notes_changed',
382
+ 'urls'
383
+ ],
384
+ properties: {
385
+ id: {
386
+ type: 'integer'
387
+ },
388
+ artist_id: {
389
+ type: 'integer'
390
+ },
391
+ name: {
392
+ type: 'string'
393
+ },
394
+ updater_id: {
395
+ type: 'integer'
396
+ },
397
+ created_at: {
398
+ type: 'string',
399
+ format: 'date-time'
400
+ },
401
+ updated_at: {
402
+ type: 'string',
403
+ format: 'date-time'
404
+ },
405
+ is_active: {
406
+ type: 'boolean'
407
+ },
408
+ other_names: {
409
+ type: 'array',
410
+ items: {
411
+ type: 'string'
412
+ }
413
+ },
414
+ notes_changed: {
415
+ type: 'boolean'
416
+ },
417
+ urls: {
418
+ type: 'array',
419
+ items: {
420
+ type: 'string',
421
+ format: 'uri'
422
+ }
423
+ }
424
+ }
425
+ };
426
+ export const AvoidPostingSchema = {
427
+ type: 'object',
428
+ required: [
429
+ 'id',
430
+ 'creator_id',
431
+ 'updater_id',
432
+ 'artist_id',
433
+ 'details',
434
+ 'is_active',
435
+ 'created_at',
436
+ 'updated_at'
437
+ ],
438
+ properties: {
439
+ id: {
440
+ type: 'integer'
441
+ },
442
+ creator_id: {
443
+ type: 'integer'
444
+ },
445
+ updater_id: {
446
+ type: 'integer'
447
+ },
448
+ artist_id: {
449
+ type: 'integer'
450
+ },
451
+ staff_notes: {
452
+ type: 'string',
453
+ description: 'Only visible to Janitor+'
454
+ },
455
+ details: {
456
+ type: 'string'
457
+ },
458
+ is_active: {
459
+ type: 'boolean'
460
+ },
461
+ created_at: {
462
+ type: 'string',
463
+ format: 'date-time'
464
+ },
465
+ updated_at: {
466
+ type: 'string',
467
+ format: 'date-time'
468
+ }
469
+ }
470
+ };
471
+ export const AvoidPostingVersionSchema = {
472
+ type: 'object',
473
+ required: [
474
+ 'id',
475
+ 'updater_id',
476
+ 'avoid_posting_id',
477
+ 'details',
478
+ 'is_active',
479
+ 'updated_at'
480
+ ],
481
+ properties: {
482
+ id: {
483
+ type: 'integer'
484
+ },
485
+ updater_id: {
486
+ type: 'integer'
487
+ },
488
+ avoid_posting_id: {
489
+ type: 'integer'
490
+ },
491
+ details: {
492
+ type: 'string'
493
+ },
494
+ staff_notes: {
495
+ type: 'string',
496
+ description: 'Only visible to Janitor+'
497
+ },
498
+ is_active: {
499
+ type: 'boolean'
500
+ },
501
+ updated_at: {
502
+ type: 'string',
503
+ format: 'date-time'
504
+ }
505
+ }
506
+ };
507
+ export const BanSchema = {
508
+ type: 'object',
509
+ required: [
510
+ 'id',
511
+ 'user_id',
512
+ 'reason',
513
+ 'expires_at',
514
+ 'banner_id',
515
+ 'created_at',
516
+ 'updated_at'
517
+ ],
518
+ properties: {
519
+ id: {
520
+ type: 'integer'
521
+ },
522
+ user_id: {
523
+ type: 'integer'
524
+ },
525
+ reason: {
526
+ type: 'string'
527
+ },
528
+ expires_at: {
529
+ type: 'string',
530
+ format: 'date-time',
531
+ nullable: true
532
+ },
533
+ banner_id: {
534
+ type: 'integer'
535
+ },
536
+ created_at: {
537
+ type: 'string',
538
+ format: 'date-time'
539
+ },
540
+ updated_at: {
541
+ type: 'string',
542
+ format: 'date-time'
543
+ }
544
+ }
545
+ };
546
+ export const BlipSchema = {
547
+ type: 'object',
548
+ required: [
549
+ 'id',
550
+ 'creator_id',
551
+ 'body',
552
+ 'response_to',
553
+ 'created_at',
554
+ 'updated_at',
555
+ 'is_hidden',
556
+ 'warning_type',
557
+ 'warning_user_id',
558
+ 'updater_id',
559
+ 'creator_name'
560
+ ],
561
+ properties: {
562
+ id: {
563
+ type: 'integer'
564
+ },
565
+ creator_id: {
566
+ type: 'integer'
567
+ },
568
+ body: {
569
+ type: 'string'
570
+ },
571
+ response_to: {
572
+ type: 'integer'
573
+ },
574
+ created_at: {
575
+ type: 'string',
576
+ format: 'date-time'
577
+ },
578
+ updated_at: {
579
+ type: 'string',
580
+ format: 'date-time'
581
+ },
582
+ is_hidden: {
583
+ type: 'boolean'
584
+ },
585
+ warning_type: {
586
+ $ref: '#/components/schemas/WarningTypes'
587
+ },
588
+ warning_user_id: {
589
+ type: 'integer'
590
+ },
591
+ updater_id: {
592
+ type: 'integer'
593
+ },
594
+ creator_name: {
595
+ type: 'string'
596
+ }
597
+ }
598
+ };
599
+ export const BulkRelatedTagSchema = {
600
+ allOf: [
601
+ {
602
+ $ref: '#/components/schemas/RelatedTag'
603
+ },
604
+ {
605
+ type: 'object',
606
+ required: [
607
+ 'count'
608
+ ],
609
+ properties: {
610
+ count: {
611
+ type: 'integer'
612
+ }
613
+ }
614
+ }
615
+ ]
616
+ };
617
+ export const BulkUpdateRequestSchema = {
618
+ type: 'object',
619
+ required: [
620
+ 'id',
621
+ 'creator_id',
622
+ 'forum_topic_id',
623
+ 'script',
624
+ 'status',
625
+ 'created_at',
626
+ 'updated_at',
627
+ 'approver_id',
628
+ 'forum_post_id',
629
+ 'title'
630
+ ],
631
+ properties: {
632
+ id: {
633
+ type: 'integer'
634
+ },
635
+ creator_id: {
636
+ type: 'integer'
637
+ },
638
+ forum_topic_id: {
639
+ type: 'integer',
640
+ nullable: true
641
+ },
642
+ script: {
643
+ type: 'string',
644
+ example: [
645
+ 'alias a -> b'
646
+ ]
647
+ },
648
+ status: {
649
+ type: 'string',
650
+ enum: [
651
+ 'approved',
652
+ 'rejected',
653
+ 'pending'
654
+ ]
655
+ },
656
+ created_at: {
657
+ type: 'string',
658
+ format: 'date-time'
659
+ },
660
+ updated_at: {
661
+ type: 'string',
662
+ format: 'date-time'
663
+ },
664
+ approver_id: {
665
+ type: 'integer',
666
+ nullable: true
667
+ },
668
+ forum_post_id: {
669
+ type: 'integer',
670
+ nullable: true
671
+ },
672
+ title: {
673
+ type: 'string'
674
+ }
675
+ }
676
+ };
677
+ export const CommentSchema = {
678
+ type: 'object',
679
+ required: [
680
+ 'id',
681
+ 'created_at',
682
+ 'post_id',
683
+ 'creator_id',
684
+ 'body',
685
+ 'score',
686
+ 'updated_at',
687
+ 'updater_id',
688
+ 'do_not_bump_post',
689
+ 'is_hidden',
690
+ 'is_sticky',
691
+ 'warning_type',
692
+ 'warning_user_id',
693
+ 'creator_name',
694
+ 'updater_name'
695
+ ],
696
+ properties: {
697
+ id: {
698
+ type: 'integer'
699
+ },
700
+ created_at: {
701
+ type: 'string',
702
+ format: 'date-time'
703
+ },
704
+ post_id: {
705
+ type: 'integer'
706
+ },
707
+ creator_id: {
708
+ type: 'integer'
709
+ },
710
+ body: {
711
+ type: 'string'
712
+ },
713
+ score: {
714
+ type: 'integer'
715
+ },
716
+ updated_at: {
717
+ type: 'string',
718
+ format: 'date-time'
719
+ },
720
+ updater_id: {
721
+ type: 'integer'
722
+ },
723
+ do_not_bump_post: {
724
+ type: 'boolean',
725
+ deprecated: true
726
+ },
727
+ is_hidden: {
728
+ type: 'boolean'
729
+ },
730
+ is_sticky: {
731
+ type: 'boolean'
732
+ },
733
+ warning_type: {
734
+ $ref: '#/components/schemas/WarningTypes'
735
+ },
736
+ warning_user_id: {
737
+ type: 'integer',
738
+ nullable: true
739
+ },
740
+ creator_name: {
741
+ type: 'string'
742
+ },
743
+ updater_name: {
744
+ type: 'string'
745
+ }
746
+ }
747
+ };
748
+ export const CurrentUserSchema = {
749
+ allOf: [
750
+ {
751
+ $ref: '#/components/schemas/User'
752
+ },
753
+ {
754
+ type: 'object',
755
+ required: [
756
+ 'blacklist_users',
757
+ 'description_collapsed_initially',
758
+ 'hide_comments',
759
+ 'show_hidden_comments',
760
+ 'show_post_statistics',
761
+ 'receive_email_notifications',
762
+ 'enable_keyboard_navigation',
763
+ 'enable_privacy_mode',
764
+ 'style_usernames',
765
+ 'enable_auto_complete',
766
+ 'disable_cropped_thumbnails',
767
+ 'enable_safe_mode',
768
+ 'disable_responsive_mode',
769
+ 'no_flagging',
770
+ 'disable_user_dmails',
771
+ 'enable_compact_uploader',
772
+ 'replacements_beta',
773
+ 'updated_at',
774
+ 'email',
775
+ 'last_logged_in_at',
776
+ 'last_forum_read_at',
777
+ 'recent_tags',
778
+ 'comment_threshold',
779
+ 'default_image_size',
780
+ 'favorite_tags',
781
+ 'blacklisted_tags',
782
+ 'time_zone',
783
+ 'per_page',
784
+ 'custom_style',
785
+ 'favorite_count',
786
+ 'api_regen_multiplier',
787
+ 'api_burst_limit',
788
+ 'remaining_api_limit',
789
+ 'statement_timeout',
790
+ 'favorite_limit',
791
+ 'tag_query_limit',
792
+ 'has_mail',
793
+ 'forum_notification_dot'
794
+ ],
795
+ properties: {
796
+ blacklist_users: {
797
+ type: 'boolean'
798
+ },
799
+ description_collapsed_initially: {
800
+ type: 'boolean'
801
+ },
802
+ hide_comments: {
803
+ type: 'boolean'
804
+ },
805
+ show_hidden_comments: {
806
+ type: 'boolean'
807
+ },
808
+ show_post_statistics: {
809
+ type: 'boolean'
810
+ },
811
+ receive_email_notifications: {
812
+ type: 'boolean'
813
+ },
814
+ enable_keyboard_navigation: {
815
+ type: 'boolean'
816
+ },
817
+ enable_privacy_mode: {
818
+ type: 'boolean'
819
+ },
820
+ style_usernames: {
821
+ type: 'boolean'
822
+ },
823
+ enable_auto_complete: {
824
+ type: 'boolean'
825
+ },
826
+ can_approve_posts: {
827
+ type: 'boolean'
828
+ },
829
+ disable_cropped_thumbnails: {
830
+ type: 'boolean'
831
+ },
832
+ enable_safe_mode: {
833
+ type: 'boolean'
834
+ },
835
+ disable_responsive_mode: {
836
+ type: 'boolean'
837
+ },
838
+ no_flagging: {
839
+ type: 'boolean'
840
+ },
841
+ disable_user_dmails: {
842
+ type: 'boolean'
843
+ },
844
+ enable_compact_uploader: {
845
+ type: 'boolean'
846
+ },
847
+ replacements_beta: {
848
+ type: 'boolean'
849
+ },
850
+ updated_at: {
851
+ type: 'string',
852
+ format: 'date-time'
853
+ },
854
+ email: {
855
+ type: 'string'
856
+ },
857
+ last_logged_in_at: {
858
+ type: 'string'
859
+ },
860
+ last_forum_read_at: {
861
+ type: 'string'
862
+ },
863
+ recent_tags: {
864
+ type: 'string'
865
+ },
866
+ comment_threshold: {
867
+ type: 'integer'
868
+ },
869
+ default_image_size: {
870
+ type: 'string',
871
+ enum: [
872
+ 'large',
873
+ 'fit',
874
+ 'fitv',
875
+ 'original'
876
+ ]
877
+ },
878
+ favorite_tags: {
879
+ type: 'string'
880
+ },
881
+ blacklisted_tags: {
882
+ type: 'string'
883
+ },
884
+ time_zone: {
885
+ type: 'string'
886
+ },
887
+ per_page: {
888
+ type: 'integer'
889
+ },
890
+ custom_style: {
891
+ type: 'string'
892
+ },
893
+ favorite_count: {
894
+ type: 'integer'
895
+ },
896
+ api_regen_multiplier: {
897
+ type: 'integer'
898
+ },
899
+ api_burst_limit: {
900
+ type: 'integer'
901
+ },
902
+ remaining_api_limit: {
903
+ type: 'integer'
904
+ },
905
+ statement_timeout: {
906
+ type: 'integer'
907
+ },
908
+ favorite_limit: {
909
+ type: 'integer'
910
+ },
911
+ tag_query_limit: {
912
+ type: 'integer'
913
+ },
914
+ has_mail: {
915
+ type: 'boolean'
916
+ },
917
+ forum_notification_dot: {
918
+ type: 'boolean'
919
+ }
920
+ }
921
+ }
922
+ ]
923
+ };
924
+ export const DMailSchema = {
925
+ type: 'object',
926
+ required: [
927
+ 'id',
928
+ 'owner_id',
929
+ 'from_id',
930
+ 'to_id',
931
+ 'title',
932
+ 'body',
933
+ 'is_read',
934
+ 'is_deleted',
935
+ 'created_at',
936
+ 'updated_at',
937
+ 'to_name',
938
+ 'from_name'
939
+ ],
940
+ properties: {
941
+ id: {
942
+ type: 'integer'
943
+ },
944
+ owner_id: {
945
+ type: 'integer'
946
+ },
947
+ from_id: {
948
+ type: 'integer'
949
+ },
950
+ to_id: {
951
+ type: 'integer'
952
+ },
953
+ title: {
954
+ type: 'string'
955
+ },
956
+ body: {
957
+ type: 'string'
958
+ },
959
+ is_read: {
960
+ type: 'boolean'
961
+ },
962
+ is_deleted: {
963
+ type: 'boolean'
964
+ },
965
+ created_at: {
966
+ type: 'string',
967
+ format: 'date-time'
968
+ },
969
+ updated_at: {
970
+ type: 'string',
971
+ format: 'date-time'
972
+ },
973
+ to_name: {
974
+ type: 'string'
975
+ },
976
+ from_name: {
977
+ type: 'string'
978
+ }
979
+ }
980
+ };
981
+ export const DeferredPostSchema = {
982
+ type: 'object',
983
+ required: [
984
+ 'id',
985
+ 'flags',
986
+ 'tags',
987
+ 'rating',
988
+ 'file_ext',
989
+ 'width',
990
+ 'height',
991
+ 'size',
992
+ 'created_at',
993
+ 'uploader',
994
+ 'uploader_id',
995
+ 'score',
996
+ 'fav_count',
997
+ 'is_favorited',
998
+ 'pools',
999
+ 'md5',
1000
+ 'preview_url',
1001
+ 'large_url',
1002
+ 'file_url',
1003
+ 'preview_width',
1004
+ 'preview_height'
1005
+ ],
1006
+ properties: {
1007
+ id: {
1008
+ type: 'integer'
1009
+ },
1010
+ flags: {
1011
+ type: 'string'
1012
+ },
1013
+ tags: {
1014
+ type: 'string'
1015
+ },
1016
+ rating: {
1017
+ $ref: '#/components/schemas/Ratings'
1018
+ },
1019
+ file_ext: {
1020
+ type: 'string'
1021
+ },
1022
+ width: {
1023
+ type: 'integer'
1024
+ },
1025
+ height: {
1026
+ type: 'integer'
1027
+ },
1028
+ size: {
1029
+ type: 'integer',
1030
+ format: 'int64'
1031
+ },
1032
+ created_at: {
1033
+ type: 'string',
1034
+ format: 'date-time'
1035
+ },
1036
+ uploader: {
1037
+ type: 'string'
1038
+ },
1039
+ uploader_id: {
1040
+ type: 'integer'
1041
+ },
1042
+ score: {
1043
+ type: 'integer'
1044
+ },
1045
+ fav_count: {
1046
+ type: 'integer'
1047
+ },
1048
+ is_favorited: {
1049
+ type: 'boolean'
1050
+ },
1051
+ pools: {
1052
+ type: 'array',
1053
+ items: {
1054
+ type: 'integer'
1055
+ }
1056
+ },
1057
+ md5: {
1058
+ type: 'string'
1059
+ },
1060
+ preview_url: {
1061
+ type: 'string',
1062
+ nullable: true
1063
+ },
1064
+ large_url: {
1065
+ type: 'string',
1066
+ nullable: true
1067
+ },
1068
+ file_url: {
1069
+ type: 'string',
1070
+ nullable: true
1071
+ },
1072
+ preview_width: {
1073
+ type: 'integer'
1074
+ },
1075
+ preview_height: {
1076
+ type: 'integer'
1077
+ }
1078
+ }
1079
+ };
1080
+ export const DTextResponseSchema = {
1081
+ type: 'object',
1082
+ required: [
1083
+ 'html',
1084
+ 'posts'
1085
+ ],
1086
+ properties: {
1087
+ html: {
1088
+ type: 'string'
1089
+ },
1090
+ posts: {
1091
+ $ref: '#/components/schemas/DeferredPost'
1092
+ }
1093
+ }
1094
+ };
1095
+ export const EmailBlacklistSchema = {
1096
+ type: 'object',
1097
+ required: [
1098
+ 'id',
1099
+ 'created_at',
1100
+ 'updated_at',
1101
+ 'domain',
1102
+ 'creator_id',
1103
+ 'reason'
1104
+ ],
1105
+ properties: {
1106
+ id: {
1107
+ type: 'integer'
1108
+ },
1109
+ created_at: {
1110
+ type: 'string'
1111
+ },
1112
+ updated_at: {
1113
+ type: 'string'
1114
+ },
1115
+ domain: {
1116
+ type: 'string'
1117
+ },
1118
+ creator_id: {
1119
+ type: 'string'
1120
+ },
1121
+ reason: {
1122
+ type: 'string'
1123
+ }
1124
+ }
1125
+ };
1126
+ export const ForumPostSchema = {
1127
+ type: 'object',
1128
+ required: [
1129
+ 'id',
1130
+ 'topic_id',
1131
+ 'creator_id',
1132
+ 'updater_id',
1133
+ 'body',
1134
+ 'is_hidden',
1135
+ 'created_at',
1136
+ 'updated_at',
1137
+ 'warning_type',
1138
+ 'warning_user_id'
1139
+ ],
1140
+ properties: {
1141
+ id: {
1142
+ type: 'integer'
1143
+ },
1144
+ topic_id: {
1145
+ type: 'integer'
1146
+ },
1147
+ creator_id: {
1148
+ type: 'integer'
1149
+ },
1150
+ updater_id: {
1151
+ type: 'integer'
1152
+ },
1153
+ body: {
1154
+ type: 'string'
1155
+ },
1156
+ is_hidden: {
1157
+ type: 'boolean'
1158
+ },
1159
+ created_at: {
1160
+ type: 'string',
1161
+ format: 'date-time'
1162
+ },
1163
+ updated_at: {
1164
+ type: 'string',
1165
+ format: 'date-time'
1166
+ },
1167
+ warning_type: {
1168
+ $ref: '#/components/schemas/WarningTypes'
1169
+ },
1170
+ warning_user_id: {
1171
+ type: 'integer',
1172
+ nullable: true
1173
+ }
1174
+ }
1175
+ };
1176
+ export const ForumPostVoteSchema = {
1177
+ type: 'object',
1178
+ required: [
1179
+ 'id',
1180
+ 'forum_post_id',
1181
+ 'creator_id',
1182
+ 'score',
1183
+ 'created_at',
1184
+ 'updated_at',
1185
+ 'creator_name'
1186
+ ],
1187
+ properties: {
1188
+ id: {
1189
+ type: 'integer'
1190
+ },
1191
+ forum_post_id: {
1192
+ type: 'integer'
1193
+ },
1194
+ creator_id: {
1195
+ type: 'integer'
1196
+ },
1197
+ score: {
1198
+ type: 'integer'
1199
+ },
1200
+ created_at: {
1201
+ type: 'string',
1202
+ format: 'date-time'
1203
+ },
1204
+ updated_at: {
1205
+ type: 'string',
1206
+ format: 'date-time'
1207
+ },
1208
+ creator_name: {
1209
+ type: 'string'
1210
+ }
1211
+ }
1212
+ };
1213
+ export const ForumTopicSchema = {
1214
+ type: 'object',
1215
+ required: [
1216
+ 'id',
1217
+ 'creator_id',
1218
+ 'updater_id',
1219
+ 'title',
1220
+ 'response_count',
1221
+ 'is_sticky',
1222
+ 'is_locked',
1223
+ 'is_hidden',
1224
+ 'created_at',
1225
+ 'updated_at',
1226
+ 'category_id'
1227
+ ],
1228
+ properties: {
1229
+ id: {
1230
+ type: 'integer'
1231
+ },
1232
+ creator_id: {
1233
+ type: 'integer'
1234
+ },
1235
+ updater_id: {
1236
+ type: 'integer'
1237
+ },
1238
+ title: {
1239
+ type: 'string'
1240
+ },
1241
+ response_count: {
1242
+ type: 'integer'
1243
+ },
1244
+ is_sticky: {
1245
+ type: 'boolean'
1246
+ },
1247
+ is_locked: {
1248
+ type: 'boolean'
1249
+ },
1250
+ is_hidden: {
1251
+ type: 'boolean'
1252
+ },
1253
+ created_at: {
1254
+ type: 'string',
1255
+ format: 'date-time'
1256
+ },
1257
+ updated_at: {
1258
+ type: 'string',
1259
+ format: 'date-time'
1260
+ },
1261
+ category_id: {
1262
+ type: 'integer'
1263
+ }
1264
+ }
1265
+ };
1266
+ export const FullCurrentUserSchema = {
1267
+ allOf: [
1268
+ {
1269
+ $ref: '#/components/schemas/CurrentUser'
1270
+ },
1271
+ {
1272
+ $ref: '#/components/schemas/FullUser'
1273
+ }
1274
+ ]
1275
+ };
1276
+ export const FullUserSchema = {
1277
+ allOf: [
1278
+ {
1279
+ $ref: '#/components/schemas/User'
1280
+ },
1281
+ {
1282
+ type: 'object',
1283
+ required: [
1284
+ 'wiki_page_version_count',
1285
+ 'artist_version_count',
1286
+ 'pool_version_count',
1287
+ 'forum_post_count',
1288
+ 'comment_count',
1289
+ 'flag_count',
1290
+ 'favorite_count',
1291
+ 'positive_feedback_count',
1292
+ 'neutral_feedback_count',
1293
+ 'negative_feedback_count',
1294
+ 'upload_limit',
1295
+ 'profile_about',
1296
+ 'profile_artinfo'
1297
+ ],
1298
+ properties: {
1299
+ wiki_page_version_count: {
1300
+ type: 'integer'
1301
+ },
1302
+ artist_version_count: {
1303
+ type: 'integer'
1304
+ },
1305
+ pool_version_count: {
1306
+ type: 'integer'
1307
+ },
1308
+ forum_post_count: {
1309
+ type: 'integer'
1310
+ },
1311
+ comment_count: {
1312
+ type: 'integer'
1313
+ },
1314
+ flag_count: {
1315
+ type: 'integer'
1316
+ },
1317
+ favorite_count: {
1318
+ type: 'integer'
1319
+ },
1320
+ positive_feedback_count: {
1321
+ type: 'integer'
1322
+ },
1323
+ neutral_feedback_count: {
1324
+ type: 'integer'
1325
+ },
1326
+ negative_feedback_count: {
1327
+ type: 'integer'
1328
+ },
1329
+ upload_limit: {
1330
+ type: 'integer'
1331
+ },
1332
+ profile_about: {
1333
+ type: 'string'
1334
+ },
1335
+ profile_artinfo: {
1336
+ type: 'string'
1337
+ }
1338
+ }
1339
+ }
1340
+ ]
1341
+ };
1342
+ export const HelpSchema = {
1343
+ type: 'object',
1344
+ required: [
1345
+ 'id',
1346
+ 'name',
1347
+ 'title',
1348
+ 'wiki_page',
1349
+ 'related',
1350
+ 'created_at',
1351
+ 'updated_at'
1352
+ ],
1353
+ properties: {
1354
+ id: {
1355
+ type: 'integer'
1356
+ },
1357
+ name: {
1358
+ type: 'string'
1359
+ },
1360
+ title: {
1361
+ type: 'string'
1362
+ },
1363
+ wiki_page: {
1364
+ type: 'string'
1365
+ },
1366
+ related: {
1367
+ type: 'string'
1368
+ },
1369
+ created_at: {
1370
+ type: 'string',
1371
+ format: 'date-time'
1372
+ },
1373
+ updated_at: {
1374
+ type: 'string',
1375
+ format: 'date-time'
1376
+ }
1377
+ }
1378
+ };
1379
+ export const IpBanSchema = {
1380
+ type: 'object',
1381
+ description: 'Due to a global filter, the ip_addr is not present no matter your user level.',
1382
+ required: [
1383
+ 'id',
1384
+ 'creator_id',
1385
+ 'reason',
1386
+ 'created_at',
1387
+ 'updated_at'
1388
+ ],
1389
+ properties: {
1390
+ id: {
1391
+ type: 'integer'
1392
+ },
1393
+ creator_id: {
1394
+ type: 'integer'
1395
+ },
1396
+ reason: {
1397
+ type: 'string'
1398
+ },
1399
+ created_at: {
1400
+ type: 'string',
1401
+ format: 'date-time'
1402
+ },
1403
+ updated_at: {
1404
+ type: 'string',
1405
+ format: 'date-time'
1406
+ }
1407
+ }
1408
+ };
1409
+ export const IqdbPostSchema = {
1410
+ type: 'object',
1411
+ required: [
1412
+ 'id',
1413
+ 'created_at',
1414
+ 'updated_at',
1415
+ 'up_score',
1416
+ 'down_score',
1417
+ 'score',
1418
+ 'source',
1419
+ 'md5',
1420
+ 'rating',
1421
+ 'is_note_locked',
1422
+ 'is_rating_locked',
1423
+ 'is_status_locked',
1424
+ 'is_pending',
1425
+ 'is_flagged',
1426
+ 'is_deleted',
1427
+ 'uploader_id',
1428
+ 'approver_id',
1429
+ 'last_noted_at',
1430
+ 'last_comment_bumped_at',
1431
+ 'fav_count',
1432
+ 'tag_string',
1433
+ 'tag_count',
1434
+ 'tag_count_general',
1435
+ 'tag_count_artist',
1436
+ 'tag_count_character',
1437
+ 'tag_count_copyright',
1438
+ 'file_ext',
1439
+ 'file_size',
1440
+ 'image_width',
1441
+ 'image_height',
1442
+ 'parent_id',
1443
+ 'has_children',
1444
+ 'last_commented_at',
1445
+ 'has_active_children',
1446
+ 'bit_flags',
1447
+ 'tag_count_meta',
1448
+ 'locked_tags',
1449
+ 'tag_count_species',
1450
+ 'tag_count_invalid',
1451
+ 'description',
1452
+ 'comment_count',
1453
+ 'change_seq',
1454
+ 'tag_count_lore',
1455
+ 'bg_color',
1456
+ 'generated_samples',
1457
+ 'duration',
1458
+ 'is_comment_disabled',
1459
+ 'is_comment_locked',
1460
+ 'has_large',
1461
+ 'has_visible_children',
1462
+ 'children_ids',
1463
+ 'pool_ids',
1464
+ 'is_favorited'
1465
+ ],
1466
+ properties: {
1467
+ id: {
1468
+ type: 'integer'
1469
+ },
1470
+ created_at: {
1471
+ type: 'string',
1472
+ format: 'date-time'
1473
+ },
1474
+ updated_at: {
1475
+ type: 'string',
1476
+ format: 'date-time'
1477
+ },
1478
+ up_score: {
1479
+ type: 'integer'
1480
+ },
1481
+ down_score: {
1482
+ type: 'integer'
1483
+ },
1484
+ score: {
1485
+ type: 'integer'
1486
+ },
1487
+ source: {
1488
+ type: 'string'
1489
+ },
1490
+ md5: {
1491
+ type: 'string'
1492
+ },
1493
+ rating: {
1494
+ $ref: '#/components/schemas/Ratings'
1495
+ },
1496
+ is_note_locked: {
1497
+ type: 'boolean'
1498
+ },
1499
+ is_rating_locked: {
1500
+ type: 'boolean'
1501
+ },
1502
+ is_status_locked: {
1503
+ type: 'boolean'
1504
+ },
1505
+ is_pending: {
1506
+ type: 'boolean'
1507
+ },
1508
+ is_flagged: {
1509
+ type: 'boolean'
1510
+ },
1511
+ is_deleted: {
1512
+ type: 'boolean'
1513
+ },
1514
+ uploader_id: {
1515
+ type: 'integer'
1516
+ },
1517
+ approver_id: {
1518
+ type: 'integer'
1519
+ },
1520
+ last_noted_at: {
1521
+ type: 'string',
1522
+ format: 'date-time',
1523
+ nullable: true
1524
+ },
1525
+ last_comment_bumped_at: {
1526
+ type: 'string',
1527
+ format: 'date-time',
1528
+ nullable: true
1529
+ },
1530
+ fav_count: {
1531
+ type: 'integer'
1532
+ },
1533
+ tag_string: {
1534
+ type: 'string'
1535
+ },
1536
+ tag_count: {
1537
+ type: 'integer'
1538
+ },
1539
+ tag_count_general: {
1540
+ type: 'integer'
1541
+ },
1542
+ tag_count_artist: {
1543
+ type: 'integer'
1544
+ },
1545
+ tag_count_character: {
1546
+ type: 'integer'
1547
+ },
1548
+ tag_count_copyright: {
1549
+ type: 'integer'
1550
+ },
1551
+ file_ext: {
1552
+ type: 'string'
1553
+ },
1554
+ file_size: {
1555
+ type: 'integer',
1556
+ format: 'int64'
1557
+ },
1558
+ image_width: {
1559
+ type: 'integer'
1560
+ },
1561
+ image_height: {
1562
+ type: 'integer'
1563
+ },
1564
+ parent_id: {
1565
+ type: 'integer',
1566
+ nullable: true
1567
+ },
1568
+ has_children: {
1569
+ type: 'boolean'
1570
+ },
1571
+ last_commented_at: {
1572
+ type: 'string',
1573
+ format: 'date-time',
1574
+ nullable: true
1575
+ },
1576
+ has_active_children: {
1577
+ type: 'boolean'
1578
+ },
1579
+ bit_flags: {
1580
+ type: 'integer'
1581
+ },
1582
+ tag_count_meta: {
1583
+ type: 'integer'
1584
+ },
1585
+ locked_tags: {
1586
+ type: 'string',
1587
+ nullable: true
1588
+ },
1589
+ tag_count_species: {
1590
+ type: 'integer'
1591
+ },
1592
+ tag_count_invalid: {
1593
+ type: 'integer'
1594
+ },
1595
+ description: {
1596
+ type: 'string'
1597
+ },
1598
+ comment_count: {
1599
+ type: 'integer'
1600
+ },
1601
+ change_seq: {
1602
+ type: 'integer'
1603
+ },
1604
+ tag_count_lore: {
1605
+ type: 'integer'
1606
+ },
1607
+ bg_color: {
1608
+ type: 'string',
1609
+ nullable: true
1610
+ },
1611
+ generated_samples: {
1612
+ type: 'array',
1613
+ nullable: true,
1614
+ items: {
1615
+ type: 'string',
1616
+ enum: [
1617
+ '720p',
1618
+ '480p',
1619
+ 'original'
1620
+ ]
1621
+ }
1622
+ },
1623
+ duration: {
1624
+ type: 'string',
1625
+ nullable: true
1626
+ },
1627
+ is_comment_disabled: {
1628
+ type: 'boolean'
1629
+ },
1630
+ is_comment_locked: {
1631
+ type: 'boolean'
1632
+ },
1633
+ has_large: {
1634
+ type: 'boolean'
1635
+ },
1636
+ has_visible_children: {
1637
+ type: 'boolean'
1638
+ },
1639
+ children_ids: {
1640
+ type: 'string',
1641
+ nullable: true
1642
+ },
1643
+ pool_ids: {
1644
+ type: 'array',
1645
+ items: {
1646
+ type: 'integer'
1647
+ }
1648
+ },
1649
+ is_favorited: {
1650
+ type: 'boolean'
1651
+ },
1652
+ file_url: {
1653
+ type: 'string'
1654
+ },
1655
+ large_file_url: {
1656
+ type: 'string'
1657
+ },
1658
+ preview_file_url: {
1659
+ type: 'string'
1660
+ }
1661
+ }
1662
+ };
1663
+ export const IqdbResponseSchema = {
1664
+ type: 'object',
1665
+ required: [
1666
+ 'hash',
1667
+ 'post_id',
1668
+ 'score',
1669
+ 'post'
1670
+ ],
1671
+ properties: {
1672
+ hash: {
1673
+ type: 'string'
1674
+ },
1675
+ post_id: {
1676
+ type: 'integer'
1677
+ },
1678
+ score: {
1679
+ type: 'number',
1680
+ format: 'float',
1681
+ minimum: 0,
1682
+ maximum: 100
1683
+ },
1684
+ post: {
1685
+ type: 'object',
1686
+ required: [
1687
+ 'posts'
1688
+ ],
1689
+ properties: {
1690
+ posts: {
1691
+ $ref: '#/components/schemas/IqdbPost'
1692
+ }
1693
+ }
1694
+ }
1695
+ }
1696
+ };
1697
+ export const MascotSchema = {
1698
+ type: 'object',
1699
+ required: [
1700
+ 'id',
1701
+ 'creator_id',
1702
+ 'display_name',
1703
+ 'md5',
1704
+ 'file_ext',
1705
+ 'background_color',
1706
+ 'artist_url',
1707
+ 'artist_name',
1708
+ 'active',
1709
+ 'created_at',
1710
+ 'updated_at',
1711
+ 'available_on',
1712
+ 'url_path'
1713
+ ],
1714
+ properties: {
1715
+ id: {
1716
+ type: 'integer'
1717
+ },
1718
+ creator_id: {
1719
+ type: 'integer'
1720
+ },
1721
+ display_name: {
1722
+ type: 'string'
1723
+ },
1724
+ md5: {
1725
+ type: 'string'
1726
+ },
1727
+ file_ext: {
1728
+ type: 'string'
1729
+ },
1730
+ background_color: {
1731
+ type: 'string'
1732
+ },
1733
+ artist_url: {
1734
+ type: 'string',
1735
+ format: 'uri'
1736
+ },
1737
+ artist_name: {
1738
+ type: 'string'
1739
+ },
1740
+ active: {
1741
+ type: 'boolean'
1742
+ },
1743
+ created_at: {
1744
+ type: 'string',
1745
+ format: 'date-time'
1746
+ },
1747
+ updated_at: {
1748
+ type: 'string',
1749
+ format: 'date-time'
1750
+ },
1751
+ available_on: {
1752
+ type: 'array',
1753
+ items: {
1754
+ type: 'string'
1755
+ }
1756
+ },
1757
+ url_path: {
1758
+ type: 'string',
1759
+ format: 'uri'
1760
+ }
1761
+ }
1762
+ };
1763
+ export const ModActionSchema = {
1764
+ type: 'object',
1765
+ required: [
1766
+ 'id',
1767
+ 'creator_id',
1768
+ 'created_at',
1769
+ 'updated_at',
1770
+ 'action'
1771
+ ],
1772
+ properties: {
1773
+ id: {
1774
+ type: 'integer'
1775
+ },
1776
+ creator_id: {
1777
+ type: 'integer'
1778
+ },
1779
+ created_at: {
1780
+ type: 'string',
1781
+ format: 'date-time'
1782
+ },
1783
+ updated_at: {
1784
+ type: 'string',
1785
+ format: 'date-time'
1786
+ },
1787
+ action: {
1788
+ $ref: '#/components/schemas/ModActionActions'
1789
+ }
1790
+ }
1791
+ };
1792
+ export const NewsUpdateSchema = {
1793
+ type: 'object',
1794
+ required: [
1795
+ 'id',
1796
+ 'message',
1797
+ 'creator_id',
1798
+ 'updater_id',
1799
+ 'created_at',
1800
+ 'updated_at'
1801
+ ],
1802
+ properties: {
1803
+ id: {
1804
+ type: 'integer'
1805
+ },
1806
+ message: {
1807
+ type: 'string'
1808
+ },
1809
+ creator_id: {
1810
+ type: 'integer'
1811
+ },
1812
+ updater_id: {
1813
+ type: 'integer'
1814
+ },
1815
+ created_at: {
1816
+ type: 'string',
1817
+ format: 'date-time'
1818
+ },
1819
+ updated_at: {
1820
+ type: 'string',
1821
+ format: 'date-time'
1822
+ }
1823
+ }
1824
+ };
1825
+ export const NoteSchema = {
1826
+ type: 'object',
1827
+ required: [
1828
+ 'id',
1829
+ 'created_at',
1830
+ 'updated_at',
1831
+ 'creator_id',
1832
+ 'x',
1833
+ 'y',
1834
+ 'width',
1835
+ 'height',
1836
+ 'version',
1837
+ 'is_active',
1838
+ 'post_id',
1839
+ 'body',
1840
+ 'creator_name'
1841
+ ],
1842
+ properties: {
1843
+ id: {
1844
+ type: 'integer'
1845
+ },
1846
+ created_at: {
1847
+ type: 'string',
1848
+ format: 'date-time'
1849
+ },
1850
+ updated_at: {
1851
+ type: 'string',
1852
+ format: 'date-time'
1853
+ },
1854
+ creator_id: {
1855
+ type: 'integer'
1856
+ },
1857
+ x: {
1858
+ type: 'integer'
1859
+ },
1860
+ y: {
1861
+ type: 'integer'
1862
+ },
1863
+ width: {
1864
+ type: 'integer'
1865
+ },
1866
+ height: {
1867
+ type: 'integer'
1868
+ },
1869
+ version: {
1870
+ type: 'integer'
1871
+ },
1872
+ is_active: {
1873
+ type: 'boolean'
1874
+ },
1875
+ post_id: {
1876
+ type: 'integer'
1877
+ },
1878
+ body: {
1879
+ type: 'string'
1880
+ },
1881
+ creator_name: {
1882
+ type: 'string'
1883
+ }
1884
+ }
1885
+ };
1886
+ export const NoteVersionSchema = {
1887
+ type: 'object',
1888
+ required: [
1889
+ 'id',
1890
+ 'created_at',
1891
+ 'updated_at',
1892
+ 'x',
1893
+ 'y',
1894
+ 'width',
1895
+ 'height',
1896
+ 'body',
1897
+ 'version',
1898
+ 'is_active',
1899
+ 'note_id',
1900
+ 'post_id',
1901
+ 'updater_id'
1902
+ ],
1903
+ properties: {
1904
+ id: {
1905
+ type: 'integer'
1906
+ },
1907
+ created_at: {
1908
+ type: 'string',
1909
+ format: 'date-time'
1910
+ },
1911
+ updated_at: {
1912
+ type: 'string',
1913
+ format: 'date-time'
1914
+ },
1915
+ x: {
1916
+ type: 'integer'
1917
+ },
1918
+ y: {
1919
+ type: 'integer'
1920
+ },
1921
+ width: {
1922
+ type: 'integer'
1923
+ },
1924
+ height: {
1925
+ type: 'integer'
1926
+ },
1927
+ body: {
1928
+ type: 'string'
1929
+ },
1930
+ version: {
1931
+ type: 'integer'
1932
+ },
1933
+ is_active: {
1934
+ type: 'boolean'
1935
+ },
1936
+ note_id: {
1937
+ type: 'integer'
1938
+ },
1939
+ post_id: {
1940
+ type: 'integer'
1941
+ },
1942
+ updater_id: {
1943
+ type: 'integer'
1944
+ }
1945
+ }
1946
+ };
1947
+ export const PoolSchema = {
1948
+ type: 'object',
1949
+ required: [
1950
+ 'id',
1951
+ 'name',
1952
+ 'created_at',
1953
+ 'updated_at',
1954
+ 'creator_id',
1955
+ 'description',
1956
+ 'is_active',
1957
+ 'category',
1958
+ 'post_ids',
1959
+ 'creator_name',
1960
+ 'post_count'
1961
+ ],
1962
+ properties: {
1963
+ id: {
1964
+ type: 'integer'
1965
+ },
1966
+ name: {
1967
+ type: 'string'
1968
+ },
1969
+ updated_at: {
1970
+ type: 'string',
1971
+ format: 'date-time'
1972
+ },
1973
+ creator_id: {
1974
+ type: 'integer'
1975
+ },
1976
+ description: {
1977
+ type: 'string'
1978
+ },
1979
+ is_active: {
1980
+ type: 'boolean'
1981
+ },
1982
+ category: {
1983
+ $ref: '#/components/schemas/PoolCategories'
1984
+ },
1985
+ post_ids: {
1986
+ type: 'array',
1987
+ items: {
1988
+ type: 'integer'
1989
+ }
1990
+ },
1991
+ created_at: {
1992
+ type: 'string',
1993
+ format: 'date-time'
1994
+ },
1995
+ creator_name: {
1996
+ type: 'string'
1997
+ },
1998
+ post_count: {
1999
+ type: 'integer'
2000
+ }
2001
+ }
2002
+ };
2003
+ export const PoolVersionSchema = {
2004
+ type: 'object',
2005
+ required: [
2006
+ 'id',
2007
+ 'pool_id',
2008
+ 'post_ids',
2009
+ 'updater_id',
2010
+ 'created_at',
2011
+ 'updated_at',
2012
+ 'name',
2013
+ 'name_changed',
2014
+ 'description',
2015
+ 'description_changed',
2016
+ 'is_active',
2017
+ 'is_locked',
2018
+ 'category',
2019
+ 'version',
2020
+ 'added_post_ids',
2021
+ 'removed_post_ids'
2022
+ ],
2023
+ properties: {
2024
+ id: {
2025
+ type: 'integer'
2026
+ },
2027
+ pool_id: {
2028
+ type: 'integer'
2029
+ },
2030
+ post_ids: {
2031
+ type: 'array',
2032
+ items: {
2033
+ type: 'integer'
2034
+ }
2035
+ },
2036
+ created_at: {
2037
+ type: 'string',
2038
+ format: 'date-time'
2039
+ },
2040
+ updated_at: {
2041
+ type: 'string',
2042
+ format: 'date-time'
2043
+ },
2044
+ updater_id: {
2045
+ type: 'integer'
2046
+ },
2047
+ name: {
2048
+ type: 'string'
2049
+ },
2050
+ name_changed: {
2051
+ type: 'boolean'
2052
+ },
2053
+ description: {
2054
+ type: 'string'
2055
+ },
2056
+ description_changed: {
2057
+ type: 'boolean'
2058
+ },
2059
+ is_active: {
2060
+ type: 'boolean'
2061
+ },
2062
+ is_locked: {
2063
+ type: 'boolean'
2064
+ },
2065
+ category: {
2066
+ $ref: '#/components/schemas/PoolCategories'
2067
+ },
2068
+ version: {
2069
+ type: 'integer'
2070
+ },
2071
+ added_post_ids: {
2072
+ type: 'array',
2073
+ items: {
2074
+ type: 'integer'
2075
+ }
2076
+ },
2077
+ removed_post_ids: {
2078
+ type: 'array',
2079
+ items: {
2080
+ type: 'integer'
2081
+ }
2082
+ }
2083
+ }
2084
+ };
2085
+ export const PostSchema = {
2086
+ type: 'object',
2087
+ required: [
2088
+ 'id',
2089
+ 'created_at',
2090
+ 'updated_at',
2091
+ 'file',
2092
+ 'preview',
2093
+ 'sample',
2094
+ 'score',
2095
+ 'tags',
2096
+ 'locked_tags',
2097
+ 'change_seq',
2098
+ 'flags',
2099
+ 'rating',
2100
+ 'fav_count',
2101
+ 'sources',
2102
+ 'pools',
2103
+ 'relationships',
2104
+ 'approver_id',
2105
+ 'uploader_id',
2106
+ 'description',
2107
+ 'comment_count',
2108
+ 'is_favorited',
2109
+ 'has_notes',
2110
+ 'duration',
2111
+ 'uploader_name'
2112
+ ],
2113
+ properties: {
2114
+ id: {
2115
+ type: 'integer'
2116
+ },
2117
+ created_at: {
2118
+ type: 'string',
2119
+ format: 'date-time'
2120
+ },
2121
+ updated_at: {
2122
+ type: 'string',
2123
+ format: 'date-time'
2124
+ },
2125
+ file: {
2126
+ type: 'object',
2127
+ required: [
2128
+ 'width',
2129
+ 'height',
2130
+ 'ext',
2131
+ 'size',
2132
+ 'md5',
2133
+ 'url'
2134
+ ],
2135
+ properties: {
2136
+ width: {
2137
+ type: 'integer'
2138
+ },
2139
+ height: {
2140
+ type: 'integer'
2141
+ },
2142
+ ext: {
2143
+ type: 'string'
2144
+ },
2145
+ size: {
2146
+ type: 'integer',
2147
+ format: 'int64'
2148
+ },
2149
+ md5: {
2150
+ type: 'string'
2151
+ },
2152
+ url: {
2153
+ type: 'string',
2154
+ nullable: true
2155
+ }
2156
+ }
2157
+ },
2158
+ preview: {
2159
+ type: 'object',
2160
+ required: [
2161
+ 'width',
2162
+ 'height',
2163
+ 'url'
2164
+ ],
2165
+ properties: {
2166
+ width: {
2167
+ type: 'integer'
2168
+ },
2169
+ height: {
2170
+ type: 'integer'
2171
+ },
2172
+ url: {
2173
+ type: 'string',
2174
+ nullable: true
2175
+ }
2176
+ }
2177
+ },
2178
+ sample: {
2179
+ type: 'object',
2180
+ required: [
2181
+ 'has',
2182
+ 'height',
2183
+ 'width',
2184
+ 'url',
2185
+ 'alternates'
2186
+ ],
2187
+ properties: {
2188
+ has: {
2189
+ type: 'boolean'
2190
+ },
2191
+ height: {
2192
+ type: 'integer',
2193
+ nullable: true
2194
+ },
2195
+ width: {
2196
+ type: 'integer',
2197
+ nullable: true
2198
+ },
2199
+ url: {
2200
+ type: 'string',
2201
+ nullable: true
2202
+ },
2203
+ alternates: {
2204
+ type: 'object',
2205
+ properties: {
2206
+ has: {
2207
+ type: 'boolean'
2208
+ },
2209
+ original: {
2210
+ $ref: '#/components/schemas/PostSampleAlternate'
2211
+ },
2212
+ variants: {
2213
+ type: 'object',
2214
+ properties: {
2215
+ webm: {
2216
+ $ref: '#/components/schemas/PostSampleAlternate'
2217
+ },
2218
+ mp4: {
2219
+ $ref: '#/components/schemas/PostSampleAlternate'
2220
+ }
2221
+ }
2222
+ },
2223
+ samples: {
2224
+ type: 'object',
2225
+ properties: {
2226
+ '480p': {
2227
+ $ref: '#/components/schemas/PostSampleAlternate'
2228
+ },
2229
+ '720p': {
2230
+ $ref: '#/components/schemas/PostSampleAlternate'
2231
+ }
2232
+ }
2233
+ }
2234
+ }
2235
+ }
2236
+ }
2237
+ },
2238
+ score: {
2239
+ type: 'object',
2240
+ required: [
2241
+ 'up',
2242
+ 'down',
2243
+ 'total'
2244
+ ],
2245
+ properties: {
2246
+ up: {
2247
+ type: 'integer'
2248
+ },
2249
+ down: {
2250
+ type: 'integer'
2251
+ },
2252
+ total: {
2253
+ type: 'integer'
2254
+ }
2255
+ }
2256
+ },
2257
+ tags: {
2258
+ type: 'object',
2259
+ required: [
2260
+ 'general',
2261
+ 'artist',
2262
+ 'copyright',
2263
+ 'character',
2264
+ 'species',
2265
+ 'invalid',
2266
+ 'meta',
2267
+ 'lore',
2268
+ 'contributor'
2269
+ ],
2270
+ properties: {
2271
+ general: {
2272
+ type: 'array',
2273
+ items: {
2274
+ type: 'string'
2275
+ }
2276
+ },
2277
+ artist: {
2278
+ type: 'array',
2279
+ items: {
2280
+ type: 'string'
2281
+ }
2282
+ },
2283
+ copyright: {
2284
+ type: 'array',
2285
+ items: {
2286
+ type: 'string'
2287
+ }
2288
+ },
2289
+ character: {
2290
+ type: 'array',
2291
+ items: {
2292
+ type: 'string'
2293
+ }
2294
+ },
2295
+ species: {
2296
+ type: 'array',
2297
+ items: {
2298
+ type: 'string'
2299
+ }
2300
+ },
2301
+ invalid: {
2302
+ type: 'array',
2303
+ items: {
2304
+ type: 'string'
2305
+ }
2306
+ },
2307
+ meta: {
2308
+ type: 'array',
2309
+ items: {
2310
+ type: 'string'
2311
+ }
2312
+ },
2313
+ lore: {
2314
+ type: 'array',
2315
+ items: {
2316
+ type: 'string'
2317
+ }
2318
+ },
2319
+ contributor: {
2320
+ type: 'array',
2321
+ items: {
2322
+ type: 'string'
2323
+ }
2324
+ }
2325
+ }
2326
+ },
2327
+ locked_tags: {
2328
+ type: 'array',
2329
+ nullable: true,
2330
+ items: {
2331
+ type: 'string'
2332
+ }
2333
+ },
2334
+ change_seq: {
2335
+ type: 'integer'
2336
+ },
2337
+ flags: {
2338
+ type: 'object',
2339
+ required: [
2340
+ 'pending',
2341
+ 'flagged',
2342
+ 'note_locked',
2343
+ 'status_locked',
2344
+ 'rating_locked',
2345
+ 'deleted'
2346
+ ],
2347
+ properties: {
2348
+ pending: {
2349
+ type: 'boolean'
2350
+ },
2351
+ flagged: {
2352
+ type: 'boolean'
2353
+ },
2354
+ note_locked: {
2355
+ type: 'boolean'
2356
+ },
2357
+ status_locked: {
2358
+ type: 'boolean'
2359
+ },
2360
+ rating_locked: {
2361
+ type: 'boolean'
2362
+ },
2363
+ deleted: {
2364
+ type: 'boolean'
2365
+ }
2366
+ }
2367
+ },
2368
+ rating: {
2369
+ $ref: '#/components/schemas/Ratings'
2370
+ },
2371
+ fav_count: {
2372
+ type: 'integer'
2373
+ },
2374
+ sources: {
2375
+ type: 'array',
2376
+ items: {
2377
+ type: 'string'
2378
+ }
2379
+ },
2380
+ pools: {
2381
+ type: 'array',
2382
+ items: {
2383
+ type: 'integer'
2384
+ }
2385
+ },
2386
+ relationships: {
2387
+ type: 'object',
2388
+ required: [
2389
+ 'parent_id',
2390
+ 'has_children',
2391
+ 'has_active_children',
2392
+ 'children'
2393
+ ],
2394
+ properties: {
2395
+ parent_id: {
2396
+ type: 'integer',
2397
+ nullable: true
2398
+ },
2399
+ has_children: {
2400
+ type: 'boolean'
2401
+ },
2402
+ has_active_children: {
2403
+ type: 'boolean'
2404
+ },
2405
+ children: {
2406
+ type: 'array',
2407
+ items: {
2408
+ type: 'integer'
2409
+ }
2410
+ }
2411
+ }
2412
+ },
2413
+ approver_id: {
2414
+ type: 'integer',
2415
+ nullable: true
2416
+ },
2417
+ uploader_id: {
2418
+ type: 'integer'
2419
+ },
2420
+ description: {
2421
+ type: 'string'
2422
+ },
2423
+ comment_count: {
2424
+ type: 'integer'
2425
+ },
2426
+ is_favorited: {
2427
+ type: 'boolean'
2428
+ },
2429
+ has_notes: {
2430
+ type: 'boolean'
2431
+ },
2432
+ duration: {
2433
+ type: 'number',
2434
+ format: 'float',
2435
+ nullable: true
2436
+ },
2437
+ uploader_name: {
2438
+ type: 'string'
2439
+ }
2440
+ }
2441
+ };
2442
+ export const PostApprovalSchema = {
2443
+ type: 'object',
2444
+ required: [
2445
+ 'id',
2446
+ 'user_id',
2447
+ 'post_id',
2448
+ 'created_at',
2449
+ 'updated_at'
2450
+ ],
2451
+ properties: {
2452
+ id: {
2453
+ type: 'integer'
2454
+ },
2455
+ user_id: {
2456
+ type: 'integer'
2457
+ },
2458
+ post_id: {
2459
+ type: 'integer'
2460
+ },
2461
+ created_at: {
2462
+ type: 'string',
2463
+ format: 'date-time'
2464
+ },
2465
+ updated_at: {
2466
+ type: 'string',
2467
+ format: 'date-time'
2468
+ }
2469
+ }
2470
+ };
2471
+ export const PostDisapprovalSchema = {
2472
+ type: 'object',
2473
+ required: [
2474
+ 'id',
2475
+ 'user_id',
2476
+ 'post_id',
2477
+ 'reason',
2478
+ 'message',
2479
+ 'created_at',
2480
+ 'updated_at'
2481
+ ],
2482
+ properties: {
2483
+ id: {
2484
+ type: 'integer'
2485
+ },
2486
+ user_id: {
2487
+ type: 'integer'
2488
+ },
2489
+ post_id: {
2490
+ type: 'integer'
2491
+ },
2492
+ reason: {
2493
+ type: 'string',
2494
+ enum: [
2495
+ 'borderline_quality',
2496
+ 'borderline_relevancy',
2497
+ 'other'
2498
+ ]
2499
+ },
2500
+ message: {
2501
+ type: 'string',
2502
+ nullable: true
2503
+ },
2504
+ created_at: {
2505
+ type: 'string',
2506
+ format: 'date-time'
2507
+ },
2508
+ updated_at: {
2509
+ type: 'string',
2510
+ format: 'date-time'
2511
+ }
2512
+ }
2513
+ };
2514
+ export const PostEventSchema = {
2515
+ type: 'object',
2516
+ required: [
2517
+ 'id',
2518
+ 'creator_id',
2519
+ 'post_id',
2520
+ 'action',
2521
+ 'created_at'
2522
+ ],
2523
+ properties: {
2524
+ id: {
2525
+ type: 'integer'
2526
+ },
2527
+ creator_id: {
2528
+ type: 'integer',
2529
+ nullable: true
2530
+ },
2531
+ post_id: {
2532
+ type: 'integer'
2533
+ },
2534
+ action: {
2535
+ $ref: '#/components/schemas/PostEventActions'
2536
+ },
2537
+ created_at: {
2538
+ type: 'string',
2539
+ format: 'date-time'
2540
+ }
2541
+ }
2542
+ };
2543
+ export const PostFlagSchema = {
2544
+ type: 'object',
2545
+ required: [
2546
+ 'id',
2547
+ 'created_at',
2548
+ 'post_id',
2549
+ 'reason',
2550
+ 'is_resolved',
2551
+ 'updated_at',
2552
+ 'is_deletion',
2553
+ 'type'
2554
+ ],
2555
+ properties: {
2556
+ id: {
2557
+ type: 'integer'
2558
+ },
2559
+ created_at: {
2560
+ type: 'string',
2561
+ format: 'date-time'
2562
+ },
2563
+ post_id: {
2564
+ type: 'integer'
2565
+ },
2566
+ reason: {
2567
+ type: 'string'
2568
+ },
2569
+ creator_id: {
2570
+ type: 'integer',
2571
+ description: 'Only visible to creator and Janitor+',
2572
+ nullable: true
2573
+ },
2574
+ is_resolved: {
2575
+ type: 'boolean'
2576
+ },
2577
+ updated_at: {
2578
+ type: 'string',
2579
+ format: 'date-time'
2580
+ },
2581
+ is_deletion: {
2582
+ type: 'boolean'
2583
+ },
2584
+ type: {
2585
+ type: 'string',
2586
+ enum: [
2587
+ 'flag',
2588
+ 'deletion'
2589
+ ]
2590
+ },
2591
+ note: {
2592
+ type: 'string',
2593
+ description: 'Only visible to creator and Janitor+',
2594
+ nullable: true
2595
+ }
2596
+ }
2597
+ };
2598
+ export const PostReplacementSchema = {
2599
+ type: 'object',
2600
+ required: [
2601
+ 'id',
2602
+ 'created_at',
2603
+ 'updated_at',
2604
+ 'post_id',
2605
+ 'creator_id',
2606
+ 'approver_id',
2607
+ 'file_ext',
2608
+ 'file_size',
2609
+ 'image_height',
2610
+ 'image_width',
2611
+ 'md5',
2612
+ 'source',
2613
+ 'file_name',
2614
+ 'status',
2615
+ 'reason'
2616
+ ],
2617
+ properties: {
2618
+ id: {
2619
+ type: 'integer'
2620
+ },
2621
+ created_at: {
2622
+ type: 'string',
2623
+ format: 'date-time'
2624
+ },
2625
+ updated_at: {
2626
+ type: 'string',
2627
+ format: 'date-time'
2628
+ },
2629
+ post_id: {
2630
+ type: 'integer'
2631
+ },
2632
+ creator_id: {
2633
+ type: 'integer'
2634
+ },
2635
+ approver_id: {
2636
+ type: 'integer',
2637
+ nullable: true
2638
+ },
2639
+ file_ext: {
2640
+ type: 'string'
2641
+ },
2642
+ file_size: {
2643
+ type: 'integer',
2644
+ format: 'int64'
2645
+ },
2646
+ image_height: {
2647
+ type: 'integer'
2648
+ },
2649
+ image_width: {
2650
+ type: 'integer'
2651
+ },
2652
+ md5: {
2653
+ type: 'string'
2654
+ },
2655
+ source: {
2656
+ type: 'string'
2657
+ },
2658
+ file_name: {
2659
+ type: 'string'
2660
+ },
2661
+ status: {
2662
+ type: 'string',
2663
+ enum: [
2664
+ 'prompted',
2665
+ 'approved',
2666
+ 'rejected',
2667
+ 'pending',
2668
+ 'original'
2669
+ ]
2670
+ },
2671
+ reason: {
2672
+ type: 'string'
2673
+ }
2674
+ }
2675
+ };
2676
+ export const PostSampleAlternateSchema = {
2677
+ type: 'object',
2678
+ required: [
2679
+ 'fps',
2680
+ 'codec',
2681
+ 'size',
2682
+ 'width',
2683
+ 'height',
2684
+ 'url'
2685
+ ],
2686
+ properties: {
2687
+ fps: {
2688
+ type: 'number',
2689
+ format: 'float'
2690
+ },
2691
+ codec: {
2692
+ type: 'string'
2693
+ },
2694
+ size: {
2695
+ type: 'integer',
2696
+ format: 'int64'
2697
+ },
2698
+ width: {
2699
+ type: 'integer'
2700
+ },
2701
+ height: {
2702
+ type: 'integer'
2703
+ },
2704
+ url: {
2705
+ type: 'string',
2706
+ format: 'uri'
2707
+ }
2708
+ }
2709
+ };
2710
+ export const PostSetSchema = {
2711
+ type: 'object',
2712
+ required: [
2713
+ 'id',
2714
+ 'created_at',
2715
+ 'updated_at',
2716
+ 'creator_id',
2717
+ 'is_public',
2718
+ 'name',
2719
+ 'shortname',
2720
+ 'description',
2721
+ 'transfer_on_delete',
2722
+ 'post_ids',
2723
+ 'post_count'
2724
+ ],
2725
+ properties: {
2726
+ id: {
2727
+ type: 'integer'
2728
+ },
2729
+ created_at: {
2730
+ type: 'string',
2731
+ format: 'date-time'
2732
+ },
2733
+ updated_at: {
2734
+ type: 'string',
2735
+ format: 'date-time'
2736
+ },
2737
+ creator_id: {
2738
+ type: 'integer'
2739
+ },
2740
+ is_public: {
2741
+ type: 'boolean'
2742
+ },
2743
+ name: {
2744
+ type: 'string'
2745
+ },
2746
+ shortname: {
2747
+ type: 'string'
2748
+ },
2749
+ description: {
2750
+ type: 'string'
2751
+ },
2752
+ post_count: {
2753
+ type: 'integer'
2754
+ },
2755
+ transfer_on_delete: {
2756
+ type: 'boolean'
2757
+ },
2758
+ post_ids: {
2759
+ type: 'array',
2760
+ items: {
2761
+ type: 'integer'
2762
+ }
2763
+ }
2764
+ }
2765
+ };
2766
+ export const PostVersionSchema = {
2767
+ type: 'object',
2768
+ required: [
2769
+ 'id',
2770
+ 'post_id',
2771
+ 'tags',
2772
+ 'updater_id',
2773
+ 'updated_at',
2774
+ 'rating',
2775
+ 'parent_id',
2776
+ 'source',
2777
+ 'description',
2778
+ 'reason',
2779
+ 'locked_tags',
2780
+ 'added_tags',
2781
+ 'removed_tags',
2782
+ 'added_locked_tags',
2783
+ 'removed_locked_tags',
2784
+ 'rating_changed',
2785
+ 'parent_changed',
2786
+ 'source_changed',
2787
+ 'description_changed',
2788
+ 'version',
2789
+ 'obsolete_added_tags',
2790
+ 'obsolete_removed_tags',
2791
+ 'unchanged_tags',
2792
+ 'updater_name',
2793
+ 'is_hidden'
2794
+ ],
2795
+ properties: {
2796
+ id: {
2797
+ type: 'integer'
2798
+ },
2799
+ post_id: {
2800
+ type: 'integer'
2801
+ },
2802
+ tags: {
2803
+ type: 'string'
2804
+ },
2805
+ updater_id: {
2806
+ type: 'integer'
2807
+ },
2808
+ updated_at: {
2809
+ type: 'string',
2810
+ format: 'date-time'
2811
+ },
2812
+ rating: {
2813
+ $ref: '#/components/schemas/Ratings'
2814
+ },
2815
+ parent_id: {
2816
+ type: 'integer',
2817
+ nullable: true
2818
+ },
2819
+ source: {
2820
+ type: 'string'
2821
+ },
2822
+ description: {
2823
+ type: 'string'
2824
+ },
2825
+ reason: {
2826
+ type: 'string',
2827
+ nullable: true
2828
+ },
2829
+ locked_tags: {
2830
+ type: 'string',
2831
+ nullable: true
2832
+ },
2833
+ added_tags: {
2834
+ type: 'array',
2835
+ items: {
2836
+ type: 'string'
2837
+ }
2838
+ },
2839
+ removed_tags: {
2840
+ type: 'array',
2841
+ items: {
2842
+ type: 'string'
2843
+ }
2844
+ },
2845
+ added_locked_tags: {
2846
+ type: 'array',
2847
+ items: {
2848
+ type: 'string'
2849
+ }
2850
+ },
2851
+ removed_locked_tags: {
2852
+ type: 'array',
2853
+ items: {
2854
+ type: 'string'
2855
+ }
2856
+ },
2857
+ rating_changed: {
2858
+ type: 'boolean'
2859
+ },
2860
+ parent_changed: {
2861
+ type: 'boolean'
2862
+ },
2863
+ source_changed: {
2864
+ type: 'boolean'
2865
+ },
2866
+ description_changed: {
2867
+ type: 'boolean'
2868
+ },
2869
+ version: {
2870
+ type: 'integer'
2871
+ },
2872
+ obsolete_added_tags: {
2873
+ type: 'string'
2874
+ },
2875
+ obsolete_removed_tags: {
2876
+ type: 'string'
2877
+ },
2878
+ unchanged_tags: {
2879
+ type: 'string'
2880
+ },
2881
+ updater_name: {
2882
+ type: 'string'
2883
+ },
2884
+ is_hidden: {
2885
+ type: 'boolean'
2886
+ }
2887
+ }
2888
+ };
2889
+ export const RelatedTagSchema = {
2890
+ type: 'object',
2891
+ required: [
2892
+ 'name',
2893
+ 'category_id'
2894
+ ],
2895
+ properties: {
2896
+ name: {
2897
+ type: 'string'
2898
+ },
2899
+ category_id: {
2900
+ $ref: '#/components/schemas/TagCategories'
2901
+ }
2902
+ }
2903
+ };
2904
+ export const StaffNoteSchema = {
2905
+ type: 'object',
2906
+ required: [
2907
+ 'id',
2908
+ 'created_at',
2909
+ 'updated_at',
2910
+ 'user_id',
2911
+ 'creator_id',
2912
+ 'body',
2913
+ 'is_deleted',
2914
+ 'updater_id'
2915
+ ],
2916
+ properties: {
2917
+ id: {
2918
+ type: 'integer'
2919
+ },
2920
+ created_at: {
2921
+ type: 'string',
2922
+ format: 'date-time'
2923
+ },
2924
+ updated_at: {
2925
+ type: 'string',
2926
+ format: 'date-time'
2927
+ },
2928
+ user_id: {
2929
+ type: 'integer'
2930
+ },
2931
+ creator_id: {
2932
+ type: 'integer'
2933
+ },
2934
+ body: {
2935
+ type: 'string'
2936
+ },
2937
+ is_deleted: {
2938
+ type: 'boolean'
2939
+ },
2940
+ updater_id: {
2941
+ type: 'integer'
2942
+ }
2943
+ }
2944
+ };
2945
+ export const TagSchema = {
2946
+ type: 'object',
2947
+ required: [
2948
+ 'id',
2949
+ 'name',
2950
+ 'post_count',
2951
+ 'related_tags',
2952
+ 'related_tags_updated_at',
2953
+ 'category',
2954
+ 'is_locked',
2955
+ 'created_at',
2956
+ 'updated_at'
2957
+ ],
2958
+ properties: {
2959
+ id: {
2960
+ type: 'integer'
2961
+ },
2962
+ name: {
2963
+ type: 'string'
2964
+ },
2965
+ post_count: {
2966
+ type: 'integer'
2967
+ },
2968
+ related_tags: {
2969
+ type: 'array',
2970
+ items: {
2971
+ type: 'string'
2972
+ }
2973
+ },
2974
+ related_tags_updated_at: {
2975
+ type: 'string',
2976
+ nullable: true,
2977
+ format: 'date-time'
2978
+ },
2979
+ category: {
2980
+ $ref: '#/components/schemas/TagCategories'
2981
+ },
2982
+ is_locked: {
2983
+ type: 'boolean'
2984
+ },
2985
+ created_at: {
2986
+ type: 'string',
2987
+ format: 'date-time'
2988
+ },
2989
+ updated_at: {
2990
+ type: 'string',
2991
+ format: 'date-time'
2992
+ }
2993
+ }
2994
+ };
2995
+ export const TagAliasSchema = {
2996
+ type: 'object',
2997
+ required: [
2998
+ 'id',
2999
+ 'antecedent_name',
3000
+ 'reason',
3001
+ 'creator_id',
3002
+ 'created_at',
3003
+ 'forum_post_id',
3004
+ 'updated_at',
3005
+ 'forum_topic_id',
3006
+ 'consequent_name',
3007
+ 'status',
3008
+ 'post_count',
3009
+ 'approver_id'
3010
+ ],
3011
+ properties: {
3012
+ id: {
3013
+ type: 'integer'
3014
+ },
3015
+ antecedent_name: {
3016
+ type: 'string'
3017
+ },
3018
+ reason: {
3019
+ type: 'string'
3020
+ },
3021
+ creator_id: {
3022
+ type: 'integer'
3023
+ },
3024
+ created_at: {
3025
+ type: 'string',
3026
+ nullable: true,
3027
+ format: 'date-time'
3028
+ },
3029
+ forum_post_id: {
3030
+ type: 'integer',
3031
+ nullable: true
3032
+ },
3033
+ updated_at: {
3034
+ type: 'string',
3035
+ nullable: true,
3036
+ format: 'date-time'
3037
+ },
3038
+ forum_topic_id: {
3039
+ type: 'integer',
3040
+ nullable: true
3041
+ },
3042
+ consequent_name: {
3043
+ type: 'string'
3044
+ },
3045
+ status: {
3046
+ $ref: '#/components/schemas/TagRequestStatuses'
3047
+ },
3048
+ post_count: {
3049
+ type: 'integer'
3050
+ },
3051
+ approver_id: {
3052
+ type: 'integer',
3053
+ nullable: true
3054
+ }
3055
+ }
3056
+ };
3057
+ export const TagImplicationSchema = {
3058
+ type: 'object',
3059
+ required: [
3060
+ 'id',
3061
+ 'reason',
3062
+ 'creator_id',
3063
+ 'created_at',
3064
+ 'forum_post_id',
3065
+ 'antecedent_name',
3066
+ 'consequent_name',
3067
+ 'status',
3068
+ 'forum_topic_id',
3069
+ 'updated_at',
3070
+ 'descendant_names',
3071
+ 'approver_id'
3072
+ ],
3073
+ properties: {
3074
+ id: {
3075
+ type: 'integer'
3076
+ },
3077
+ reason: {
3078
+ type: 'string'
3079
+ },
3080
+ creator_id: {
3081
+ type: 'integer'
3082
+ },
3083
+ created_at: {
3084
+ type: 'string',
3085
+ format: 'date-time'
3086
+ },
3087
+ forum_post_id: {
3088
+ type: 'integer',
3089
+ nullable: true
3090
+ },
3091
+ antecedent_name: {
3092
+ type: 'string'
3093
+ },
3094
+ consequent_name: {
3095
+ type: 'string'
3096
+ },
3097
+ status: {
3098
+ $ref: '#/components/schemas/TagRequestStatuses'
3099
+ },
3100
+ forum_topic_id: {
3101
+ type: 'integer',
3102
+ nullable: true
3103
+ },
3104
+ updated_at: {
3105
+ type: 'string',
3106
+ format: 'date-time'
3107
+ },
3108
+ descendant_names: {
3109
+ type: 'array',
3110
+ items: {
3111
+ type: 'string'
3112
+ }
3113
+ },
3114
+ approver_id: {
3115
+ type: 'integer',
3116
+ nullable: true
3117
+ }
3118
+ }
3119
+ };
3120
+ export const TagPreviewSchema = {
3121
+ type: 'object',
3122
+ required: [
3123
+ 'name'
3124
+ ],
3125
+ properties: {
3126
+ id: {
3127
+ type: 'integer'
3128
+ },
3129
+ name: {
3130
+ type: 'string'
3131
+ },
3132
+ resolved: {
3133
+ type: 'string'
3134
+ },
3135
+ category: {
3136
+ $ref: '#/components/schemas/TagCategories'
3137
+ },
3138
+ post_count: {
3139
+ type: 'integer'
3140
+ },
3141
+ alias: {
3142
+ type: 'string'
3143
+ },
3144
+ implies: {
3145
+ type: 'array',
3146
+ items: {
3147
+ type: 'string'
3148
+ }
3149
+ }
3150
+ }
3151
+ };
3152
+ export const TagTypeVersionSchema = {
3153
+ type: 'object',
3154
+ required: [
3155
+ 'id',
3156
+ 'created_at',
3157
+ 'updated_at',
3158
+ 'old_type',
3159
+ 'new_type',
3160
+ 'is_locked',
3161
+ 'tag_id',
3162
+ 'creator_id'
3163
+ ],
3164
+ properties: {
3165
+ id: {
3166
+ type: 'integer'
3167
+ },
3168
+ created_at: {
3169
+ type: 'string',
3170
+ format: 'date-time'
3171
+ },
3172
+ updated_at: {
3173
+ type: 'string',
3174
+ format: 'date-time'
3175
+ },
3176
+ old_type: {
3177
+ $ref: '#/components/schemas/TagCategories'
3178
+ },
3179
+ new_type: {
3180
+ $ref: '#/components/schemas/TagCategories'
3181
+ },
3182
+ is_locked: {
3183
+ type: 'boolean'
3184
+ },
3185
+ tag_id: {
3186
+ type: 'integer'
3187
+ },
3188
+ creator_id: {
3189
+ type: 'integer'
3190
+ }
3191
+ }
3192
+ };
3193
+ export const TakedownSchema = {
3194
+ type: 'object',
3195
+ required: [
3196
+ 'id',
3197
+ 'status',
3198
+ 'approver_id',
3199
+ 'reason_hidden',
3200
+ 'created_at',
3201
+ 'updated_at',
3202
+ 'post_count'
3203
+ ],
3204
+ properties: {
3205
+ id: {
3206
+ type: 'integer'
3207
+ },
3208
+ status: {
3209
+ type: 'string',
3210
+ enum: [
3211
+ 'approved',
3212
+ 'denied',
3213
+ 'partial',
3214
+ 'pending'
3215
+ ]
3216
+ },
3217
+ approver_id: {
3218
+ type: 'integer',
3219
+ nullable: true
3220
+ },
3221
+ reason_hidden: {
3222
+ type: 'boolean'
3223
+ },
3224
+ created_at: {
3225
+ type: 'string',
3226
+ format: 'date-time'
3227
+ },
3228
+ updated_at: {
3229
+ type: 'string',
3230
+ format: 'date-time'
3231
+ },
3232
+ post_count: {
3233
+ type: 'integer'
3234
+ }
3235
+ }
3236
+ };
3237
+ export const TicketSchema = {
3238
+ type: 'object',
3239
+ required: [
3240
+ 'id',
3241
+ 'creator_id',
3242
+ 'reason',
3243
+ 'disp_id',
3244
+ 'qtype',
3245
+ 'status',
3246
+ 'created_at',
3247
+ 'updated_at',
3248
+ 'response',
3249
+ 'handler_id',
3250
+ 'report_reason',
3251
+ 'accused_id'
3252
+ ],
3253
+ properties: {
3254
+ id: {
3255
+ type: 'integer'
3256
+ },
3257
+ creator_id: {
3258
+ type: 'integer'
3259
+ },
3260
+ reason: {
3261
+ type: 'string'
3262
+ },
3263
+ disp_id: {
3264
+ type: 'integer'
3265
+ },
3266
+ qtype: {
3267
+ $ref: '#/components/schemas/TicketTypes'
3268
+ },
3269
+ status: {
3270
+ $ref: '#/components/schemas/TicketStatuses'
3271
+ },
3272
+ created_at: {
3273
+ type: 'string',
3274
+ format: 'date-time'
3275
+ },
3276
+ updated_at: {
3277
+ type: 'string',
3278
+ format: 'date-time'
3279
+ },
3280
+ response: {
3281
+ type: 'string'
3282
+ },
3283
+ handler_id: {
3284
+ type: 'integer',
3285
+ nullable: true
3286
+ },
3287
+ claimant_id: {
3288
+ type: 'integer',
3289
+ nullable: true,
3290
+ description: 'Only visible to Moderator+.'
3291
+ },
3292
+ report_reason: {
3293
+ type: 'string',
3294
+ nullable: true
3295
+ },
3296
+ accused_id: {
3297
+ type: 'integer',
3298
+ nullable: true
3299
+ }
3300
+ }
3301
+ };
3302
+ export const UploadWhitelistSchema = {
3303
+ type: 'object',
3304
+ required: [
3305
+ 'id',
3306
+ 'created_at',
3307
+ 'updated_at',
3308
+ 'pattern',
3309
+ 'note',
3310
+ 'hidden',
3311
+ 'allowed',
3312
+ 'reason',
3313
+ 'domain',
3314
+ 'path'
3315
+ ],
3316
+ properties: {
3317
+ id: {
3318
+ type: 'integer'
3319
+ },
3320
+ created_at: {
3321
+ type: 'string',
3322
+ format: 'date-time'
3323
+ },
3324
+ updated_at: {
3325
+ type: 'string',
3326
+ format: 'date-time'
3327
+ },
3328
+ pattern: {
3329
+ type: 'string'
3330
+ },
3331
+ note: {
3332
+ type: 'string'
3333
+ },
3334
+ hidden: {
3335
+ type: 'boolean'
3336
+ },
3337
+ allowed: {
3338
+ type: 'boolean'
3339
+ },
3340
+ reason: {
3341
+ type: 'string'
3342
+ },
3343
+ domain: {
3344
+ type: 'string'
3345
+ },
3346
+ path: {
3347
+ type: 'string'
3348
+ }
3349
+ }
3350
+ };
3351
+ export const UploadSchema = {
3352
+ type: 'object',
3353
+ required: [
3354
+ 'id',
3355
+ 'source',
3356
+ 'rating',
3357
+ 'uploader_id',
3358
+ 'tag_string',
3359
+ 'status',
3360
+ 'backtrace',
3361
+ 'post_id',
3362
+ 'md5_confirmation',
3363
+ 'created_at',
3364
+ 'updated_at',
3365
+ 'parent_id',
3366
+ 'md5',
3367
+ 'file_ext',
3368
+ 'file_size',
3369
+ 'image_width',
3370
+ 'image_height',
3371
+ 'description',
3372
+ 'uploader_name'
3373
+ ],
3374
+ properties: {
3375
+ id: {
3376
+ type: 'integer'
3377
+ },
3378
+ source: {
3379
+ type: 'string'
3380
+ },
3381
+ rating: {
3382
+ $ref: '#/components/schemas/Ratings'
3383
+ },
3384
+ uploader_id: {
3385
+ type: 'integer'
3386
+ },
3387
+ tag_string: {
3388
+ type: 'string'
3389
+ },
3390
+ status: {
3391
+ type: 'string',
3392
+ description: 'Note: The "error" status will be proceeded by an error, ex: "error: RuntimeError - No file or source URL provided"\n',
3393
+ enum: [
3394
+ 'completed',
3395
+ 'duplicate',
3396
+ 'error',
3397
+ 'processing',
3398
+ 'pending'
3399
+ ]
3400
+ },
3401
+ backtrace: {
3402
+ type: 'string',
3403
+ nullable: true
3404
+ },
3405
+ post_id: {
3406
+ type: 'integer',
3407
+ nullable: true
3408
+ },
3409
+ md5_confirmation: {
3410
+ type: 'string',
3411
+ nullable: true,
3412
+ deprecated: true
3413
+ },
3414
+ created_at: {
3415
+ type: 'string',
3416
+ format: 'date-time'
3417
+ },
3418
+ updated_at: {
3419
+ type: 'string',
3420
+ format: 'date-time'
3421
+ },
3422
+ parent_id: {
3423
+ type: 'integer',
3424
+ nullable: true
3425
+ },
3426
+ md5: {
3427
+ type: 'string',
3428
+ nullable: true
3429
+ },
3430
+ file_ext: {
3431
+ type: 'string',
3432
+ nullable: true
3433
+ },
3434
+ file_size: {
3435
+ type: 'integer',
3436
+ nullable: true
3437
+ },
3438
+ image_width: {
3439
+ type: 'integer',
3440
+ nullable: true
3441
+ },
3442
+ image_height: {
3443
+ type: 'integer',
3444
+ nullable: true
3445
+ },
3446
+ description: {
3447
+ type: 'string'
3448
+ },
3449
+ uploader_name: {
3450
+ type: 'string'
3451
+ }
3452
+ }
3453
+ };
3454
+ export const UserSchema = {
3455
+ type: 'object',
3456
+ required: [
3457
+ 'id',
3458
+ 'created_at',
3459
+ 'name',
3460
+ 'level',
3461
+ 'base_upload_limit',
3462
+ 'post_upload_count',
3463
+ 'post_update_count',
3464
+ 'note_update_count',
3465
+ 'is_banned',
3466
+ 'can_approve_posts',
3467
+ 'can_upload_free',
3468
+ 'level_string',
3469
+ 'avatar_id'
3470
+ ],
3471
+ properties: {
3472
+ id: {
3473
+ type: 'integer'
3474
+ },
3475
+ created_at: {
3476
+ type: 'string',
3477
+ format: 'date-time'
3478
+ },
3479
+ name: {
3480
+ type: 'string'
3481
+ },
3482
+ level: {
3483
+ type: 'integer'
3484
+ },
3485
+ base_upload_limit: {
3486
+ type: 'integer'
3487
+ },
3488
+ post_upload_count: {
3489
+ type: 'integer'
3490
+ },
3491
+ post_update_count: {
3492
+ type: 'integer'
3493
+ },
3494
+ note_update_count: {
3495
+ type: 'integer'
3496
+ },
3497
+ is_banned: {
3498
+ type: 'boolean'
3499
+ },
3500
+ can_approve_posts: {
3501
+ type: 'boolean'
3502
+ },
3503
+ can_upload_free: {
3504
+ type: 'boolean'
3505
+ },
3506
+ level_string: {
3507
+ type: 'string'
3508
+ },
3509
+ avatar_id: {
3510
+ type: 'integer',
3511
+ nullable: true
3512
+ },
3513
+ is_verified: {
3514
+ type: 'boolean'
3515
+ }
3516
+ }
3517
+ };
3518
+ export const UserFeedbackSchema = {
3519
+ type: 'object',
3520
+ required: [
3521
+ 'id',
3522
+ 'user_id',
3523
+ 'creator_id',
3524
+ 'category',
3525
+ 'body',
3526
+ 'created_at',
3527
+ 'updated_at',
3528
+ 'updater_id',
3529
+ 'is_deleted'
3530
+ ],
3531
+ properties: {
3532
+ id: {
3533
+ type: 'integer'
3534
+ },
3535
+ user_id: {
3536
+ type: 'integer'
3537
+ },
3538
+ creator_id: {
3539
+ type: 'integer'
3540
+ },
3541
+ category: {
3542
+ $ref: '#/components/schemas/FeedbackCategories'
3543
+ },
3544
+ body: {
3545
+ type: 'string'
3546
+ },
3547
+ created_at: {
3548
+ type: 'string',
3549
+ format: 'date-time'
3550
+ },
3551
+ updated_at: {
3552
+ type: 'string',
3553
+ format: 'date-time'
3554
+ },
3555
+ updater_id: {
3556
+ type: 'integer'
3557
+ },
3558
+ is_deleted: {
3559
+ type: 'boolean'
3560
+ }
3561
+ }
3562
+ };
3563
+ export const UserNameChangeRequestSchema = {
3564
+ type: 'object',
3565
+ required: [
3566
+ 'id',
3567
+ 'approver_id',
3568
+ 'user_id',
3569
+ 'original_name',
3570
+ 'desired_name',
3571
+ 'created_at',
3572
+ 'updated_at',
3573
+ 'status'
3574
+ ],
3575
+ properties: {
3576
+ id: {
3577
+ type: 'integer'
3578
+ },
3579
+ approver_id: {
3580
+ type: 'integer'
3581
+ },
3582
+ user_id: {
3583
+ type: 'integer'
3584
+ },
3585
+ original_name: {
3586
+ type: 'string'
3587
+ },
3588
+ desired_name: {
3589
+ type: 'string'
3590
+ },
3591
+ change_reason: {
3592
+ type: 'string'
3593
+ },
3594
+ created_at: {
3595
+ type: 'string',
3596
+ format: 'date-time'
3597
+ },
3598
+ updated_at: {
3599
+ type: 'string',
3600
+ format: 'date-time'
3601
+ },
3602
+ status: {
3603
+ type: 'string',
3604
+ enum: [
3605
+ 'approved'
3606
+ ]
3607
+ }
3608
+ }
3609
+ };
3610
+ export const WikiPageSchema = {
3611
+ type: 'object',
3612
+ required: [
3613
+ 'id',
3614
+ 'created_at',
3615
+ 'updated_at',
3616
+ 'title',
3617
+ 'body',
3618
+ 'creator_id',
3619
+ 'is_locked',
3620
+ 'updater_id',
3621
+ 'is_deleted',
3622
+ 'other_names',
3623
+ 'parent',
3624
+ 'creator_name',
3625
+ 'category_id'
3626
+ ],
3627
+ properties: {
3628
+ id: {
3629
+ type: 'integer'
3630
+ },
3631
+ created_at: {
3632
+ type: 'string',
3633
+ format: 'date-time'
3634
+ },
3635
+ updated_at: {
3636
+ type: 'string',
3637
+ format: 'date-time'
3638
+ },
3639
+ title: {
3640
+ type: 'string'
3641
+ },
3642
+ body: {
3643
+ type: 'string'
3644
+ },
3645
+ creator_id: {
3646
+ type: 'integer'
3647
+ },
3648
+ is_locked: {
3649
+ type: 'boolean'
3650
+ },
3651
+ updater_id: {
3652
+ type: 'integer'
3653
+ },
3654
+ is_deleted: {
3655
+ type: 'boolean'
3656
+ },
3657
+ other_names: {
3658
+ type: 'array',
3659
+ items: {
3660
+ type: 'string'
3661
+ }
3662
+ },
3663
+ parent: {
3664
+ type: 'string',
3665
+ nullable: true
3666
+ },
3667
+ creator_name: {
3668
+ type: 'string'
3669
+ },
3670
+ category_id: {
3671
+ $ref: '#/components/schemas/TagCategories'
3672
+ }
3673
+ }
3674
+ };
3675
+ export const WikiPageVersionSchema = {
3676
+ type: 'object',
3677
+ required: [
3678
+ 'id',
3679
+ 'created_at',
3680
+ 'updated_at',
3681
+ 'title',
3682
+ 'body',
3683
+ 'updater_id',
3684
+ 'wiki_page_id',
3685
+ 'is_locked',
3686
+ 'other_names',
3687
+ 'is_deleted',
3688
+ 'reason',
3689
+ 'parent'
3690
+ ],
3691
+ properties: {
3692
+ id: {
3693
+ type: 'integer'
3694
+ },
3695
+ created_at: {
3696
+ type: 'string',
3697
+ format: 'date-time'
3698
+ },
3699
+ updated_at: {
3700
+ type: 'string',
3701
+ format: 'date-time'
3702
+ },
3703
+ title: {
3704
+ type: 'string'
3705
+ },
3706
+ body: {
3707
+ type: 'string'
3708
+ },
3709
+ updater_id: {
3710
+ type: 'integer'
3711
+ },
3712
+ wiki_page_id: {
3713
+ type: 'integer'
3714
+ },
3715
+ is_locked: {
3716
+ type: 'boolean'
3717
+ },
3718
+ other_names: {
3719
+ type: 'array',
3720
+ items: {
3721
+ type: 'string'
3722
+ }
3723
+ },
3724
+ is_deleted: {
3725
+ type: 'boolean'
3726
+ },
3727
+ reason: {
3728
+ type: 'string',
3729
+ nullable: true
3730
+ },
3731
+ parent: {
3732
+ type: 'string',
3733
+ nullable: true
3734
+ }
3735
+ }
3736
+ };
3737
+ export const ApiKeySchema = {
3738
+ type: 'object',
3739
+ required: [
3740
+ 'id',
3741
+ 'created_at',
3742
+ 'updated_at',
3743
+ 'user_id',
3744
+ 'key',
3745
+ 'name',
3746
+ 'last_used_at',
3747
+ 'last_used_ip_address',
3748
+ 'last_user_agent',
3749
+ 'expires_at',
3750
+ 'notified_at'
3751
+ ],
3752
+ properties: {
3753
+ id: {
3754
+ type: 'integer'
3755
+ },
3756
+ updated_at: {
3757
+ type: 'string',
3758
+ format: 'date-time'
3759
+ },
3760
+ created_at: {
3761
+ type: 'string',
3762
+ format: 'date-time'
3763
+ },
3764
+ user_id: {
3765
+ type: 'integer'
3766
+ },
3767
+ key: {
3768
+ type: 'string'
3769
+ },
3770
+ name: {
3771
+ type: 'string'
3772
+ },
3773
+ last_used_at: {
3774
+ type: 'string',
3775
+ format: 'date-time',
3776
+ nullable: true
3777
+ },
3778
+ last_used_ip_address: {
3779
+ oneOf: [
3780
+ {
3781
+ type: 'string',
3782
+ format: 'ipv4',
3783
+ nullable: true
3784
+ },
3785
+ {
3786
+ type: 'string',
3787
+ format: 'ipv6',
3788
+ nullable: true
3789
+ }
3790
+ ]
3791
+ },
3792
+ last_user_agent: {
3793
+ type: 'string',
3794
+ nullable: true
3795
+ },
3796
+ expires_at: {
3797
+ type: 'string',
3798
+ format: 'date-time',
3799
+ nullable: true
3800
+ },
3801
+ notified_at: {
3802
+ type: 'string',
3803
+ format: 'date-time',
3804
+ nullable: true
3805
+ }
3806
+ }
3807
+ };
3808
+ export const EditHistorySchema = {
3809
+ type: 'object',
3810
+ required: [
3811
+ 'id',
3812
+ 'created_at',
3813
+ 'updated_at',
3814
+ 'body',
3815
+ 'subject',
3816
+ 'versionable_type',
3817
+ 'versionable_id',
3818
+ 'version',
3819
+ 'user_id'
3820
+ ],
3821
+ properties: {
3822
+ id: {
3823
+ type: 'integer'
3824
+ },
3825
+ created_at: {
3826
+ type: 'string',
3827
+ format: 'date-time'
3828
+ },
3829
+ updated_at: {
3830
+ type: 'string',
3831
+ format: 'date-time'
3832
+ },
3833
+ body: {
3834
+ type: 'string'
3835
+ },
3836
+ subject: {
3837
+ type: 'string',
3838
+ nullable: true
3839
+ },
3840
+ versionable_type: {
3841
+ type: 'string',
3842
+ enum: [
3843
+ 'Blip',
3844
+ 'Comment',
3845
+ 'ForumPost'
3846
+ ]
3847
+ },
3848
+ versionable_id: {
3849
+ type: 'integer'
3850
+ },
3851
+ version: {
3852
+ type: 'integer'
3853
+ },
3854
+ user_id: {
3855
+ type: 'integer'
3856
+ }
3857
+ }
3858
+ };
3859
+ export const UserAvatarMenuSchema = {
3860
+ type: 'object',
3861
+ required: [
3862
+ 'has_uploads',
3863
+ 'has_favorites',
3864
+ 'has_sets',
3865
+ 'has_comments',
3866
+ 'has_forums'
3867
+ ],
3868
+ properties: {
3869
+ has_uploads: {
3870
+ type: 'boolean'
3871
+ },
3872
+ has_favorites: {
3873
+ type: 'boolean'
3874
+ },
3875
+ has_sets: {
3876
+ type: 'boolean'
3877
+ },
3878
+ has_comments: {
3879
+ type: 'boolean'
3880
+ },
3881
+ has_forums: {
3882
+ type: 'boolean'
3883
+ }
3884
+ }
3885
+ };
3886
+ export const TagCorrectionSchema = {
3887
+ type: 'object',
3888
+ required: [
3889
+ 'post_count',
3890
+ 'real_post_count',
3891
+ 'category',
3892
+ 'category_cache',
3893
+ 'tag'
3894
+ ],
3895
+ properties: {
3896
+ post_count: {
3897
+ type: 'integer'
3898
+ },
3899
+ real_post_count: {
3900
+ type: 'integer'
3901
+ },
3902
+ category: {
3903
+ $ref: '#/components/schemas/TagCategories'
3904
+ },
3905
+ category_cache: {
3906
+ $ref: '#/components/schemas/TagCategories'
3907
+ },
3908
+ tag: {
3909
+ $ref: '#/components/schemas/Tag'
3910
+ }
3911
+ }
3912
+ };
3913
+ export const SearchTrendSchema = {
3914
+ type: 'object',
3915
+ required: [
3916
+ 'tag',
3917
+ 'count',
3918
+ 'day'
3919
+ ],
3920
+ properties: {
3921
+ tag: {
3922
+ type: 'string'
3923
+ },
3924
+ count: {
3925
+ type: 'integer'
3926
+ },
3927
+ day: {
3928
+ type: 'string',
3929
+ format: 'date'
3930
+ }
3931
+ }
3932
+ };
3933
+ export const RisingSearchTrendSchema = {
3934
+ type: 'object',
3935
+ required: [
3936
+ 'tag'
3937
+ ],
3938
+ properties: {
3939
+ tag: {
3940
+ type: 'string'
3941
+ }
3942
+ }
3943
+ };
3944
+ export const SearchTrendBlacklistSchema = {
3945
+ type: 'object',
3946
+ required: [
3947
+ 'id',
3948
+ 'tag',
3949
+ 'reason',
3950
+ 'creator_id',
3951
+ 'created_at',
3952
+ 'updated_at'
3953
+ ],
3954
+ properties: {
3955
+ id: {
3956
+ type: 'integer'
3957
+ },
3958
+ tag: {
3959
+ type: 'string'
3960
+ },
3961
+ reason: {
3962
+ type: 'string'
3963
+ },
3964
+ creator_id: {
3965
+ type: 'integer'
3966
+ },
3967
+ created_at: {
3968
+ type: 'string',
3969
+ format: 'date-time'
3970
+ },
3971
+ updated_at: {
3972
+ type: 'string',
3973
+ format: 'date-time'
3974
+ }
3975
+ }
3976
+ };
3977
+ export const MessageErrorResponseSchema = {
3978
+ type: 'object',
3979
+ required: [
3980
+ 'success',
3981
+ 'message'
3982
+ ],
3983
+ properties: {
3984
+ success: {
3985
+ type: 'boolean'
3986
+ },
3987
+ message: {
3988
+ type: 'string'
3989
+ },
3990
+ code: {
3991
+ type: 'string',
3992
+ nullable: true
3993
+ }
3994
+ }
3995
+ };
3996
+ export const MessageSuccessResponseSchema = {
3997
+ type: 'object',
3998
+ required: [
3999
+ 'success',
4000
+ 'message'
4001
+ ],
4002
+ properties: {
4003
+ success: {
4004
+ type: 'boolean',
4005
+ enum: [
4006
+ true
4007
+ ]
4008
+ },
4009
+ message: {
4010
+ type: 'string'
4011
+ }
4012
+ }
4013
+ };
4014
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9nZW5lcmF0ZWQvc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFFckQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUc7SUFDdEMsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixTQUFTO1FBQ1QsUUFBUTtLQUNYO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsT0FBTyxFQUFFO1lBQ0wsSUFBSSxFQUFFLFNBQVM7U0FDbEI7UUFDRCxNQUFNLEVBQUU7WUFDSixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRTtnQkFDRixlQUFlO2FBQ2xCO1NBQ0o7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNsQyxJQUFJLEVBQUUsUUFBUTtJQUNkLFFBQVEsRUFBRTtRQUNOLFNBQVM7UUFDVCxRQUFRO0tBQ1g7SUFDRCxVQUFVLEVBQUU7UUFDUixPQUFPLEVBQUU7WUFDTCxJQUFJLEVBQUUsU0FBUztTQUNsQjtRQUNELE1BQU0sRUFBRTtZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFO2dCQUNGLFdBQVc7YUFDZDtTQUNKO0tBQ0o7Q0FDSyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDbkMsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUU7UUFDTixhQUFhO0tBQ2hCO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsV0FBVyxFQUFFO1lBQ1QsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUU7Z0JBQ0YsUUFBUTtnQkFDUixLQUFLO2dCQUNMLFFBQVE7Z0JBQ1IsU0FBUzthQUNaO1NBQ0o7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRztJQUNsQyxJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRTtRQUNGLG9CQUFv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