---
#-----------------------------------------------------------------------------#
# ansible-yunohost allows to deploy Yunohost using Ansible                    #
# Copyright 2021-present Lydra https://www.lydra.fr/                          #
#                                                                             #
# this program is free software: you can redistribute it and/or modify        #
# it under the terms of the GNU General Public License as published by        #
# the Free Software Foundation, either version 3 of the License, or           #
# (at your option) any later version.                                         #
#                                                                             #
# this program is distributed in the hope that it will be useful,             #
# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the                #
# GNU General Public License for more details.                                #
#                                                                             #
# You should have received a copy of the GNU General Public License           #
# along with this program. If not, see <http://www.gnu.org/licenses/>.        #
#                                                                             #
#-----------------------------------------------------------------------------#

- name: List users
  ansible.builtin.command: yunohost user list --output-as json
  register: ynh_registered_users_raw
  changed_when: False
  tags:
    - yunohost
    - users

- name: Format json of users
  ansible.builtin.set_fact: ynh_registered_users="{{ ynh_registered_users_raw.stdout | from_json }}"
  tags:
    - yunohost
    - users

- name: Create missing Yunohost users
  ansible.builtin.command:
    yunohost user create "{{ item.name }}" \
    -F "{{ item.fullname }}" \
    -d "{{ item.mail_domain }}" \
    -p "{{ item.pass }}"
  loop: "{{ ynh_users }}"
  when: item.name not in ynh_registered_users.users.keys()
  tags:
    - yunohost
    - users
