Commit graph

11 commits

Author SHA1 Message Date
Umherirrender
d146800ee8 api: Inject services into ApiWatchlistTrait
Bug: T259960
Change-Id: I73596f8c924ec4a02a7042608d19a35f82bb752a
2021-07-06 20:15:30 +00:00
Cindy Cicalese
fb6b6e058c Fix parameter order of setWatch to match add/removeWatch
Change-Id: I0ea63482a5cab24c23b49b8bbe6c80bdbe8b102b
2021-04-21 04:41:38 +00:00
Cindy Cicalese
b242d49a62 Use WatchlistManager in API classes
Change-Id: I7b2016162e86b455c0102742751981c44d7e829c
2021-04-21 04:41:06 +00:00
Petr Pchelko
07b63105ec WatchAction:doWatchOrUnwarch - use Authority
Change-Id: If3ed65093ea6db99fbd1314104e530163fb6a46b
2021-03-03 23:25:23 -07:00
Umherirrender
950f9d308d [API] Ignore watchlist preferences for bot users
Every user matching User::isBot would be affected and not longer adding
pages to the watchlist along to its (default) preferences.
To override this behaviour the bot user must change watch explizit.

The watchlist is mostly not useful for bots doing massive edits or
uploads. This reduce the grow of the watchlist tables at all and avoids
less users with massive entries unable to delete or clear.

Bug: T258108
Change-Id: If76127315767bde70147197c88e93f51ca70edaa
2020-12-22 22:28:28 +01:00
Ammar Abdulhamid
30b947ad5f Revert "Revert "ApiEditPage: Show existing watchlist expiry if status
is not being changed.""

This reverts commit 149e99f072.

It's not necessary to change the constructor now, the module is already
using service locator to fetch RevisionLookup and ContentHandlerFactory.

The WatchedItemStore can also be gotten from there, voiding the need for
altering the constructor now. As Daniel said in T259960#6380471 dependency
injection for API modules is good but not urgent.

Bug: T261030
Bug: T264200
Change-Id: I16aa942cc800cd66a2cd538680a02b10cb0b1bfe
2020-09-30 19:28:47 +00:00
DannyS712
149e99f072 Revert "ApiEditPage: Show existing watchlist expiry if status is not being changed."
This reverts commit 07e547f47c.

Reason for revert: LiquidThreads extends the ApiEditPage class,
even though it shouldn't, and thus fails when the dependencies
are not injected.

Bug: T261030
Bug: T264200
Change-Id: Ib14f8a04bb6c723aa502a47ef9ccde6fe96a0ac7
2020-09-30 15:29:59 +00:00
Ammar Abdulhamid
07e547f47c ApiEditPage: Show existing watchlist expiry if status is not being changed.
Bug: T261030
Change-Id: I795db12aefeffb1cfbbe2ab00fbb19444df7d37b
2020-09-29 16:20:20 +01:00
Umherirrender
d790580fda Fix typos related to repeated words
Change-Id: Ibc187d95b003017255bc87adf56afae7a59bd3db
2020-09-27 10:25:36 +00:00
Ammar Abdulhamid
cf004d524d Remove requirement for ApiWatchlistTrait to be in ApiBase.
This trait is not needed in ApiBase and its presence here is
proving to be problematic. See I795db12.

In this patch, the trait usage (more precisely the 'use statement')
has been removed from ApiBase and accordingly the signatures of
ApiWatchlistTrait::getWatchlistValue() and ::setWatch() have been
altered to now require User object.

With these changes, the abstract getUser() method in the trait is no
longer needed, so it has been removed also.

All core usages of the affected functions are fixed in this patch.

The trait is used in only one extension according to codesearch tool,
the extension will be fixed in  Ic22e163.

Bug: T262175
Bug: T248512
Follow-up: Ia18627b9824dca81f44f0571e8420d89b7626cf6
Change-Id: Idabcea71edfca9e7ed42000a258c99ff407873d4
2020-09-07 01:13:57 +01:00
MusikAnimal
6a898faed2 Add watchlist expiry support to applicable APIs
This introduces an ApiWatchlistTrait that refactors out common code
across APIs that allow you to watch pages. Some methods have been
migrated from ApiBase and changed completely, but codesearch suggests
they aren't being used outside the API modules in this patch.

Bug: T248512
Bug: T248514
Change-Id: Ia18627b9824dca81f44f0571e8420d89b7626cf6
2020-07-13 18:18:15 -04:00