# Load this role via nginx-modifier-all for consistency

- name: "Relevant variables for role: {{ role_path | basename }}"
  debug:
    msg:
      domain: "{{ domain }}"
      base_domain: "{{ base_domain }}"
      verification_url: "{{ verification_url }}"
  when: enable_debug | bool

- name: Check if site {{ domain }} is allready registered at Matomo
  uri:
    url:            "{{verification_url}}"
    method:         GET
    return_content: yes
    status_code:    200
    validate_certs: yes
  register:         site_check

- name: Set matomo_site_id to Null
  set_fact:
    matomo_site_id: Null

- name: Set fact for site ID if site already exists
  set_fact:
    matomo_site_id: "{{ site_check.json[0].idsite }}"
  when: "(site_check.json | length) > 0"

- name: Add site to Matomo and get ID if not exists
  uri:
    url: "https://{{ domains.matomo }}/index.php"
    method: POST
    body: "module=API&method=SitesManager.addSite&siteName={{ base_domain }}&urls=https://{{ base_domain }}&token_auth={{ applications.matomo.auth_token }}&format=json"
    body_format: form-urlencoded
    status_code: 200
    return_content: yes
    validate_certs: yes
  register: add_site
  when: "matomo_site_id is not defined or matomo_site_id is none"

- name: Set fact for site ID if site was added
  set_fact:
    matomo_site_id: "{{ add_site.json.value }}"
  when: "matomo_site_id is not defined or matomo_site_id is none"

- name: Set the Matomo tracking code from a template file
  set_fact:
    matomo_tracking_code: "{{ lookup('template', 'matomo-tracking.js.j2') }}"

- name: Set the tracking code as a one-liner
  set_fact:
    matomo_tracking_code_one_liner: "{{ matomo_tracking_code | regex_replace('\\n', '') | regex_replace('\\s+', ' ') }}"