homework attachments

This commit is contained in:
unknown 2022-01-16 18:15:26 +01:00
parent e7d0e3805d
commit a68dd759d8
3 changed files with 27 additions and 3 deletions

View File

@ -1,9 +1,11 @@
import 'dart:io';
import 'dart:typed_data';
import 'package:filcnaplo/api/providers/user_provider.dart';
import 'package:filcnaplo/helpers/storage_helper.dart';
import 'package:filcnaplo_kreta_api/client/client.dart';
import 'package:filcnaplo_kreta_api/models/attachment.dart';
import 'package:filcnaplo_kreta_api/models/homework.dart';
import 'package:flutter/widgets.dart';
import 'package:open_file/open_file.dart';
import 'package:provider/provider.dart';
@ -22,7 +24,29 @@ extension AttachmentHelper on Attachment {
Future<bool> open(BuildContext context) async {
String downloads = await StorageHelper.downloadsPath();
if (!await File("$downloads/$name").exists()) await download(context);
var result = await OpenFile.open("$downloads/$name");
return result.type == ResultType.done;
}
}
extension HomeworkAttachmentHelper on HomeworkAttachment {
Future<String> download(BuildContext context, {bool overwrite = false}) async {
String downloads = await StorageHelper.downloadsPath();
if (!overwrite && await File("$downloads/$name").exists()) return "$downloads/$name";
String url = downloadUrl(Provider.of<UserProvider>(context, listen: false).instituteCode ?? "");
Uint8List data = await Provider.of<KretaClient>(context, listen: false).getAPI(url, rawResponse: true);
if (!await StorageHelper.write("$downloads/$name", data)) return "";
return "$downloads/$name";
}
Future<bool> open(BuildContext context) async {
String downloads = await StorageHelper.downloadsPath();
if (!await File("$downloads/$name").exists()) await download(context);
var result = await OpenFile.open("$downloads/$name");
return result.type == ResultType.done;

@ -1 +1 @@
Subproject commit 8d3c15fc2a152dab0e9c58cfa65814f67179a676
Subproject commit bab39c9eb4160b4140b63b6a95b8679b441aabee

@ -1 +1 @@
Subproject commit 1fee7db73a7048c6791acada571c449582d893b9
Subproject commit 39bab27fd3624f2a790fb1576107a10c541a3db8