From 07c0e8aec49e44e3606e967fe8c5706c38ce9b72 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Sun, 16 Aug 2020 20:02:15 +0300 Subject: [PATCH] Handle saving entity with documents --- lib/data/repositories/client_repository.dart | 2 ++ lib/data/repositories/credit_repository.dart | 1 + lib/data/repositories/invoice_repository.dart | 1 + lib/data/repositories/product_repository.dart | 8 ++++---- lib/data/repositories/quote_repository.dart | 1 + 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/data/repositories/client_repository.dart b/lib/data/repositories/client_repository.dart index 2307bdc49..f6b7592f8 100644 --- a/lib/data/repositories/client_repository.dart +++ b/lib/data/repositories/client_repository.dart @@ -55,6 +55,8 @@ class ClientRepository { Future saveData( Credentials credentials, ClientEntity client) async { + + client = client.rebuild((b) => b..documents.clear()); final data = serializers.serializeWith(ClientEntity.serializer, client); dynamic response; diff --git a/lib/data/repositories/credit_repository.dart b/lib/data/repositories/credit_repository.dart index df4151df3..127ba03d3 100644 --- a/lib/data/repositories/credit_repository.dart +++ b/lib/data/repositories/credit_repository.dart @@ -51,6 +51,7 @@ class CreditRepository { Future saveData( Credentials credentials, InvoiceEntity credit) async { + credit = credit.rebuild((b) => b..documents.clear()); final data = serializers.serializeWith(InvoiceEntity.serializer, credit); dynamic response; diff --git a/lib/data/repositories/invoice_repository.dart b/lib/data/repositories/invoice_repository.dart index 25d181726..eecf22eb1 100644 --- a/lib/data/repositories/invoice_repository.dart +++ b/lib/data/repositories/invoice_repository.dart @@ -53,6 +53,7 @@ class InvoiceRepository { Future saveData( Credentials credentials, InvoiceEntity invoice) async { + invoice = invoice.rebuild((b) => b..documents.clear()); final data = serializers.serializeWith(InvoiceEntity.serializer, invoice); dynamic response; diff --git a/lib/data/repositories/product_repository.dart b/lib/data/repositories/product_repository.dart index 1a41f4625..57ed9ee19 100644 --- a/lib/data/repositories/product_repository.dart +++ b/lib/data/repositories/product_repository.dart @@ -18,8 +18,7 @@ class ProductRepository { Future loadItem( Credentials credentials, String entityId) async { - final String url = - '${credentials.url}/products/$entityId'; + final String url = '${credentials.url}/products/$entityId'; final dynamic response = await webClient.get(url, credentials.token); @@ -28,7 +27,7 @@ class ProductRepository { return productResponse.data; } - + Future> loadList(Credentials credentials) async { final url = credentials.url + '/products?'; @@ -54,6 +53,7 @@ class ProductRepository { Future saveData( Credentials credentials, ProductEntity product) async { + product = product.rebuild((b) => b..documents.clear()); final data = serializers.serializeWith(ProductEntity.serializer, product); dynamic response; @@ -85,7 +85,7 @@ class ProductRepository { data: fields, filePath: filePath, fileIndex: 'documents[]'); final ProductItemResponse productResponse = - serializers.deserializeWith(ProductItemResponse.serializer, response); + serializers.deserializeWith(ProductItemResponse.serializer, response); return productResponse.data; } diff --git a/lib/data/repositories/quote_repository.dart b/lib/data/repositories/quote_repository.dart index 4eb7b8ee9..b2d0e44c5 100644 --- a/lib/data/repositories/quote_repository.dart +++ b/lib/data/repositories/quote_repository.dart @@ -52,6 +52,7 @@ class QuoteRepository { Future saveData( Credentials credentials, InvoiceEntity quote) async { + quote = quote.rebuild((b) => b..documents.clear()); final data = serializers.serializeWith(InvoiceEntity.serializer, quote); dynamic response;