include .env.infra-example

clone:
	git clone ${MY_APP_GIT_URL} app

compose-up:
	docker-compose up -d

compose-down:
	docker-compose down --remove-orphans -v

status:
	docker-compose ps

tinker:
	docker-compose exec php-fpm ./artisan tinker

setup-laravel-key:
	docker-compose exec php-fpm php /application/artisan key:generate

setup-laravel-packages:
	docker-compose exec php-fpm composer install

copy-laravel-env:
	docker-compose exec php-fpm cp /application/.env.example /application/.env

copy-infra-env:
	cp .env.infra-example .env

run-migrations:
	docker-compose exec php-fpm ./artisan migrate

run-plan-seed:
	docker-compose exec php-fpm ./artisan db:seed --class=PlanSeeder

run-user-seed:
	docker-compose exec php-fpm ./artisan db:seed --class=UserSeeder

seed-db:
	docker-compose exec php-fpm ./artisan db:seed

fix-permissions:
	docker-compose exec php-fpm chown -R www-data:www-data storage

lint-code-style:
	docker-compose exec php-fpm composer php-cs-fixer fix

artisan:
	docker-compose exec php-fpm ./artisan $(ARGS)

mysql-console:
	docker-compose exec mysql mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}

start-frontend:
	docker-compose exec php-fpm npm run watch

start-frontend-prod:
	docker-compose exec php-fpm npm run production

make-storage-link:
	docker-compose exec php-fpm ./artisan storage:link

node-frontend-deps:
	docker-compose exec php-fpm npm i --legacy-peer-deps

init: clone compose-down compose-up setup-laravel-packages copy-laravel-env setup-laravel-key run-migrations node-frontend-deps start-frontend-prod fix-permissions make-storage-link
