This commit is contained in:
55nknown 2022-06-30 01:28:42 +02:00
parent bc040185d0
commit 9525d7d1df
9 changed files with 22 additions and 11 deletions

View File

@ -1,4 +1,4 @@
// ignore_for_file: avoid_print // ignore_for_file: avoid_print, use_build_context_synchronously
import 'package:filcnaplo/utils/jwt.dart'; import 'package:filcnaplo/utils/jwt.dart';
import 'package:filcnaplo_kreta_api/providers/absence_provider.dart'; import 'package:filcnaplo_kreta_api/providers/absence_provider.dart';

View File

@ -3,6 +3,7 @@ import 'dart:io';
import 'package:filcnaplo/database/query.dart'; import 'package:filcnaplo/database/query.dart';
import 'package:filcnaplo/database/store.dart'; import 'package:filcnaplo/database/store.dart';
import 'package:sqflite/sqflite.dart'; import 'package:sqflite/sqflite.dart';
// ignore: depend_on_referenced_packages
import 'package:sqflite_common_ffi/sqflite_ffi.dart'; import 'package:sqflite_common_ffi/sqflite_ffi.dart';
class DatabaseProvider { class DatabaseProvider {

View File

@ -1,3 +1,5 @@
// ignore_for_file: use_build_context_synchronously
import 'dart:math'; import 'dart:math';
import 'package:filcnaplo/api/client.dart'; import 'package:filcnaplo/api/client.dart';

View File

@ -1,3 +1,5 @@
// ignore_for_file: use_build_context_synchronously
import 'package:filcnaplo/api/providers/database_provider.dart'; import 'package:filcnaplo/api/providers/database_provider.dart';
import 'package:filcnaplo/api/providers/status_provider.dart'; import 'package:filcnaplo/api/providers/status_provider.dart';
import 'package:filcnaplo/api/providers/user_provider.dart'; import 'package:filcnaplo/api/providers/user_provider.dart';
@ -33,24 +35,24 @@ Future<void> syncAll(BuildContext context) {
List<Future<void>> tasks = []; List<Future<void>> tasks = [];
int taski = 0; int taski = 0;
Future<void> _syncStatus(Future<void> future) async { Future<void> syncStatus(Future<void> future) async {
await future.onError((error, stackTrace) => null); await future.onError((error, stackTrace) => null);
taski++; taski++;
statusProvider.triggerSync(current: taski, max: tasks.length); statusProvider.triggerSync(current: taski, max: tasks.length);
} }
tasks = [ tasks = [
_syncStatus(Provider.of<GradeProvider>(context, listen: false).fetch()), syncStatus(Provider.of<GradeProvider>(context, listen: false).fetch()),
_syncStatus(Provider.of<TimetableProvider>(context, listen: false).fetch(week: Week.current())), syncStatus(Provider.of<TimetableProvider>(context, listen: false).fetch(week: Week.current())),
_syncStatus(Provider.of<ExamProvider>(context, listen: false).fetch()), syncStatus(Provider.of<ExamProvider>(context, listen: false).fetch()),
_syncStatus(Provider.of<HomeworkProvider>(context, listen: false).fetch(from: DateTime.now().subtract(const Duration(days: 30)))), syncStatus(Provider.of<HomeworkProvider>(context, listen: false).fetch(from: DateTime.now().subtract(const Duration(days: 30)))),
_syncStatus(Provider.of<MessageProvider>(context, listen: false).fetchAll()), syncStatus(Provider.of<MessageProvider>(context, listen: false).fetchAll()),
_syncStatus(Provider.of<NoteProvider>(context, listen: false).fetch()), syncStatus(Provider.of<NoteProvider>(context, listen: false).fetch()),
_syncStatus(Provider.of<EventProvider>(context, listen: false).fetch()), syncStatus(Provider.of<EventProvider>(context, listen: false).fetch()),
_syncStatus(Provider.of<AbsenceProvider>(context, listen: false).fetch()), syncStatus(Provider.of<AbsenceProvider>(context, listen: false).fetch()),
// Sync student // Sync student
_syncStatus(() async { syncStatus(() async {
if (user.user == null) return; if (user.user == null) return;
Map? studentJson = await Provider.of<KretaClient>(context, listen: false).getAPI(KretaAPI.student(user.instituteCode!)); Map? studentJson = await Provider.of<KretaClient>(context, listen: false).getAPI(KretaAPI.student(user.instituteCode!));
if (studentJson == null) return; if (studentJson == null) return;

View File

@ -5,6 +5,7 @@ import 'dart:io';
import 'package:filcnaplo/database/struct.dart'; import 'package:filcnaplo/database/struct.dart';
import 'package:filcnaplo/models/settings.dart'; import 'package:filcnaplo/models/settings.dart';
import 'package:sqflite/sqflite.dart'; import 'package:sqflite/sqflite.dart';
// ignore: depend_on_referenced_packages
import 'package:sqflite_common_ffi/sqflite_ffi.dart'; import 'package:sqflite_common_ffi/sqflite_ffi.dart';
const settingsDB = DatabaseStruct("settings", { const settingsDB = DatabaseStruct("settings", {

View File

@ -1,6 +1,7 @@
import 'dart:convert'; import 'dart:convert';
import 'package:filcnaplo/models/subject_lesson_count.dart'; import 'package:filcnaplo/models/subject_lesson_count.dart';
import 'package:filcnaplo/models/user.dart'; import 'package:filcnaplo/models/user.dart';
// ignore: depend_on_referenced_packages
import 'package:sqflite_common/sqlite_api.dart'; import 'package:sqflite_common/sqlite_api.dart';
// Models // Models

View File

@ -1,5 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'package:filcnaplo/models/subject_lesson_count.dart'; import 'package:filcnaplo/models/subject_lesson_count.dart';
// ignore: depend_on_referenced_packages
import 'package:sqflite_common/sqlite_api.dart'; import 'package:sqflite_common/sqlite_api.dart';
// Models // Models

View File

@ -1,3 +1,5 @@
// ignore_for_file: use_build_context_synchronously
import 'dart:io'; import 'dart:io';
import 'dart:typed_data'; import 'dart:typed_data';

View File

@ -40,6 +40,7 @@ dependencies:
implicitly_animated_reorderable_list: ^0.4.2 implicitly_animated_reorderable_list: ^0.4.2
dynamic_color: ^1.2.2 dynamic_color: ^1.2.2
material_color_utilities: ^0.1.3 material_color_utilities: ^0.1.3
crypto: ^3.0.2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: