Skip to content

Commit

Permalink
feat: Add saveEventually and deleteEventually in ParseObject (#911
Browse files Browse the repository at this point in the history
)
  • Loading branch information
mbfakourii authored Oct 18, 2023
1 parent 21ce56f commit 9431086
Show file tree
Hide file tree
Showing 10 changed files with 423 additions and 7 deletions.
6 changes: 6 additions & 0 deletions packages/dart/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## [6.2.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-6.1.0...dart-6.2.0) (2023-10-18)

### Features

* Added `saveEventually` and `deleteEventually` in `ParseObject` ([#911](https://github.com/parse-community/Parse-SDK-Flutter/pull/911))

## [6.1.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-6.0.0...dart-6.1.0) (2023-10-17)

### Features
Expand Down
60 changes: 60 additions & 0 deletions packages/dart/lib/parse_server_sdk.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,62 +27,116 @@ export 'src/network/parse_dio_client.dart';
export 'src/network/parse_http_client.dart';

part 'src/base/parse_constants.dart';

part 'src/data/parse_core_data.dart';

part 'src/data/parse_subclass_handler.dart';

part 'src/enums/parse_enum_api_rq.dart';

part 'src/network/options.dart';

part 'src/network/parse_client.dart';

part 'src/network/parse_connectivity.dart';

part 'src/network/parse_live_query.dart';

part 'src/network/parse_query.dart';

part 'src/objects/parse_acl.dart';

part 'src/objects/parse_array.dart';

part 'src/objects/parse_base.dart';

part 'src/objects/parse_cloneable.dart';

part 'src/objects/parse_config.dart';

part 'src/objects/parse_error.dart';

part 'src/objects/parse_file.dart';

part 'src/objects/parse_number.dart';

part 'src/objects/parse_file_base.dart';

part 'src/objects/parse_file_web.dart';

part 'src/objects/parse_function.dart';

part 'src/objects/parse_geo_point.dart';

part 'src/objects/parse_installation.dart';

part 'src/objects/parse_object.dart';

part 'src/objects/parse_exception.dart';

part 'src/objects/parse_operation/parse_add_operation.dart';

part 'src/objects/parse_operation/parse_add_relation_operation.dart';

part 'src/objects/parse_operation/parse_add_unique_operation.dart';

part 'src/objects/parse_operation/parse_increment_operation.dart';

part 'src/objects/parse_operation/parse_operation.dart';

part 'src/objects/parse_operation/parse_remove_operation.dart';

part 'src/objects/parse_operation/parse_remove_relation_operation.dart';

part 'src/objects/parse_relation.dart';

part 'src/objects/parse_response.dart';

part 'src/objects/parse_save_state_aware_child.dart';

part 'src/objects/parse_session.dart';

part 'src/objects/parse_user.dart';

part 'src/objects/response/parse_error_response.dart';

part 'src/objects/response/parse_exception_response.dart';

part 'src/objects/response/parse_response_builder.dart';

part 'src/objects/response/parse_response_utils.dart';

part 'src/objects/response/parse_success_no_results.dart';

part 'src/storage/core_store.dart';

part 'src/storage/core_store_memory.dart';

part 'src/storage/core_store_sem_impl.dart';

part 'src/storage/xxtea_codec.dart';

part 'src/utils/parse_date_format.dart';

part 'src/utils/parse_decoder.dart';

part 'src/utils/parse_encoder.dart';

part 'src/utils/parse_live_list.dart';

part 'src/utils/parse_logger.dart';

part 'src/utils/parse_login_helpers.dart';

part 'src/utils/parse_utils.dart';

part 'src/utils/valuable.dart';

class Parse {
bool _hasBeenInitialized = false;

static bool objectsExistForEventually = false;

/// To initialize Parse Server in your application
///
/// This should be initialized in MyApp() creation
Expand Down Expand Up @@ -148,6 +202,12 @@ class Parse {

_hasBeenInitialized = true;

objectsExistForEventually = await checkObjectsExistForEventually();

if (objectsExistForEventually) {
ParseObject.submitEventually();
}

return this;
}

Expand Down
5 changes: 4 additions & 1 deletion packages/dart/lib/src/base/parse_constants.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
part of flutter_parse_sdk;

// Library
const String keySdkVersion = '6.1.0';
const String keySdkVersion = '6.2.0';
const String keyLibraryName = 'Flutter Parse SDK';

// End Points
Expand Down Expand Up @@ -59,6 +59,8 @@ const String keyParamSessionToken = 'sessionToken';
// Storage
const String keyParseStoreBase = 'flutter_parse_sdk_';
const String keyParseStoreUser = '${keyParseStoreBase}user';
const String keyParseStoreObjects = '${keyParseStoreBase}objects';
const String keyParseStoreDeletes = '${keyParseStoreBase}deletes';
const String keyParseStoreInstallation = '${keyParseStoreBase}installation';

// Installation
Expand All @@ -82,5 +84,6 @@ const String keyVarInstallationId = 'installationId';
// Error
const String keyError = 'error';
const String keyCode = 'code';
const String keyNetworkError = 'NetworkError';

const bool parseIsWeb = identical(0, 0.0);
2 changes: 2 additions & 0 deletions packages/dart/lib/src/network/parse_dio_client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,8 @@ class _ParseDioClient with dio.DioMixin implements dio.Dio {
_logCUrl(options, data, path);
}

checkForSubmitEventually();

return super.request(
path,
data: data,
Expand Down
2 changes: 2 additions & 0 deletions packages/dart/lib/src/network/parse_http_client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ class _ParseHTTPClient extends http.BaseClient {
_logCUrl(request);
}

checkForSubmitEventually();

return _client.send(request);
}

Expand Down
Loading

0 comments on commit 9431086

Please sign in to comment.