feat: Add Cantaloupe sync API with staged import workflow

- New cantaloupe_sync.py module with complete pipeline
- Heuristic Excel column mapping (20+ keyword patterns)
- Diff engine: detects new/changed/removed/unchanged assets
- 5 API endpoints: sync, list batches, view batch, approve, reject
- cantaloupe_sync_batches table with status workflow
- Admin server port changed to 8090
- openpyxl added to requirements.txt
This commit is contained in:
Leo
2026-05-21 19:00:19 -04:00
parent 377b3868cb
commit d2c76aea7f
4 changed files with 892 additions and 2 deletions
+1 -2
View File
@@ -5,9 +5,8 @@ set -euo pipefail
PORT="${PORT:-8090}"
HOST="${HOST:-0.0.0.0}"
CANTEEN_DB_PATH="${CANTEEN_DB_PATH:-$(dirname "$0")/../canteen-asset-tracker/assets.db}"
exec env CANTEEN_DB_PATH="$CANTEEN_DB_PATH" python -m uvicorn admin_server:app \
exec python -m uvicorn admin_server:app \
--host "$HOST" \
--port "$PORT" \
--reload \