43 lines
1.5 KiB
Bash
Executable File
43 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Script to add getErrorMessage import to files that use it
|
|
|
|
cd /Users/velikho/Desktop/WORKING/Base/services/iam-service/src
|
|
|
|
# Find all files that use getErrorMessage but don't have the import
|
|
for file in $(find . \( -name "*.controller.ts" -o -name "*.middleware.ts" -o -name "*.service.ts" \) -not -path "*/__tests__/*" -not -name "*.test.ts" -exec grep -l "getErrorMessage" {} \;); do
|
|
# Check if import already exists
|
|
if ! grep -q "getErrorMessage.*from.*error-utils" "$file"; then
|
|
# Calculate relative path to error-utils
|
|
depth=$(echo "$file" | grep -o "/" | wc -l)
|
|
if [ $depth -eq 2 ]; then
|
|
# File is in src/modules/xxx/
|
|
relative_path="../utils/error-utils"
|
|
elif [ $depth -eq 3 ]; then
|
|
# File is in src/modules/xxx/yyy/
|
|
relative_path="../../utils/error-utils"
|
|
elif [ $depth -eq 4 ]; then
|
|
# File is in src/modules/xxx/yyy/zzz/
|
|
relative_path="../../../utils/error-utils"
|
|
else
|
|
# Default to ../../utils/error-utils
|
|
relative_path="../../utils/error-utils"
|
|
fi
|
|
|
|
# Add import after the last import statement
|
|
awk -v path="$relative_path" '
|
|
/^import/ { last_import=NR }
|
|
{ lines[NR]=$0 }
|
|
END {
|
|
for(i=1; i<=NR; i++) {
|
|
print lines[i]
|
|
if(i==last_import) {
|
|
print "import { getErrorMessage } from \"" path "\";"
|
|
}
|
|
}
|
|
}
|
|
' "$file" > "$file.tmp" && mv "$file.tmp" "$file"
|
|
|
|
echo "Added import to $file"
|
|
fi
|
|
done
|