---

- name: Create user account @janitor
  command: |
    /usr/local/bin/matrix-synapse-register-user janitor {{ awx_janitor_user_password | quote }} 1
  register: cmd
  when: not awx_janitor_user_created|bool
  no_log: True
    
- name: Update AWX janitor user created variable
  delegate_to: 127.0.0.1
  lineinfile:
    path: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/matrix_vars.yml'
    regexp: "^#? *{{ item.key | regex_escape() }}:"
    line: "{{ item.key }}: {{ item.value }}"
    insertafter: 'AWX Settings'
  with_dict:
    'awx_janitor_user_created': 'true'
  when: not awx_janitor_user_created|bool

- name: Create user account @dimension
  command: |
    /usr/local/bin/matrix-synapse-register-user dimension {{ awx_dimension_user_password | quote }} 0
  register: cmd
  when: not awx_dimension_user_created|bool
  no_log: True
  
- name: Update AWX dimension user created variable
  delegate_to: 127.0.0.1
  lineinfile:
    path: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/matrix_vars.yml'
    regexp: "^#? *{{ item.key | regex_escape() }}:"
    line: "{{ item.key }}: {{ item.value }}"
    insertafter: 'AWX Settings'
  with_dict:
    'awx_dimension_user_created': 'true'
  when: not awx_dimension_user_created|bool

- name: Create user account @mjolnir
  command: |
    /usr/local/bin/matrix-synapse-register-user mjolnir {{ awx_mjolnir_user_password | quote }} 0
  register: cmd
  when: not awx_mjolnir_user_created|bool
  no_log: True
  
- name: Update AWX dimension user created variable
  delegate_to: 127.0.0.1
  lineinfile:
    path: '/var/lib/awx/projects/clients/{{ member_id }}/{{ subscription_id }}/matrix_vars.yml'
    regexp: "^#? *{{ item.key | regex_escape() }}:"
    line: "{{ item.key }}: {{ item.value }}"
    insertafter: 'AWX Settings'
  with_dict:
    'awx_mjolnir_user_created': 'true'
  when: not awx_mjolnir_user_created|bool

- name: Ensure /chroot/website location has correct permissions
  file:
    path: /chroot/website
    state: directory
    owner: matrix
    group: matrix
    mode: '0770'
  when: awx_customise_base_domain_website is defined

- name: Collect Discord AppService bot invite link if file exists
  command:
    cat /matrix/appservice-discord/config/invite_link
  register: awx_discord_appservice_link
  when: awx_appservice_discord_admin_user is defined
  args:
    removes: /matrix/appservice-discord/config/invite_link

- name: Print Discord AppService bot link for user
  debug:
    msg: "{{ awx_discord_appservice_link.stdout }}"
  when: awx_discord_appservice_link.stdout is defined