diff options
author | Chocobozzz <me@florianbigard.com> | 2021-12-17 09:29:23 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2021-12-17 09:29:23 +0100 |
commit | bf54587a3e2ad9c2c186828f2a5682b91ee2cc00 (patch) | |
tree | 54b40aaf01bae210632473285c3c7571d51e4f89 /shared/extra-utils/users/blocklist-command.ts | |
parent | 6b5f72beda96d8b7e4d6329c4001827334de27dd (diff) | |
download | PeerTube-bf54587a3e2ad9c2c186828f2a5682b91ee2cc00.tar.gz PeerTube-bf54587a3e2ad9c2c186828f2a5682b91ee2cc00.tar.zst PeerTube-bf54587a3e2ad9c2c186828f2a5682b91ee2cc00.zip |
shared/ typescript types dir server-commands
Diffstat (limited to 'shared/extra-utils/users/blocklist-command.ts')
-rw-r--r-- | shared/extra-utils/users/blocklist-command.ts | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/shared/extra-utils/users/blocklist-command.ts b/shared/extra-utils/users/blocklist-command.ts deleted file mode 100644 index 2e7ed074d..000000000 --- a/shared/extra-utils/users/blocklist-command.ts +++ /dev/null | |||
@@ -1,162 +0,0 @@ | |||
1 | /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ | ||
2 | |||
3 | import { AccountBlock, BlockStatus, HttpStatusCode, ResultList, ServerBlock } from '@shared/models' | ||
4 | import { AbstractCommand, OverrideCommandOptions } from '../shared' | ||
5 | |||
6 | type ListBlocklistOptions = OverrideCommandOptions & { | ||
7 | start: number | ||
8 | count: number | ||
9 | sort: string // default -createdAt | ||
10 | } | ||
11 | |||
12 | export class BlocklistCommand extends AbstractCommand { | ||
13 | |||
14 | listMyAccountBlocklist (options: ListBlocklistOptions) { | ||
15 | const path = '/api/v1/users/me/blocklist/accounts' | ||
16 | |||
17 | return this.listBlocklist<AccountBlock>(options, path) | ||
18 | } | ||
19 | |||
20 | listMyServerBlocklist (options: ListBlocklistOptions) { | ||
21 | const path = '/api/v1/users/me/blocklist/servers' | ||
22 | |||
23 | return this.listBlocklist<ServerBlock>(options, path) | ||
24 | } | ||
25 | |||
26 | listServerAccountBlocklist (options: ListBlocklistOptions) { | ||
27 | const path = '/api/v1/server/blocklist/accounts' | ||
28 | |||
29 | return this.listBlocklist<AccountBlock>(options, path) | ||
30 | } | ||
31 | |||
32 | listServerServerBlocklist (options: ListBlocklistOptions) { | ||
33 | const path = '/api/v1/server/blocklist/servers' | ||
34 | |||
35 | return this.listBlocklist<ServerBlock>(options, path) | ||
36 | } | ||
37 | |||
38 | // --------------------------------------------------------------------------- | ||
39 | |||
40 | getStatus (options: OverrideCommandOptions & { | ||
41 | accounts?: string[] | ||
42 | hosts?: string[] | ||
43 | }) { | ||
44 | const { accounts, hosts } = options | ||
45 | |||
46 | const path = '/api/v1/blocklist/status' | ||
47 | |||
48 | return this.getRequestBody<BlockStatus>({ | ||
49 | ...options, | ||
50 | |||
51 | path, | ||
52 | query: { | ||
53 | accounts, | ||
54 | hosts | ||
55 | }, | ||
56 | implicitToken: false, | ||
57 | defaultExpectedStatus: HttpStatusCode.OK_200 | ||
58 | }) | ||
59 | } | ||
60 | |||
61 | // --------------------------------------------------------------------------- | ||
62 | |||
63 | addToMyBlocklist (options: OverrideCommandOptions & { | ||
64 | account?: string | ||
65 | server?: string | ||
66 | }) { | ||
67 | const { account, server } = options | ||
68 | |||
69 | const path = account | ||
70 | ? '/api/v1/users/me/blocklist/accounts' | ||
71 | : '/api/v1/users/me/blocklist/servers' | ||
72 | |||
73 | return this.postBodyRequest({ | ||
74 | ...options, | ||
75 | |||
76 | path, | ||
77 | fields: { | ||
78 | accountName: account, | ||
79 | host: server | ||
80 | }, | ||
81 | implicitToken: true, | ||
82 | defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204 | ||
83 | }) | ||
84 | } | ||
85 | |||
86 | addToServerBlocklist (options: OverrideCommandOptions & { | ||
87 | account?: string | ||
88 | server?: string | ||
89 | }) { | ||
90 | const { account, server } = options | ||
91 | |||
92 | const path = account | ||
93 | ? '/api/v1/server/blocklist/accounts' | ||
94 | : '/api/v1/server/blocklist/servers' | ||
95 | |||
96 | return this.postBodyRequest({ | ||
97 | ...options, | ||
98 | |||
99 | path, | ||
100 | fields: { | ||
101 | accountName: account, | ||
102 | host: server | ||
103 | }, | ||
104 | implicitToken: true, | ||
105 | defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204 | ||
106 | }) | ||
107 | } | ||
108 | |||
109 | // --------------------------------------------------------------------------- | ||
110 | |||
111 | removeFromMyBlocklist (options: OverrideCommandOptions & { | ||
112 | account?: string | ||
113 | server?: string | ||
114 | }) { | ||
115 | const { account, server } = options | ||
116 | |||
117 | const path = account | ||
118 | ? '/api/v1/users/me/blocklist/accounts/' + account | ||
119 | : '/api/v1/users/me/blocklist/servers/' + server | ||
120 | |||
121 | return this.deleteRequest({ | ||
122 | ...options, | ||
123 | |||
124 | path, | ||
125 | implicitToken: true, | ||
126 | defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204 | ||
127 | }) | ||
128 | } | ||
129 | |||
130 | removeFromServerBlocklist (options: OverrideCommandOptions & { | ||
131 | account?: string | ||
132 | server?: string | ||
133 | }) { | ||
134 | const { account, server } = options | ||
135 | |||
136 | const path = account | ||
137 | ? '/api/v1/server/blocklist/accounts/' + account | ||
138 | : '/api/v1/server/blocklist/servers/' + server | ||
139 | |||
140 | return this.deleteRequest({ | ||
141 | ...options, | ||
142 | |||
143 | path, | ||
144 | implicitToken: true, | ||
145 | defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204 | ||
146 | }) | ||
147 | } | ||
148 | |||
149 | private listBlocklist <T> (options: ListBlocklistOptions, path: string) { | ||
150 | const { start, count, sort = '-createdAt' } = options | ||
151 | |||
152 | return this.getRequestBody<ResultList<T>>({ | ||
153 | ...options, | ||
154 | |||
155 | path, | ||
156 | query: { start, count, sort }, | ||
157 | implicitToken: true, | ||
158 | defaultExpectedStatus: HttpStatusCode.OK_200 | ||
159 | }) | ||
160 | } | ||
161 | |||
162 | } | ||