When an item is deleted by an oversighter (checking the suppress checkbox) the streaming updater should produce a message instructing the consumer to delete the item from the graph.
The kafka topic populated by change prop is `mediawiki.page-suppress` (this topic is considered private and highly sensitive).
The event itself is similar to what is read from `mediawiki.page-delete`.
```
{
"$schema": "/mediawiki/page/delete/1.0.0",
"meta": {
"uri": "https://test.wikidata.org/wiki/Q212437",
"request_id": "d37828b9-e3ce-4eea-a91d-921d0c5ad9c9",
"id": "7e8abcee-2a84-476e-afee-07eb404e1085",
"dt": "2020-07-02T09:36:49Z",
"domain": "test.wikidata.org",
"stream": "mediawiki.page-suppress"
},
"database": "testwikidatawiki",
"performer": {
"user_text": "DCausse (WMF)",
"user_groups": [
"bureaucrat",
"oversight",
"sysop",
"*",
"user"
],
"user_is_bot": false,
"user_id": 2490,
"user_registration_dt": "2017-09-28T06:49:13Z",
"user_edit_count": 11
},
"page_id": 302932,
"page_title": "Q212437",
"page_namespace": 0,
"page_is_redirect": false,
"rev_id": 529864,
"rev_count": 1,
"comment": "content was: \"Test dcausse v6\", and the only contributor was \"[[Special:Contributions/DCausse (WMF)|DCausse (WMF)]]\" ([[User talk:DCausse (WMF)|talk]])",
"parsedcomment": "content was: "Test dcausse v6", and the only contributor was "<a href=\"/wiki/Special:Contributions/DCausse_(WMF)\" title=\"Special:Contributions/DCausse (WMF)\">DCausse (WMF)</a>" (<a href=\"/w/index.php?title=User_talk:DCausse_(WMF)&action=edit&redlink=1\" class=\"new\" title=\"User talk:DCausse (WMF) (page does not exist)\">talk</a>)"
}
```
On the shared model:
- reuse the model added in T256875
On the flink pipeline:
- add a new stream to consume from (kafka topic mediawiki.page-suppress) and produce PageDelete to downstream operators
- the sole information populated from the original event is:
- the page_title: must conform to wikidata item pattern ([QPL]number) that is generated by wikibase and thus cannot contain sensitive info that triggered the suppression
- revision: a number
- the request_id
On the pipeline consumer:
- it will be seen as a classic delete
AC:
- fix T105427
- the streaming updater output must not leak any information of the suppression and should appear like a "normal" delete
size: M