2
1

blocklist.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
  2. import { makeGetRequest, makeDeleteRequest, makePostBodyRequest } from '../requests/requests'
  3. import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
  4. function getAccountBlocklistByAccount (
  5. url: string,
  6. token: string,
  7. start: number,
  8. count: number,
  9. sort = '-createdAt',
  10. statusCodeExpected = HttpStatusCode.OK_200
  11. ) {
  12. const path = '/api/v1/users/me/blocklist/accounts'
  13. return makeGetRequest({
  14. url,
  15. token,
  16. query: { start, count, sort },
  17. path,
  18. statusCodeExpected
  19. })
  20. }
  21. function addAccountToAccountBlocklist (
  22. url: string,
  23. token: string,
  24. accountToBlock: string,
  25. statusCodeExpected = HttpStatusCode.NO_CONTENT_204
  26. ) {
  27. const path = '/api/v1/users/me/blocklist/accounts'
  28. return makePostBodyRequest({
  29. url,
  30. path,
  31. token,
  32. fields: {
  33. accountName: accountToBlock
  34. },
  35. statusCodeExpected
  36. })
  37. }
  38. function removeAccountFromAccountBlocklist (
  39. url: string,
  40. token: string,
  41. accountToUnblock: string,
  42. statusCodeExpected = HttpStatusCode.NO_CONTENT_204
  43. ) {
  44. const path = '/api/v1/users/me/blocklist/accounts/' + accountToUnblock
  45. return makeDeleteRequest({
  46. url,
  47. path,
  48. token,
  49. statusCodeExpected
  50. })
  51. }
  52. function getServerBlocklistByAccount (
  53. url: string,
  54. token: string,
  55. start: number,
  56. count: number,
  57. sort = '-createdAt',
  58. statusCodeExpected = HttpStatusCode.OK_200
  59. ) {
  60. const path = '/api/v1/users/me/blocklist/servers'
  61. return makeGetRequest({
  62. url,
  63. token,
  64. query: { start, count, sort },
  65. path,
  66. statusCodeExpected
  67. })
  68. }
  69. function addServerToAccountBlocklist (
  70. url: string,
  71. token: string,
  72. serverToBlock: string,
  73. statusCodeExpected = HttpStatusCode.NO_CONTENT_204
  74. ) {
  75. const path = '/api/v1/users/me/blocklist/servers'
  76. return makePostBodyRequest({
  77. url,
  78. path,
  79. token,
  80. fields: {
  81. host: serverToBlock
  82. },
  83. statusCodeExpected
  84. })
  85. }
  86. function removeServerFromAccountBlocklist (
  87. url: string,
  88. token: string,
  89. serverToBlock: string,
  90. statusCodeExpected = HttpStatusCode.NO_CONTENT_204
  91. ) {
  92. const path = '/api/v1/users/me/blocklist/servers/' + serverToBlock
  93. return makeDeleteRequest({
  94. url,
  95. path,
  96. token,
  97. statusCodeExpected
  98. })
  99. }
  100. function getAccountBlocklistByServer (
  101. url: string,
  102. token: string,
  103. start: number,
  104. count: number,
  105. sort = '-createdAt',
  106. statusCodeExpected = HttpStatusCode.OK_200
  107. ) {
  108. const path = '/api/v1/server/blocklist/accounts'
  109. return makeGetRequest({
  110. url,
  111. token,
  112. query: { start, count, sort },
  113. path,
  114. statusCodeExpected
  115. })
  116. }
  117. function addAccountToServerBlocklist (
  118. url: string,
  119. token: string,
  120. accountToBlock: string,
  121. statusCodeExpected = HttpStatusCode.NO_CONTENT_204
  122. ) {
  123. const path = '/api/v1/server/blocklist/accounts'
  124. return makePostBodyRequest({
  125. url,
  126. path,
  127. token,
  128. fields: {
  129. accountName: accountToBlock
  130. },
  131. statusCodeExpected
  132. })
  133. }
  134. function removeAccountFromServerBlocklist (
  135. url: string,
  136. token: string,
  137. accountToUnblock: string,
  138. statusCodeExpected = HttpStatusCode.NO_CONTENT_204
  139. ) {
  140. const path = '/api/v1/server/blocklist/accounts/' + accountToUnblock
  141. return makeDeleteRequest({
  142. url,
  143. path,
  144. token,
  145. statusCodeExpected
  146. })
  147. }
  148. function getServerBlocklistByServer (
  149. url: string,
  150. token: string,
  151. start: number,
  152. count: number,
  153. sort = '-createdAt',
  154. statusCodeExpected = HttpStatusCode.OK_200
  155. ) {
  156. const path = '/api/v1/server/blocklist/servers'
  157. return makeGetRequest({
  158. url,
  159. token,
  160. query: { start, count, sort },
  161. path,
  162. statusCodeExpected
  163. })
  164. }
  165. function addServerToServerBlocklist (
  166. url: string,
  167. token: string,
  168. serverToBlock: string,
  169. statusCodeExpected = HttpStatusCode.NO_CONTENT_204
  170. ) {
  171. const path = '/api/v1/server/blocklist/servers'
  172. return makePostBodyRequest({
  173. url,
  174. path,
  175. token,
  176. fields: {
  177. host: serverToBlock
  178. },
  179. statusCodeExpected
  180. })
  181. }
  182. function removeServerFromServerBlocklist (
  183. url: string,
  184. token: string,
  185. serverToBlock: string,
  186. statusCodeExpected = HttpStatusCode.NO_CONTENT_204
  187. ) {
  188. const path = '/api/v1/server/blocklist/servers/' + serverToBlock
  189. return makeDeleteRequest({
  190. url,
  191. path,
  192. token,
  193. statusCodeExpected
  194. })
  195. }
  196. // ---------------------------------------------------------------------------
  197. export {
  198. getAccountBlocklistByAccount,
  199. addAccountToAccountBlocklist,
  200. removeAccountFromAccountBlocklist,
  201. getServerBlocklistByAccount,
  202. addServerToAccountBlocklist,
  203. removeServerFromAccountBlocklist,
  204. getAccountBlocklistByServer,
  205. addAccountToServerBlocklist,
  206. removeAccountFromServerBlocklist,
  207. getServerBlocklistByServer,
  208. addServerToServerBlocklist,
  209. removeServerFromServerBlocklist
  210. }