# Phase 1 Rollback — XML Infrastructure

## What Phase 1 Added

**New files (safe to delete, nothing depends on them):**
- `app/Support/XmlResponder.php`
- `app/Http/Middleware/ParseXmlRequest.php`

**Modified files (restore from backup):**
- `bootstrap/app.php` — added `parse.xml` middleware alias
- `routes/api.php` — added `wani/v1` route group + `XmlResponder` import

## How to Roll Back

From the backend root directory:

```bash
# 1. Restore modified files
cp rollback/phase-1/api.php.before routes/api.php
cp rollback/phase-1/app.php.before bootstrap/app.php

# 2. Delete new files
rm app/Support/XmlResponder.php
rm app/Http/Middleware/ParseXmlRequest.php
rmdir app/Support  # only if empty

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

After rollback, the app is byte-identical to pre-Phase-1 state.

## Impact If NOT Rolled Back

- **Zero functional impact** on existing JSON API
- Adds one new route: `GET /api/wani/v1/ping` (returns XML `<Pong>`)
- Adds one new middleware alias: `parse.xml` (only used by `wani/v1` routes)

## Phase 1 Verification

After deploy, test:
```bash
curl https://flutter.pmwani.net/api/wani/v1/ping
```

Expected response:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<Pong>
  <Status>OK</Status>
  <Version>v1</Version>
  <Timestamp>2026-04-21T...</Timestamp>
</Pong>
```

## Server Deployment Commands

```bash
# Upload new files
scp -P 21212 app/Support/XmlResponder.php immunity@147.93.30.127:/var/www/mobile_app_backend/app/Support/XmlResponder.php
scp -P 21212 app/Http/Middleware/ParseXmlRequest.php immunity@147.93.30.127:/var/www/mobile_app_backend/app/Http/Middleware/ParseXmlRequest.php
scp -P 21212 bootstrap/app.php immunity@147.93.30.127:/var/www/mobile_app_backend/bootstrap/app.php
scp -P 21212 routes/api.php immunity@147.93.30.127:/var/www/mobile_app_backend/routes/api.php

# Create Support directory on server if missing
ssh immunity@147.93.30.127 -p 21212 "mkdir -p /var/www/mobile_app_backend/app/Support"

# Clear caches on server
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

If something breaks after deploy:

```bash
# Restore from local backups
scp -P 21212 rollback/phase-1/api.php.before immunity@147.93.30.127:/var/www/mobile_app_backend/routes/api.php
scp -P 21212 rollback/phase-1/app.php.before immunity@147.93.30.127:/var/www/mobile_app_backend/bootstrap/app.php

# Delete new files on server
ssh immunity@147.93.30.127 -p 21212 "rm /var/www/mobile_app_backend/app/Support/XmlResponder.php /var/www/mobile_app_backend/app/Http/Middleware/ParseXmlRequest.php && cd /var/www/mobile_app_backend && php artisan config:clear && php artisan route:clear"
```
