Skip to content

Commit b6df4fb

Browse files
committed
Added path checks to the schema validations
1 parent c22ac6c commit b6df4fb

File tree

22 files changed

+103
-62
lines changed

22 files changed

+103
-62
lines changed

core/utils/validators.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
import logging
12
import os
23

4+
from core import DEFAULT_TAG, COMMAND_LINE_ARGS
35
from pykwalify.errors import SchemaError
46

5-
from core import DEFAULT_TAG, COMMAND_LINE_ARGS
7+
logger = logging.getLogger(__name__)
8+
69

710
def file_exists(value, rule_obj, path):
811
if path and path.split("/")[1] in [DEFAULT_TAG, COMMAND_LINE_ARGS.node]:

extensions/realweather/schemas/realweather_schema.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ schema;instance_realweather_schema:
224224
nullable: false
225225
allowempty: true
226226
mapping:
227-
default: {type: str, nullable: false, range: {min: 1}}
227+
default: {type: str, nullable: false}
228228
disallowed:
229229
type: seq
230230
nullable: false

plugins/admin/schemas/admin_schema.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ schema;master_schema:
88
- type: map
99
mapping:
1010
label: {type: str, required: true, nullable: false, range: {min: 1}}
11-
directory: {type: str, nullable: false, range: {min: 1}, func: file_exists}
11+
directory: {type: str, nullable: false, range: {min: 1}}
1212
pattern: {type: str, nullable: false, range: {min: 1}}
1313
target: {type: str, nullable: false, range: {min: 1}}
1414
discord:
@@ -28,6 +28,9 @@ schema;master_schema:
2828
nullable: false
2929
sequence:
3030
- type: text
31+
# Allow deep nesting for Node/Instance declaration
32+
regex;(.+):
33+
include: 'master_schema'
3134

3235
type: map
3336
nullable: false
@@ -38,5 +41,3 @@ mapping:
3841
include: 'commands_schema'
3942
regex;(.+):
4043
include: 'master_schema'
41-
regex;(.+):
42-
include: 'master_schema'

plugins/creditsystem/schemas/creditsystem_schema.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ schema;master_schema:
3333
playtime: {type: int, range: {min: 0}, nullable: false}
3434
combined: {type: bool, nullable: false}
3535
role: {type: text, nullable: false}
36+
leaderboard:
37+
type: map
38+
nullable: false
39+
mapping:
40+
channel: {type: int, nullable: false, required: true}
41+
limit: {type: int, nullable: false}
42+
# Allow deep nesting for Node/Instance declaration
43+
regex;(.+):
44+
include: 'master_schema'
3645

3746
type: map
3847
nullable: false
@@ -43,5 +52,3 @@ mapping:
4352
include: 'commands_schema'
4453
regex;(.+):
4554
include: 'master_schema'
46-
regex;(.+):
47-
include: 'master_schema'

plugins/funkman/schemas/funkman_schema.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
schema;master_schema:
22
type: map
33
nullable: false
4-
required: true
54
mapping:
65
install: {type: str, nullable: false, range: {min: 1}, func: file_exists}
76
CHANNELID_MAIN: {type: text, nullable: false} # TODO: change this to int some day
@@ -12,6 +11,9 @@ schema;master_schema:
1211
strafe_channel: {type: int, nullable: false}
1312
bomb_board: {type: bool, nullable: false}
1413
bomb_channel: {type: int, nullable: false}
14+
# Allow deep nesting for Node/Instance declaration
15+
regex;(.+):
16+
include: 'master_schema'
1517

1618
type: map
1719
nullable: false
@@ -20,5 +22,3 @@ mapping:
2022
include: 'master_schema'
2123
regex;(.+):
2224
include: 'master_schema'
23-
regex;(.+):
24-
include: 'master_schema'

plugins/greenieboard/schemas/greenieboard_schema.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ schema;instance_schema:
5959
basedir: {type: str, nullable: false, range: {min: 1}}
6060
grades: {type: str, nullable: false, range: {min: 1}}
6161
trapsheets: {type: str, nullable: false, range: {min: 1}}
62+
regex;(.+):
63+
include: 'instance_schema'
6264

6365
type: map
6466
nullable: false
@@ -69,5 +71,3 @@ mapping:
6971
include: 'commands_schema'
7072
regex;(.+):
7173
include: 'instance_schema'
72-
regex;(.+):
73-
include: 'instance_schema'

plugins/lotatc/schemas/lotatc_schema.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ schema;master_schema:
2020
sequence:
2121
- type: text
2222
nullable: false
23+
# Allow deep nesting for Node/Instance declaration
24+
regex;(.+):
25+
include: 'master_schema'
2326

2427
type: map
2528
nullable: false
@@ -30,5 +33,3 @@ mapping:
3033
include: 'commands_schema'
3134
regex;(.+):
3235
include: 'master_schema'
33-
regex;(.+):
34-
include: 'master_schema'

plugins/mission/schemas/mission_schema.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ schema;master_schema:
1212
sequence:
1313
- type: text
1414
nullable: false
15+
# Allow deep nesting for Node/Instance declaration
16+
regex;(.+):
17+
include: 'master_schema'
1518

1619
type: map
1720
nullable: false
@@ -22,6 +25,4 @@ mapping:
2225
include: 'commands_schema'
2326
regex;(.+):
2427
include: 'master_schema'
25-
regex;(.+):
26-
include: 'master_schema'
2728

plugins/missionstats/schemas/missionstats_schema.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ schema;master_schema:
1313
persistent: {type: bool, nullable: false}
1414
channel: {type: int, nullable: false}
1515
title: {type: str, nullable: false, range: {min: 1}}
16+
# Allow deep nesting for Node/Instance declaration
17+
regex;(.+):
18+
include: 'master_schema'
1619

1720
type: map
1821
nullable: false
@@ -23,5 +26,3 @@ mapping:
2326
include: 'commands_schema'
2427
regex;(.+):
2528
include: 'master_schema'
26-
regex;(.+):
27-
include: 'master_schema'

plugins/motd/schemas/motd_schema.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ schema;master_schema:
7575
# type: seq
7676
# sequence:
7777
# - include: 'nudge'
78+
# Allow deep nesting for Node/Instance declaration
79+
regex;(.+):
80+
include: 'master_schema'
7881

7982
type: map
8083
nullable: false
@@ -85,5 +88,3 @@ mapping:
8588
include: 'commands_schema'
8689
regex;(.+):
8790
include: 'master_schema'
88-
regex;(.+):
89-
include: 'master_schema'

0 commit comments

Comments
 (0)