Skip to content

Instantly share code, notes, and snippets.

@ottomata
Created July 26, 2019 17:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ottomata/d21bb1800470e368ee64f0a47732adeb to your computer and use it in GitHub Desktop.
Save ottomata/d21bb1800470e368ee64f0a47732adeb to your computer and use it in GitHub Desktop.
title: mediawiki/page/links-change
description: Represents a MW Page Links Change event.
$id: /mediawiki/page/links-change/1.1.0
$schema: 'https://json-schema.org/draft-07/schema#'
type: object
required:
- $schema
- meta
- page_id
- page_is_redirect
- page_namspace
- page_title
- rev_id
properties:
$schema:
type: string
description: >
The URI identifying the jsonschema for this event. This should be a short
uri containing only the name and revision at the end of the URI path.
e.g. /schema_name/1.0.0 is acceptable. This often will (and should) match
the schema's $id field.
meta:
type: object
required:
- id
- dt
- stream
properties:
uri:
type: string
format: uri-reference
maxLength: 8192
description: Unique URI identifying the event / resource
request_id:
type: string
description: Unique ID of the request that caused the event=
id:
type: string
pattern: '^[a-fA-F0-9]{8}(-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}$'
maxLength: 36
description: Unique ID of this event
dt:
type: string
format: date-time
maxLength: 128
description: 'Time stamp of the event, in ISO-8601 format'
domain:
type: string
description: Domain the event pertains to
minLength: 1
stream:
type: string
description: Name of the stream/queue that this event belongs in
minLength: 1
database:
description: The name of the wiki database this event belongs to.
type: string
minLength: 1
performer:
description: Represents the user that performed this change.
type: object
required:
- user_text
- user_groups
- user_is_bot
properties:
user_id:
description: >
The user id that performed this change. This is optional, and will
not be present for anonymous users.
type: integer
user_text:
description: The text representation of the user that performed this change.
type: string
minLength: 1
user_groups:
description: 'A list of the groups this user belongs to. E.g. bot, sysop etc.'
type: array
items:
type: string
minLength: 1
user_is_bot:
description: >
True if this user is considered to be a bot. This is checked via the
$user->isBot() method, which considers both user_groups and user
permissions.
type: boolean
user_registration_dt:
description: >
The datetime of the user account registration. Not present for
anonymous users or if missing in the MW database.
type: string
format: date-time
maxLength: 128
user_edit_count:
description: >
The number of edits this user has made at the time this revision is
created. Not present for anonymous users.
type: integer
minimum: 0
page_id:
description: The page ID of the page which properties has been changed.
type: integer
minimum: 1
page_title:
description: The normalized title of the page.
type: string
minLength: 1
page_namespace:
description: The namespace ID this page belongs to.
type: integer
page_is_redirect:
description: >
True if this page is currently a redirect page. This fact is ultimately
represented by revision content containing redirect wikitext. If rev_id's
content has redirect wikitext, then this page is a redirect. Note that
this state is also stored on the Mediawiki page table.
type: boolean
rev_id:
description: The head revision of the page which properties has been changed.
type: integer
minimum: 0
removed_links:
description: >
The old page links. This map would only contain the previous values of the
links that were either removed or changed by this event. Links that were
intact would not be present here. If the link was changed, its new value
would be present in the 'added_links' object.
type: array
items:
type: object
properties:
link:
description: Link being removed
type: string
external:
description: Whether link is external
type: boolean
added_links:
description: >
The new page links. This map would only contain links that were either
added or changed, links that were intact would not be present here. If the
link was changed, its previous value would be present in the
'removed_links' object.
type: array
items:
type: object
properties:
link:
description: Link being added
type: string
external:
description: Whether link is external
type: boolean
cause_action:
description: arbitrary string identifying the reason for the change
type: string
title: mediawiki/page/links-change
description: Represents a MW Page Links Change event.
$id: /mediawiki/page/links-change/1.1.0
$schema: https://json-schema.org/draft-07/schema#
type: object
allOf:
- $ref: /mediawiki/page/common/1.0.0
- properties:
### page links change specific fields.
removed_links:
description: >
The old page links. This map would only contain the previous
values of the links that were either removed or changed by this
event. Links that were intact would not be present here. If the
link was changed, its new value would be present in the
'added_links' object.
type: array
items:
type: object
properties:
link:
description: Link being removed
type: string
external:
description: Whether link is external
type: boolean
added_links:
description: >
The new page links. This map would only contain links that were
either added or changed, links that were intact would not be
present here. If the link was changed, its previous value would be
present in the 'removed_links' object.
type: array
items:
type: object
properties:
link:
description: Link being added
type: string
external:
description: Whether link is external
type: boolean
cause_action:
description: arbitrary string identifying the reason for the change
type: string
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment