Modification of location.dart with the error code returned by the php script
continuous-integration/drone/push Build is failing Details

remotes/origin/mvc-implementation
dorian.hodin 2 years ago
parent 654cc39c7f
commit 8cee0ae33b

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="@localhost" uuid="f334e98a-3c30-4412-8c71-35fe124ed605">
<driver-ref>mariadb</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.mariadb.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mariadb://localhost:3306</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<dataSource name="@localhost">
<database-model serializer="dbm" dbms="MARIADB" family-id="MARIADB" format-version="4.43">
<root id="1">
<DefaultCasing>lower/lower</DefaultCasing>
<ServerVersion>10.4.25</ServerVersion>
</root>
<schema id="2" parent="1" name="information_schema"/>
<schema id="3" parent="1" name="mysql"/>
<schema id="4" parent="1" name="performance_schema"/>
<schema id="5" parent="1" name="phpmyadmin"/>
<schema id="6" parent="1" name="positiondaflmusic"/>
<schema id="7" parent="1" name="projetphp"/>
<schema id="8" parent="1" name="test"/>
</database-model>
</dataSource>

@ -0,0 +1,2 @@
#n:information_schema
!<md> [null, 0, null, null, -2147483648, -2147483648]

@ -0,0 +1,2 @@
#n:mysql
!<md> [null, 0, null, null, -2147483648, -2147483648]

@ -0,0 +1,2 @@
#n:performance_schema
!<md> [null, 0, null, null, -2147483648, -2147483648]

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="SqlDialectMappings">
<file url="file://$PROJECT_DIR$/Sources/php_script/script/insertAndMakeListUser.php" dialect="GenericSQL" />
</component>
</project>

@ -6,48 +6,52 @@ import '../main.dart';
class Location {
static Future<Map<String, dynamic>> sendCurrentLocation() async {
Uri uri = Uri.parse("https://codefirst.iut.uca.fr/containers/php_script-dorianhodin/insert.php");
Uri uri = Uri.parse("https://codefirst.iut.uca.fr/containers/php_script-dorianhodin/insertAndMakeListUser.php");
Map<String, dynamic> spot = {};
LocationPermission permission;
permission = await Geolocator.checkPermission();
if (permission == LocationPermission.denied) {
permission = await Geolocator.requestPermission();
if (permission == LocationPermission.deniedForever) {
//faire l'interface gra pour gérer ça
return Future.error('Location Not Available');
}
}
String actualUser = MyApp.controller.currentUser.usernameDafl;
String actualSong = await MyApp.api.getCurrentlyPlayingTrack();
Position current = await Geolocator.getCurrentPosition();
await http.post(uri, body: {
http.Response response = await http.post(uri, body: {
"id": actualUser.toString(),
"latitude": current.latitude.toString(),
"longitude": current.longitude.toString(),
"idMusic": actualSong.toString(),
});
return getData();
}
static Future<Map<String, dynamic>> getData() async {
Map<String, dynamic> spot = {};
String actualUser = MyApp.controller.currentUser.usernameDafl;
Uri uri = Uri.parse("https://codefirst.iut.uca.fr/containers/php_script-dorianhodin/distance.php");
http.Response response = await http.post(uri, body: {
"id": actualUser,
});
var data = jsonDecode(response.body);
if (data.runtimeType==String) {
if (data=="Failed to connect to MySQL, connection timeout"){
return Future.error(data);
}else if (data=="The POST didn't return any values"){
return Future.error(data);
}else{
return Future.error(data); //ERROR No user found in the database
}
}else {
if (data == 2){
return Future.error("Failed to connect, connection timeout");
}else if (data == 3) {
return Future.error("POST method failed");
}else{
data.forEach((s) => spot.putIfAbsent(s['user'], () => s['music']));
return spot;
}
}
}

Loading…
Cancel
Save