release 4.8.9

This commit is contained in:
2024-08-05 03:08:12 +09:00
parent 1e0af0b06b
commit 66ade1fe09
30 changed files with 1765 additions and 17646 deletions

View File

@ -114,9 +114,14 @@ class ApiService extends GetxService{
List<NewCategory> categories = [];
for (var categoryJson in categoriesJson) {
//print('\nCategory Data:');
//_printDataComparison(categoryJson, NewCategory);
categories.add(NewCategory.fromJson(categoryJson));
try {
//print('\nCategory Data:');
//_printDataComparison(categoryJson, NewCategory);
categories.add(NewCategory.fromJson(categoryJson));
}catch(e){
print('Error parsing category: $e');
print('Problematic JSON: $categoryJson');
}
}
return categories;
@ -131,6 +136,26 @@ class ApiService extends GetxService{
}
}
Future<NewCategory> getZekkenNumber(int categoryId) async {
try {
final response = await http.post(
Uri.parse('$baseUrl/categories-viewset/$categoryId/get_zekken_number/'),
headers: {'Authorization': 'Token $token',"Content-Type": "application/json; charset=UTF-8"},
);
if (response.statusCode == 200) {
final decodedResponse = utf8.decode(response.bodyBytes);
print('User Response body: $decodedResponse');
final categoriesJson = json.decode(decodedResponse);
return NewCategory.fromJson(categoriesJson);
} else {
throw Exception('Failed to increment category number');
}
} catch (e) {
throw Exception('Error incrementing category number: $e');
}
}
Future<User> getCurrentUser() async {
init();
getToken();
@ -457,7 +482,7 @@ class ApiService extends GetxService{
}
}
Future<Entry> createEntry(int teamId, int eventId, int categoryId, DateTime date) async {
Future<Entry> createEntry(int teamId, int eventId, int categoryId, DateTime date,String zekkenNumber) async {
init();
getToken();
@ -477,6 +502,7 @@ class ApiService extends GetxService{
'event': eventId,
'category': categoryId,
'date': formattedDate,
'zekken_number':zekkenNumber,
}),
);
@ -508,7 +534,7 @@ class ApiService extends GetxService{
'Content-Type': 'application/json; charset=UTF-8',
},
body: json.encode({
'zekken_number': entry.team.zekkenNumber,
'zekken_number': entry.zekkenNumber,
'event_code': entry.event.eventName,
'group': entry.team.category.categoryName,
'team_name': entry.team.teamName,
@ -608,4 +634,29 @@ class ApiService extends GetxService{
}
}
Future<bool> resetPassword(String email) async {
init();
try {
final response = await http.post(
Uri.parse('$baseUrl/password-reset/'),
headers: {
'Content-Type': 'application/json; charset=UTF-8',
},
body: json.encode({
'email': email,
}),
);
if (response.statusCode == 200) {
return true;
} else {
print('Password reset failed with status code: ${response.statusCode}');
return false;
}
} catch (e) {
print('Error in resetPassword: $e');
return false;
}
}
}

View File

@ -132,6 +132,7 @@ class AuthService {
return cats;
}
// ユーザー登録
//
/*
@ -151,7 +152,7 @@ class AuthService {
*/
static Future<Map<String, dynamic>> register(
String email, String password) async {
String email, String password, String password2) async {
Map<String, dynamic> cats = {};
String serverUrl = ConstValues.currentServer();
String url = '$serverUrl/api/register/';
@ -161,10 +162,10 @@ class AuthService {
headers: <String, String>{
'Content-Type': 'application/json; charset=UTF-8',
},
body: jsonEncode(<String, String>{'email': email, 'password': password}),
body: jsonEncode(<String, String>{'email': email, 'password': password, 'password2': password2}),
);
//print(response.body);
if (response.statusCode == 200) {
if (response.statusCode == 201) {
cats = json.decode(utf8.decode(response.bodyBytes));
}
return cats;

View File

@ -4,8 +4,10 @@ import 'package:get/get.dart';
import 'package:http/http.dart' as http;
import 'package:intl/intl.dart';
import 'package:rogapp/model/rog.dart';
import 'package:rogapp/model/team.dart';
import 'package:rogapp/pages/destination/destination_controller.dart';
import 'package:rogapp/pages/index/index_controller.dart';
import 'package:rogapp/pages/team/team_controller.dart';
import 'package:rogapp/utils/database_gps.dart';
import 'package:rogapp/utils/database_helper.dart';
import 'dart:convert';
@ -32,11 +34,19 @@ class ExternalService {
Future<Map<String, dynamic>> startRogaining() async {
final IndexController indexController = Get.find<IndexController>();
//final TeamController teamController = Get.find<TeamController>();
debugPrint("== startRogaining ==");
Map<String, dynamic> res = {};
//final teamController = TeamController();
//Team team0 = teamController.teams[0];
//print("team={team0}");
//int teamId = indexController.currentUser[0]["user"]["team"]["id"];
int userId = indexController.currentUser[0]["user"]["id"];
//print("--- Pressed -----");
String team = indexController.currentUser[0]["user"]['team_name'];
@ -60,8 +70,9 @@ class ExternalService {
} else {
debugPrint("== startRogaining processing==");
String url = 'https://rogaining.sumasen.net/gifuroge/start_from_rogapp';
//print('++++++++$url');
String serverUrl = ConstValues.currentServer();
String url = '$serverUrl/gifuroge/start_from_rogapp';
print('++++++++$url');
final http.Response response = await http.post(
Uri.parse(url),
headers: <String, String>{
@ -82,7 +93,7 @@ class ExternalService {
}
Future<Map<String, dynamic>> makeCheckpoint(
int userId,
int userId, // 中身はteamId
String token,
String checkinTime,
String teamname,
@ -93,9 +104,17 @@ class ExternalService {
// print("~~~~ cp is $cp ~~~~");
//print("--cpcp-- ${cp}");
Map<String, dynamic> res = {};
String url = 'https://rogaining.sumasen.net/gifuroge/checkin_from_rogapp';
String serverUrl = ConstValues.currentServer();
String url = '$serverUrl/gifuroge/checkin_from_rogapp';
//print('++++++++$url');
final IndexController indexController = Get.find<IndexController>();
//final TeamController teamController = Get.find<TeamController>();
// Team team0 = indexController.teamController.teams[0];
// print("team={team0}");
//int teamId = indexController.teamController.teams[0];
if (imageurl != null) {
if (indexController.connectionStatusName.value != "wifi" &&
@ -160,7 +179,7 @@ class ExternalService {
'cp_number': cp.toString(),
'event_code': eventcode,
'image': res["checkinimage"].toString().replaceAll(
'http://localhost:8100', 'http://rogaining.sumasen.net')
'http://localhost:8100', serverUrl) //'http://rogaining.sumasen.net')
}),
);
var vv = jsonEncode(<String, String>{
@ -168,7 +187,7 @@ class ExternalService {
'cp_number': cp.toString(),
'event_code': eventcode,
'image': res["checkinimage"].toString().replaceAll(
'http://localhost:8100', 'http://rogaining.sumasen.net')
'http://localhost:8100', serverUrl) //'http://rogaining.sumasen.net')
});
//print("~~~~ api 2 values $vv ~~~~");
//print("--json-- $vv");
@ -253,6 +272,9 @@ class ExternalService {
final DestinationController destinationController =
Get.find<DestinationController>();
// チームIDを取得
int teamId = indexController.currentUser[0]["user"]["team"]["id"];
debugPrint("== goal Rogaining ==");
//if(indexController.connectionStatusName != "wifi" && indexController.connectionStatusName != "mobile"){
@ -261,7 +283,7 @@ class ExternalService {
id: 1,
team_name: teamname,
event_code: eventcode,
user_id: userId,
user_id: teamId, //userId,
cp_number: -1,
checkintime: DateTime.now().toUtc().microsecondsSinceEpoch,
image: image,
@ -283,7 +305,7 @@ class ExternalService {
},
// 'id', 'user', 'goalimage', 'goaltime', 'team_name', 'event_code','cp_number'
body: jsonEncode(<String, String>{
'user': userId.toString(),
'user': teamId.toString(), //userId.toString(),
'team_name': teamname,
'event_code': eventcode,
'goaltime': goalTime,
@ -292,7 +314,8 @@ class ExternalService {
}),
);
String url = 'https://rogaining.sumasen.net/gifuroge/goal_from_rogapp';
//String serverUrl = ConstValues.currentServer();
String url = '$serverUrl/gifuroge/goal_from_rogapp';
//print('++++++++$url');
if (response.statusCode == 201) {
Map<String, dynamic> res = json.decode(utf8.decode(response.bodyBytes));
@ -308,7 +331,7 @@ class ExternalService {
'event_code': eventcode,
'goal_time': goalTime,
'image': res["goalimage"].toString().replaceAll(
'http://localhost:8100', 'http://rogaining.sumasen.net')
'http://localhost:8100', serverUrl) //'http://rogaining.sumasen.net')
}),
);
String rec = jsonEncode(<String, String>{
@ -317,7 +340,7 @@ class ExternalService {
'goal_time': goalTime,
'image': res["goalimage"]
.toString()
.replaceAll('http://localhost:8100', 'http://rogaining.sumasen.net')
.replaceAll('http://localhost:8100', serverUrl) //'http://rogaining.sumasen.net')
});
//print("-- json -- $rec");
//print('----- response2 is $response2 --------');
@ -343,8 +366,8 @@ class ExternalService {
indexController.connectionStatusName.value != "mobile") {
return Future.value(false);
} else {
String url =
'https://rogaining.sumasen.net/gifuroge/remove_checkin_from_rogapp';
String serverUrl = ConstValues.currentServer();
String url = '$serverUrl/gifuroge/remove_checkin_from_rogapp';
//print('++++++++$url');
final http.Response response = await http.post(
Uri.parse(url),
@ -413,8 +436,8 @@ class ExternalService {
//print("calling push gps step 2 ${payload}");
String urlS =
'https://rogaining.sumasen.net/gifuroge/get_waypoint_datas_from_rogapp';
String serverUrl = ConstValues.currentServer();
String urlS = '$serverUrl/gifuroge/get_waypoint_datas_from_rogapp';
//print('++++++++$url');
var url = Uri.parse(urlS); // Replace with your server URL
var response = await http.post(
@ -440,8 +463,8 @@ class ExternalService {
static Future<Map<String, dynamic>> usersEventCode(
String teamcode, String password) async {
Map<String, dynamic> res = {};
String url =
"https://rogaining.sumasen.net/gifuroge/check_event_code?zekken_number=$teamcode&password=$password";
String serverUrl = ConstValues.currentServer();
String url = "$serverUrl/gifuroge/check_event_code?zekken_number=$teamcode&password=$password";
//print('++++++++$url');
final http.Response response =
await http.get(Uri.parse(url), headers: <String, String>{