def list_sqlx_files()

in cicd-deployers/iam_metadata_extractor.py [0:0]


def list_sqlx_files(repo):
    """Lists .sqlx files with 'ddl' tag in a GitHub repository.

    Args:
      repo: The GitHub repository object.
    """
    all_metadata = []
    contents = repo.get_contents("")
    while contents:
        file_content = contents.pop(0)
        if file_content.type == "dir":
            contents.extend(repo.get_contents(file_content.path))

        elif file_content.name.endswith(".sqlx"):
            file_path = file_content.path
            file_content = repo.get_contents(file_path).decoded_content.decode()
            if 'tags: ["ddl"]' in file_content:
                metadata = extract_iam_metadata(file_content)
                if metadata:
                    all_metadata.append(metadata)

    print(json.dumps(all_metadata, indent=2))