From 7485e95a9e93ae15bc3d222218a70f2ee0920748 Mon Sep 17 00:00:00 2001 From: Luna Mendes Date: Wed, 21 Nov 2018 16:56:56 -0300 Subject: [PATCH] users: add image/gif + nitro checking --- litecord/blueprints/users.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/litecord/blueprints/users.py b/litecord/blueprints/users.py index 527a6fa..0c9e1dd 100644 --- a/litecord/blueprints/users.py +++ b/litecord/blueprints/users.py @@ -12,6 +12,9 @@ from .auth import check_password from litecord.auth import hash_data, check_username_usage from litecord.blueprints.guild.mod import remove_member +from litecord.blueprints.user.billing import PremiumType +from litecord.images import parse_data_uri + bp = Blueprint('user', __name__) @@ -184,6 +187,11 @@ async def patch_me(): # IconManager.update will take care of validating # the value once put()-ing if to_update(j, user, 'avatar'): + mime, _ = parse_data_uri(j['avatar']) + + if mime == 'image/gif' and user['premium_type'] == PremiumType.NONE: + raise BadRequest('no gif without nitro') + new_icon = await app.icons.update( 'user', user_id, j['avatar'], size=(128, 128))