Skip to content

Commit a50b9db

Browse files
committed
Fetch countries from storage
1 parent 25a841c commit a50b9db

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

WooCommerce/Classes/ViewRelated/Orders/Order Details/Address Edit/EditAddressFormViewModel.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ final class EditAddressFormViewModel: ObservableObject {
3333
self.storageManager = storageManager
3434
self.stores = stores
3535
updateFieldsWithOriginalAddress()
36+
fetchStoredCountriesAndTriggerSyncIfNeeded()
3637
}
3738

3839
/// Original `Address` model.
@@ -98,4 +99,17 @@ private extension EditAddressFormViewModel {
9899
phone: phone.isEmpty ? nil : phone,
99100
email: email.isEmpty ? nil : email)
100101
}
102+
103+
104+
/// Fetches countries from storage, If there are no stored countries, trigger a sync request.
105+
///
106+
func fetchStoredCountriesAndTriggerSyncIfNeeded() {
107+
// Initial fetch
108+
try? countriesResultsController.performFetch()
109+
110+
// Trigger a sync request if there are no countries.
111+
guard !countriesResultsController.isEmpty else {
112+
return syncCountriesTrigger.send()
113+
}
114+
}
101115
}

0 commit comments

Comments
 (0)