---
- name: List currently installed apps
  ansible.builtin.command: yunohost app map --output-as json
  register: ynh_installed_apps_raw
  changed_when: False

- name: Format json of apps
  ansible.builtin.set_fact: ynh_installed_apps="{{ ynh_installed_apps_raw.stdout | from_json }}"

- name: Install yunohost apps
  ansible.builtin.command: yunohost app install {{ item.link }} \
     --label "{{ item.label }}" \
     --args "{% for key, value in item.args.items() %}{{ key }}={{ value
    }}{% if not loop.last %}&{% endif %}{% endfor %}"
  with_items: "{{ ynh_apps }}"
  when: item.label not in ynh_installed_apps.values()
