Added Streams to TourRepository

This commit is contained in:
Dennis Nemec
2026-01-03 01:29:21 +01:00
parent edb8676f5a
commit 9111dc92db
43 changed files with 1232 additions and 931 deletions

View File

@ -17,9 +17,7 @@ import '../../../../model/delivery.dart';
import '../../../../util.dart';
import '../../../authentication/exceptions.dart';
class NoteService extends ErpFrameService {
NoteService({required super.backendUrl});
class NoteService {
Future<void> deleteNote(int noteId) async {
try {
var response = await http.post(
@ -110,7 +108,7 @@ class NoteService extends ErpFrameService {
}
}
Future<List<Note>> getNotes(String deliveryId) async {
Future<(List<Note>, List<ImageNote>)> getNotes(String deliveryId) async {
try {
var response = await http.post(
urlBuilder("_web_getNotes"),
@ -129,9 +127,22 @@ class NoteService extends ErpFrameService {
);
if (responseDto.succeeded == true) {
return responseDto.notes
.map((noteDto) => Note.fromDto(noteDto))
.toList();
List<ImageNote> imageNotes =
responseDto.images
.map((imageNoteDto) => ImageNote.fromDTO(imageNoteDto))
.toList();
final images = await downloadImages(imageNotes.map((note) => note.url).toList());
for (var (index, note) in imageNotes.indexed) {
note.data = await images[index];
}
return (
responseDto.notes
.map((noteDto) => Note.fromDto(noteDto))
.toList(),
imageNotes
);
} else {
throw responseDto.message;
}
@ -262,9 +273,11 @@ class NoteService extends ErpFrameService {
Future<List<Future<Uint8List>>> downloadImages(List<String> urls) async {
try {
LocalDocuFrameConfiguration config = getConfig();
return urls.map((url) async {
return (await http.get(
Uri.parse("$backendUrl$url"),
Uri.parse("${config.backendUrl}$url"),
headers: getSessionOrThrow(),
)).bodyBytes;
}).toList();