Files
boc/vims-backend/scripts/upload-photo.sh
T
Bernt 6de2455917 v1.2.0: Add Global Markets footer, translated to 9 languages
- Added GLOBAL_MARKETS_TITLE to all translation files
- Updated footer with 12 markets (4 active + 8 upcoming)
- Translated market section to: zh-cn, zh-tw, ja, ko, th, vi, id, ms, hi
- Built and deployed to production
- CloudFront invalidation: I3RTMXVFDJXWLG3SYX208OP1CC
2026-07-08 19:56:03 +00:00

84 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# VIMS Photo Upload Script
# Uploads photos to VIMS API
set -e
API_URL="${VIMS_API_URL:-http://localhost:3450}"
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
show_help() {
echo "VIMS Photo Upload"
echo ""
echo "Usage:"
echo " $0 -f <photo.jpg> -o <object-id> -a <angle>"
echo ""
echo "Options:"
echo " -f Photo file path"
echo " -o Object ID (from created object)"
echo " -a Angle: front, back, left, right, top, detail"
echo " -z Zoomer ID (optional)"
echo ""
echo "Examples:"
echo " $0 -f ~/photos/atm1.jpg -o abc-123 -a front"
echo " $0 -f ~/photos/atm1.jpg -o abc-123 -a left -z zoomer-001"
}
# Parse arguments
while getopts "f:o:a:z:h" opt; do
case $opt in
f) PHOTO="$OPTARG" ;;
o) OBJECT_ID="$OPTARG" ;;
a) ANGLE="$OPTARG" ;;
z) ZOOMER_ID="$OPTARG" ;;
h) show_help; exit 0 ;;
*) show_help; exit 1 ;;
esac
done
# Validate
if [ -z "$PHOTO" ] || [ -z "$OBJECT_ID" ] || [ -z "$ANGLE" ]; then
echo -e "${RED}Error: Missing required arguments${NC}"
show_help
exit 1
fi
if [ ! -f "$PHOTO" ]; then
echo -e "${RED}Error: File not found: $PHOTO${NC}"
exit 1
fi
echo -e "${YELLOW}Uploading photo to VIMS...${NC}"
echo " File: $PHOTO"
echo " Object: $OBJECT_ID"
echo " Angle: $ANGLE"
# Build curl command
CURL_CMD="curl -s -X POST \"$API_URL/api/v1/observations\" \
-F \"images=@$PHOTO\" \
-F \"objectId=$OBJECT_ID\" \
-F \"angle=$ANGLE\""
if [ -n "$ZOOMER_ID" ]; then
CURL_CMD="$CURL_CMD -F \"zoomerId=$ZOOMER_ID\""
fi
# Upload
RESPONSE=$(eval $CURL_CMD)
# Check response
if echo "$RESPONSE" | grep -q "error"; then
echo -e "${RED}Upload failed:${NC}"
echo "$RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE"
exit 1
else
echo -e "${GREEN}✓ Upload successful!${NC}"
echo "$RESPONSE" | python3 -m json.tool 2>/dev/null || echo "$RESPONSE"
fi