Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
NewUserMessageJob
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 2
12
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 run
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2/**
3 * Job for adding new user messages.
4 *
5 * @file
6 * @license GPL-2.0-or-later
7 */
8
9namespace MediaWiki\Extension\NewUserMessage;
10
11use MediaWiki\JobQueue\GenericParameterJob;
12use MediaWiki\JobQueue\Job;
13use MediaWiki\User\UserFactory;
14use Wikimedia\Rdbms\IDBAccessObject;
15
16/**
17 * @internal
18 *
19 * Job parameters:
20 *   - userId: the user ID
21 */
22class NewUserMessageJob extends Job implements GenericParameterJob {
23
24    public function __construct(
25        array $params,
26        private readonly UserFactory $userFactory,
27        private readonly NewUserMessage $newUserMessage,
28    ) {
29        parent::__construct( 'newUserMessageJob', $params );
30    }
31
32    /** @inheritDoc */
33    public function run(): bool {
34        $user = $this->userFactory->newFromId( $this->params['userId'] );
35        $user->load( IDBAccessObject::READ_LATEST );
36
37        if ( !$user->getId() ) {
38            return false;
39        }
40
41        $this->newUserMessage->createNewUserMessage( $user );
42
43        return true;
44    }
45}