schemas: add CHAN_CREATE

- guild.channels: add CHAN_CREATE validation
This commit is contained in:
Luna 2019-02-05 18:56:41 -03:00
parent 3c46948837
commit 3a8eaec147
2 changed files with 16 additions and 6 deletions

View File

@ -26,7 +26,7 @@ from litecord.enums import ChannelType
from litecord.blueprints.guild.roles import gen_pairs
from litecord.schemas import (
validate, ROLE_UPDATE_POSITION
validate, ROLE_UPDATE_POSITION, CHAN_CREATE
)
from litecord.blueprints.checks import (
guild_check, guild_owner_check, guild_perm_check
@ -98,7 +98,7 @@ async def get_guild_channels(guild_id):
async def create_channel(guild_id):
"""Create a channel in a guild."""
user_id = await token_check()
j = await request.get_json()
j = validate(await request.get_json(), CHAN_CREATE)
await guild_check(user_id, guild_id)
await guild_perm_check(user_id, guild_id, 'manage_channels')

View File

@ -302,10 +302,14 @@ CHAN_OVERWRITE = {
}
CHAN_UPDATE = {
CHAN_CREATE = {
'name': {
'type': 'string', 'minlength': 2,
'maxlength': 100, 'required': False},
'maxlength': 100, 'required': True
},
'type': {'coerce': ChannelType,
'default': ChannelType.GUILD_TEXT},
'position': {'coerce': int, 'required': False},
@ -337,11 +341,17 @@ CHAN_UPDATE = {
},
'parent_id': {'coerce': int, 'required': False, 'nullable': True}
}
CHAN_UPDATE = {**CHAN_CREATE, **{
'name': {
'type': 'string', 'minlength': 2,
'maxlength': 100, 'required': False},
}}
ROLE_CREATE = {
'name': {'type': 'string', 'default': 'new role'},
'permissions': {'coerce': Permissions, 'nullable': True},