# Phase 3 Rollback — XML Hotspot Discovery

## What Phase 3 Added

**New files (safe to delete):**
- `app/Http/Controllers/Wani/HotspotController.php`

**Modified files (restore from backup):**
- `routes/api.php` — added `HotspotController` import + `/hotspots` route

**Database changes:** NONE — reuses existing `wani_access_points` table

## How to Roll Back (Local)

```bash
cd c:/xampp/htdocs/Android_App/pmwani_mobile_app_backend

# 1. Restore api.php
cp rollback/phase-3/api.php.before routes/api.php

# 2. Delete new controller
rm app/Http/Controllers/Wani/HotspotController.php

# 3. Clear caches
php artisan config:clear
php artisan route:clear
php artisan cache:clear
```

After rollback, back to Phase 2 state (ping + pdoa-list only).

## Impact If NOT Rolled Back

- **Zero functional impact** on existing JSON API
- Existing `GET /api/nearby-providers` (used by Flutter app) untouched
- Adds one new XML route: `GET /api/wani/v1/hotspots?lat=X&lng=Y&radius=Z`
- Queries `wani_access_points` (read-only)
- Results cached 5 minutes per ~100m grid

## Phase 3 Verification

After deploy, test with Nagpur coordinates:
```bash
curl "https://flutter.pmwani.net/api/wani/v1/hotspots?lat=21.1458&lng=79.0882&radius=5"
```

Expected response (XML with nearby hotspots):
```xml
<?xml version="1.0" encoding="UTF-8"?>
<Hotspots>
  <Hotspot>
    <SSID>PM-WANI</SSID>
    <BSSID>50:48:2C:30:07:33</BSSID>
    <Location>
      <Latitude>21.1458</Latitude>
      <Longitude>79.0882</Longitude>
      <City>Nagpur</City>
      <State>Maharashtra</State>
    </Location>
    <Provider>
      <Id>65575039-a42b-4790-a942-4a1f87ac0a0e</Id>
      <Name>Immunity Networks</Name>
      <Type>PDOA</Type>
    </Provider>
    <CaptivePortalUrl>https://testapp.pmwani.net</CaptivePortalUrl>
    <DistanceMeters>120</DistanceMeters>
  </Hotspot>
  ...
  <Count>5</Count>
</Hotspots>
```

Error case (missing lat/lng):
```xml
<Error>
  <Code>MISSING_LOCATION</Code>
  <Message>Query params lat and lng are required</Message>
  <Timestamp>2026-04-21T...</Timestamp>
</Error>
```

## Server Deployment Commands

```bash
cd c:/xampp/htdocs/Android_App/pmwani_mobile_app_backend

# Upload new controller
scp -P 21212 app/Http/Controllers/Wani/HotspotController.php immunity@147.93.30.127:/var/www/mobile_app_backend/app/Http/Controllers/Wani/HotspotController.php

# Upload updated routes
scp -P 21212 routes/api.php immunity@147.93.30.127:/var/www/mobile_app_backend/routes/api.php

# Clear server caches
ssh immunity@147.93.30.127 -p 21212 "cd /var/www/mobile_app_backend && php artisan config:clear && php artisan route:clear && php artisan cache:clear"
```

## Server Rollback Commands

```bash
cd c:/xampp/htdocs/Android_App/pmwani_mobile_app_backend

# Restore api.php from backup
scp -P 21212 rollback/phase-3/api.php.before immunity@147.93.30.127:/var/www/mobile_app_backend/routes/api.php

# Delete new controller on server
ssh immunity@147.93.30.127 -p 21212 "rm /var/www/mobile_app_backend/app/Http/Controllers/Wani/HotspotController.php && cd /var/www/mobile_app_backend && php artisan config:clear && php artisan route:clear && php artisan cache:clear"
```
