---

- name: Ensure git installed (RedHat)
  yum:
    name:
      - git
    state: present
    update_cache: false
  when: "ansible_os_family == 'RedHat'"

- name: Ensure git installed (Debian)
  apt:
    name:
      - git
    state: present
    update_cache: false
  when: "ansible_os_family == 'Debian'"

- name: Ensure git installed (Archlinux)
  pacman:
    name:
      - git
    state: present
    update_cache: false
  when: "ansible_distribution == 'Archlinux'"

- name: Clone mjolnir-antispam git repository
  git:
    repo: "{{ matrix_synapse_ext_spam_checker_mjolnir_antispam_git_repository_url }}"
    version: "{{ matrix_synapse_ext_spam_checker_mjolnir_antispam_git_version }}"
    dest: "{{ matrix_synapse_ext_path }}/mjolnir"
  become: true
  become_user: "{{ matrix_user_username }}"

- set_fact:
    matrix_synapse_spam_checker: >
      {{
        matrix_synapse_spam_checker
        +
        [{
          "module": "mjolnir.AntiSpam",
          "config": {
            "block_invites": matrix_synapse_ext_spam_checker_mjolnir_antispam_config_block_invites,
            "block_messages": matrix_synapse_ext_spam_checker_mjolnir_antispam_config_block_messages,
            "block_usernames": matrix_synapse_ext_spam_checker_mjolnir_antispam_config_block_usernames,
            "ban_lists": matrix_synapse_ext_spam_checker_mjolnir_antispam_config_ban_lists,
          }
        }]
      }}

    matrix_synapse_container_extra_arguments: >
      {{
        matrix_synapse_container_extra_arguments|default([])
        +
        ["--mount type=bind,src={{ matrix_synapse_ext_path }}/mjolnir/synapse_antispam/mjolnir,dst={{ matrix_synapse_in_container_python_packages_path }}/mjolnir,ro"]
      }}