# Styles
YELLOW=$(shell echo "\033[00;33m")
RED=$(shell echo "\033[00;31m")
RESTORE=$(shell echo "\033[0m")

# Variables
CURRENT_DIR := $(shell pwd)
CURRENT_USER := $(shell whoami)
IBEXA_DIR := $(CURRENT_DIR)/ibexa
DATA_DIR := $(CURRENT_DIR)/data

.DEFAULT_GOAL := list

.PHONY: list
list:
	@echo "*********************"
	@echo "${YELLOW}Available targets${RESTORE}:"
	@echo "*********************"
	@grep -E '^[a-zA-Z-]+:.*?## .*$$' Makefile | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "[32m%-15s[0m %s\n", $$1, $$2}'

.PHONY: ddevinstall
ddevinstall: ## Install the local project
	@echo "${YELLOW}.env created${RESTORE}"
	@echo "DDEV_USER=${CURRENT_USER}\nDDEV_APPROOT=${CURRENT_DIR}" > .ddev/.env
	@echo "${YELLOW}Starting ddev${RESTORE}"
	ddev start

.PHONY: installdb
installdb: ## Install database
	@echo "${YELLOW}Installing database${RESTORE}"
	@gzip -dc data/database.sql.gz | ddev import-db

.PHONY: installproject
installproject: ## Install project
	@echo "${YELLOW}Installing project ${RESTORE}"
	@ddev exec "composer install"

.PHONY: cacheclear
cacheclear: ## Clear the cache
	@echo "${YELLOW}Clearing the cache ${RESTORE}"
	@ddev exec "bin/console c:c"
