docs: def get_submission_filenames(self, tournament=None, round_num=None):
          """Get filenames of the submission of the user.
  
          Args:
              tournament (int): optionally filter by ID of the tournament
              round_num (int): optionally filter round number
  
          Returns:
              list: list of user filenames (`dict`)
  
              Each filenames in the list as the following structure:
  
                  * filename (`str`)
                  * round_num (`int`)
                  * tournament (`int`)
  
          Example:
              >>> NumerAPI().get_submission_filenames(3, 111)
              [{'filename': 'model57-dMpHpYMPIUAF.csv',
                'round_num': 111,
                'tournament': 3}]
  
          """
          query = '''
            query {
              user {
                submissions {
                  filename
                  selected
                  round {
                     tournament
                     number
                  }
                }
              }
            }
          '''
          data = self.raw_query(query, authorization=True)['data']['user']
  
          filenames = [{"round_num": item['round']['number'],
                        "tournament": item['round']['tournament'],
                        "filename": item['filename']}
                       for item in data['submissions'] if item['selected']]
  
          if round_num is not None:
              filenames = [f for f in filenames if f['round_num'] == round_num]
          if tournament is not None:
              filenames = [f for f in filenames if f['tournament'] == tournament]
          filenames.sort(key=lambda f: (f['round_num'], f['tournament']))
          return filenames