Translate extension for MediaWiki
 
Loading...
Searching...
No Matches
QueryMessageGroupSubscriptionApi.php
1<?php
2declare( strict_types = 1 );
3
4namespace MediaWiki\Extension\Translate\MessageGroupProcessing;
5
6use MediaWiki\Api\ApiQuery;
7use MediaWiki\Api\ApiQueryBase;
8
16class QueryMessageGroupSubscriptionApi extends ApiQueryBase {
17
18 public function __construct(
19 ApiQuery $queryModule,
20 string $moduleName,
21 private readonly MessageGroupSubscription $groupSubscription,
22 ) {
23 parent::__construct( $queryModule, $moduleName, 'qmgs' );
24 }
25
26 public function execute(): void {
27 if ( !$this->groupSubscription->isEnabled() ) {
28 $this->dieWithError( 'apierror-translate-messagegroupsubscription-disabled' );
29 }
30 $watchedMessageGroups = $this->groupSubscription->getUserSubscriptions( $this->getUser() );
31 $result = $this->getResult();
32 $result->addValue( [ 'query' ], $this->getModuleName(), $watchedMessageGroups );
33 }
34
35 public function isInternal(): bool {
36 return true;
37 }
38}
Manage user subscriptions to message groups and trigger notifications.