Skip to content

Commit

Permalink
fix: The cache is now cleared.
Browse files Browse the repository at this point in the history
  • Loading branch information
mathrunet committed May 9, 2024
1 parent f4fd268 commit 54c8c57
Show file tree
Hide file tree
Showing 19 changed files with 588 additions and 371 deletions.
6 changes: 3 additions & 3 deletions packages/katana_model/example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -319,10 +319,10 @@ packages:
dependency: transitive
description:
name: json_annotation
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
url: "https://pub.dev"
source: hosted
version: "4.8.1"
version: "4.9.0"
katana:
dependency: "direct overridden"
description:
Expand All @@ -343,7 +343,7 @@ packages:
path: ".."
relative: true
source: path
version: "2.26.7"
version: "2.26.8"
leak_tracker:
dependency: transitive
description:
Expand Down
6 changes: 6 additions & 0 deletions packages/katana_model/lib/adapter/runtime_model_adapter.dart
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,12 @@ class RuntimeModelAdapter extends ModelAdapter {
return database.clearAll();
}

@override
Future<void> clearCache() {
_assert();
return database.clearAll();
}

String _path(String original) {
if (prefix.isEmpty) {
return original;
Expand Down
5 changes: 5 additions & 0 deletions packages/katana_model/lib/src/model_adapter.dart
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,11 @@ abstract class ModelAdapter {
/// ローカルに保存されているデータもすべて削除されますがリモートのデータは削除されない可能性があります。
Future<void> clearAll();

/// If the database is taking a local cache, delete it.
///
/// データベースがローカルキャッシュを取っている場合、それを削除します。
Future<void> clearCache();

@override
String toString() {
return "$runtimeType[$hashCode]";
Expand Down
8 changes: 8 additions & 0 deletions packages/katana_model/lib/src/no_sql_database.dart
Original file line number Diff line number Diff line change
Expand Up @@ -687,6 +687,14 @@ class NoSqlDatabase {
/// 通知は行われません。
Future<void> clearAll() async {
data.clear();
_initialized = false;
_registeredInitialValue.clear();
_appliedInitialValue.clear();
_documentListeners.clear();
_collectionListeners.clear();
_collectionEntries.clear();
_collectionGroupListeners.clear();
_collectionGroupEntries.clear();
await onDeleted?.call(this);
}

Expand Down
10 changes: 5 additions & 5 deletions packages/katana_model/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -322,25 +322,25 @@ packages:
dependency: "direct dev"
description:
name: json_annotation
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
url: "https://pub.dev"
source: hosted
version: "4.8.1"
version: "4.9.0"
json_serializable:
dependency: "direct dev"
description:
name: json_serializable
sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969
sha256: ea1432d167339ea9b5bb153f0571d0039607a873d6e04e0117af043f14a1fd4b
url: "https://pub.dev"
source: hosted
version: "6.7.1"
version: "6.8.0"
katana:
dependency: "direct main"
description:
path: "../katana"
relative: true
source: path
version: "2.13.2"
version: "2.14.0"
katana_test:
dependency: "direct dev"
description:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -706,10 +706,17 @@ class FirestoreModelAdapter extends ModelAdapter
}

@override
Future<void> clearAll() {
Future<void> clearAll() async {
throw UnimplementedError("This function is not available.");
}

@override
Future<void> clearCache() async {
_assert();
_FirestoreCache._caches.clear();
return localDatabase.clearAll();
}

DynamicMap _convertFrom(DynamicMap map) {
final res = <String, dynamic>{};

Expand Down
30 changes: 15 additions & 15 deletions packages/katana_model_firestore/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ packages:
dependency: transitive
description:
name: _flutterfire_internals
sha256: "99b5dec989287c1aca71bf27339e0022b4dc3679225f442fb75790ef44535bf8"
sha256: "3dee3db3468c5f4640a4e8aa9c1e22561c298976d8c39ed2fdd456a9a3db26e1"
url: "https://pub.dev"
source: hosted
version: "1.3.30"
version: "1.3.32"
analyzer:
dependency: transitive
description:
Expand Down Expand Up @@ -77,26 +77,26 @@ packages:
dependency: "direct main"
description:
name: cloud_firestore
sha256: "531a471f7eb9ae57bc8dc727c1fb424f7fe8817e84229fd527246af681bcf01c"
sha256: "58ea77912e355cfd4e49f858e01d5ab4f99c7181ebd545b3fbeae25d6677dff6"
url: "https://pub.dev"
source: hosted
version: "4.17.0"
version: "4.17.2"
cloud_firestore_platform_interface:
dependency: transitive
description:
name: cloud_firestore_platform_interface
sha256: "1014ed707aafc41828704eac18bc5ebad37641f66614db334e4f22e57ae7f568"
sha256: "9cb7d350c08c3d4987d34f418037aca3882649cdad5158440b4b932232edcf82"
url: "https://pub.dev"
source: hosted
version: "6.2.0"
version: "6.2.2"
cloud_firestore_web:
dependency: transitive
description:
name: cloud_firestore_web
sha256: be74d6d998807afe5bbe67c94ce4379b330c6817b8151488ce534a8c25d2df51
sha256: "28db029962ebdcb8caf80f0c109f359ebcefa983b85fb62e5a220b1a577d84b5"
url: "https://pub.dev"
source: hosted
version: "3.12.0"
version: "3.12.2"
collection:
dependency: transitive
description:
Expand Down Expand Up @@ -157,10 +157,10 @@ packages:
dependency: "direct main"
description:
name: firebase_core
sha256: "6b1152a5af3b1cfe7e45309e96fc1aa14873f410f7aadb3878aa7812acfa7531"
sha256: "4aef2a23d0f3265545807d68fbc2f76a6b994ca3c778d88453b99325abd63284"
url: "https://pub.dev"
source: hosted
version: "2.30.0"
version: "2.30.1"
firebase_core_platform_interface:
dependency: transitive
description:
Expand All @@ -173,10 +173,10 @@ packages:
dependency: transitive
description:
name: firebase_core_web
sha256: c8b02226e548f35aace298e2bb2e6c24e34e8a203d614e742bb1146e5a4ad3c8
sha256: "67f2fcc600fc78c2f731c370a3a5e6c87ee862e3a2fba6f951eca6d5dafe5c29"
url: "https://pub.dev"
source: hosted
version: "2.15.0"
version: "2.16.0"
fixnum:
dependency: transitive
description:
Expand Down Expand Up @@ -286,21 +286,21 @@ packages:
path: "../katana"
relative: true
source: path
version: "2.13.2"
version: "2.14.0"
katana_firebase:
dependency: "direct main"
description:
path: "../katana_firebase"
relative: true
source: path
version: "2.2.4"
version: "2.2.5"
katana_model:
dependency: "direct main"
description:
path: "../katana_model"
relative: true
source: path
version: "2.26.7"
version: "2.26.11"
katana_test:
dependency: "direct dev"
description:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -843,6 +843,9 @@ abstract class CsvSourceModelAdapter extends ModelAdapter {
throw UnimplementedError("This function is not available.");
}

@override
Future<void> clearCache() => Future.value();

ModelAdapterDocumentQuery _replaceDocumentQuery(
ModelAdapterDocumentQuery query,
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -792,6 +792,9 @@ abstract class JsonSourceModelAdapter extends ModelAdapter {
throw UnimplementedError("This function is not available.");
}

@override
Future<void> clearCache() => Future.value();

ModelAdapterCollectionQuery _replaceCollectionQuery(
ModelAdapterCollectionQuery query,
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,11 @@ class LocalModelAdapter extends ModelAdapter {
return database.clearAll();
}

@override
Future<void> clearCache() async {
_assert();
}

void _assert() {
assert(
prefix.isEmpty ||
Expand Down
16 changes: 8 additions & 8 deletions packages/katana_model_local/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -343,32 +343,32 @@ packages:
dependency: "direct dev"
description:
name: json_annotation
sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
url: "https://pub.dev"
source: hosted
version: "4.8.1"
version: "4.9.0"
json_serializable:
dependency: "direct dev"
description:
name: json_serializable
sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969
sha256: ea1432d167339ea9b5bb153f0571d0039607a873d6e04e0117af043f14a1fd4b
url: "https://pub.dev"
source: hosted
version: "6.7.1"
version: "6.8.0"
katana:
dependency: "direct main"
description:
path: "../katana"
relative: true
source: path
version: "2.13.2"
version: "2.14.0"
katana_model:
dependency: "direct main"
description:
path: "../katana_model"
relative: true
source: path
version: "2.26.8"
version: "2.26.11"
katana_test:
dependency: "direct dev"
description:
Expand Down Expand Up @@ -841,10 +841,10 @@ packages:
dependency: transitive
description:
name: win32
sha256: "0a989dc7ca2bb51eac91e8fd00851297cfffd641aa7538b165c62637ca0eaa4a"
sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb"
url: "https://pub.dev"
source: hosted
version: "5.4.0"
version: "5.5.0"
xdg_directories:
dependency: transitive
description:
Expand Down

0 comments on commit 54c8c57

Please sign in to comment.