Added Streams to TourRepository
This commit is contained in:
@ -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();
|
||||
|
||||
Reference in New Issue
Block a user