diff options
author | Rigel Kent <sendmemail@rigelk.eu> | 2020-06-15 13:18:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-15 13:18:22 +0200 |
commit | 228393302d98136d4dc35c5f197edc8cebd5d64f (patch) | |
tree | f92b3ad80bcc9c89088ff1d4de5ebff76a3f46ed /client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts | |
parent | 7dfe35288613967f5ac69cd46901ec60c5050b93 (diff) | |
download | PeerTube-228393302d98136d4dc35c5f197edc8cebd5d64f.tar.gz PeerTube-228393302d98136d4dc35c5f197edc8cebd5d64f.tar.zst PeerTube-228393302d98136d4dc35c5f197edc8cebd5d64f.zip |
factorize account/server blocklists for users and instance (#2875)
Diffstat (limited to 'client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts')
-rw-r--r-- | client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts | 67 |
1 files changed, 6 insertions, 61 deletions
diff --git a/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts b/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts index 73a9ae75d..90a176194 100644 --- a/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts +++ b/client/src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts | |||
@@ -1,70 +1,15 @@ | |||
1 | import { Component, OnInit } from '@angular/core' | 1 | import { Component } from '@angular/core' |
2 | import { Notifier } from '@app/core' | 2 | import { GenericAccountBlocklistComponent, BlocklistComponentType } from '@app/shared/blocklist' |
3 | import { I18n } from '@ngx-translate/i18n-polyfill' | ||
4 | import { RestPagination, RestTable } from '@app/shared' | ||
5 | import { SortMeta } from 'primeng/api' | ||
6 | import { AccountBlock, BlocklistService } from '@app/shared/blocklist' | ||
7 | import { Actor } from '@app/shared/actor/actor.model' | ||
8 | 3 | ||
9 | @Component({ | 4 | @Component({ |
10 | selector: 'my-instance-account-blocklist', | 5 | selector: 'my-instance-account-blocklist', |
11 | styleUrls: [ '../moderation.component.scss', './instance-account-blocklist.component.scss' ], | 6 | styleUrls: [ '../moderation.component.scss', '../../../shared/blocklist/account-blocklist.component.scss' ], |
12 | templateUrl: './instance-account-blocklist.component.html' | 7 | templateUrl: '../../../shared/blocklist/account-blocklist.component.html' |
13 | }) | 8 | }) |
14 | export class InstanceAccountBlocklistComponent extends RestTable implements OnInit { | 9 | export class InstanceAccountBlocklistComponent extends GenericAccountBlocklistComponent { |
15 | blockedAccounts: AccountBlock[] = [] | 10 | mode = BlocklistComponentType.Instance |
16 | totalRecords = 0 | ||
17 | sort: SortMeta = { field: 'createdAt', order: -1 } | ||
18 | pagination: RestPagination = { count: this.rowsPerPage, start: 0 } | ||
19 | |||
20 | constructor ( | ||
21 | private notifier: Notifier, | ||
22 | private blocklistService: BlocklistService, | ||
23 | private i18n: I18n | ||
24 | ) { | ||
25 | super() | ||
26 | } | ||
27 | |||
28 | ngOnInit () { | ||
29 | this.initialize() | ||
30 | } | ||
31 | 11 | ||
32 | getIdentifier () { | 12 | getIdentifier () { |
33 | return 'InstanceAccountBlocklistComponent' | 13 | return 'InstanceAccountBlocklistComponent' |
34 | } | 14 | } |
35 | |||
36 | switchToDefaultAvatar ($event: Event) { | ||
37 | ($event.target as HTMLImageElement).src = Actor.GET_DEFAULT_AVATAR_URL() | ||
38 | } | ||
39 | |||
40 | unblockAccount (accountBlock: AccountBlock) { | ||
41 | const blockedAccount = accountBlock.blockedAccount | ||
42 | |||
43 | this.blocklistService.unblockAccountByInstance(blockedAccount) | ||
44 | .subscribe( | ||
45 | () => { | ||
46 | this.notifier.success( | ||
47 | this.i18n('Account {{nameWithHost}} unmuted by your instance.', { nameWithHost: blockedAccount.nameWithHost }) | ||
48 | ) | ||
49 | |||
50 | this.loadData() | ||
51 | } | ||
52 | ) | ||
53 | } | ||
54 | |||
55 | protected loadData () { | ||
56 | return this.blocklistService.getInstanceAccountBlocklist({ | ||
57 | pagination: this.pagination, | ||
58 | sort: this.sort, | ||
59 | search: this.search | ||
60 | }) | ||
61 | .subscribe( | ||
62 | resultList => { | ||
63 | this.blockedAccounts = resultList.data | ||
64 | this.totalRecords = resultList.total | ||
65 | }, | ||
66 | |||
67 | err => this.notifier.error(err.message) | ||
68 | ) | ||
69 | } | ||
70 | } | 15 | } |