]>
Commit | Line | Data |
---|---|---|
4c7e60bc | 1 | import { HttpStatusCode, ResultList } from '@shared/models' |
4beda9e1 | 2 | import { Account, ActorFollow } from '../../models/actors' |
9fff08cf C |
3 | import { AccountVideoRate, VideoRateType } from '../../models/videos' |
4 | import { AbstractCommand, OverrideCommandOptions } from '../shared' | |
5 | ||
6 | export class AccountsCommand extends AbstractCommand { | |
7 | ||
8 | list (options: OverrideCommandOptions & { | |
9 | sort?: string // default -createdAt | |
10 | } = {}) { | |
11 | const { sort = '-createdAt' } = options | |
12 | const path = '/api/v1/accounts' | |
13 | ||
14 | return this.getRequestBody<ResultList<Account>>({ | |
15 | ...options, | |
16 | ||
17 | path, | |
18 | query: { sort }, | |
a1637fa1 | 19 | implicitToken: false, |
9fff08cf C |
20 | defaultExpectedStatus: HttpStatusCode.OK_200 |
21 | }) | |
22 | } | |
23 | ||
24 | get (options: OverrideCommandOptions & { | |
25 | accountName: string | |
26 | }) { | |
27 | const path = '/api/v1/accounts/' + options.accountName | |
28 | ||
29 | return this.getRequestBody<Account>({ | |
30 | ...options, | |
31 | ||
32 | path, | |
a1637fa1 | 33 | implicitToken: false, |
9fff08cf C |
34 | defaultExpectedStatus: HttpStatusCode.OK_200 |
35 | }) | |
36 | } | |
37 | ||
38 | listRatings (options: OverrideCommandOptions & { | |
39 | accountName: string | |
40 | rating?: VideoRateType | |
41 | }) { | |
42 | const { rating, accountName } = options | |
43 | const path = '/api/v1/accounts/' + accountName + '/ratings' | |
44 | ||
45 | const query = { rating } | |
46 | ||
47 | return this.getRequestBody<ResultList<AccountVideoRate>>({ | |
48 | ...options, | |
49 | ||
50 | path, | |
51 | query, | |
a1637fa1 | 52 | implicitToken: true, |
9fff08cf C |
53 | defaultExpectedStatus: HttpStatusCode.OK_200 |
54 | }) | |
55 | } | |
4beda9e1 C |
56 | |
57 | listFollowers (options: OverrideCommandOptions & { | |
58 | accountName: string | |
59 | start?: number | |
60 | count?: number | |
61 | sort?: string | |
62 | search?: string | |
63 | }) { | |
64 | const { accountName, start, count, sort, search } = options | |
65 | const path = '/api/v1/accounts/' + accountName + '/followers' | |
66 | ||
67 | const query = { start, count, sort, search } | |
68 | ||
69 | return this.getRequestBody<ResultList<ActorFollow>>({ | |
70 | ...options, | |
71 | ||
72 | path, | |
73 | query, | |
74 | implicitToken: true, | |
75 | defaultExpectedStatus: HttpStatusCode.OK_200 | |
76 | }) | |
77 | } | |
9fff08cf | 78 | } |