Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
AutoModeratorMultilingualConfigSchema
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 AutoModeratorMultilingualConfigSchema extends JsonSchema {
12    public const string VERSION = '1.0.0';
13
14    public const array AutoModeratorMultilingualConfigEnableRevisionCheck = [
15        self::TYPE => self::TYPE_BOOLEAN,
16        self::DEFAULT => false,
17    ];
18
19    public const array AutoModeratorMultilingualEnableLogOnlyMode = [
20        self::TYPE => self::TYPE_BOOLEAN,
21        self::DEFAULT => false,
22    ];
23
24    public const array AutoModeratorMultilingualConfigConfigureThreshold = [
25        self::TYPE => self::TYPE_OBJECT,
26        self::REQUIRED => false,
27        self::DEFAULT => '',
28    ];
29
30    public const array AutoModeratorMultilingualConfigEnableLanguageAgnostic = [
31        self::TYPE => self::TYPE_BOOLEAN,
32        self::DEFAULT => false,
33    ];
34
35    public const array AutoModeratorMultilingualConfigCautionLevel = [
36        self::TYPE => self::TYPE_STRING,
37        self::REQUIRED => false,
38        self::DEFAULT => "very-cautious",
39        self::ENUM => [ 'very-cautious', 'cautious', 'somewhat-cautious', 'less-cautious' ]
40    ];
41
42    public const array AutoModeratorMultilingualConfigEnableMultilingual = [
43        self::TYPE => self::TYPE_BOOLEAN,
44        self::DEFAULT => false,
45    ];
46
47    public const array AutoModeratorMultilingualConfigMultilingualThreshold = [
48        self::REQUIRED => false,
49        self::TYPE => self::TYPE_STRING,
50        self::DEFAULT => '',
51    ];
52
53    public const array AutoModeratorMultilingualConfigUseEditFlagMinor = [
54        self::TYPE => self::TYPE_BOOLEAN,
55        self::DEFAULT => false
56    ];
57
58    public const array AutoModeratorMultilingualConfigEnableBotFlag = [
59        self::TYPE => self::TYPE_BOOLEAN,
60        self::DEFAULT => false
61    ];
62
63    public const array AutoModeratorMultilingualConfigRevertTalkPageMessageEnabled = [
64        self::TYPE => self::TYPE_BOOLEAN,
65        self::DEFAULT => false
66    ];
67
68    public const array AutoModeratorMultilingualConfigRevertTalkPageMessageRegisteredUsersOnly = [
69        self::TYPE => self::TYPE_BOOLEAN,
70        self::DEFAULT => false
71    ];
72
73    public const array AutoModeratorMultilingualConfigHelpPageLink = [
74        self::REQUIRED => false,
75        self::REF => [ 'class' => MediaWikiDefinitions::class, 'field' => 'PageTitle' ],
76        self::DEFAULT => '',
77    ];
78
79    public const array AutoModeratorMultilingualConfigEnableUserRevertsPerPage = [
80        self::REQUIRED => true,
81        self::TYPE => self::TYPE_BOOLEAN,
82        self::DEFAULT => false
83    ];
84
85    public const array AutoModeratorMultilingualConfigUserRevertsPerPage = [
86        self::REQUIRED => false,
87        self::TYPE => self::TYPE_STRING,
88        self::DEFAULT => '',
89    ];
90
91    public const array AutoModeratorMultilingualConfigSkipUserRights = [
92        self::TYPE => self::TYPE_ARRAY,
93        self::REQUIRED => false,
94        self::DEFAULT => [ 'bot', 'autopatrol' ],
95        self::ITEMS => [
96            self::TYPE => self::TYPE_STRING
97        ],
98    ];
99
100    public const array AutoModeratorMultilingualConfigFalsePositivePageTitle = [
101        self::REF => [ 'class' => MediaWikiDefinitions::class, 'field' => 'PageTitle' ],
102        self::DEFAULT => '',
103    ];
104}