# Floom webgen project makefile netlify deploy defs
# created by jt@floom.com

build-all-envs:
	echo "HEAD: $(HEAD), PULL_REQUEST: $(PULL_REQUEST), CONTEXT: $(CONTEXT), BRANCH: $(BRANCH)"
	echo "INCOMING_HOOK_TITLE: $(INCOMING_HOOK_TITLE), INCOMING_HOOK_BODY: $(INCOMING_HOOK_BODY)"
	echo "node env: $(NODE_ENV)"
ifeq ($(HEAD),master)
	$(MAKE) build-env-prod
else
ifneq ($(findstring release,$(HEAD)),)
	$(MAKE) build-env-prod build-functions-toml-prod
else
	$(MAKE) build-env-staging build-functions-toml-staging
endif
endif
	echo copying
	cp .env.production ../netlify-functions/.env.production
	echo done

# .env.production variables for app (staging)
build-env-staging:
	echo staging
	sed -e "s/\_GATSBY_DATO_API_TOKEN/$(GATSBY_DATO_API_TOKEN)/" \
		-e "s/\_GATSBY_DATO_WRITE_API_TOKEN/$(GATSBY_DATO_WRITE_API_TOKEN)/" \
		-e "s/\_GATSBY_FLOOMX_TOKEN/$(GATSBY_FLOOMX_TOKEN)/" \
		-e "s&\_FLOOMX_API_URL&$(FLOOMX_API_URL)&" \
		-e "s/\_WEBSITE_GEN_API_KEY/$(WEBSITE_GEN_API_KEY)/" \
		-e "s/\_BUILD_HOOK_KEY/$(BUILD_HOOK_KEY)/" \
		env_template > .env.production

# netlify toml file variables for netlify functions (staging)
build-functions-toml-staging:
	echo staging
		sed -e "s&\_FLOOMX_API_URL&$(FLOOMX_API_URL)&" \
		-e "s/\_WEBSITE_GEN_API_KEY/$(WEBSITE_GEN_API_KEY)/" \
		-e "s/\_BUILD_HOOK_KEY/$(BUILD_HOOK_KEY)/" \
		../netlify-functions/toml_template > ../netlify-functions/netlify.toml

# .env.production variables for app (prod)
build-env-prod:
	echo production
	sed -e "s/\_GATSBY_DATO_API_TOKEN/$(GATSBY_DATO_API_TOKEN)/" \
		-e "s/\_GATSBY_DATO_WRITE_API_TOKEN/$(GATSBY_DATO_WRITE_API_TOKEN)/" \
		-e "s/\_GATSBY_MAPBOX_ACCESS_TOKEN/$(GATSBY_MAPBOX_ACCESS_TOKEN)/" \
		-e "s/\_GATSBY_FLOOMX_TOKEN/$(GATSBY_FLOOMX_TOKEN)/" \
		-e "s&\_FLOOMX_API_URL&$(PROD_FLOOMX_API_URL)&" \
		-e "s/\_WEBSITE_GEN_API_KEY/$(PROD_WEBSITE_GEN_API_KEY)/" \
		-e "s/\_POSTMARK_API_TOKEN/$(POSTMARK_API_TOKEN)/" \
		-e "s/\_BUILD_HOOK_KEY/$(BUILD_HOOK_KEY)/" \
		-e "s/\_GATSBY_STRIPE_API_KEY/$(GATSBY_STRIPE_API_KEY)/" \
		-e "s/\_CS_SEND_LIVE_EMAILS/true/" \
		env_template > .env.production

# netlify toml file variables for netlify functions (prod)
build-functions-toml-prod:
	echo production
	sed -e "s/\_GATSBY_DATO_API_TOKEN/$(GATSBY_DATO_API_TOKEN)/" \
		-e "s/\_GATSBY_DATO_WRITE_API_TOKEN/$(GATSBY_DATO_WRITE_API_TOKEN)/" \
		-e "s/\_GATSBY_MAPBOX_ACCESS_TOKEN/$(GATSBY_MAPBOX_ACCESS_TOKEN)/" \
		-e "s/\_GATSBY_FLOOMX_TOKEN/$(GATSBY_FLOOMX_TOKEN)/" \
		-e "s&\_FLOOMX_API_URL&$(PROD_FLOOMX_API_URL)&" \
		-e "s/\_WEBSITE_GEN_API_KEY/$(PROD_WEBSITE_GEN_API_KEY)/" \
		-e "s/\_POSTMARK_API_TOKEN/$(POSTMARK_API_TOKEN)/" \
		-e "s/\_BUILD_HOOK_KEY/$(BUILD_HOOK_KEY)/" \
		-e "s/\_GATSBY_STRIPE_API_KEY/$(GATSBY_STRIPE_API_KEY)/" \
		-e "s/\_CS_SEND_LIVE_EMAILS/true/" \
		../netlify-functions/toml_template > ../netlify-functions/netlify.toml
