def check_player_account_gem_for_ban(interface_url, user): # get cognito id from identity map cognito_id = identity_validator.get_id_from_user(user) client = cgf_service_client.for_url(interface_url, verbose=True, session=boto3._get_default_session()) result = client.navigate('accountinfo', cognito_id).GET() # ask player account if that player is banned return result.DATA.get('AccountBlacklisted', False)
def post(request, user = None): interface_url = cgf_lambda_settings.get_service_url("CloudGemPlayerAccount_banplayer_1_0_0") if not interface_url: return { "status": ban_handler.ban(user) } service_client = cgf_service_client.for_url(interface_url, verbose=True, session=boto3._get_default_session()) result = service_client.navigate('playerban').POST({"id": identity_validator.get_id_from_user(user)}) return result.DATA
def delete(request, user=None): """ Call PlayerAccount to unban the player Player must be a registered uer in the PlayerAccount Gem and Leaderboards must have seen the player via a data request to have a mapping between the user name and the cognition identity (for get_id_from_user) """ print("Handling player unban for {}".format(user)) interface_url = cgf_lambda_settings.get_service_url( "CloudGemPlayerAccount_banplayer_1_0_0") if not interface_url: return {"status": ban_handler.lift_ban(user)} service_client = cgf_service_client.for_url( interface_url, verbose=True, session=boto3._get_default_session()) navigation = service_client.navigate('playerban') cog_id = identity_validator.get_id_from_user(user) if cog_id is None: raise errors.ClientError(UNKNOWN_PLAYER_ERROR_MESSAGE.format(user)) result = navigation.DELETE({"id": cog_id}) return result.DATA