Stage 1 - Foundation: - GraphQL client with Relay cursor pagination and rate limiting - 4 Ecto schemas: accounts, network sites, inventory items, billing subscriptions - Gaiia context with upsert operations preserving user mappings - Sync module orchestrating full organization sync - Oban cron worker running every 15 minutes - Migration creating 4 tables with org-scoped unique constraints Stage 2 - Entity Mapping: - GaiiaMappingLive with two tabs (Network Sites / Inventory Items) - Match suggestion engine (IP/name matching with confidence levels) - Inline search and link/unlink UI following Preseem devices pattern - Filter by all/mapped/unmapped with URL-driven state - Amber suggestion badges for potential matches |
||
|---|---|---|
| .. | ||
| migrations | ||
| seeds.exs | ||