Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
AutoModeratorConfigSchema
n/a
0 / 0
n/a
0 / 0
0
n/a
0 / 0
1<?php
2
3declare( strict_types = 1 );
4
5namespace MediaWiki\Extension\AutoModerator\Config\Validation;
6
7use MediaWiki\Extension\CommunityConfiguration\Schema\JsonSchema;
8use MediaWiki\Extension\CommunityConfiguration\Schemas\MediaWiki\MediaWikiDefinitions;
9
10// phpcs:disable Generic.NamingConventions.UpperCaseConstantName.ClassConstantNotUpperCase
11class AutoModeratorConfigSchema extends JsonSchema {
12    public const string VERSION = '1.0.0';
13
14    public const array AutoModeratorEnableRevisionCheck = [
15        self::TYPE => self::TYPE_BOOLEAN,
16        self::DEFAULT => false,
17    ];
18
19    public const array AutoModeratorEnableLogOnlyMode = [
20        self::TYPE => self::TYPE_BOOLEAN,
21        self::DEFAULT => false,
22    ];
23
24    public const array AutoModeratorCautionLevel = [
25        self::TYPE => self::TYPE_STRING,
26        self::REQUIRED => false,
27        self::DEFAULT => "very-cautious",
28        self::ENUM => [ 'very-cautious', 'cautious', 'somewhat-cautious', 'less-cautious' ]
29    ];
30
31    public const array AutoModeratorUseEditFlagMinor = [
32        self::TYPE => self::TYPE_BOOLEAN,
33        self::DEFAULT => false
34    ];
35
36    public const array AutoModeratorEnableBotFlag = [
37        self::TYPE => self::TYPE_BOOLEAN,
38        self::DEFAULT => false
39    ];
40
41    public const array AutoModeratorRevertTalkPageMessageEnabled = [
42        self::TYPE => self::TYPE_BOOLEAN,
43        self::DEFAULT => false
44    ];
45
46    public const array AutoModeratorRevertTalkPageMessageRegisteredUsersOnly = [
47        self::TYPE => self::TYPE_BOOLEAN,
48        self::DEFAULT => false
49    ];
50
51    public const array AutoModeratorHelpPageLink = [
52        self::REQUIRED => false,
53        self::REF => [ 'class' => MediaWikiDefinitions::class, 'field' => 'PageTitle' ],
54        self::DEFAULT => '',
55    ];
56
57    public const array AutoModeratorEnableUserRevertsPerPage = [
58        self::REQUIRED => true,
59        self::TYPE => self::TYPE_BOOLEAN,
60        self::DEFAULT => false
61    ];
62
63    public const array AutoModeratorUserRevertsPerPage = [
64        self::REQUIRED => false,
65        self::TYPE => self::TYPE_STRING,
66        self::DEFAULT => '',
67    ];
68
69    public const array AutoModeratorSkipUserRights = [
70        self::TYPE => self::TYPE_ARRAY,
71        self::REQUIRED => false,
72        self::DEFAULT => [ 'bot', 'autopatrol' ],
73        self::ITEMS => [
74            self::TYPE => self::TYPE_STRING
75        ],
76    ];
77
78    public const array AutoModeratorFalsePositivePageTitle = [
79        self::REF => [ 'class' => MediaWikiDefinitions::class, 'field' => 'PageTitle' ],
80        self::DEFAULT => '',
81    ];
82}