mirror of https://gitlab.com/litecord/litecord.git
guild.members: validate nickname on update_nickname
- schemas: add nickname type
This commit is contained in:
parent
2adc88e9e4
commit
1747d0c346
|
|
@ -170,13 +170,17 @@ async def update_nickname(guild_id):
|
|||
user_id = await token_check()
|
||||
await guild_check(user_id, guild_id)
|
||||
|
||||
j = await request.get_json()
|
||||
j = validate(await request.get_json(), {
|
||||
'nick': {'type': 'nickname'}
|
||||
})
|
||||
|
||||
nick = j['nick'] or None
|
||||
|
||||
await app.db.execute("""
|
||||
UPDATE members
|
||||
SET nickname = $1
|
||||
WHERE user_id = $2 AND guild_id = $3
|
||||
""", j['nick'], user_id, guild_id)
|
||||
""", nick, user_id, guild_id)
|
||||
|
||||
member = await app.storage.get_member_data_one(guild_id, user_id)
|
||||
member.pop('joined_at')
|
||||
|
|
|
|||
|
|
@ -127,6 +127,9 @@ class LitecordValidator(Validator):
|
|||
def _validate_type_theme(self, value: str) -> bool:
|
||||
return value in ['light', 'dark']
|
||||
|
||||
def _validate_type_nickname(self, value: str) -> bool:
|
||||
return isinstance(value, str) and len(value) in range(1, 32)
|
||||
|
||||
|
||||
def validate(reqjson: Union[Dict, List], schema: Dict,
|
||||
raise_err: bool = True) -> Union[Dict, List]:
|
||||
|
|
@ -350,10 +353,7 @@ ROLE_UPDATE_POSITION = {
|
|||
|
||||
MEMBER_UPDATE = {
|
||||
'nick': {
|
||||
'type': 'username',
|
||||
'minlength': 1, 'maxlength': 100,
|
||||
'required': False,
|
||||
},
|
||||
'type': 'nickname', 'required': False},
|
||||
'roles': {'type': 'list', 'required': False,
|
||||
'schema': {'coerce': int}},
|
||||
'mute': {'type': 'boolean', 'required': False},
|
||||
|
|
|
|||
Loading…
Reference in New Issue