#!/bin/bash
# Rename all .go.txt model files to .go files in GoChat project
# Run this script from: cd /home/yanghao05/Workspace/gochat

cd /home/yanghao05/Workspace/gochat

echo "Renaming .go.txt files to .go files..."

# Rename in internal/model/
for f in internal/model/*.go.txt; do
    if [ -f "$f" ]; then
        newname="${f%.txt}"
        # Remove existing .go file if it exists (they're skeletal stubs)
        if [ -f "$newname" ]; then
            echo "Replacing: $newname"
        else
            echo "Creating: $newname"
        fi
        mv "$f" "$newname"
    fi
done

# Rename in internal/model/channel/
for f in internal/model/channel/*.go.txt; do
    if [ -f "$f" ]; then
        newname="${f%.txt}"
        if [ -f "$newname" ]; then
            echo "Replacing: $newname"
        else
            echo "Creating: $newname"
        fi
        mv "$f" "$newname"
    fi
done

# Remove the old test/placeholder files
rm -f internal/model/test_write.go
rm -f internal/model/base_test.txt
rm -f rename_models.sh.txt

echo "Done! All .go.txt files renamed to .go"

# List all model files
echo ""
echo "Model files in internal/model/:"
ls -1 internal/model/*.go 2>/dev/null
echo ""
echo "Channel model files in internal/model/channel/:"
ls -1 internal/model/channel/*.go 2>/dev/null