e621 2.2.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -40
  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 +2908 -0
  34. package/dist/lib/generated/schemas.js +3911 -0
  35. package/dist/lib/generated/sdk.d.ts +1373 -0
  36. package/dist/lib/generated/sdk.js +2557 -0
  37. package/dist/lib/generated/source.json +19299 -0
  38. package/dist/lib/generated/types.d.ts +9663 -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 +100 -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 +97 -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 +174 -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/StaffNote.d.ts +53 -0
  121. package/dist/lib/models/StaffNote.js +79 -0
  122. package/dist/lib/models/Tag.d.ts +59 -0
  123. package/dist/lib/models/Tag.js +91 -0
  124. package/dist/lib/models/TagAlias.d.ts +51 -0
  125. package/dist/lib/models/TagAlias.js +77 -0
  126. package/dist/lib/models/TagCorrection.d.ts +15 -0
  127. package/dist/lib/models/TagCorrection.js +20 -0
  128. package/dist/lib/models/TagImplication.d.ts +51 -0
  129. package/dist/lib/models/TagImplication.js +77 -0
  130. package/dist/lib/models/TagPreview.d.ts +14 -0
  131. package/dist/lib/models/TagPreview.js +17 -0
  132. package/dist/lib/models/TagTypeVersion.d.ts +14 -0
  133. package/dist/lib/models/TagTypeVersion.js +17 -0
  134. package/dist/lib/models/Takedown.d.ts +87 -0
  135. package/dist/lib/models/Takedown.js +137 -0
  136. package/dist/lib/models/Ticket.d.ts +51 -0
  137. package/dist/lib/models/Ticket.js +77 -0
  138. package/dist/lib/models/Upload.d.ts +14 -0
  139. package/dist/lib/models/Upload.js +17 -0
  140. package/dist/lib/models/UploadWhitelist.d.ts +37 -0
  141. package/dist/lib/models/UploadWhitelist.js +55 -0
  142. package/dist/lib/models/User.d.ts +97 -0
  143. package/dist/lib/models/User.js +160 -0
  144. package/dist/lib/models/UserFeedback.d.ts +63 -0
  145. package/dist/lib/models/UserFeedback.js +97 -0
  146. package/dist/lib/models/UserNameChangeRequest.d.ts +26 -0
  147. package/dist/lib/models/UserNameChangeRequest.js +37 -0
  148. package/dist/lib/models/WikiPage.d.ts +49 -0
  149. package/dist/lib/models/WikiPage.js +75 -0
  150. package/dist/lib/models/WikiPageVersion.d.ts +24 -0
  151. package/dist/lib/models/WikiPageVersion.js +35 -0
  152. package/dist/lib/models/index.d.ts +53 -0
  153. package/dist/lib/models/index.js +54 -0
  154. package/dist/lib/modules/ArtistUrls.d.ts +18 -0
  155. package/dist/lib/modules/ArtistUrls.js +28 -0
  156. package/dist/lib/modules/ArtistVersions.d.ts +18 -0
  157. package/dist/lib/modules/ArtistVersions.js +28 -0
  158. package/dist/lib/modules/Artists.d.ts +90 -0
  159. package/dist/lib/modules/Artists.js +151 -0
  160. package/dist/lib/modules/AvoidPostingVersions.d.ts +18 -0
  161. package/dist/lib/modules/AvoidPostingVersions.js +28 -0
  162. package/dist/lib/modules/AvoidPostings.d.ts +112 -0
  163. package/dist/lib/modules/AvoidPostings.js +181 -0
  164. package/dist/lib/modules/Bans.d.ts +26 -0
  165. package/dist/lib/modules/Bans.js +47 -0
  166. package/dist/lib/modules/Base.d.ts +20 -0
  167. package/dist/lib/modules/Base.js +39 -0
  168. package/dist/lib/modules/Blips.d.ts +105 -0
  169. package/dist/lib/modules/Blips.js +188 -0
  170. package/dist/lib/modules/BulkUpdateRequests.d.ts +76 -0
  171. package/dist/lib/modules/BulkUpdateRequests.js +136 -0
  172. package/dist/lib/modules/CommentVotes.d.ts +30 -0
  173. package/dist/lib/modules/CommentVotes.js +56 -0
  174. package/dist/lib/modules/Comments.d.ts +112 -0
  175. package/dist/lib/modules/Comments.js +195 -0
  176. package/dist/lib/modules/DMails.d.ts +70 -0
  177. package/dist/lib/modules/DMails.js +134 -0
  178. package/dist/lib/modules/DText.d.ts +18 -0
  179. package/dist/lib/modules/DText.js +32 -0
  180. package/dist/lib/modules/EditHistories.d.ts +34 -0
  181. package/dist/lib/modules/EditHistories.js +56 -0
  182. package/dist/lib/modules/EmailBlacklists.d.ts +45 -0
  183. package/dist/lib/modules/EmailBlacklists.js +74 -0
  184. package/dist/lib/modules/Favorites.d.ts +38 -0
  185. package/dist/lib/modules/Favorites.js +73 -0
  186. package/dist/lib/modules/ForumPosts.d.ts +107 -0
  187. package/dist/lib/modules/ForumPosts.js +190 -0
  188. package/dist/lib/modules/ForumTopics.d.ts +125 -0
  189. package/dist/lib/modules/ForumTopics.js +237 -0
  190. package/dist/lib/modules/HelpPages.d.ts +67 -0
  191. package/dist/lib/modules/HelpPages.js +118 -0
  192. package/dist/lib/modules/IpBans.d.ts +47 -0
  193. package/dist/lib/modules/IpBans.js +76 -0
  194. package/dist/lib/modules/IqdbQueries.d.ts +36 -0
  195. package/dist/lib/modules/IqdbQueries.js +63 -0
  196. package/dist/lib/modules/Mascots.d.ts +60 -0
  197. package/dist/lib/modules/Mascots.js +98 -0
  198. package/dist/lib/modules/ModActions.d.ts +34 -0
  199. package/dist/lib/modules/ModActions.js +55 -0
  200. package/dist/lib/modules/NewsUpdates.d.ts +60 -0
  201. package/dist/lib/modules/NewsUpdates.js +98 -0
  202. package/dist/lib/modules/NoteVersions.d.ts +18 -0
  203. package/dist/lib/modules/NoteVersions.js +28 -0
  204. package/dist/lib/modules/Notes.d.ts +72 -0
  205. package/dist/lib/modules/Notes.js +133 -0
  206. package/dist/lib/modules/PoolVersions.d.ts +18 -0
  207. package/dist/lib/modules/PoolVersions.js +28 -0
  208. package/dist/lib/modules/Pools.d.ts +104 -0
  209. package/dist/lib/modules/Pools.js +197 -0
  210. package/dist/lib/modules/Popular.d.ts +18 -0
  211. package/dist/lib/modules/Popular.js +31 -0
  212. package/dist/lib/modules/PostApprovals.d.ts +42 -0
  213. package/dist/lib/modules/PostApprovals.js +77 -0
  214. package/dist/lib/modules/PostDisapprovals.d.ts +37 -0
  215. package/dist/lib/modules/PostDisapprovals.js +55 -0
  216. package/dist/lib/modules/PostEvents.d.ts +20 -0
  217. package/dist/lib/modules/PostEvents.js +30 -0
  218. package/dist/lib/modules/PostFlags.d.ts +53 -0
  219. package/dist/lib/modules/PostFlags.js +93 -0
  220. package/dist/lib/modules/PostReplacements.d.ts +94 -0
  221. package/dist/lib/modules/PostReplacements.js +167 -0
  222. package/dist/lib/modules/PostSets.d.ts +116 -0
  223. package/dist/lib/modules/PostSets.js +211 -0
  224. package/dist/lib/modules/PostVersions.d.ts +51 -0
  225. package/dist/lib/modules/PostVersions.js +94 -0
  226. package/dist/lib/modules/PostVotes.d.ts +28 -0
  227. package/dist/lib/modules/PostVotes.js +54 -0
  228. package/dist/lib/modules/Posts.d.ts +193 -0
  229. package/dist/lib/modules/Posts.js +395 -0
  230. package/dist/lib/modules/RelatedTags.d.ts +19 -0
  231. package/dist/lib/modules/RelatedTags.js +29 -0
  232. package/dist/lib/modules/StaffNotes.d.ts +80 -0
  233. package/dist/lib/modules/StaffNotes.js +140 -0
  234. package/dist/lib/modules/TagAliases.d.ts +80 -0
  235. package/dist/lib/modules/TagAliases.js +140 -0
  236. package/dist/lib/modules/TagCorrections.d.ts +25 -0
  237. package/dist/lib/modules/TagCorrections.js +52 -0
  238. package/dist/lib/modules/TagImplications.d.ts +80 -0
  239. package/dist/lib/modules/TagImplications.js +140 -0
  240. package/dist/lib/modules/TagTypeVersions.d.ts +18 -0
  241. package/dist/lib/modules/TagTypeVersions.js +28 -0
  242. package/dist/lib/modules/Tags.d.ts +64 -0
  243. package/dist/lib/modules/Tags.js +116 -0
  244. package/dist/lib/modules/Takedowns.d.ts +114 -0
  245. package/dist/lib/modules/Takedowns.js +211 -0
  246. package/dist/lib/modules/Tickets.d.ts +71 -0
  247. package/dist/lib/modules/Tickets.js +123 -0
  248. package/dist/lib/modules/UploadWhitelists.d.ts +68 -0
  249. package/dist/lib/modules/UploadWhitelists.js +117 -0
  250. package/dist/lib/modules/Uploads.d.ts +42 -0
  251. package/dist/lib/modules/Uploads.js +78 -0
  252. package/dist/lib/modules/UserFeedbacks.d.ts +94 -0
  253. package/dist/lib/modules/UserFeedbacks.js +165 -0
  254. package/dist/lib/modules/UserNameChangeRequests.d.ts +59 -0
  255. package/dist/lib/modules/UserNameChangeRequests.js +99 -0
  256. package/dist/lib/modules/Users.d.ts +132 -0
  257. package/dist/lib/modules/Users.js +263 -0
  258. package/dist/lib/modules/WikiPageVersions.d.ts +26 -0
  259. package/dist/lib/modules/WikiPageVersions.js +47 -0
  260. package/dist/lib/modules/WikiPages.d.ts +76 -0
  261. package/dist/lib/modules/WikiPages.js +137 -0
  262. package/dist/lib/modules/admin/Users.d.ts +45 -0
  263. package/dist/lib/modules/admin/Users.js +77 -0
  264. package/dist/lib/modules/comments/Votes.d.ts +26 -0
  265. package/dist/lib/modules/comments/Votes.js +51 -0
  266. package/dist/lib/modules/forum_posts/Votes.d.ts +26 -0
  267. package/dist/lib/modules/forum_posts/Votes.js +51 -0
  268. package/dist/lib/modules/index.d.ts +172 -0
  269. package/dist/lib/modules/index.js +114 -0
  270. package/dist/lib/modules/posts/Flag.d.ts +16 -0
  271. package/dist/lib/modules/posts/Flag.js +31 -0
  272. package/dist/lib/modules/posts/Votes.d.ts +26 -0
  273. package/dist/lib/modules/posts/Votes.js +51 -0
  274. package/dist/lib/modules/users/DMails.d.ts +29 -0
  275. package/dist/lib/modules/users/DMails.js +55 -0
  276. package/dist/lib/util.d.ts +48 -0
  277. package/dist/lib/util.js +49 -0
  278. package/dist/package.json +73 -0
  279. package/package.json +46 -20
  280. package/tsconfig.json +54 -0
  281. package/.mocharc.json +0 -6
  282. package/.ncurc.json +0 -3
  283. package/.node-version +0 -1
  284. package/Features/Artists.md +0 -39
  285. package/Features/Blips.md +0 -33
  286. package/Features/E621SearchInconsistencies.md +0 -54
  287. package/Features/FuturePlans.md +0 -50
  288. package/Features/Notes.md +0 -34
  289. package/Features/Pools.md +0 -38
  290. package/Features/PostFlags.md +0 -31
  291. package/Features/PostSets.md +0 -36
  292. package/Features/Posts.md +0 -46
  293. package/Features/README.md +0 -15
  294. package/Features/Tags.md +0 -34
  295. package/Features/Takedowns.md +0 -32
  296. package/Features/UserFeedback.md +0 -32
  297. package/Features/Users.md +0 -36
  298. package/Features/WikiPages.md +0 -36
  299. package/build/package.json +0 -45
  300. package/build/src/index.d.ts +0 -68
  301. package/build/src/index.js +0 -194
  302. package/build/src/modules/Artists.d.ts +0 -128
  303. package/build/src/modules/Artists.js +0 -295
  304. package/build/src/modules/Blips.d.ts +0 -79
  305. package/build/src/modules/Blips.js +0 -157
  306. package/build/src/modules/Notes.d.ts +0 -88
  307. package/build/src/modules/Notes.js +0 -189
  308. package/build/src/modules/Pools.d.ts +0 -130
  309. package/build/src/modules/Pools.js +0 -261
  310. package/build/src/modules/PostFlags.d.ts +0 -55
  311. package/build/src/modules/PostFlags.js +0 -126
  312. package/build/src/modules/PostSets.d.ts +0 -102
  313. package/build/src/modules/PostSets.js +0 -208
  314. package/build/src/modules/Posts.d.ts +0 -154
  315. package/build/src/modules/Posts.js +0 -390
  316. package/build/src/modules/Tags.d.ts +0 -78
  317. package/build/src/modules/Tags.js +0 -174
  318. package/build/src/modules/Takedowns.d.ts +0 -81
  319. package/build/src/modules/Takedowns.js +0 -195
  320. package/build/src/modules/UserFeedback.d.ts +0 -66
  321. package/build/src/modules/UserFeedback.js +0 -136
  322. package/build/src/modules/Users.d.ts +0 -117
  323. package/build/src/modules/Users.js +0 -261
  324. package/build/src/modules/WikiPages.d.ts +0 -107
  325. package/build/src/modules/WikiPages.js +0 -220
  326. package/build/src/structures/Artist.d.ts +0 -36
  327. package/build/src/structures/Artist.js +0 -51
  328. package/build/src/structures/ArtistHistory.d.ts +0 -39
  329. package/build/src/structures/ArtistHistory.js +0 -50
  330. package/build/src/structures/AuthenticatedUser.d.ts +0 -109
  331. package/build/src/structures/AuthenticatedUser.js +0 -128
  332. package/build/src/structures/Blip.d.ts +0 -66
  333. package/build/src/structures/Blip.js +0 -85
  334. package/build/src/structures/Note.d.ts +0 -32
  335. package/build/src/structures/Note.js +0 -41
  336. package/build/src/structures/NoteHistory.d.ts +0 -38
  337. package/build/src/structures/NoteHistory.js +0 -47
  338. package/build/src/structures/Pool.d.ts +0 -85
  339. package/build/src/structures/Pool.js +0 -112
  340. package/build/src/structures/PoolHistory.d.ts +0 -43
  341. package/build/src/structures/PoolHistory.js +0 -54
  342. package/build/src/structures/Post.d.ts +0 -157
  343. package/build/src/structures/Post.js +0 -170
  344. package/build/src/structures/PostApproval.d.ts +0 -25
  345. package/build/src/structures/PostApproval.js +0 -33
  346. package/build/src/structures/PostFlag.d.ts +0 -38
  347. package/build/src/structures/PostFlag.js +0 -47
  348. package/build/src/structures/PostHistory.d.ts +0 -52
  349. package/build/src/structures/PostHistory.js +0 -93
  350. package/build/src/structures/PostSet.d.ts +0 -71
  351. package/build/src/structures/PostSet.js +0 -93
  352. package/build/src/structures/Tag.d.ts +0 -61
  353. package/build/src/structures/Tag.js +0 -87
  354. package/build/src/structures/TagHistory.d.ts +0 -28
  355. package/build/src/structures/TagHistory.js +0 -36
  356. package/build/src/structures/Takedown.d.ts +0 -49
  357. package/build/src/structures/Takedown.js +0 -64
  358. package/build/src/structures/User.d.ts +0 -62
  359. package/build/src/structures/User.js +0 -80
  360. package/build/src/structures/WikiPage.d.ts +0 -17
  361. package/build/src/structures/WikiPage.js +0 -27
  362. package/build/src/structures/WikiPageHistory.d.ts +0 -38
  363. package/build/src/structures/WikiPageHistory.js +0 -49
  364. package/build/src/types/artists.d.ts +0 -82
  365. package/build/src/types/blips.d.ts +0 -37
  366. package/build/src/types/index.d.ts +0 -96
  367. package/build/src/types/notes.d.ts +0 -64
  368. package/build/src/types/pools.d.ts +0 -62
  369. package/build/src/types/post_flags.d.ts +0 -36
  370. package/build/src/types/post_sets.d.ts +0 -33
  371. package/build/src/types/posts.d.ts +0 -181
  372. package/build/src/types/tags.d.ts +0 -56
  373. package/build/src/types/takedowns.d.ts +0 -62
  374. package/build/src/types/user_feedback.d.ts +0 -27
  375. package/build/src/types/users.d.ts +0 -277
  376. package/build/src/types/wiki_pages.d.ts +0 -66
  377. package/build/src/util/Debug.d.ts +0 -1
  378. package/build/src/util/Debug.js +0 -16
  379. package/build/src/util/FormHelper.d.ts +0 -9
  380. package/build/src/util/FormHelper.js +0 -15
  381. package/build/src/util/MultipartData.d.ts +0 -7
  382. package/build/src/util/MultipartData.js +0 -39
  383. package/build/src/util/RequestHandler.d.ts +0 -38
  384. package/build/src/util/RequestHandler.js +0 -343
  385. package/build/src/util/Timer.d.ts +0 -6
  386. package/build/src/util/Timer.js +0 -71
@@ -1,136 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const FormHelper_1 = __importDefault(require("../util/FormHelper"));
7
- const RequestHandler_1 = require("../util/RequestHandler");
8
- class UserFeedback {
9
- auth;
10
- main;
11
- constructor(main) {
12
- Object.defineProperties(this, {
13
- auth: {
14
- get() {
15
- return !this.main.options.authUser || !this.main.options.authKey ? null : `Basic ${Buffer.from(`${this.main.options.authUser}:${this.main.options.authKey}`).toString("base64")}`;
16
- },
17
- configurable: false,
18
- enumerable: false
19
- },
20
- main: {
21
- value: main,
22
- configurable: false,
23
- enumerable: false,
24
- writable: false
25
- }
26
- });
27
- }
28
- /**
29
- * Get a specific user feedback
30
- *
31
- * @param {number} id - The id of the feedback to fetch
32
- * @returns {Promise<(UserFeedbackProperties | null)>}
33
- */
34
- async get(id) {
35
- const res = await this.main.request.get(`/user_feedbacks/${id}.json`).catch(err => {
36
- if (err instanceof RequestHandler_1.APIError && err.statusCode === 404)
37
- return null;
38
- throw err;
39
- });
40
- return res;
41
- }
42
- /**
43
- * Search for user feedback
44
- *
45
- * @param {object} [options]
46
- * @param {string} [options.username] - narrow the search by a specific target
47
- * @param {string} [options.creator] - narrow the search by a specific creator
48
- * @param {string} [options.body] - narrow the search by the content of the feedback
49
- * @param {FeedbackCategories} [options.category] - narrow the search by the type
50
- * @param {(number |`${"" | "a" | "b"}${number}`)} [page] - page of results to get
51
- * @param {number} [options.limit] - limit the maximum returned results
52
- * @returns {Promise<Array<UserFeedbackProperties>>}
53
- */
54
- async search(options) {
55
- options = options ?? {};
56
- const qs = new FormHelper_1.default();
57
- if (typeof options.username === "string")
58
- qs.add("search[user_name]", options.username);
59
- if (typeof options.creator === "string")
60
- qs.add("search[creator_name]", options.creator);
61
- if (typeof options.body === "string")
62
- qs.add("search[body_matches]", options.body);
63
- if (typeof options.category === "string")
64
- qs.add("search[category]", options.category);
65
- if (typeof options.page !== "undefined")
66
- qs.add("page", options.page);
67
- if (typeof options.limit === "number")
68
- qs.add("limit", options.limit);
69
- const res = await this.main.request.get(`/user_feedbacks.json?${qs.build()}`);
70
- if (res && !Array.isArray(res) && "user_feedbacks" in res)
71
- return [];
72
- return res;
73
- }
74
- /**
75
- * Add feedback to a user
76
- *
77
- * * Requires Authentication
78
- *
79
- * * Requires Moderator
80
- *
81
- * @param {object} options
82
- * @param {string} options.username - the user the feedback is for
83
- * @param {FeedbackCategories} options.category - the type of feedback
84
- * @param {string} options.body - the content of the feedback
85
- * @returns {Promise<UserFeedbackProperties>}
86
- */
87
- async create(options) {
88
- this.main.request.authCheck.call(this, "UserFeedback#create");
89
- const qs = new FormHelper_1.default()
90
- .add("user_feedback[user_name]", options.username)
91
- .add("user_feedback[category]", options.category)
92
- .add("user_feedback[body]", options.body);
93
- const res = await this.main.request.post("/user_feedbacks.json", qs.build());
94
- return res;
95
- }
96
- /**
97
- * Modify an existing user feedback
98
- *
99
- * * Requires Authentication
100
- *
101
- * * Requires Moderator
102
- *
103
- * @param {number} id - the id of the feedback to edit
104
- * @param {object} options
105
- * @param {string} [options.body] - the content of the feedback
106
- * @param {FeedbackCategories} [options.category] - the type of feedback
107
- * @returns {Promise<UserFeedbackProperties>}
108
- */
109
- async modify(id, options) {
110
- this.main.request.authCheck.call(this, "UserFeedback#modify");
111
- const qs = new FormHelper_1.default();
112
- if (options.body)
113
- qs.add("user_feedback[body]", options.body);
114
- if (options.category)
115
- qs.add("user_feedback[category]", options.category);
116
- const res = await this.main.request.patch(`/user_feedbacks/${id}.json`, qs.build());
117
- return res;
118
- }
119
- /**
120
- * Delete an existing user feedback
121
- *
122
- * * Requires Authentication
123
- *
124
- * * Requires Moderator
125
- *
126
- * @param {number} id - the id of the feedback to delete
127
- * @returns {Promise<null>}
128
- */
129
- async delete(id) {
130
- this.main.request.authCheck.call(this, "UserFeedback#delete");
131
- const res = await this.main.request.delete(`/user_feedbacks/${id}.json`);
132
- return res;
133
- }
134
- }
135
- exports.default = UserFeedback;
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlckZlZWRiYWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvVXNlckZlZWRiYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBUUEsb0VBQTRDO0FBQzVDLDJEQUFrRDtBQUVsRCxNQUFxQixZQUFZO0lBQ2YsSUFBSSxDQUFnQjtJQUNwQixJQUFJLENBQU87SUFDNUIsWUFBWSxJQUFVO1FBQ3JCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7WUFDN0IsSUFBSSxFQUFFO2dCQUNMLEdBQUc7b0JBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDbkwsQ0FBQztnQkFDRCxZQUFZLEVBQUUsS0FBSztnQkFDbkIsVUFBVSxFQUFJLEtBQUs7YUFDbkI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0wsS0FBSyxFQUFTLElBQUk7Z0JBQ2xCLFlBQVksRUFBRSxLQUFLO2dCQUNuQixVQUFVLEVBQUksS0FBSztnQkFDbkIsUUFBUSxFQUFNLEtBQUs7YUFDbkI7U0FDRCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQVU7UUFDbkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQXlCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFD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
@@ -1,117 +0,0 @@
1
- import type E621 from "..";
2
- import AuthenticatedUser from "../structures/AuthenticatedUser";
3
- import Post from "../structures/Post";
4
- import User from "../structures/User";
5
- import type { UploadLimit, SearchUsersOptions, EditSelfUserOptions } from "../types";
6
- export default class Users {
7
- private readonly auth;
8
- private readonly main;
9
- constructor(main: E621);
10
- /**
11
- * Get a user by their id or username
12
- *
13
- * Use `getSelf` to get the currently authenticated user
14
- *
15
- * @param {(number | string)} idOrname - The id or username of the user to get
16
- * @returns {Promise<(User | null)>}
17
- */
18
- get(idOrName: number | string): Promise<User | null>;
19
- /**
20
- * Get a user by their name
21
- *
22
- * @param {string} name - The name of the user to get
23
- * @returns {Promise<(User | null)>}
24
- */
25
- getByName(name: string): Promise<User | null>;
26
- /**
27
- * Search for users
28
- *
29
- * @param {object} [options]
30
- * @param {string} [options.name] - narrow the search by usernames
31
- * @param {string} [options.email] - narrow the search by email (requires admin)
32
- * @param {number} [options.level] - narrow the search by user level
33
- * @param {number} [options.min_level] - narrow the search by minimum user level
34
- * @param {number} [options.max_level] - narrow the search by maximum user level
35
- * @param {boolean} [options.unrestricted_uploads] - narrow the search by unrestricted uploaders
36
- * @param {boolean} [options.approver] - narrow the search by approvers
37
- * @param {SearchUsersOrder} [options.order] - order the search results
38
- * @param {(number |`${"" | "a" | "b"}${number}`)} - page to get
39
- * @param {number} [options.limit] - limit the maximum amount of results returned
40
- * @returns {Promise<Array<User>>}
41
- */
42
- search(options?: SearchUsersOptions): Promise<User[]>;
43
- /**
44
- * Get the currently authenticated user
45
- *
46
- * * Authentication Required
47
- *
48
- * @returns {Promise<AuthenticatedUser>}
49
- */
50
- getSelf(): Promise<AuthenticatedUser>;
51
- /**
52
- * Edit the authenticated user
53
- *
54
- * * Requires Authentication
55
- *
56
- * @param {object} options
57
- * @param {(number | null)} [options.avatar_id] - post id to use as avatar
58
- * @param {string} [options.about] - about section
59
- * @param {string} [options.artinfo] - commissions section
60
- * @param {Timezones} [options.timezone] - timezone
61
- * @param {boolean} [options.receive_email_notifications] - if you should receive notifications via email
62
- * @param {number} [options.comment_threshold] - the threshold at which comments should be hidden (usually negative)
63
- * @param {DefaultImageSize} [options.default_image_size] - default image display size
64
- * @param {number} [options.posts_per_page] - default posts per page, between 25 and 250
65
- * @param {boolean} [options.safe_mode] - toggle safe mode
66
- * @param {(Array<string> | string)} [options.blacklisted_tags] - the list of tags to hide in searches
67
- * @param {boolean} [options.blacklist_users] - hide things from users that have been blocked from the site
68
- * @param {boolean} [options.colored_usernames] - Color each user's name depending on their level. See the [legend](https://e621.net/wiki_pages/e621:colored_usernames) for what the colors are.
69
- * @param {boolean} [options.enable_keyboard_shortcuts] - Enables the use of keyboard shortcuts for a majority of site actions related to posts. A list of keyboard shortcuts is available [here](https://e621.net/static/keyboard_shortcuts).
70
- * @param {boolean} [options.enable_auto_complete] - Enables auto-completion on most tag and user entry fields.
71
- * @param {boolean} [options.enable_privacy_mode] - Makes a cursory effort to prevent showing your favorites to others users. Has not been well tested.
72
- * @param {boolean} [options.enable_post_statistics] - Show post statistics below posts on search pages.
73
- * @param {boolean} [options.description_collapsed] - Don't expand post descriptions on page load.
74
- * @param {boolean} [options.hide_comments] - Do not show the comments section on post pages.
75
- * @param {boolean} [options.disable_cropped_thumbnails] - Prevent other users from sending you DMails. You will be prevented from sending DMails to non-staff members while this option is enabled. Staff are always allowed to send you DMails.
76
- * @param {boolean} [options.show_own_hidden_comments] - Disables displaying cropped thumbnails on the mobile layout of the site in favor of scaled thumbnails. Has no effect on the desktop site.
77
- * @param {boolean} [options.enable_compact_uploader] - Show your own hidden comments on comment pages.
78
- * @param {string} [options.dmail_filter] - A list of banned words (space delimited). Any dmail you receive with a banned word will automatically be deleted.
79
- * @param {string} [options.frequent_tags] - A list of tags that you use often. They will appear when using the list of Related Tags.
80
- * @param {boolean} [options.disable_responsive_mode] - Disable alternative layout for mobile and tablet.
81
- * @param {string} [options.custom_css_style] - Style to apply to the whole site.
82
- * @returns {Promise<null>}
83
- */
84
- editSelf(options: EditSelfUserOptions): Promise<null>;
85
- /**
86
- * Get the authenticated user's /users/upload_limit (best way I can find to find out who you are)
87
- *
88
- * * Authentication Required
89
- *
90
- * @returns {Promise<UploadLimit>}
91
- */
92
- getUploadLimit(): Promise<UploadLimit>;
93
- /**
94
- * Get the favorites of a user
95
- *
96
- * @param {number} [id] - the id of the user to get favorites for, or none to get the authenticated user, if provided
97
- */
98
- getFavorites(id?: number): Promise<Post[]>;
99
- /**
100
- * Add a favorite
101
- *
102
- * * Requires Authentication
103
- *
104
- * @param {number} id - the id of the post to favorite
105
- * @returns {Promise<Post>}
106
- */
107
- addFavorite(id: number): Promise<Post>;
108
- /**
109
- * Remove a favorite
110
- *
111
- * * Requires Authentication
112
- *
113
- * @param {number} id - the id of the post to unfavorite
114
- * @returns {Promise<null>}
115
- */
116
- removeFavorite(id: number): Promise<null>;
117
- }
@@ -1,261 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const AuthenticatedUser_1 = __importDefault(require("../structures/AuthenticatedUser"));
7
- const Post_1 = __importDefault(require("../structures/Post"));
8
- const User_1 = __importDefault(require("../structures/User"));
9
- const FormHelper_1 = __importDefault(require("../util/FormHelper"));
10
- const RequestHandler_1 = require("../util/RequestHandler");
11
- class Users {
12
- auth;
13
- main;
14
- constructor(main) {
15
- Object.defineProperties(this, {
16
- auth: {
17
- get() {
18
- return !this.main.options.authUser || !this.main.options.authKey ? null : `Basic ${Buffer.from(`${this.main.options.authUser}:${this.main.options.authKey}`).toString("base64")}`;
19
- },
20
- configurable: false,
21
- enumerable: false
22
- },
23
- main: {
24
- value: main,
25
- configurable: false,
26
- enumerable: false,
27
- writable: false
28
- }
29
- });
30
- }
31
- /**
32
- * Get a user by their id or username
33
- *
34
- * Use `getSelf` to get the currently authenticated user
35
- *
36
- * @param {(number | string)} idOrname - The id or username of the user to get
37
- * @returns {Promise<(User | null)>}
38
- */
39
- async get(idOrName) {
40
- const res = await this.main.request.get(`/users/${idOrName}.json`).catch(err => {
41
- if (err instanceof RequestHandler_1.APIError && err.statusCode === 404)
42
- return null;
43
- throw err;
44
- });
45
- return res === null ? null : new User_1.default(this.main, res);
46
- }
47
- /**
48
- * Get a user by their name
49
- *
50
- * @param {string} name - The name of the user to get
51
- * @returns {Promise<(User | null)>}
52
- */
53
- async getByName(name) {
54
- return this.search({
55
- name,
56
- limit: 1
57
- }).then(r => r.length === 0 ? null : r[0]);
58
- }
59
- /**
60
- * Search for users
61
- *
62
- * @param {object} [options]
63
- * @param {string} [options.name] - narrow the search by usernames
64
- * @param {string} [options.email] - narrow the search by email (requires admin)
65
- * @param {number} [options.level] - narrow the search by user level
66
- * @param {number} [options.min_level] - narrow the search by minimum user level
67
- * @param {number} [options.max_level] - narrow the search by maximum user level
68
- * @param {boolean} [options.unrestricted_uploads] - narrow the search by unrestricted uploaders
69
- * @param {boolean} [options.approver] - narrow the search by approvers
70
- * @param {SearchUsersOrder} [options.order] - order the search results
71
- * @param {(number |`${"" | "a" | "b"}${number}`)} - page to get
72
- * @param {number} [options.limit] - limit the maximum amount of results returned
73
- * @returns {Promise<Array<User>>}
74
- */
75
- async search(options) {
76
- options = options ?? {};
77
- const qs = new FormHelper_1.default();
78
- if (typeof options.name === "string")
79
- qs.add("search[name_matches]", options.name);
80
- if (typeof options.email === "string")
81
- qs.add("search[email_matches]", options.email);
82
- if (typeof options.level === "number")
83
- qs.add("search[level]", options.level);
84
- if (typeof options.min_level === "number")
85
- qs.add("search[min_level]", options.min_level);
86
- if (typeof options.max_level === "number")
87
- qs.add("search[max_level]", options.max_level);
88
- if (typeof options.unrestricted_uploads === "boolean")
89
- qs.add("search[can_upload_free]", options.unrestricted_uploads);
90
- if (typeof options.approver === "boolean")
91
- qs.add("search[can_approve_posts]", options.approver);
92
- if (typeof options.order === "string")
93
- qs.add("search[order]", options.order);
94
- if (typeof options.page !== "undefined")
95
- qs.add("page", options.page);
96
- if (typeof options.limit === "number")
97
- qs.add("limit", options.limit);
98
- const res = await this.main.request.get(`/users.json?${qs.build()}`);
99
- return res.map(info => new User_1.default(this.main, info));
100
- }
101
- /**
102
- * Get the currently authenticated user
103
- *
104
- * * Authentication Required
105
- *
106
- * @returns {Promise<AuthenticatedUser>}
107
- */
108
- async getSelf() {
109
- this.main.request.authCheck.call(this, "Users#getSelf");
110
- const { id } = await this.getUploadLimit();
111
- const res = await this.main.request.get(`/users/${id}.json`);
112
- return new AuthenticatedUser_1.default(this.main, res);
113
- }
114
- /**
115
- * Edit the authenticated user
116
- *
117
- * * Requires Authentication
118
- *
119
- * @param {object} options
120
- * @param {(number | null)} [options.avatar_id] - post id to use as avatar
121
- * @param {string} [options.about] - about section
122
- * @param {string} [options.artinfo] - commissions section
123
- * @param {Timezones} [options.timezone] - timezone
124
- * @param {boolean} [options.receive_email_notifications] - if you should receive notifications via email
125
- * @param {number} [options.comment_threshold] - the threshold at which comments should be hidden (usually negative)
126
- * @param {DefaultImageSize} [options.default_image_size] - default image display size
127
- * @param {number} [options.posts_per_page] - default posts per page, between 25 and 250
128
- * @param {boolean} [options.safe_mode] - toggle safe mode
129
- * @param {(Array<string> | string)} [options.blacklisted_tags] - the list of tags to hide in searches
130
- * @param {boolean} [options.blacklist_users] - hide things from users that have been blocked from the site
131
- * @param {boolean} [options.colored_usernames] - Color each user's name depending on their level. See the [legend](https://e621.net/wiki_pages/e621:colored_usernames) for what the colors are.
132
- * @param {boolean} [options.enable_keyboard_shortcuts] - Enables the use of keyboard shortcuts for a majority of site actions related to posts. A list of keyboard shortcuts is available [here](https://e621.net/static/keyboard_shortcuts).
133
- * @param {boolean} [options.enable_auto_complete] - Enables auto-completion on most tag and user entry fields.
134
- * @param {boolean} [options.enable_privacy_mode] - Makes a cursory effort to prevent showing your favorites to others users. Has not been well tested.
135
- * @param {boolean} [options.enable_post_statistics] - Show post statistics below posts on search pages.
136
- * @param {boolean} [options.description_collapsed] - Don't expand post descriptions on page load.
137
- * @param {boolean} [options.hide_comments] - Do not show the comments section on post pages.
138
- * @param {boolean} [options.disable_cropped_thumbnails] - Prevent other users from sending you DMails. You will be prevented from sending DMails to non-staff members while this option is enabled. Staff are always allowed to send you DMails.
139
- * @param {boolean} [options.show_own_hidden_comments] - Disables displaying cropped thumbnails on the mobile layout of the site in favor of scaled thumbnails. Has no effect on the desktop site.
140
- * @param {boolean} [options.enable_compact_uploader] - Show your own hidden comments on comment pages.
141
- * @param {string} [options.dmail_filter] - A list of banned words (space delimited). Any dmail you receive with a banned word will automatically be deleted.
142
- * @param {string} [options.frequent_tags] - A list of tags that you use often. They will appear when using the list of Related Tags.
143
- * @param {boolean} [options.disable_responsive_mode] - Disable alternative layout for mobile and tablet.
144
- * @param {string} [options.custom_css_style] - Style to apply to the whole site.
145
- * @returns {Promise<null>}
146
- */
147
- async editSelf(options) {
148
- this.main.request.authCheck.call(this, "Users#editSelf");
149
- if (!options)
150
- throw new Error("options is required for Users#editSelf");
151
- const qs = new FormHelper_1.default();
152
- if (options.avatar_id === null || typeof options.avatar_id === "string")
153
- qs.add("user[avatar_id]", options.avatar_id || "");
154
- if (typeof options.about === "string")
155
- qs.add("user[profile_about]", options.about);
156
- if (typeof options.artinfo === "string")
157
- qs.add("user[profile_artinfo]", options.artinfo);
158
- if (typeof options.timezone === "string")
159
- qs.add("user[time_zone]", options.timezone);
160
- if (typeof options.receive_email_notifications === "boolean")
161
- qs.add("user[receive_email_notifications]", options.receive_email_notifications);
162
- if (typeof options.comment_threshold === "number")
163
- qs.add("user[comment_threshold]", options.comment_threshold);
164
- if (typeof options.default_image_size === "number" && options.default_image_size >= 25 && options.default_image_size <= 250)
165
- qs.add("user[default_image_size]", options.default_image_size);
166
- if (typeof options.posts_per_page === "number")
167
- qs.add("user[per_page]", options.posts_per_page);
168
- if (typeof options.safe_mode === "boolean")
169
- qs.add("user[enable_safe_mode]", options.safe_mode);
170
- if (typeof options.blacklisted_tags === "string" || Array.isArray(options.blacklisted_tags))
171
- qs.add("user[blacklisted_tags]", Array.isArray(options.blacklisted_tags) ? options.blacklisted_tags.join("\n") : options.blacklisted_tags);
172
- if (typeof options.blacklist_users === "boolean")
173
- qs.add("user[blacklist_users]", options.blacklist_users);
174
- // Advanced
175
- if (typeof options.colored_usernames === "boolean")
176
- qs.add("user[style_usernames]", options.colored_usernames);
177
- if (typeof options.enable_keyboard_shortcuts === "boolean")
178
- qs.add("user[enable_keyboard_navigation]", options.enable_keyboard_shortcuts);
179
- if (typeof options.enable_auto_complete === "boolean")
180
- qs.add("user[enable_auto_complete]", options.enable_auto_complete);
181
- if (typeof options.enable_privacy_mode === "boolean")
182
- qs.add("user[enable_privacy_mode]", options.enable_privacy_mode);
183
- if (typeof options.enable_post_statistics === "boolean")
184
- qs.add("user[show_post_statistics]", options.enable_post_statistics);
185
- if (typeof options.description_collapsed === "boolean")
186
- qs.add("user[description_collapsed_initially]", options.description_collapsed);
187
- if (typeof options.hide_comments === "boolean")
188
- qs.add("user[hide_comments]", options.hide_comments);
189
- if (typeof options.disable_cropped_thumbnails === "boolean")
190
- qs.add("user[disable_cropped_thumbnails]", options.disable_cropped_thumbnails);
191
- if (typeof options.show_own_hidden_comments === "boolean")
192
- qs.add("user[show_hidden_comments]", options.show_own_hidden_comments);
193
- if (typeof options.enable_compact_uploader === "boolean")
194
- qs.add("user[enable_compact_uploader]", options.enable_compact_uploader);
195
- if (typeof options.dmail_filter === "string")
196
- qs.add("user[dmail_filter_attributes][words]", options.dmail_filter);
197
- if (typeof options.frequent_tags === "string")
198
- qs.add("user[favorite_tags]", options.frequent_tags);
199
- if (typeof options.disable_responsive_mode === "boolean")
200
- qs.add("user[disable_responsive_mode]", options.disable_responsive_mode);
201
- if (typeof options.custom_css_style === "string")
202
- qs.add("user[custom_style]", options.custom_css_style);
203
- // any id goes to to the current user
204
- const res = await this.main.request.patch("/users/0.json", qs.build());
205
- return res;
206
- }
207
- /**
208
- * Get the authenticated user's /users/upload_limit (best way I can find to find out who you are)
209
- *
210
- * * Authentication Required
211
- *
212
- * @returns {Promise<UploadLimit>}
213
- */
214
- async getUploadLimit() {
215
- this.main.request.authCheck.call(this, "Users#getUploadLimit");
216
- const res = await this.main.request.get("/users/upload_limit.json");
217
- return res;
218
- }
219
- /**
220
- * Get the favorites of a user
221
- *
222
- * @param {number} [id] - the id of the user to get favorites for, or none to get the authenticated user, if provided
223
- */
224
- async getFavorites(id) {
225
- if (!id) {
226
- const auth = this.main.request.authCheck.call(this, "Users#getFavorites", false);
227
- if (!auth)
228
- throw new Error("calling Users#getFavorites without an id requires authentication");
229
- }
230
- const res = await this.main.request.get(`/favorites.json${!id ? "" : `?user_id=${id}`}`);
231
- return res.posts.map(info => new Post_1.default(this.main, info));
232
- }
233
- /**
234
- * Add a favorite
235
- *
236
- * * Requires Authentication
237
- *
238
- * @param {number} id - the id of the post to favorite
239
- * @returns {Promise<Post>}
240
- */
241
- async addFavorite(id) {
242
- this.main.request.authCheck.call(this, "Users#addFavorite");
243
- const qs = new FormHelper_1.default().add("post_id", id);
244
- const res = await this.main.request.post("/favorites.json", qs.build());
245
- return new Post_1.default(this.main, res.post);
246
- }
247
- /**
248
- * Remove a favorite
249
- *
250
- * * Requires Authentication
251
- *
252
- * @param {number} id - the id of the post to unfavorite
253
- * @returns {Promise<null>}
254
- */
255
- async removeFavorite(id) {
256
- this.main.request.authCheck.call(this, "Users#removeFavorite");
257
- return this.main.request.delete(`/favorites/${id}.json`);
258
- }
259
- }
260
- exports.default = Users;
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9Vc2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHdGQUFnRTtBQUNoRSw4REFBc0M7QUFDdEMsOERBQXNDO0FBWXRDLG9FQUE0QztBQUM1QywyREFBa0Q7QUFFbEQsTUFBcUIsS0FBSztJQUNSLElBQUksQ0FBZ0I7SUFDcEIsSUFBSSxDQUFPO0lBQzVCLFlBQVksSUFBVTtRQUNyQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1lBQzdCLElBQUksRUFBRTtnQkFDTCxHQUFHO29CQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ25MLENBQUM7Z0JBQ0QsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLFVBQVUsRUFBSSxLQUFLO2FBQ25CO1lBQ0QsSUFBSSxFQUFFO2dCQUNMLEtBQUssRUFBUyxJQUFJO2dCQUNsQixZQUFZLEVBQUUsS0FBSztnQkFDbkIsVUFBVSxFQUFJLEtBQUs7Z0JBQ25CLFFBQVEsRUFBTSxLQUFLO2FBQ25CO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQXlCO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFp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
@@ -1,107 +0,0 @@
1
- import type E621 from "..";
2
- import WikiPage from "../structures/WikiPage";
3
- import type { SearchWikiPagesOptions, CreateWikiPageOptions, ModifyWikiPageOptions, SearchWikiPageHistoryOptions } from "../types";
4
- import WikiPageHistory from "../structures/WikiPageHistory";
5
- export default class WikiPages {
6
- private readonly auth;
7
- private readonly main;
8
- constructor(main: E621);
9
- /**
10
- * Get a wiki page by its id
11
- *
12
- * @param {number} id - The id of the wiki page to get
13
- * @returns {Promise<(WikiPage | null)>}
14
- */
15
- get(id: number): Promise<WikiPage | null>;
16
- /**
17
- * Get a wiki page by its title
18
- *
19
- * @param {string} title - The title of the wiki page to get
20
- * @returns {Promise<(WikiPage | null)>}
21
- */
22
- getByTitle(title: string): Promise<WikiPage | null>;
23
- /**
24
- * Search for wiki pages
25
- *
26
- * @param {object} [options]
27
- * @param {string} [options.title] - narrow the results by the title of the wiki page
28
- * @param {string} [options.creator] - narrow the results by the (name of the) creator of the wiki page
29
- * @param {string} [options.body] - narrow the results by the content of the wiki page
30
- * @param {string} [options.otherNames] - narrow the results by the other names of the wiki page
31
- * @param {boolean} [options.hasOtherNames] - narrow the results by the wiki page having other names
32
- * @param {boolean} [options.hideDeleted] - narrow the results by the wiki page being deleted or not
33
- * @param {SearchWikiPagesOrder} [options.order] - the order of the results
34
- * @param {(number |`${"" | "a" | "b"}${number}`)} [options.page] - page of results to get
35
- * @param {number} [options.limit] - limit the maximum amount of results returned
36
- * @returns {Promise<Array<WikiPage>>}
37
- */
38
- search(options?: SearchWikiPagesOptions): Promise<WikiPage[]>;
39
- /**
40
- * Create a wiki page
41
- *
42
- * * Requires Authentication
43
- *
44
- * @param {object} options
45
- * @param {string} options.title - the name of the wiki page
46
- * @param {string} options.body - the content of the wiki page
47
- * @param {boolean} [options.locked] - if the wiki page should be locked (requires janitor)
48
- * @param {boolean} [options.forceOverwrite] - if existing pages should be overwritten (requires janitor)
49
- * @param {string} [options.reason] - the reson for creating the page
50
- * @returns {Promise<WikiPage>}
51
- */
52
- create(options: CreateWikiPageOptions): Promise<WikiPage>;
53
- /**
54
- * modify a wiki page
55
- *
56
- * * Requires Authentication
57
- *
58
- * @param {number} id - the id of the wiki page to edit
59
- * @param {object} options
60
- * @param {string} [options.name] - the name of the wiki page (requires janitor)
61
- * @param {string} [options.body] - the content of the wiki page
62
- * @param {boolean} [options.locked] - if the wiki page is locked (requires janitor)
63
- * @param {boolean} [options.forceOverwrite] - if existing pages should be overwritten (title change, requires janitor)
64
- * @param {string} [options.reason] - the reason for the edit
65
- * @returns {Promise<WikiPage>}
66
- */
67
- modify(id: number, options: ModifyWikiPageOptions): Promise<WikiPage>;
68
- /**
69
- * Delete a wiki page
70
- *
71
- * * Requires Authentication
72
- *
73
- * * Requires Janitor
74
- *
75
- * @param {number} id - the id of the wiki page to delete
76
- * @returns {Promise<null>}
77
- */
78
- delete(id: number): Promise<null>;
79
- /**
80
- * Revert a wiki page to a previous version
81
- *
82
- * * Requires Authentication
83
- *
84
- * @param {number} id - the id of the wiki page to revert
85
- * @param {number} versionID - the version id to revert to (see history)
86
- */
87
- revert(id: number, versionID: number): Promise<null>;
88
- /**
89
- * Get a specific wiki page history
90
- *
91
- * @param {number} id - the id of the history to get
92
- * @returns {Promise<WikiPageHistory | null>}
93
- */
94
- getHistory(id: number): Promise<WikiPageHistory | null>;
95
- /**
96
- * Search the wiki page history
97
- *
98
- * @param {object} [options]
99
- * @param {number} [options.id] - get a specific wiki page history entry
100
- * @param {number} [options.wikiPage] - narrow the results by the wiki page id
101
- * @param {(number |`${"" | "a" | "b"}${number}`)} [options.page] - page of results to get
102
- * @param {number} [options.limit] - limit the maximum amount of results returned
103
- * @param
104
- * @returns {Promise<Array<WikiPageHistory>>}
105
- */
106
- searchHistory(options?: SearchWikiPageHistoryOptions): Promise<WikiPageHistory[]>;
107
- }