From 528e5b8ca5d2d97e27d5a5e01f39f267cba0ea01 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Thu, 9 Mar 2023 14:26:37 +0200 Subject: [PATCH] Don't apply id limit to the bulk_download action --- lib/data/models/models.dart | 4 ++++ lib/data/repositories/bank_account_repository.dart | 2 +- lib/data/repositories/client_repository.dart | 2 +- lib/data/repositories/company_gateway_repository.dart | 2 +- lib/data/repositories/credit_repository.dart | 2 +- lib/data/repositories/design_repository.dart | 2 +- lib/data/repositories/document_repository.dart | 2 +- lib/data/repositories/expense_category_repository.dart | 2 +- lib/data/repositories/expense_repository.dart | 2 +- lib/data/repositories/group_repository.dart | 2 +- lib/data/repositories/invoice_repository.dart | 2 +- lib/data/repositories/payment_repository.dart | 2 +- lib/data/repositories/payment_term_repository.dart | 2 +- lib/data/repositories/product_repository.dart | 2 +- lib/data/repositories/project_repository.dart | 2 +- lib/data/repositories/purchase_order_repository.dart | 2 +- lib/data/repositories/quote_repository.dart | 2 +- lib/data/repositories/recurring_expense_repository.dart | 2 +- lib/data/repositories/recurring_invoice_repository.dart | 2 +- lib/data/repositories/schedule_repository.dart | 2 +- lib/data/repositories/subscription_repository.dart | 2 +- lib/data/repositories/task_repository.dart | 2 +- lib/data/repositories/task_status_repository.dart | 2 +- lib/data/repositories/tax_rate_repository.dart | 2 +- lib/data/repositories/token_repository.dart | 2 +- lib/data/repositories/transaction_repository.dart | 2 +- lib/data/repositories/transaction_rule_repository.dart | 2 +- lib/data/repositories/user_repository.dart | 2 +- lib/data/repositories/vendor_repository.dart | 2 +- lib/data/repositories/webhook_repository.dart | 2 +- stubs/data/repositories/stub_repository | 2 +- 31 files changed, 34 insertions(+), 30 deletions(-) diff --git a/lib/data/models/models.dart b/lib/data/models/models.dart index 337ce2cc5..14db96837 100644 --- a/lib/data/models/models.dart +++ b/lib/data/models/models.dart @@ -138,6 +138,10 @@ class EntityAction extends EnumClass { return toSnakeCase(super.toString()); } + bool get applyMaxLimit => ![ + EntityAction.bulkDownload, + ].contains(this); + bool get isServerSide => [ EntityAction.start, EntityAction.stop, diff --git a/lib/data/repositories/bank_account_repository.dart b/lib/data/repositories/bank_account_repository.dart index 022d08804..934ca3857 100644 --- a/lib/data/repositories/bank_account_repository.dart +++ b/lib/data/repositories/bank_account_repository.dart @@ -37,7 +37,7 @@ class BankAccountRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/client_repository.dart b/lib/data/repositories/client_repository.dart index 6c39b22ae..f20686e8b 100644 --- a/lib/data/repositories/client_repository.dart +++ b/lib/data/repositories/client_repository.dart @@ -54,7 +54,7 @@ class ClientRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/company_gateway_repository.dart b/lib/data/repositories/company_gateway_repository.dart index 8a0a262d3..8a178b329 100644 --- a/lib/data/repositories/company_gateway_repository.dart +++ b/lib/data/repositories/company_gateway_repository.dart @@ -47,7 +47,7 @@ class CompanyGatewayRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/credit_repository.dart b/lib/data/repositories/credit_repository.dart index ceeca9573..488ffcf43 100644 --- a/lib/data/repositories/credit_repository.dart +++ b/lib/data/repositories/credit_repository.dart @@ -56,7 +56,7 @@ class CreditRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/design_repository.dart b/lib/data/repositories/design_repository.dart index ab787ee1f..6fa7d4662 100644 --- a/lib/data/repositories/design_repository.dart +++ b/lib/data/repositories/design_repository.dart @@ -43,7 +43,7 @@ class DesignRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/document_repository.dart b/lib/data/repositories/document_repository.dart index 58bc09240..0f952f27c 100644 --- a/lib/data/repositories/document_repository.dart +++ b/lib/data/repositories/document_repository.dart @@ -43,7 +43,7 @@ class DocumentRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/expense_category_repository.dart b/lib/data/repositories/expense_category_repository.dart index 21634bc27..82676cde5 100644 --- a/lib/data/repositories/expense_category_repository.dart +++ b/lib/data/repositories/expense_category_repository.dart @@ -43,7 +43,7 @@ class ExpenseCategoryRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/expense_repository.dart b/lib/data/repositories/expense_repository.dart index 34eb09c9a..91ce3125f 100644 --- a/lib/data/repositories/expense_repository.dart +++ b/lib/data/repositories/expense_repository.dart @@ -57,7 +57,7 @@ class ExpenseRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/group_repository.dart b/lib/data/repositories/group_repository.dart index 470de0bfe..199120592 100644 --- a/lib/data/repositories/group_repository.dart +++ b/lib/data/repositories/group_repository.dart @@ -44,7 +44,7 @@ class GroupRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/invoice_repository.dart b/lib/data/repositories/invoice_repository.dart index 73f91d1df..94f7aa6f4 100644 --- a/lib/data/repositories/invoice_repository.dart +++ b/lib/data/repositories/invoice_repository.dart @@ -57,7 +57,7 @@ class InvoiceRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/payment_repository.dart b/lib/data/repositories/payment_repository.dart index 24737a0ef..11da43b4d 100644 --- a/lib/data/repositories/payment_repository.dart +++ b/lib/data/repositories/payment_repository.dart @@ -56,7 +56,7 @@ class PaymentRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/payment_term_repository.dart b/lib/data/repositories/payment_term_repository.dart index 5f50e23cc..32732311e 100644 --- a/lib/data/repositories/payment_term_repository.dart +++ b/lib/data/repositories/payment_term_repository.dart @@ -44,7 +44,7 @@ class PaymentTermRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/product_repository.dart b/lib/data/repositories/product_repository.dart index a0c2e3ee8..304f9d761 100644 --- a/lib/data/repositories/product_repository.dart +++ b/lib/data/repositories/product_repository.dart @@ -53,7 +53,7 @@ class ProductRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/project_repository.dart b/lib/data/repositories/project_repository.dart index edf4bfc22..ef20e1125 100644 --- a/lib/data/repositories/project_repository.dart +++ b/lib/data/repositories/project_repository.dart @@ -55,7 +55,7 @@ class ProjectRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/purchase_order_repository.dart b/lib/data/repositories/purchase_order_repository.dart index 5a851b165..234d11bca 100644 --- a/lib/data/repositories/purchase_order_repository.dart +++ b/lib/data/repositories/purchase_order_repository.dart @@ -51,7 +51,7 @@ class PurchaseOrderRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/quote_repository.dart b/lib/data/repositories/quote_repository.dart index cda170dc7..d07a282d0 100644 --- a/lib/data/repositories/quote_repository.dart +++ b/lib/data/repositories/quote_repository.dart @@ -57,7 +57,7 @@ class QuoteRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/recurring_expense_repository.dart b/lib/data/repositories/recurring_expense_repository.dart index b5d3637b5..a7fae1ad9 100644 --- a/lib/data/repositories/recurring_expense_repository.dart +++ b/lib/data/repositories/recurring_expense_repository.dart @@ -44,7 +44,7 @@ class RecurringExpenseRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/recurring_invoice_repository.dart b/lib/data/repositories/recurring_invoice_repository.dart index 69f6ef53d..ec5e12227 100644 --- a/lib/data/repositories/recurring_invoice_repository.dart +++ b/lib/data/repositories/recurring_invoice_repository.dart @@ -50,7 +50,7 @@ class RecurringInvoiceRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/schedule_repository.dart b/lib/data/repositories/schedule_repository.dart index fc4e8a951..5dfa99855 100644 --- a/lib/data/repositories/schedule_repository.dart +++ b/lib/data/repositories/schedule_repository.dart @@ -37,7 +37,7 @@ class ScheduleRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/subscription_repository.dart b/lib/data/repositories/subscription_repository.dart index c53920a67..ff98fb54c 100644 --- a/lib/data/repositories/subscription_repository.dart +++ b/lib/data/repositories/subscription_repository.dart @@ -43,7 +43,7 @@ class SubscriptionRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/task_repository.dart b/lib/data/repositories/task_repository.dart index 68d949d6d..32b8cbb98 100644 --- a/lib/data/repositories/task_repository.dart +++ b/lib/data/repositories/task_repository.dart @@ -56,7 +56,7 @@ class TaskRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/task_status_repository.dart b/lib/data/repositories/task_status_repository.dart index 02553ba09..c865130af 100644 --- a/lib/data/repositories/task_status_repository.dart +++ b/lib/data/repositories/task_status_repository.dart @@ -42,7 +42,7 @@ class TaskStatusRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/tax_rate_repository.dart b/lib/data/repositories/tax_rate_repository.dart index 313964af6..80b6b5f0b 100644 --- a/lib/data/repositories/tax_rate_repository.dart +++ b/lib/data/repositories/tax_rate_repository.dart @@ -43,7 +43,7 @@ class TaxRateRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/token_repository.dart b/lib/data/repositories/token_repository.dart index c19319e68..9a33d3484 100644 --- a/lib/data/repositories/token_repository.dart +++ b/lib/data/repositories/token_repository.dart @@ -42,7 +42,7 @@ class TokenRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/transaction_repository.dart b/lib/data/repositories/transaction_repository.dart index 2ab2c1788..3499c4e26 100644 --- a/lib/data/repositories/transaction_repository.dart +++ b/lib/data/repositories/transaction_repository.dart @@ -37,7 +37,7 @@ class TransactionRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/transaction_rule_repository.dart b/lib/data/repositories/transaction_rule_repository.dart index acc75b005..d941f19a9 100644 --- a/lib/data/repositories/transaction_rule_repository.dart +++ b/lib/data/repositories/transaction_rule_repository.dart @@ -39,7 +39,7 @@ class TransactionRuleRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/user_repository.dart b/lib/data/repositories/user_repository.dart index 773785b93..c5fc070a2 100644 --- a/lib/data/repositories/user_repository.dart +++ b/lib/data/repositories/user_repository.dart @@ -48,7 +48,7 @@ class UserRepository { String password, String idToken, ) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/vendor_repository.dart b/lib/data/repositories/vendor_repository.dart index 58957697c..6703908b0 100644 --- a/lib/data/repositories/vendor_repository.dart +++ b/lib/data/repositories/vendor_repository.dart @@ -53,7 +53,7 @@ class VendorRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/lib/data/repositories/webhook_repository.dart b/lib/data/repositories/webhook_repository.dart index e6db0425f..5d155af3d 100644 --- a/lib/data/repositories/webhook_repository.dart +++ b/lib/data/repositories/webhook_repository.dart @@ -43,7 +43,7 @@ class WebhookRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); } diff --git a/stubs/data/repositories/stub_repository b/stubs/data/repositories/stub_repository index 8590faf06..bffb3ff02 100644 --- a/stubs/data/repositories/stub_repository +++ b/stubs/data/repositories/stub_repository @@ -38,7 +38,7 @@ class StubRepository { Future> bulkAction( Credentials credentials, List ids, EntityAction action) async { - if (ids.length > kMaxEntitiesPerBulkAction) { + if (ids.length > kMaxEntitiesPerBulkAction && action.applyMaxLimit) { ids = ids.sublist(0, kMaxEntitiesPerBulkAction); }