#!/bin/sh

set -e

. /etc/pkgos/pkgos.conf

ME=$(basename $0)

usage () {
	echo "$ME --project-group <group> --project-name <name>"
	exit 1
}

for i in $@ ; do
	case "${1}" in
	"--project-group")
		if [ -z "${2}" ] ; then
			echo "No parameter defining the project group."
			usage
		fi
		PROJECT_GROUP=${2}
		shift
		shift
	;;
	"--project-name")
		if [ -z "${2}" ] ; then
			echo "No parameter defining the project name."
			usage
		fi
		PROJECT_NAME=${2}
		shift
		shift
	;;
	"--jenkins-token")
		if [ -z "${2}" ] ; then
			echo "No parameter defining the Jenkins token"
			usage
		fi
		JENKINS_TOKEN=${2}
		shift
		shift
	;;
	*)
	;;
	esac
done

if [ -z "${PROJECT_GROUP}" ] ; then
	echo "No project group."
	usage
fi

if [ -z "${PROJECT_NAME}" ] ; then
	echo "No project name."
	usage
fi

set -x

SUBGROUP_GROUP_ID=$(cat ${SUBGROUP_FILE} | grep -E "^${PROJECT_GROUP}," | cut -d, -f2)


# Create the project:
curl --request POST --header "PRIVATE-TOKEN: $SALSA_TOKEN" \
	--header "Content-Type: application/json" \
	--data '{"name": "'${PROJECT_NAME}'", "description": "'${PROJECT_NAME}'", "path": "'${PROJECT_NAME}'", "namespace_id": "'${SUBGROUP_GROUP_ID}'", "initialize_with_readme": "false"}' \
	--url "https://salsa.debian.org/api/v4/projects/"

# Find the project ID
PROJECT_ID=$(pkgos-salsa-get-project-id --project-name ${PROJECT_NAME})

# Write it in ${ALLGIT_FILE}
ALL_GIT_ENTRY="openstack-team/${PROJECT_GROUP}/${PROJECT_NAME}.git,${PROJECT_ID}"
if ! grep -q ${ALL_GIT_ENTRY} ${ALLGIT_FILE} ; then
	echo openstack-team/${PROJECT_GROUP}/${PROJECT_NAME}.git,${PROJECT_ID} >>${ALLGIT_FILE}
fi

pkgos-salsa-set-irker --project-id ${PROJECT_ID}
pkgos-salsa-set-tagpending-hook --project-id ${PROJECT_ID} --project-name ${PROJECT_NAME}
pkgos-salsa-set-emails-on-push --project-id ${PROJECT_ID}
