#!/usr/bin/env bash
set -euo pipefail

if [ $# -ne 1 ]; then
    echo "Usage: $0 <mockgen path>"
    exit 1
fi

mockgen=$1

for f in ./internal/domain/facade/*.go; do
  filename=$(basename -s .go "$f")
  [[ ! $f == *"_test.go" ]] && $mockgen -source="$f" -destination \
  "./internal/domain/facade/mock_facade/mock_$filename.go" -package mock_facade
done

for f in ./internal/domain/repo/*.go; do
  filename=$(basename -s .go "$f")
  [[ ! $f == *"_test.go" ]] && $mockgen -source="$f" -destination \
  "./internal/domain/repo/mock_repo/mock_$filename.go" -package mock_repo
done

for f in ./internal/domain/service/*.go; do
  filename=$(basename -s .go "$f")
  [[ ! $f == *"_test.go" ]] && $mockgen -source="$f" -destination \
  "./internal/domain/service/mock_service/mock_$filename.go" -package mock_service
done

exit 0
