import '../../domain/models/onboarding_status.dart'; import '../sources/localiser/onboarding_client.dart'; import 'onboarding_repository.dart'; class PhoenixOnboardingRepository implements OnboardingRepository { const PhoenixOnboardingRepository({required this.client}); final OnboardingClient client; @override Future getStatus() async { final checklist = await client.getChecklist(); if (!checklist.hasAdmin) return OnboardingStatus.notStarted; if (!checklist.hasFloors) return OnboardingStatus.awaitingFloorPlan; if (!checklist.hasSensorsPlaced) return OnboardingStatus.awaitingFirstSensor; return OnboardingStatus.complete; } @override Future createAdminUser({ required String username, required String password, }) async { final response = await client.setup(username, password); return response.token; } }