Commit Graph

4 Commits

Author SHA1 Message Date
Johngreen
66018e37c4 feat: filter equipment import by tenant-company mapping
All checks were successful
Deploy to Production / deploy (push) Successful in 2m7s
- Add digital_twin_company_id column to tenants table
- Map spifox tenant to its digital-twin companyId
- Pass companyId filter when fetching from digital-twin API
- Return 404 with clear message for unmapped tenants
- Improve API error messages in frontend (show server detail)
2026-02-12 14:30:18 +09:00
Johngreen
d3ed2798af fix: fetch all equipment from digital-twin by paginating API
All checks were successful
Deploy to Production / deploy (push) Successful in 1m43s
The digital-twin API defaults to limit=10 per page. Now fetches with
limit=500 and iterates through all pages using hasNextPage pagination
metadata, ensuring every equipment item is available for import.
2026-02-12 12:42:01 +09:00
Johngreen
278cd9d551 feat: bidirectional equipment sync with digital-twin
All checks were successful
Deploy to Production / deploy (push) Successful in 1m37s
Add import, sync, and push capabilities between factoryOps and the
digital-twin (BaSyx AAS) backend. Includes:

- Equipment sync service with field mapping and LWW conflict resolution
- Import preview modal with already-imported detection
- Bidirectional sync (pull updates + push local changes)
- Sync history tracking via equipment_sync_history table
- Machine detail page shows sync status and change history
- Docker networking for container-to-container communication
- UI fixes: responsive layout (375px), touch targets, section spacing
- 30 test cases for sync service
2026-02-12 12:27:21 +09:00
Johngreen
ab2a3e35b2 feat: Phase 0-2 complete — auth, machines, equipment parts with full CRUD
Multi-tenant factory inspection system (SpiFox, Enkid, Alpet):
- FastAPI backend with JWT auth, PostgreSQL (asyncpg)
- Next.js 16 frontend with App Router, SWR data fetching
- Machines CRUD with equipment parts management
- Part lifecycle tracking (hours/count/date) with counters
- Partial unique index for soft-delete support
- 24 pytest tests passing, E2E verified

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-02-10 12:05:22 +09:00