Skip to content

Commit

Permalink
Starting working on db
Browse files Browse the repository at this point in the history
  • Loading branch information
guyluz11 committed Jan 31, 2024
1 parent 42321d5 commit 9c14294
Show file tree
Hide file tree
Showing 11 changed files with 78 additions and 235 deletions.
1 change: 0 additions & 1 deletion lib/domain/connections_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import 'package:cybearjinni/infrastructure/core/logger.dart';
import 'package:cybearjinni/infrastructure/network_utilities_flutter.dart';
import 'package:dartz/dartz.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
import 'package:grpc/grpc.dart';
import 'package:location/location.dart';
import 'package:network_info_plus/network_info_plus.dart';
Expand Down
34 changes: 0 additions & 34 deletions lib/domain/i_local_db_repository.dart

This file was deleted.

4 changes: 4 additions & 0 deletions lib/domain/manage_network/i_manage_network_repository.dart
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import 'dart:io';

import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:cybearjinni/domain/home_user/home_user_failures.dart';
import 'package:cybearjinni/domain/manage_network/manage_network_entity.dart';
import 'package:cybearjinni/domain/manage_network/manage_network_value_objects.dart';
import 'package:cybearjinni/infrastructure/core/logger.dart';
import 'package:dartz/dartz.dart';
import 'package:flutter/services.dart';
import 'package:kt_dart/collection.dart';
import 'package:location/location.dart' as location;
import 'package:network_info_plus/network_info_plus.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:wifi_iot/wifi_iot.dart';
Expand All @@ -22,6 +24,8 @@ abstract interface class IManageNetworkRepository {

static ManageNetworkEntity? manageWiFiEntity;

Future loadWifi();

Future<Either<HomeUserFailures, String?>> doesWiFiEnabled();

Stream<Either<HomeUserFailures, KtList<ManageNetworkEntity>>>
Expand Down
16 changes: 6 additions & 10 deletions lib/infrastructure/app_commands.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,7 @@ import 'package:cbj_integrations_controller/integrations_controller.dart';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:path_provider/path_provider.dart';

class AppCommands implements IPhoneCommandsD {
AppCommands() {
IPhoneCommandsD.instance = this;
}

class AppCommands extends SystemCommandsBaseClassD {
@override
Future<String> getAllEtcReleaseFilesText() {
// TODO: implement getAllEtcReleaseFilesText
Expand Down Expand Up @@ -62,7 +58,7 @@ class AppCommands implements IPhoneCommandsD {
}

@override
Future<String> getLocalDbPath(Future<String?> currentUserName) async {
Future<String> getLocalDbPath() async {
final Directory appDocDirectory = await getApplicationDocumentsDirectory();
return appDocDirectory.path;
}
Expand All @@ -86,8 +82,8 @@ class AppCommands implements IPhoneCommandsD {
}

@override
Future<String?> suspendComputer() {
// TODO: implement suspendComputer
throw UnimplementedError();
}
Future<String?> suspendComputer() async => null;

@override
Future<String?> getRaspberryPiDeviceVersion() async => null;
}

This file was deleted.

This file was deleted.

This file was deleted.

137 changes: 0 additions & 137 deletions lib/infrastructure/isar_local_db/isar_repository.dart

This file was deleted.

60 changes: 60 additions & 0 deletions lib/infrastructure/manage_wifi_repository.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ part of 'package:cybearjinni/domain/manage_network/i_manage_network_repository.d

class _ManageWiFiRepository implements IManageNetworkRepository {
final NetworkSecurity networkSecurity = NetworkSecurity.WPA;
NetworkObject? network;

@override
Future<Either<HomeUserFailures, String?>> doesWiFiEnabled() async {
Expand Down Expand Up @@ -125,4 +126,63 @@ class _ManageWiFiRepository implements IManageNetworkRepository {
}
return wifiName;
}

@override
Future loadWifi() async {
// TODO: Get bssid
final NetworkInfo info = NetworkInfo();
final PermissionStatus locationStatus = await Permission.location.status;
if (locationStatus.isDenied) {
await Permission.locationWhenInUse.request();
}
if (await Permission.location.isRestricted) {
await openAppSettings();
}

final bool isWifiEnabled = await WiFiForIoTPlugin.isEnabled();
final bool isWifiConnected = await WiFiForIoTPlugin.isConnected();

if (!isWifiEnabled || !isWifiConnected) {
logger.w('Not connected to WiFi');
exit(0);
}
String bssid;
if (await Permission.location.isGranted) {
final String? bssidTemp = await info.getWifiBSSID();
if (bssidTemp == null || bssidTemp == "02:00:00:00:00:00") {
logger.w(
'Location is not on or user-allowed approximate location instead of precise location',
);
exit(0);
}
bssid = bssidTemp;
} else {
logger.w('Missing location permission');
exit(0);
}
final String? ssid = await WiFiForIoTPlugin.getSSID();
final List<String>? ipSplit = (await WiFiForIoTPlugin.getIP())?.split('.');
String? subNet;
if (ipSplit != null) {
subNet = ipSplit.sublist(0, ipSplit.length - 1).join();
}
final location.LocationData locationData =
await location.Location().getLocation();
if (ssid == null || subNet == null) {
logger.w('Ssid or subnet is null');
exit(0);
}

final NetworkObject network = NetworkObject(
bssid: bssid,
ssid: ssid,
subNet: subNet,
longitude: locationData.longitude,
latitude: locationData.latitude,
remotePipe: null,
type: null,
);
NetworksManager().addNetwork(network);
NetworksManager().setCurrentNetwork(network.uniqueId);
}
}
4 changes: 0 additions & 4 deletions lib/infrastructure/mqtt.dart
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,6 @@ class MqttServerRepository extends IMqttServerRepository {
final DeviceEntityBase deviceEntityBase = entityFromTheApp.toDomain();
deviceEntityBase.entityStateGRPC =
EntityState.state(EntityStateGRPC.waitingInComp);

/// Sends directly to device connector conjecture
// ISavedDevicesRepo.instance.addOrUpdateFromMqtt(deviceEntityBase);

return;
} else if (entityFromTheApp is DeviceEntityBase) {
entityFromTheApp.entityStateGRPC =
Expand Down
Loading

0 comments on commit 9c14294

Please sign in to comment.