├── .evg.yml ├── .gitignore ├── LICENSE ├── README.md ├── android ├── .gitignore ├── build.gradle ├── core │ ├── .gitignore │ ├── build.gradle │ ├── lib-proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── android │ │ │ └── core │ │ │ ├── Stitch.java │ │ │ ├── StitchAppClient.java │ │ │ ├── auth │ │ │ ├── StitchAuth.java │ │ │ ├── StitchAuthListener.java │ │ │ ├── StitchUser.java │ │ │ ├── internal │ │ │ │ ├── StitchAuthImpl.java │ │ │ │ ├── StitchUserFactoryImpl.java │ │ │ │ ├── StitchUserImpl.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── providers │ │ │ │ ├── internal │ │ │ │ ├── AuthProviderClientFactory.java │ │ │ │ ├── NamedAuthProviderClientFactory.java │ │ │ │ └── package-info.java │ │ │ │ ├── userapikey │ │ │ │ ├── UserApiKeyAuthProviderClient.java │ │ │ │ ├── internal │ │ │ │ │ ├── UserApiKeyAuthProviderClientImpl.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ │ └── userpassword │ │ │ │ ├── UserPasswordAuthProviderClient.java │ │ │ │ ├── internal │ │ │ │ ├── UserPasswordAuthProviderClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── internal │ │ │ ├── StitchAppClientImpl.java │ │ │ ├── StitchInitProvider.java │ │ │ ├── common │ │ │ │ ├── MainLooperDispatcher.java │ │ │ │ ├── SharedPreferencesStorage.java │ │ │ │ ├── TaskCallbackAdapter.java │ │ │ │ ├── TaskDispatcher.java │ │ │ │ └── package-info.java │ │ │ ├── net │ │ │ │ └── AndroidNetworkMonitor.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── push │ │ │ ├── StitchPush.java │ │ │ ├── internal │ │ │ │ ├── NamedPushClientFactory.java │ │ │ │ ├── StitchPushClient.java │ │ │ │ ├── StitchPushClientImpl.java │ │ │ │ ├── StitchPushImpl.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ │ └── services │ │ │ ├── StitchServiceClient.java │ │ │ ├── internal │ │ │ ├── NamedServiceClientFactory.java │ │ │ ├── ServiceClientFactory.java │ │ │ ├── StitchServiceClientImpl.java │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ └── res │ │ └── values │ │ └── strings.xml ├── coretest │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── android │ │ │ └── core │ │ │ ├── StitchAppClientIntTests.kt │ │ │ ├── StitchAuthListenerIntTests.kt │ │ │ ├── StitchCustomUserDataIntTests.kt │ │ │ └── auth │ │ │ └── providers │ │ │ └── userapikey │ │ │ └── UserApiKeyAuthProviderClientIntTests.kt │ │ └── main │ │ ├── AndroidManifest.xml │ │ └── res │ │ └── values │ │ └── strings.xml ├── examples │ ├── .gitignore │ ├── fcm │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── examples │ │ │ │ └── fcm │ │ │ │ ├── FcmActivity.java │ │ │ │ └── MyFirebaseMessagingService.java │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_fcm.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ │ └── xml │ │ │ └── backup_descriptor.xml │ ├── snippets │ │ ├── build.gradle │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── examples │ │ │ │ └── snippets │ │ │ │ ├── RemoteMongoClientExamples.java │ │ │ │ ├── RemoteMongoCollectionExamples.java │ │ │ │ ├── RemoteMongoDatabaseExamples.java │ │ │ │ ├── StitchAppClientExamples.java │ │ │ │ └── StitchAuthExamples.java │ │ │ └── main │ │ │ └── AndroidManifest.xml │ ├── stress-tests │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── examples │ │ │ │ └── stresstests │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ └── progress.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── todo-sync │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build.gradle │ │ ├── importexport │ │ │ ├── auth_providers │ │ │ │ └── api-key.json │ │ │ ├── services │ │ │ │ └── mongodb-atlas │ │ │ │ │ ├── config.json │ │ │ │ │ └── rules │ │ │ │ │ ├── todo.items.json │ │ │ │ │ └── todo.lists.json │ │ │ └── stitch.json │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── examples │ │ │ │ └── todosync │ │ │ │ ├── TodoAdapter.java │ │ │ │ ├── TodoItem.java │ │ │ │ └── TodoListActivity.java │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ ├── activity_todo_list.xml │ │ │ ├── edit_item_dialog.xml │ │ │ └── todo_item.xml │ │ │ ├── menu │ │ │ └── todo_menu.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ │ └── xml │ │ │ └── backup_descriptor.xml │ └── todo │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── android │ │ │ └── examples │ │ │ └── todo │ │ │ ├── TodoAdapter.java │ │ │ ├── TodoItem.java │ │ │ └── TodoListActivity.java │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ ├── activity_todo_list.xml │ │ ├── edit_item_dialog.xml │ │ └── todo_item.xml │ │ ├── menu │ │ └── todo_menu.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ └── backup_descriptor.xml ├── sdk │ ├── build.gradle │ └── src │ │ └── main │ │ └── AndroidManifest.xml ├── services │ ├── aws-s3 │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── aws │ │ │ │ └── s3 │ │ │ │ ├── AwsS3ServiceClient.java │ │ │ │ ├── internal │ │ │ │ ├── AwsS3ServiceClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── aws-ses │ │ ├── .gitignore │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── aws │ │ │ │ └── ses │ │ │ │ ├── AwsSesServiceClient.java │ │ │ │ ├── internal │ │ │ │ ├── AwsSesServiceClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── aws │ │ ├── build.gradle │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── aws │ │ │ │ └── AwsServiceClientIntTests.kt │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── aws │ │ │ │ ├── AwsServiceClient.java │ │ │ │ ├── internal │ │ │ │ ├── AwsServiceClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── fcm │ │ ├── build.gradle │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── fcm │ │ │ │ ├── FcmServiceClientIntTests.kt │ │ │ │ └── FcmServicePushClientIntTests.kt │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── fcm │ │ │ │ ├── FcmServiceClient.java │ │ │ │ ├── FcmServicePushClient.java │ │ │ │ ├── internal │ │ │ │ ├── FcmServiceClientImpl.java │ │ │ │ ├── FcmServicePushClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── http │ │ ├── build.gradle │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── http │ │ │ │ └── HttpServiceClientIntTests.kt │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── http │ │ │ │ ├── HttpServiceClient.java │ │ │ │ ├── internal │ │ │ │ ├── HttpServiceClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── mongodb-local │ │ ├── .gitignore │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── mongodb │ │ │ │ └── local │ │ │ │ ├── LocalMongoDbService.java │ │ │ │ ├── internal │ │ │ │ ├── AndroidEmbeddedMongoClientFactory.java │ │ │ │ ├── MongoDbMobileProvider.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── mongodb-remote-perftests │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── mongodb │ │ │ │ └── performance │ │ │ │ ├── OkHttpInstrumentedTransport.kt │ │ │ │ └── PerformanceTestingException.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── mongodb-remote │ │ ├── build.gradle │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── mongodb │ │ │ │ └── remote │ │ │ │ └── RemoteMongoClientIntTests.kt │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── android │ │ │ │ └── services │ │ │ │ └── mongodb │ │ │ │ └── remote │ │ │ │ ├── AsyncChangeStream.java │ │ │ │ ├── RemoteAggregateIterable.java │ │ │ │ ├── RemoteFindIterable.java │ │ │ │ ├── RemoteMongoClient.java │ │ │ │ ├── RemoteMongoCollection.java │ │ │ │ ├── RemoteMongoCursor.java │ │ │ │ ├── RemoteMongoDatabase.java │ │ │ │ ├── RemoteMongoIterable.java │ │ │ │ ├── Sync.java │ │ │ │ ├── SyncAggregateIterable.java │ │ │ │ ├── SyncFindIterable.java │ │ │ │ ├── internal │ │ │ │ ├── RemoteAggregateIterableImpl.java │ │ │ │ ├── RemoteFindIterableImpl.java │ │ │ │ ├── RemoteMongoClientImpl.java │ │ │ │ ├── RemoteMongoCollectionImpl.java │ │ │ │ ├── RemoteMongoCursorImpl.java │ │ │ │ ├── RemoteMongoDatabaseImpl.java │ │ │ │ ├── RemoteMongoIterableImpl.java │ │ │ │ ├── SyncAggregateIterableImpl.java │ │ │ │ ├── SyncFindIterableImpl.java │ │ │ │ ├── SyncImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ └── twilio │ │ ├── .gitignore │ │ ├── build.gradle │ │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── android │ │ │ └── services │ │ │ └── twilio │ │ │ └── TwilioServiceClientIntTests.kt │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── android │ │ │ └── services │ │ │ └── twilio │ │ │ ├── TwilioServiceClient.java │ │ │ ├── internal │ │ │ ├── TwilioServiceClientImpl.java │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ └── res │ │ └── values │ │ └── strings.xml └── testutils │ ├── .gitignore │ ├── build.gradle │ └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mongodb │ │ └── stitch │ │ └── android │ │ └── testutils │ │ └── BaseStitchAndroidIntTest.kt │ └── res │ └── values │ └── strings.xml ├── build.gradle ├── config ├── checkstyle-exclude.xml ├── checkstyle-intellij.xml ├── checkstyle.xml ├── findbugs-exclude.xml ├── header.html └── pmd.xml ├── contrib ├── README.md ├── assets │ ├── css │ │ ├── README.md │ │ └── javadoc-main.css │ └── fonts │ │ ├── fa-solid-900.eot │ │ ├── fa-solid-900.svg │ │ ├── fa-solid-900.ttf │ │ ├── fa-solid-900.woff │ │ └── fa-solid-900.woff2 ├── bump_version.bash ├── doclet │ ├── Makefile │ └── src │ │ └── CodeExampleManifestDoclet.java ├── docs-examples │ ├── ExampleNotMatched.java │ └── com │ │ └── mongodb │ │ └── stitch │ │ ├── android │ │ ├── core │ │ │ ├── StitchAppClient.java │ │ │ └── auth │ │ │ │ └── StitchAuth │ │ │ │ ├── loginWithCredential-StitchCredential.java │ │ │ │ └── logout.java │ │ └── services │ │ │ └── mongodb │ │ │ └── remote │ │ │ ├── RemoteMongoClient.java │ │ │ ├── RemoteMongoCollection.java │ │ │ ├── RemoteMongoCollection │ │ │ ├── count-Bson-RemoteCountOptions.java │ │ │ ├── count-Bson.java │ │ │ ├── count.java │ │ │ ├── find-Bson.java │ │ │ ├── find.java │ │ │ └── updateOne-Bson-Bson-RemoteUpdateOptions.java │ │ │ └── RemoteMongoDatabase.java │ │ └── core │ │ └── services │ │ └── mongodb │ │ └── remote │ │ └── RemoteUpdateResult.java ├── generate_docs.sh ├── paste-examples │ └── paste.py ├── publish_sdk.bash └── stage_docs.sh ├── core ├── admin-client │ ├── .gitignore │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ └── admin │ │ │ ├── Resources.kt │ │ │ ├── StitchAdminAuth.kt │ │ │ ├── StitchAdminAuthRoutes.kt │ │ │ ├── StitchAdminClient.kt │ │ │ ├── StitchAdminUser.kt │ │ │ ├── StitchAdminUserProfile.kt │ │ │ ├── apps │ │ │ └── AppsResources.kt │ │ │ ├── authProviders │ │ │ ├── AuthProvidersResources.kt │ │ │ └── ProviderConfigs.kt │ │ │ ├── customUserData │ │ │ └── CustomUserDataConfig.kt │ │ │ ├── functions │ │ │ └── FunctionsResources.kt │ │ │ ├── services │ │ │ ├── ServiceConfigs.kt │ │ │ ├── ServiceResources.kt │ │ │ └── rules │ │ │ │ └── RulesResources.kt │ │ │ ├── userRegistrations │ │ │ └── userRegistrationsResources.kt │ │ │ └── users │ │ │ └── UsersResources.kt │ │ └── test │ │ └── java │ │ └── com │ │ └── mongodb │ │ └── stitch │ │ └── core │ │ └── admin │ │ └── StitchAdminClientTests.kt ├── sdk │ ├── build.gradle │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ ├── StitchAppClientConfiguration.java │ │ │ ├── StitchAppClientInfo.java │ │ │ ├── StitchClientConfiguration.java │ │ │ ├── StitchClientErrorCode.java │ │ │ ├── StitchClientException.java │ │ │ ├── StitchException.java │ │ │ ├── StitchRequestErrorCode.java │ │ │ ├── StitchRequestException.java │ │ │ ├── StitchServiceErrorCode.java │ │ │ ├── StitchServiceException.java │ │ │ ├── auth │ │ │ ├── ProviderCapabilities.java │ │ │ ├── StitchCredential.java │ │ │ ├── StitchUserIdentity.java │ │ │ ├── StitchUserProfile.java │ │ │ ├── UserType.java │ │ │ ├── internal │ │ │ │ ├── AccessTokenRefresher.java │ │ │ │ ├── AuthInfo.java │ │ │ │ ├── CoreStitchAuth.java │ │ │ │ ├── CoreStitchUser.java │ │ │ │ ├── CoreStitchUserImpl.java │ │ │ │ ├── DeviceFields.java │ │ │ │ ├── Jwt.java │ │ │ │ ├── StitchAuthRequestClient.java │ │ │ │ ├── StitchAuthRoutes.java │ │ │ │ ├── StitchUserFactory.java │ │ │ │ ├── StitchUserProfileImpl.java │ │ │ │ ├── models │ │ │ │ │ ├── ApiAuthInfo.java │ │ │ │ │ ├── ApiCoreUserProfile.java │ │ │ │ │ ├── ApiStitchUserIdentity.java │ │ │ │ │ ├── StoreAuthInfo.java │ │ │ │ │ ├── StoreCoreUserProfile.java │ │ │ │ │ ├── StoreStitchUserIdentity.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ └── providers │ │ │ │ ├── anonymous │ │ │ │ ├── AnonymousAuthProvider.java │ │ │ │ ├── AnonymousCredential.java │ │ │ │ └── package-info.java │ │ │ │ ├── custom │ │ │ │ ├── CustomAuthProvider.java │ │ │ │ ├── CustomCredential.java │ │ │ │ └── package-info.java │ │ │ │ ├── facebook │ │ │ │ ├── FacebookAuthProvider.java │ │ │ │ ├── FacebookCredential.java │ │ │ │ └── package-info.java │ │ │ │ ├── function │ │ │ │ ├── FunctionAuthProvider.java │ │ │ │ ├── FunctionCredential.java │ │ │ │ └── package-info.java │ │ │ │ ├── google │ │ │ │ ├── GoogleAuthProvider.java │ │ │ │ ├── GoogleCredential.java │ │ │ │ └── package-info.java │ │ │ │ ├── internal │ │ │ │ ├── CoreAuthProviderClient.java │ │ │ │ └── package-info.java │ │ │ │ ├── serverapikey │ │ │ │ ├── ServerApiKeyAuthProvider.java │ │ │ │ ├── ServerApiKeyCredential.java │ │ │ │ └── package-info.java │ │ │ │ ├── userapikey │ │ │ │ ├── UserApiKeyAuthProvider.java │ │ │ │ ├── UserApiKeyCredential.java │ │ │ │ ├── internal │ │ │ │ │ ├── CoreUserApiKeyAuthProviderClient.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── models │ │ │ │ │ ├── UserApiKey.java │ │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ │ └── userpassword │ │ │ │ ├── UserPasswordAuthProvider.java │ │ │ │ ├── UserPasswordCredential.java │ │ │ │ ├── internal │ │ │ │ ├── CoreUserPasswordAuthProviderClient.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ ├── internal │ │ │ ├── CoreStitchAppClient.java │ │ │ ├── common │ │ │ │ ├── Assertions.java │ │ │ │ ├── AsyncAdapter.java │ │ │ │ ├── AuthMonitor.java │ │ │ │ ├── BsonUtils.java │ │ │ │ ├── Callback.java │ │ │ │ ├── CallbackAsyncAdapter.java │ │ │ │ ├── CollectionDecoder.java │ │ │ │ ├── Dispatcher.java │ │ │ │ ├── IoUtils.java │ │ │ │ ├── MemoryStorage.java │ │ │ │ ├── OperationResult.java │ │ │ │ ├── StitchError.java │ │ │ │ ├── StitchObjectMapper.java │ │ │ │ ├── Storage.java │ │ │ │ ├── ThreadDispatcher.java │ │ │ │ └── package-info.java │ │ │ ├── net │ │ │ │ ├── ApiAppMetadata.java │ │ │ │ ├── BaseStitchRequestClient.java │ │ │ │ ├── ContentTypes.java │ │ │ │ ├── Event.java │ │ │ │ ├── EventStream.java │ │ │ │ ├── EventStreamReader.java │ │ │ │ ├── Headers.java │ │ │ │ ├── Method.java │ │ │ │ ├── NetworkMonitor.java │ │ │ │ ├── OkHttpEventStream.java │ │ │ │ ├── OkHttpTransport.java │ │ │ │ ├── Request.java │ │ │ │ ├── Response.java │ │ │ │ ├── StitchAppAuthRoutes.java │ │ │ │ ├── StitchAppRequestClientImpl.java │ │ │ │ ├── StitchAppRoutes.java │ │ │ │ ├── StitchAuthDocRequest.java │ │ │ │ ├── StitchAuthRequest.java │ │ │ │ ├── StitchDocRequest.java │ │ │ │ ├── StitchEvent.java │ │ │ │ ├── StitchRequest.java │ │ │ │ ├── StitchRequestClient.java │ │ │ │ ├── StitchRequestClientImpl.java │ │ │ │ ├── Stream.java │ │ │ │ ├── Transport.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── push │ │ │ └── internal │ │ │ │ ├── CoreStitchPushClient.java │ │ │ │ ├── CoreStitchPushClientImpl.java │ │ │ │ ├── StitchPushRoutes.java │ │ │ │ └── package-info.java │ │ │ └── services │ │ │ └── internal │ │ │ ├── AuthEvent.java │ │ │ ├── CoreStitchServiceClient.java │ │ │ ├── CoreStitchServiceClientImpl.java │ │ │ ├── RebindEvent.java │ │ │ ├── RebindEventType.java │ │ │ ├── StitchServiceBinder.java │ │ │ ├── StitchServiceRoutes.java │ │ │ └── package-info.java │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ ├── StitchAppClientConfigurationUnitTests.kt │ │ │ ├── StitchAppClientInfoUnitTests.java │ │ │ ├── StitchClientConfigurationUnitTests.kt │ │ │ ├── auth │ │ │ ├── StitchUserProfileUnitTests.java │ │ │ ├── internal │ │ │ │ ├── AccessTokenRefreshUnitTests.java │ │ │ │ ├── CoreStitchAuthUnitTests.java │ │ │ │ └── model │ │ │ │ │ └── StoreAuthInfoUnitTests.java │ │ │ └── providers │ │ │ │ ├── userapikey │ │ │ │ └── internal │ │ │ │ │ └── CoreUserApiKeyAuthProviderClientUnitTests.java │ │ │ │ └── userpassword │ │ │ │ ├── UserPasswordCredentialUnitTests.java │ │ │ │ └── internal │ │ │ │ └── CoreUserPasswordAuthProviderClientUnitTests.java │ │ │ ├── internal │ │ │ └── net │ │ │ │ ├── EventStreamReaderUnitTests.kt │ │ │ │ ├── OkHttpEventStreamUnitTests.kt │ │ │ │ ├── OkHttpTransportUnitTests.kt │ │ │ │ ├── StitchEventUnitTests.kt │ │ │ │ ├── StitchRequestClientImplUnitTests.java │ │ │ │ ├── StreamTestUtils.java │ │ │ │ └── StreamUnitTests.kt │ │ │ ├── push │ │ │ └── internal │ │ │ │ └── CoreStitchPushClientUnitTests.java │ │ │ ├── services │ │ │ └── internal │ │ │ │ └── CoreStitchServiceUnitTests.java │ │ │ └── testutils │ │ │ └── ApiTestUtils.java │ │ └── resources │ │ └── mockito-extensions │ │ └── org.mockito.plugins.MockMaker ├── services │ ├── aws-s3 │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── core │ │ │ │ └── services │ │ │ │ └── aws │ │ │ │ └── s3 │ │ │ │ ├── AwsS3PutObjectResult.java │ │ │ │ ├── AwsS3SignPolicyResult.java │ │ │ │ ├── internal │ │ │ │ ├── CoreAwsS3ServiceClient.java │ │ │ │ ├── ResultDecoders.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ └── services │ │ │ └── aws │ │ │ └── s3 │ │ │ └── internal │ │ │ └── CoreAwsS3ServiceClientUnitTests.java │ ├── aws-ses │ │ ├── .gitignore │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── core │ │ │ │ └── services │ │ │ │ └── aws │ │ │ │ └── ses │ │ │ │ ├── AwsSesSendResult.java │ │ │ │ ├── internal │ │ │ │ ├── CoreAwsSesServiceClient.java │ │ │ │ ├── ResultDecoders.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ └── services │ │ │ └── aws │ │ │ └── ses │ │ │ └── internal │ │ │ └── CoreAwsSesServiceClientUnitTests.java │ ├── aws │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── core │ │ │ │ └── services │ │ │ │ └── aws │ │ │ │ ├── AwsRequest.java │ │ │ │ ├── internal │ │ │ │ ├── CoreAwsServiceClient.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ └── services │ │ │ └── aws │ │ │ ├── AwsRequestUnitTests.java │ │ │ └── internal │ │ │ └── CoreAwsServiceClientUnitTests.java │ ├── fcm │ │ ├── .gitignore │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── core │ │ │ │ └── services │ │ │ │ └── fcm │ │ │ │ ├── FcmSendMessageNotification.java │ │ │ │ ├── FcmSendMessagePriority.java │ │ │ │ ├── FcmSendMessageRequest.java │ │ │ │ ├── FcmSendMessageResult.java │ │ │ │ ├── FcmSendMessageResultFailureDetail.java │ │ │ │ ├── internal │ │ │ │ ├── CoreFcmServiceClient.java │ │ │ │ ├── CoreFcmServicePushClient.java │ │ │ │ ├── ResultDecoders.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ └── services │ │ │ └── fcm │ │ │ ├── FcmSendMessageRequestUnitTests.java │ │ │ └── internal │ │ │ ├── CoreFcmServiceClientUnitTests.java │ │ │ └── CoreFcmServicePushClientUnitTests.java │ ├── http │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── core │ │ │ │ └── services │ │ │ │ └── http │ │ │ │ ├── HttpCookie.java │ │ │ │ ├── HttpMethod.java │ │ │ │ ├── HttpRequest.java │ │ │ │ ├── HttpResponse.java │ │ │ │ ├── internal │ │ │ │ ├── CoreHttpServiceClient.java │ │ │ │ ├── ResultDecoders.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ └── services │ │ │ └── http │ │ │ ├── HttpRequestUnitTests.java │ │ │ └── internal │ │ │ └── CoreHttpServiceClientUnitTests.java │ ├── mongodb-local │ │ ├── .gitignore │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ └── services │ │ │ └── mongodb │ │ │ └── local │ │ │ └── internal │ │ │ ├── EmbeddedMongoClientFactory.java │ │ │ ├── LocalMongoClientFactory.java │ │ │ └── package-info.java │ ├── mongodb-remote │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── core │ │ │ │ └── services │ │ │ │ └── mongodb │ │ │ │ └── remote │ │ │ │ ├── BaseChangeEvent.java │ │ │ │ ├── ChangeEvent.java │ │ │ │ ├── ChangeStream.java │ │ │ │ ├── ChangeStreamRunner.java │ │ │ │ ├── CompactChangeEvent.java │ │ │ │ ├── ExceptionListener.java │ │ │ │ ├── OperationType.java │ │ │ │ ├── RemoteCountOptions.java │ │ │ │ ├── RemoteDeleteResult.java │ │ │ │ ├── RemoteFindOneAndModifyOptions.java │ │ │ │ ├── RemoteFindOptions.java │ │ │ │ ├── RemoteInsertManyResult.java │ │ │ │ ├── RemoteInsertOneResult.java │ │ │ │ ├── RemoteUpdateOptions.java │ │ │ │ ├── RemoteUpdateResult.java │ │ │ │ ├── UpdateDescription.java │ │ │ │ ├── internal │ │ │ │ ├── AggregateOperation.java │ │ │ │ ├── CoreRemoteAggregateIterable.java │ │ │ │ ├── CoreRemoteAggregateIterableImpl.java │ │ │ │ ├── CoreRemoteFindIterable.java │ │ │ │ ├── CoreRemoteFindIterableImpl.java │ │ │ │ ├── CoreRemoteMappingIterable.java │ │ │ │ ├── CoreRemoteMongoClient.java │ │ │ │ ├── CoreRemoteMongoClientImpl.java │ │ │ │ ├── CoreRemoteMongoCollection.java │ │ │ │ ├── CoreRemoteMongoCollectionImpl.java │ │ │ │ ├── CoreRemoteMongoCursor.java │ │ │ │ ├── CoreRemoteMongoCursorImpl.java │ │ │ │ ├── CoreRemoteMongoDatabase.java │ │ │ │ ├── CoreRemoteMongoDatabaseImpl.java │ │ │ │ ├── CoreRemoteMongoIterable.java │ │ │ │ ├── CoreRemoteMongoIterableImpl.java │ │ │ │ ├── CoreRemoteMongoMappingCursor.java │ │ │ │ ├── CountOperation.java │ │ │ │ ├── DeleteManyOperation.java │ │ │ │ ├── DeleteOneOperation.java │ │ │ │ ├── FindOneAndModifyOperation.java │ │ │ │ ├── FindOneOperation.java │ │ │ │ ├── FindOperation.java │ │ │ │ ├── InsertManyOperation.java │ │ │ │ ├── InsertOneOperation.java │ │ │ │ ├── Operation.java │ │ │ │ ├── Operations.java │ │ │ │ ├── ResultDecoders.java │ │ │ │ ├── UpdateManyOperation.java │ │ │ │ ├── UpdateOneOperation.java │ │ │ │ ├── WatchOperation.java │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ └── sync │ │ │ │ ├── BaseChangeEventListener.java │ │ │ │ ├── ChangeEventListener.java │ │ │ │ ├── CompactChangeEventListener.java │ │ │ │ ├── ConflictHandler.java │ │ │ │ ├── ConflictResolution.java │ │ │ │ ├── CoreSync.java │ │ │ │ ├── CoreSyncAggregateIterable.java │ │ │ │ ├── CoreSyncFindIterable.java │ │ │ │ ├── DefaultSyncConflictResolvers.java │ │ │ │ ├── ErrorListener.java │ │ │ │ ├── SyncCountOptions.java │ │ │ │ ├── SyncDeleteResult.java │ │ │ │ ├── SyncInsertManyResult.java │ │ │ │ ├── SyncInsertOneResult.java │ │ │ │ ├── SyncUpdateOptions.java │ │ │ │ ├── SyncUpdateResult.java │ │ │ │ ├── internal │ │ │ │ ├── AggregateOperation.java │ │ │ │ ├── ChangeEvents.java │ │ │ │ ├── CoreDocumentSynchronizationConfig.java │ │ │ │ ├── CoreRemoteClientFactory.java │ │ │ │ ├── CoreRemoteMongoCollectionWriteModelContainer.java │ │ │ │ ├── CoreSyncAggregateIterableImpl.java │ │ │ │ ├── CoreSyncFindIterableImpl.java │ │ │ │ ├── CoreSyncImpl.java │ │ │ │ ├── CoreSyncMongoIterableImpl.java │ │ │ │ ├── CountOperation.java │ │ │ │ ├── DataSynchronizer.java │ │ │ │ ├── DataSynchronizerException.java │ │ │ │ ├── DataSynchronizerRunner.java │ │ │ │ ├── DeleteManyOperation.java │ │ │ │ ├── DeleteOneOperation.java │ │ │ │ ├── DispatchGroup.java │ │ │ │ ├── DocumentVersionInfo.java │ │ │ │ ├── EventDispatcher.java │ │ │ │ ├── FailedOperationListener.java │ │ │ │ ├── FindOneOperation.java │ │ │ │ ├── HashUtils.java │ │ │ │ ├── InsertManyOperation.java │ │ │ │ ├── InsertOneOperation.java │ │ │ │ ├── InstanceChangeStreamListener.java │ │ │ │ ├── InstanceChangeStreamListenerImpl.java │ │ │ │ ├── InstanceSynchronizationConfig.java │ │ │ │ ├── LocalSyncWriteModelContainer.java │ │ │ │ ├── MongoCollectionWriteModelContainer.java │ │ │ │ ├── NamespaceChangeStreamListener.java │ │ │ │ ├── NamespaceChangeStreamRunner.java │ │ │ │ ├── NamespaceListenerConfig.java │ │ │ │ ├── NamespaceSynchronizationConfig.java │ │ │ │ ├── SyncConfiguration.java │ │ │ │ ├── SyncConfigurationException.java │ │ │ │ ├── SyncFindOperation.java │ │ │ │ ├── SyncFrequency.java │ │ │ │ ├── SyncMongoClientFactory.java │ │ │ │ ├── SyncOperations.java │ │ │ │ ├── UpdateManyOperation.java │ │ │ │ ├── UpdateOneOperation.java │ │ │ │ ├── WriteModelContainer.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ └── services │ │ │ └── mongodb │ │ │ └── remote │ │ │ ├── internal │ │ │ ├── CoreRemoteMongoClientUnitTests.java │ │ │ ├── CoreRemoteMongoCollectionUnitTests.java │ │ │ ├── CoreRemoteMongoDatabaseUnitTests.java │ │ │ └── TestUtils.java │ │ │ └── sync │ │ │ └── internal │ │ │ ├── ChangeEventUnitTests.kt │ │ │ ├── CompactChangeEventUnitTests.kt │ │ │ ├── CoreDocumentSynchronizationConfigUnitTests.kt │ │ │ ├── CoreSyncUnitTests.kt │ │ │ ├── DataSynchronizerCRUDUnitTests.kt │ │ │ ├── DataSynchronizerTestContext.kt │ │ │ ├── DataSynchronizerUnitTests.kt │ │ │ ├── DocumentVersionInfoUnitTests.kt │ │ │ ├── HashUtilsUnitTests.kt │ │ │ ├── NamespaceChangeStreamListenerUnitTests.kt │ │ │ ├── NamespaceSynchronizationConfigUnitTests.kt │ │ │ ├── OperationTypeUnitTests.kt │ │ │ ├── SyncConfigurationUnitTests.kt │ │ │ ├── SyncUnitTestHarness.kt │ │ │ ├── UnitTestEmbeddedMongoClientFactory.java │ │ │ └── UpdateDescriptionUnitTests.kt │ └── twilio │ │ ├── .gitignore │ │ ├── build.gradle │ │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── core │ │ │ └── services │ │ │ └── twilio │ │ │ └── internal │ │ │ ├── CoreTwilioServiceClient.java │ │ │ └── package-info.java │ │ └── test │ │ └── java │ │ └── com │ │ └── mongodb │ │ └── stitch │ │ └── core │ │ └── services │ │ └── twilio │ │ └── internal │ │ └── CoreTwilioServiceClientUnitTests.java └── testutils │ ├── .gitignore │ ├── build.gradle │ └── src │ └── main │ └── java │ └── com │ └── mongodb │ └── stitch │ └── core │ └── testutils │ ├── Assert.java │ ├── BaseStitchIntTest.kt │ ├── CustomType.java │ └── sync │ ├── ProxyRemoteMethods.kt │ ├── ProxySyncMethods.kt │ ├── SyncIntTestProxy.kt │ └── SyncIntTestRunner.kt ├── etc └── run_core_test.sh ├── gradle.properties ├── gradle ├── extDocs │ └── package-list └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── server ├── .gitignore ├── core │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── mongodb │ │ └── stitch │ │ └── server │ │ └── core │ │ ├── Stitch.java │ │ ├── StitchAppClient.java │ │ ├── auth │ │ ├── StitchAuth.java │ │ ├── StitchAuthListener.java │ │ ├── StitchUser.java │ │ ├── internal │ │ │ ├── StitchAuthImpl.java │ │ │ ├── StitchUserFactoryImpl.java │ │ │ ├── StitchUserImpl.java │ │ │ └── package-info.java │ │ ├── package-info.java │ │ └── providers │ │ │ ├── internal │ │ │ ├── AuthProviderClientFactory.java │ │ │ ├── NamedAuthProviderClientFactory.java │ │ │ └── package-info.java │ │ │ ├── userapikey │ │ │ ├── UserApiKeyAuthProviderClient.java │ │ │ ├── internal │ │ │ │ ├── UserApiKeyAuthProviderClientImpl.java │ │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ │ └── userpassword │ │ │ ├── UserPasswordAuthProviderClient.java │ │ │ ├── internal │ │ │ ├── UserPasswordAuthProviderClientImpl.java │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ ├── internal │ │ ├── StitchAppClientImpl.java │ │ ├── net │ │ │ └── ServerNetworkMonitor.java │ │ └── package-info.java │ │ ├── package-info.java │ │ └── services │ │ ├── StitchServiceClient.java │ │ ├── internal │ │ ├── NamedServiceClientFactory.java │ │ ├── ServiceClientFactory.java │ │ ├── StitchServiceClientImpl.java │ │ └── package-info.java │ │ └── package-info.java ├── coretest │ ├── build.gradle │ └── src │ │ └── test │ │ └── java │ │ └── com │ │ └── mongodb │ │ └── stitch │ │ └── server │ │ └── core │ │ ├── StitchAppClientIntTests.kt │ │ ├── StitchAuthListenerIntTests.kt │ │ └── auth │ │ └── providers │ │ └── userapikey │ │ └── UserApiKeyAuthProviderClientIntTests.kt ├── sdk │ └── build.gradle ├── services │ ├── aws-s3 │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── server │ │ │ │ └── services │ │ │ │ └── aws │ │ │ │ └── s3 │ │ │ │ ├── AwsS3ServiceClient.java │ │ │ │ ├── internal │ │ │ │ ├── AwsS3ServiceClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── server │ │ │ └── services │ │ │ └── aws │ │ │ └── s3 │ │ │ └── AwsS3ServiceClientIntTests.kt │ ├── aws-ses │ │ ├── .gitignore │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── server │ │ │ │ └── services │ │ │ │ └── aws │ │ │ │ └── ses │ │ │ │ ├── AwsSesServiceClient.java │ │ │ │ ├── internal │ │ │ │ ├── AwsSesServiceClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── server │ │ │ └── services │ │ │ └── aws │ │ │ └── ses │ │ │ └── AwsSesServiceClientIntTests.kt │ ├── aws │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── server │ │ │ │ └── services │ │ │ │ └── aws │ │ │ │ ├── AwsServiceClient.java │ │ │ │ ├── internal │ │ │ │ ├── AwsServiceClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── server │ │ │ └── services │ │ │ └── aws │ │ │ └── AwsServiceClientIntTests.kt │ ├── fcm │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── server │ │ │ │ └── services │ │ │ │ └── fcm │ │ │ │ ├── FcmServiceClient.java │ │ │ │ ├── internal │ │ │ │ ├── FcmServiceClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── server │ │ │ └── services │ │ │ └── fcm │ │ │ └── FcmServiceClientIntTests.kt │ ├── http │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── server │ │ │ │ └── services │ │ │ │ └── http │ │ │ │ ├── HttpServiceClient.java │ │ │ │ ├── internal │ │ │ │ ├── HttpServiceClientImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── server │ │ │ └── services │ │ │ └── http │ │ │ └── HttpServiceClientIntTests.kt │ ├── mongodb-remote │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── mongodb │ │ │ │ └── stitch │ │ │ │ └── server │ │ │ │ └── services │ │ │ │ └── mongodb │ │ │ │ └── remote │ │ │ │ ├── RemoteAggregateIterable.java │ │ │ │ ├── RemoteFindIterable.java │ │ │ │ ├── RemoteMongoClient.java │ │ │ │ ├── RemoteMongoCollection.java │ │ │ │ ├── RemoteMongoCursor.java │ │ │ │ ├── RemoteMongoDatabase.java │ │ │ │ ├── RemoteMongoIterable.java │ │ │ │ ├── internal │ │ │ │ ├── RemoteAggregateIterableImpl.java │ │ │ │ ├── RemoteFindIterableImpl.java │ │ │ │ ├── RemoteMongoClientImpl.java │ │ │ │ ├── RemoteMongoCollectionImpl.java │ │ │ │ ├── RemoteMongoCursorImpl.java │ │ │ │ ├── RemoteMongoDatabaseImpl.java │ │ │ │ ├── RemoteMongoIterableImpl.java │ │ │ │ └── package-info.java │ │ │ │ └── package-info.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── server │ │ │ └── services │ │ │ └── mongodb │ │ │ └── remote │ │ │ └── RemoteMongoClientIntTests.kt │ └── twilio │ │ ├── .gitignore │ │ ├── build.gradle │ │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── mongodb │ │ │ └── stitch │ │ │ └── server │ │ │ └── services │ │ │ └── twilio │ │ │ ├── TwilioServiceClient.java │ │ │ ├── internal │ │ │ ├── TwilioServiceClientImpl.java │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ └── test │ │ └── java │ │ └── com │ │ └── mongodb │ │ └── stitch │ │ └── server │ │ └── services │ │ └── twilio │ │ └── TwilioServiceClientIntTests.kt └── testutils │ ├── .gitignore │ ├── build.gradle │ └── src │ └── main │ └── java │ └── com │ └── mongodb │ └── stitch │ └── server │ └── testutils │ └── BaseStitchServerIntTest.kt └── settings.gradle /android/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/core/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/core/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | apply plugin: 'digital.wup.android-maven-publish' 3 | apply plugin: 'jacoco-android' 4 | apply plugin: 'com.jfrog.bintray' 5 | 6 | ext.pomDisplayName = "Android Core" 7 | 8 | buildscript { 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:3.3.2' 11 | classpath 'digital.wup:android-maven-publish:3.6.2' 12 | classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4' 13 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 14 | } 15 | } 16 | 17 | android { 18 | compileSdkVersion target_api 19 | defaultConfig { 20 | minSdkVersion min_api 21 | targetSdkVersion target_api 22 | consumerProguardFiles 'lib-proguard-rules.pro' 23 | } 24 | } 25 | 26 | dependencies { 27 | api project(':core:stitch-core-sdk') 28 | api "com.google.android.gms:play-services-tasks:${google_play_services_version}" 29 | implementation "com.android.support:support-v4:${support_library_version}" 30 | } 31 | -------------------------------------------------------------------------------- /android/core/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 11 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/auth/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of the authentication components 19 | * of a Stitch client. 20 | */ 21 | package com.mongodb.stitch.android.core.auth.internal; 22 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/auth/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the auth interface used to log in into Stitch and the definition of a User. 19 | */ 20 | package com.mongodb.stitch.android.core.auth; 21 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/auth/providers/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's descriptions of the authentication provider 19 | * client factories. 20 | */ 21 | package com.mongodb.stitch.android.core.auth.providers.internal; 22 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/auth/providers/userapikey/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of the user API key 19 | * authentication provider client. 20 | */ 21 | package com.mongodb.stitch.android.core.auth.providers.userapikey.internal; 22 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/auth/providers/userapikey/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the user API key authentication provider client used to manage keys. */ 18 | package com.mongodb.stitch.android.core.auth.providers.userapikey; 19 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/auth/providers/userpassword/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of the User/Password key 19 | * authentication provider client. 20 | */ 21 | package com.mongodb.stitch.android.core.auth.providers.userpassword.internal; 22 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/auth/providers/userpassword/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the User/Password authentication provider client used to register users. 19 | */ 20 | package com.mongodb.stitch.android.core.auth.providers.userpassword; 21 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/internal/common/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains common utility classes needed across the Android SDK 19 | * implementation. 20 | */ 21 | package com.mongodb.stitch.android.core.internal.common; 22 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of a StitchAppClient. 19 | */ 20 | package com.mongodb.stitch.android.core.internal; 21 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the entry point into the Android SDK with the Stitch and StitchAppClient 19 | * classes. 20 | */ 21 | package com.mongodb.stitch.android.core; 22 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/push/internal/NamedPushClientFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.android.core.push.internal; 18 | 19 | import com.mongodb.stitch.android.core.internal.common.TaskDispatcher; 20 | 21 | public interface NamedPushClientFactory { 22 | T getClient(final StitchPushClient pushClient, final TaskDispatcher dispatcher); 23 | } 24 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/push/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the Android SDK's implementation of the push interface used to get 19 | * clients that can register for push notifications. 20 | */ 21 | package com.mongodb.stitch.android.core.push.internal; 22 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/push/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the push interface used to get clients that can register for push 19 | * notifications. 20 | */ 21 | package com.mongodb.stitch.android.core.push; 22 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/services/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of a basic Stitch service and 19 | * description of the service client factories. 20 | */ 21 | package com.mongodb.stitch.android.core.services.internal; 22 | -------------------------------------------------------------------------------- /android/core/src/main/java/com/mongodb/stitch/android/core/services/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the definitions of service specific concepts. 19 | */ 20 | package com.mongodb.stitch.android.core.services; 21 | -------------------------------------------------------------------------------- /android/core/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/coretest/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/coretest/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | apply plugin: 'kotlin-android' 3 | apply plugin: 'digital.wup.android-maven-publish' 4 | apply plugin: 'jacoco-android' 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:3.3.2' 9 | classpath 'digital.wup:android-maven-publish:3.6.2' 10 | classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4' 11 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}" 12 | } 13 | } 14 | 15 | android { 16 | compileSdkVersion target_api 17 | defaultConfig { 18 | minSdkVersion min_api 19 | targetSdkVersion target_api 20 | } 21 | } 22 | 23 | dependencies { 24 | androidTestImplementation project(':android:stitch-android-testutils') 25 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 26 | androidTestImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" 27 | androidTestImplementation 'io.jsonwebtoken:jjwt:0.9.1' 28 | } 29 | -------------------------------------------------------------------------------- /android/coretest/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/coretest/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/examples/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | -------------------------------------------------------------------------------- /android/examples/fcm/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/examples/fcm/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | apply plugin: 'digital.wup.android-maven-publish' 3 | apply plugin: 'jacoco-android' 4 | 5 | buildscript { 6 | dependencies { 7 | classpath 'com.android.tools.build:gradle:3.3.2' 8 | classpath 'digital.wup:android-maven-publish:3.6.2' 9 | classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4' 10 | } 11 | } 12 | 13 | android { 14 | compileSdkVersion target_api 15 | defaultConfig { 16 | minSdkVersion min_api 17 | targetSdkVersion target_api 18 | } 19 | } 20 | 21 | dependencies { 22 | implementation project(':android:stitch-android-sdk') 23 | implementation project(':android:android-services:stitch-android-services-fcm') 24 | implementation "com.android.support:support-v4:${support_library_version}" 25 | implementation "com.android.support:appcompat-v7:${support_library_version}" 26 | implementation "com.android.support.constraint:constraint-layout:1.1.0" 27 | implementation 'com.google.firebase:firebase-messaging:17.0.0' 28 | } 29 | -------------------------------------------------------------------------------- /android/examples/fcm/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/fcm/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/fcm/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/fcm/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/fcm/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/fcm/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/fcm/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/fcm/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/fcm/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/fcm/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/fcm/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #212121 4 | #43a047 5 | #2e7d32 6 | #1e88e5 7 | 8 | -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FCM example 3 | test-app 4 | Send to Self 5 | Send to News 6 | Subscribe to News 7 | Deregister 8 | Register 9 | 10 | -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/examples/fcm/src/main/res/xml/backup_descriptor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/examples/snippets/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /android/examples/stress-tests/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/examples/stress-tests/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/layout/progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 14 | 22 | 23 | -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/stress-tests/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/stress-tests/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/stress-tests/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/stress-tests/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/stress-tests/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/stress-tests/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/stress-tests/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/stress-tests/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/stress-tests/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/stress-tests/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #008577 4 | #00574B 5 | #D81B60 6 | 7 | -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | stitch-android-examples-stress-tests 3 | 4 | -------------------------------------------------------------------------------- /android/examples/stress-tests/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /android/examples/todo-sync/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/examples/todo-sync/README.md: -------------------------------------------------------------------------------- 1 | # Stitch Mobile Sync Example - Todo List 2 | 3 | ## Installation 4 | 5 | 1. Create an Atlas cluster on [https://www.mongodb.com/cloud/atlas](https://www.mongodb.com/cloud/atlas) 6 | 2. Go to the `importexport` directory and edit the `services/mongodb-atlas/config.json` file and set the `clusterName` field to the name of the cluster you created. 7 | 3. Use the [Stitch CLI](https://docs.mongodb.com/stitch/import-export/stitch-cli-reference/) to import the app in the `importexport` directory. 8 | 4. In the project of your Atlas cluster, go to Stitch Apps and click the app you just imported. 9 | 5. On the Stitch App page, take note of the client app id on the Settings page. 10 | 6. Go to Users -> Providers -> API Keys and create an API key and copy down the key. 11 | 7. Inside `src/main/res/values/strings.xml` and replace the values for `stitch_client_app_id` and `stitch_user1_api_key` with the values you copied down. 12 | 8. Open up the `stitch-android-sdk` repo in Android Studio and run the `stitch-android-examples-todo-sync` app in the top right via the "play" button using an emulator or Android device. 13 | -------------------------------------------------------------------------------- /android/examples/todo-sync/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | apply plugin: 'digital.wup.android-maven-publish' 3 | apply plugin: 'jacoco-android' 4 | 5 | buildscript { 6 | dependencies { 7 | classpath 'com.android.tools.build:gradle:3.3.2' 8 | classpath 'digital.wup:android-maven-publish:3.6.2' 9 | classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4' 10 | } 11 | } 12 | 13 | android { 14 | compileSdkVersion target_api 15 | defaultConfig { 16 | minSdkVersion min_api 17 | targetSdkVersion target_api 18 | } 19 | } 20 | 21 | dependencies { 22 | implementation project(':android:stitch-android-sdk') 23 | implementation project(':android:android-services:stitch-android-services-mongodb-remote') 24 | implementation "com.android.support:support-v4:${support_library_version}" 25 | implementation "com.android.support:appcompat-v7:${support_library_version}" 26 | implementation "com.android.support:recyclerview-v7:${support_library_version}" 27 | implementation "com.android.support.constraint:constraint-layout:1.1.0" 28 | } 29 | -------------------------------------------------------------------------------- /android/examples/todo-sync/importexport/auth_providers/api-key.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "api-key", 3 | "type": "api-key", 4 | "disabled": false 5 | } 6 | -------------------------------------------------------------------------------- /android/examples/todo-sync/importexport/services/mongodb-atlas/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mongodb-atlas", 3 | "type": "mongodb-atlas", 4 | "config": { 5 | "clusterName": "todo", 6 | "wireProtocolEnabled": true 7 | }, 8 | "version": 1 9 | } 10 | -------------------------------------------------------------------------------- /android/examples/todo-sync/importexport/services/mongodb-atlas/rules/todo.lists.json: -------------------------------------------------------------------------------- 1 | { 2 | "database": "todo", 3 | "collection": "lists", 4 | "filters": [ 5 | { 6 | "name": "owner", 7 | "query": { 8 | "_id": "%%user.id" 9 | }, 10 | "apply_when": {} 11 | } 12 | ], 13 | "roles": [ 14 | { 15 | "name": "owner", 16 | "apply_when": { 17 | "_id": "%%user.id" 18 | }, 19 | "fields": { 20 | "_id": { 21 | "read": true 22 | }, 23 | "i": { 24 | "write": true, 25 | "read": true 26 | } 27 | }, 28 | "insert": true, 29 | "delete": true, 30 | "additional_fields": {} 31 | } 32 | ], 33 | "schema": { 34 | "properties": { 35 | "_id": { 36 | "bsonType": "string" 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /android/examples/todo-sync/importexport/stitch.json: -------------------------------------------------------------------------------- 1 | { 2 | "config_version": 20180301, 3 | "name": "todo", 4 | "security": {} 5 | } 6 | -------------------------------------------------------------------------------- /android/examples/todo-sync/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/layout/activity_todo_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/layout/edit_item_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 14 | -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo-sync/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo-sync/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo-sync/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo-sync/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo-sync/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo-sync/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo-sync/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo-sync/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo-sync/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo-sync/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #212121 4 | #43a047 5 | #2e7d32 6 | #1e88e5 7 | 8 | -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TodoSync 3 | Login 4 | Add 5 | Search 6 | Clear Checked 7 | Clear All 8 | Edit Item 9 | todo-arcsc 10 | Q1RyzXfGJRB0X7Bm9YXyOUTBW2fKyhUHpnfvc42kWLMCdcYrft9hlmo3lUOBlZs6 11 | 12 | -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/examples/todo-sync/src/main/res/xml/backup_descriptor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/examples/todo/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/examples/todo/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | apply plugin: 'digital.wup.android-maven-publish' 3 | apply plugin: 'jacoco-android' 4 | 5 | buildscript { 6 | dependencies { 7 | classpath 'com.android.tools.build:gradle:3.3.2' 8 | classpath 'digital.wup:android-maven-publish:3.6.2' 9 | classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4' 10 | } 11 | } 12 | 13 | android { 14 | compileSdkVersion target_api 15 | defaultConfig { 16 | minSdkVersion min_api 17 | targetSdkVersion target_api 18 | } 19 | } 20 | 21 | dependencies { 22 | implementation project(':android:stitch-android-sdk') 23 | implementation project(':android:android-services:stitch-android-services-mongodb-local') 24 | implementation "com.android.support:support-v4:${support_library_version}" 25 | implementation "com.android.support:appcompat-v7:${support_library_version}" 26 | implementation "com.android.support:recyclerview-v7:${support_library_version}" 27 | implementation "com.android.support.constraint:constraint-layout:1.1.0" 28 | } 29 | -------------------------------------------------------------------------------- /android/examples/todo/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /android/examples/todo/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 15 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/layout/activity_todo_list.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/layout/edit_item_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 14 | -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/menu/todo_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 14 | 18 | 22 | -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/android/examples/todo/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #212121 4 | #43a047 5 | #2e7d32 6 | #1e88e5 7 | 8 | -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Todo 3 | Add 4 | Search 5 | Clear Checked 6 | Clear All 7 | Edit Item 8 | test-app 9 | 10 | -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/examples/todo/src/main/res/xml/backup_descriptor.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/sdk/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | apply plugin: 'digital.wup.android-maven-publish' 3 | apply plugin: 'jacoco-android' 4 | apply plugin: 'com.jfrog.bintray' 5 | 6 | ext.pomDisplayName = "Android SDK" 7 | 8 | buildscript { 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:3.3.1' 11 | classpath 'digital.wup:android-maven-publish:3.6.2' 12 | classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4' 13 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 14 | } 15 | } 16 | 17 | android { 18 | compileSdkVersion target_api 19 | defaultConfig { 20 | minSdkVersion min_api 21 | targetSdkVersion target_api 22 | } 23 | } 24 | 25 | dependencies { 26 | api project(':android:stitch-android-core') 27 | 28 | // Services 29 | api project(':android:android-services:stitch-android-services-mongodb-remote') 30 | } 31 | -------------------------------------------------------------------------------- /android/sdk/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /android/services/aws-s3/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/aws-s3/src/main/java/com/mongodb/stitch/android/services/aws/s3/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of the AWS S3 service client. 19 | */ 20 | package com.mongodb.stitch.android.services.aws.s3.internal; 21 | -------------------------------------------------------------------------------- /android/services/aws-s3/src/main/java/com/mongodb/stitch/android/services/aws/s3/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the AWS S3 service client. */ 18 | package com.mongodb.stitch.android.services.aws.s3; 19 | -------------------------------------------------------------------------------- /android/services/aws-s3/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/aws-ses/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/services/aws-ses/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/aws-ses/src/main/java/com/mongodb/stitch/android/services/aws/ses/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of the AWS SES service client. 19 | */ 20 | package com.mongodb.stitch.android.services.aws.ses.internal; 21 | -------------------------------------------------------------------------------- /android/services/aws-ses/src/main/java/com/mongodb/stitch/android/services/aws/ses/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the AWS SES service client. */ 18 | package com.mongodb.stitch.android.services.aws.ses; 19 | -------------------------------------------------------------------------------- /android/services/aws-ses/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/aws/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/aws/src/main/java/com/mongodb/stitch/android/services/aws/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of the AWS service client. 19 | */ 20 | package com.mongodb.stitch.android.services.aws.internal; 21 | -------------------------------------------------------------------------------- /android/services/aws/src/main/java/com/mongodb/stitch/android/services/aws/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the AWS service client. */ 18 | package com.mongodb.stitch.android.services.aws; 19 | -------------------------------------------------------------------------------- /android/services/aws/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/fcm/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/fcm/src/main/java/com/mongodb/stitch/android/services/fcm/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of the FCM service and push 19 | * client. 20 | */ 21 | package com.mongodb.stitch.android.services.fcm.internal; 22 | -------------------------------------------------------------------------------- /android/services/fcm/src/main/java/com/mongodb/stitch/android/services/fcm/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the FCM service and push client. */ 18 | package com.mongodb.stitch.android.services.fcm; 19 | -------------------------------------------------------------------------------- /android/services/fcm/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/http/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/http/src/main/java/com/mongodb/stitch/android/services/http/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of the HTTP service client. 19 | */ 20 | package com.mongodb.stitch.android.services.http.internal; 21 | -------------------------------------------------------------------------------- /android/services/http/src/main/java/com/mongodb/stitch/android/services/http/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the HTTP service client. */ 18 | package com.mongodb.stitch.android.services.http; 19 | -------------------------------------------------------------------------------- /android/services/http/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/mongodb-local/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/services/mongodb-local/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | apply plugin: 'digital.wup.android-maven-publish' 3 | apply plugin: 'jacoco-android' 4 | apply plugin: 'com.jfrog.bintray' 5 | 6 | ext.pomDisplayName = "Android Local MongoDB Service" 7 | 8 | buildscript { 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:3.3.2' 11 | classpath 'digital.wup:android-maven-publish:3.6.2' 12 | classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4' 13 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 14 | } 15 | } 16 | 17 | android { 18 | compileSdkVersion target_api 19 | defaultConfig { 20 | minSdkVersion min_api 21 | targetSdkVersion target_api 22 | } 23 | } 24 | 25 | dependencies { 26 | implementation project(':android:stitch-android-core') 27 | api project(':core:core-services:stitch-core-services-mongodb-local') 28 | api('org.mongodb:mongodb-driver-embedded-android:3.10.1') 29 | } 30 | -------------------------------------------------------------------------------- /android/services/mongodb-local/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/services/mongodb-local/src/main/java/com/mongodb/stitch/android/services/mongodb/local/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's ContentProvider for working with the MongoDB 19 | * embedded platform. 20 | */ 21 | package com.mongodb.stitch.android.services.mongodb.local.internal; 22 | -------------------------------------------------------------------------------- /android/services/mongodb-local/src/main/java/com/mongodb/stitch/android/services/mongodb/local/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the local MongoClient used for local storage. */ 18 | package com.mongodb.stitch.android.services.mongodb.local; 19 | -------------------------------------------------------------------------------- /android/services/mongodb-local/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/mongodb-remote-perftests/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /android/services/mongodb-remote-perftests/src/main/java/com/mongodb/stitch/android/services/mongodb/performance/PerformanceTestingException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.android.services.mongodb.performance; 18 | 19 | /** 20 | * Exception pertaining to any errors related to the 21 | * Performance Testing module. 22 | */ 23 | class PerformanceTestingException extends Exception { 24 | PerformanceTestingException(final String msg) { 25 | super(msg); 26 | } 27 | } -------------------------------------------------------------------------------- /android/services/mongodb-remote-perftests/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/mongodb-remote/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /android/services/mongodb-remote/src/main/java/com/mongodb/stitch/android/services/mongodb/remote/RemoteAggregateIterable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.android.services.mongodb.remote; 18 | 19 | /** 20 | * Iterable for aggregate. 21 | * 22 | * @param The type of the result. 23 | */ 24 | public interface RemoteAggregateIterable extends RemoteMongoIterable { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /android/services/mongodb-remote/src/main/java/com/mongodb/stitch/android/services/mongodb/remote/SyncAggregateIterable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.android.services.mongodb.remote; 18 | 19 | /** 20 | * Iterable for aggregate. 21 | * 22 | * @param The type of the result. 23 | */ 24 | public interface SyncAggregateIterable extends RemoteMongoIterable { 25 | } 26 | -------------------------------------------------------------------------------- /android/services/mongodb-remote/src/main/java/com/mongodb/stitch/android/services/mongodb/remote/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of the classes comprising the 19 | * MongoDB RemoteMongoClient. 20 | */ 21 | package com.mongodb.stitch.android.services.mongodb.remote.internal; 22 | -------------------------------------------------------------------------------- /android/services/mongodb-remote/src/main/java/com/mongodb/stitch/android/services/mongodb/remote/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the RemoteMongoClient used for working with data in MongoDB remotely 19 | * via Stitch. 20 | */ 21 | package com.mongodb.stitch.android.services.mongodb.remote; 22 | -------------------------------------------------------------------------------- /android/services/mongodb-remote/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/twilio/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/services/twilio/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/services/twilio/src/main/java/com/mongodb/stitch/android/services/twilio/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Android SDK's implementation of the Twilio service client. 19 | */ 20 | package com.mongodb.stitch.android.services.twilio.internal; 21 | -------------------------------------------------------------------------------- /android/services/twilio/src/main/java/com/mongodb/stitch/android/services/twilio/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the Twilio service client. */ 18 | package com.mongodb.stitch.android.services.twilio; 19 | -------------------------------------------------------------------------------- /android/services/twilio/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /android/testutils/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/testutils/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | apply plugin: 'kotlin-android' 3 | apply plugin: 'digital.wup.android-maven-publish' 4 | apply plugin: 'jacoco-android' 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:3.3.2' 9 | classpath 'digital.wup:android-maven-publish:3.6.2' 10 | classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4' 11 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}" 12 | } 13 | } 14 | 15 | android { 16 | compileSdkVersion target_api 17 | defaultConfig { 18 | minSdkVersion min_api 19 | targetSdkVersion target_api 20 | } 21 | } 22 | 23 | dependencies { 24 | api project(':android:stitch-android-core') 25 | api project(':core:stitch-core-admin-client') 26 | api project(':core:stitch-core-testutils') 27 | implementation 'com.android.support.test:runner:1.0.2' 28 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" 29 | } 30 | -------------------------------------------------------------------------------- /android/testutils/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /android/testutils/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /config/checkstyle-exclude.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /config/findbugs-exclude.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /config/pmd.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | Useful static analysis rules for the Stitch Java/Android SDK. 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /contrib/assets/css/README.md: -------------------------------------------------------------------------------- 1 | The javadoc-main.css file is built based on the js sdk's Typedoc theme: 2 | https://github.com/mongodb/stitch-js-sdk/tree/master/typedoc-theme 3 | 4 | We just want the font-awesome icons and a few colors for the feedback 5 | widget, so it's not worth bringing the theme build boilerplate over 6 | at this time. 7 | 8 | To recreate, add a javadoc-main.sass to stitch-js-sdk/typedoc-theme/src/assets/css: 9 | ``` 10 | @import constants 11 | 12 | @import vendors/fontawesome/fontawesome.scss 13 | @import vendors/fontawesome/solid.scss 14 | ``` 15 | Edit stitch-js-sdk/typedoc-theme/src/assets/css/vendors/fontawesome/_variables.scss to remove 16 | the relative path ("../") from the fa-font-path variable: 17 | ``` 18 | $fa-font-path: "fonts"; 19 | ``` 20 | Then run stitch-js-sdk/typedoc-theme/build.sh and copy the resulting 21 | bin/assets/css/javadoc-main.css to this directory. 22 | -------------------------------------------------------------------------------- /contrib/assets/fonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/contrib/assets/fonts/fa-solid-900.eot -------------------------------------------------------------------------------- /contrib/assets/fonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/contrib/assets/fonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /contrib/assets/fonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/contrib/assets/fonts/fa-solid-900.woff -------------------------------------------------------------------------------- /contrib/assets/fonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/contrib/assets/fonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /contrib/doclet/Makefile: -------------------------------------------------------------------------------- 1 | CLASSES = \ 2 | src/CodeExampleManifestDoclet.java 3 | 4 | .SUFFIXES: .java .class 5 | .java.class: 6 | javac -d bin $*.java 7 | 8 | default: classes 9 | 10 | classes: $(CLASSES:.java=.class) 11 | -------------------------------------------------------------------------------- /contrib/docs-examples/ExampleNotMatched.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/contrib/docs-examples/ExampleNotMatched.java -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/android/core/auth/StitchAuth/loginWithCredential-StitchCredential.java: -------------------------------------------------------------------------------- 1 | public void loginAnonymously() { 2 | StitchAppClient client = Stitch.getDefaultAppClient(); 3 | StitchAuth auth = client.getAuth(); 4 | 5 | // The Stitch app is configured for Anonymous login in the Stitch UI 6 | auth.loginWithCredential(new AnonymousCredential()).addOnCompleteListener(new OnCompleteListener() { 7 | @Override 8 | public void onComplete(@NonNull Task task) { 9 | if (task.isSuccessful()) { 10 | Log.i(TAG, "Anonymous login successful!"); 11 | } else { 12 | Log.e(TAG, "Anonymous login failed!", task.getException()); 13 | } 14 | } 15 | }); 16 | } 17 | -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/android/core/auth/StitchAuth/logout.java: -------------------------------------------------------------------------------- 1 | StitchAppClient client = Stitch.getDefaultAppClient(); 2 | StitchAuth auth = client.getAuth(); 3 | auth.logout().addOnCompleteListener(new OnCompleteListener() { 4 | @Override 5 | public void onComplete(@NonNull Task task) { 6 | if (task.isSuccessful()) { 7 | Log.i(TAG, "Successfully logged out!"); 8 | } else { 9 | Log.e(TAG, "Logout failed!", task.getException()); 10 | } 11 | } 12 | }); 13 | -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/android/services/mongodb/remote/RemoteMongoClient.java: -------------------------------------------------------------------------------- 1 | // Find 20 documents in a collection 2 | // Note: log in first -- see StitchAuth 3 | RemoteMongoClient mongoClient = appClient.getServiceClient(RemoteMongoClient.factory, "mongodb-atlas"); 4 | RemoteMongoDatabase db = mongoClient.getDatabase("video"); 5 | RemoteMongoCollection movieDetails = db.getCollection("movieDetails"); 6 | movieDetails.find().limit(20).forEach(document -> { 7 | Log.i(TAG, "Got document: " + document.toString()); 8 | }); 9 | -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/android/services/mongodb/remote/RemoteMongoCollection.java: -------------------------------------------------------------------------------- 1 | // Note: log in first -- see StitchAuth 2 | // Get the Atlas client. 3 | RemoteMongoClient mongoClient = appClient.getServiceClient(RemoteMongoClient.factory, "mongodb-atlas"); 4 | RemoteMongoDatabase db = mongoClient.getDatabase("video"); 5 | RemoteMongoCollection movieDetails = db.getCollection("movieDetails"); 6 | 7 | // Find 20 documents 8 | movieDetails.find() 9 | .projection(new Document().append("title", 1).append("year", 1)) 10 | .limit(20) 11 | .forEach(document -> { 12 | // Print documents to the log. 13 | Log.i(TAG, "Got document: " + document.toString()); 14 | }); 15 | -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/android/services/mongodb/remote/RemoteMongoCollection/count-Bson-RemoteCountOptions.java: -------------------------------------------------------------------------------- 1 | // Get the Atlas client. 2 | RemoteMongoClient mongoClient = appClient.getServiceClient(RemoteMongoClient.factory, "mongodb-atlas"); 3 | RemoteMongoDatabase db = mongoClient.getDatabase("video"); 4 | RemoteMongoCollection movieDetails = db.getCollection("movieDetails"); 5 | 6 | // Count all documents where title matches a regex up to a limit 7 | movieDetails.count( 8 | new Document().append("title", new BsonRegularExpression("^A")), 9 | new RemoteCountOptions().limit(25)).addOnCompleteListener(new OnCompleteListener() { 10 | @Override 11 | public void onComplete(@android.support.annotation.NonNull Task task) { 12 | if (!task.isSuccessful()) { 13 | Log.e(TAG, "Count failed", task.getException()); 14 | return; 15 | } 16 | Log.i(TAG, "Count is " + task.getResult()); 17 | } 18 | }); 19 | -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/android/services/mongodb/remote/RemoteMongoCollection/count-Bson.java: -------------------------------------------------------------------------------- 1 | // Get the Atlas client. 2 | RemoteMongoClient mongoClient = appClient.getServiceClient(RemoteMongoClient.factory, "mongodb-atlas"); 3 | RemoteMongoDatabase db = mongoClient.getDatabase("video"); 4 | RemoteMongoCollection movieDetails = db.getCollection("movieDetails"); 5 | 6 | // Count all documents where title matches a regex 7 | movieDetails.count(new Document().append("title", new BsonRegularExpression("Star Wars"))).addOnCompleteListener(new OnCompleteListener() { 8 | @Override 9 | public void onComplete(@android.support.annotation.NonNull Task task) { 10 | if (!task.isSuccessful()) { 11 | Log.e(TAG, "Count failed", task.getException()); 12 | return; 13 | } 14 | Log.i(TAG, "Count is " + task.getResult()); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/android/services/mongodb/remote/RemoteMongoCollection/count.java: -------------------------------------------------------------------------------- 1 | // Get the Atlas client. 2 | RemoteMongoClient mongoClient = appClient.getServiceClient(RemoteMongoClient.factory, "mongodb-atlas"); 3 | RemoteMongoDatabase db = mongoClient.getDatabase("video"); 4 | RemoteMongoCollection movieDetails = db.getCollection("movieDetails"); 5 | 6 | // Count all documents 7 | movieDetails.count().addOnCompleteListener(new OnCompleteListener() { 8 | @Override 9 | public void onComplete(@android.support.annotation.NonNull Task task) { 10 | if (!task.isSuccessful()) { 11 | Log.e(TAG, "Count failed", task.getException()); 12 | return; 13 | } 14 | Log.i(TAG, "Count is " + task.getResult()); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/android/services/mongodb/remote/RemoteMongoCollection/find-Bson.java: -------------------------------------------------------------------------------- 1 | // Get the Atlas client. 2 | RemoteMongoClient mongoClient = appClient.getServiceClient(RemoteMongoClient.factory, "mongodb-atlas"); 3 | RemoteMongoDatabase db = mongoClient.getDatabase("video"); 4 | RemoteMongoCollection movieDetails = db.getCollection("movieDetails"); 5 | 6 | // Find up to 20 documents that match the title regex 7 | movieDetails.find(new Document().append("title", new BsonRegularExpression("Star Wars"))) 8 | .limit(20) 9 | .forEach(document -> { 10 | Log.i(TAG, "Found document: " + document.toString()); 11 | }); 12 | -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/android/services/mongodb/remote/RemoteMongoCollection/find.java: -------------------------------------------------------------------------------- 1 | // Get the Atlas client. 2 | RemoteMongoClient mongoClient = appClient.getServiceClient(RemoteMongoClient.factory, "mongodb-atlas"); 3 | RemoteMongoDatabase db = mongoClient.getDatabase("video"); 4 | RemoteMongoCollection movieDetails = db.getCollection("movieDetails"); 5 | 6 | // Find 20 documents 7 | movieDetails.find().limit(20).forEach(document -> { 8 | Log.i(TAG, "Found document: " + document.toString()); 9 | }); 10 | -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/android/services/mongodb/remote/RemoteMongoDatabase.java: -------------------------------------------------------------------------------- 1 | // Find 20 documents in a collection 2 | // Note: log in first -- see StitchAuth 3 | RemoteMongoClient mongoClient = appClient.getServiceClient(RemoteMongoClient.factory, "mongodb-atlas"); 4 | RemoteMongoDatabase db = mongoClient.getDatabase("video"); 5 | RemoteMongoCollection movieDetails = db.getCollection("movieDetails"); 6 | movieDetails.find().limit(20).forEach(document -> { 7 | Log.i(TAG, "Got document: " + document.toString()); 8 | }); 9 | -------------------------------------------------------------------------------- /contrib/docs-examples/com/mongodb/stitch/core/services/mongodb/remote/RemoteUpdateResult.java: -------------------------------------------------------------------------------- 1 | Document filterDoc = new Document().append("name", "legos"); 2 | Document updateDoc = new Document().append("$set", 3 | new Document() 4 | .append("name", "blocks") 5 | .append("price", 20.99) 6 | .append("category", "toys") 7 | ); 8 | 9 | final Task updateTask = 10 | itemsCollection.updateOne(filterDoc, updateDoc); 11 | updateTask.addOnCompleteListener(new OnCompleteListener () { 12 | @Override 13 | public void onComplete(@NonNull Task task) { 14 | if (task.isSuccessful()) { 15 | long numMatched = task.getResult().getMatchedCount(); 16 | long numModified = task.getResult().getModifiedCount(); 17 | Log.d("app", String.format("successfully matched %d and modified %d documents", 18 | numMatched, numModified)); 19 | } else { 20 | Log.e("app", "failed to update document with: ", task.getException()); 21 | } 22 | } 23 | }); 24 | -------------------------------------------------------------------------------- /contrib/stage_docs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -ex 4 | 5 | pushd "$(dirname "$0")" 6 | 7 | USER=`whoami` 8 | 9 | ./generate_docs.sh "$1" 10 | 11 | if ! which aws; then 12 | echo "aws CLI not found. see: https://docs.aws.amazon.com/cli/latest/userguide/installing.html" 13 | popd > /dev/null 14 | exit 1 15 | fi 16 | 17 | BRANCH_NAME=`git branch | grep -e "^*" | cut -d' ' -f 2` 18 | 19 | USER_BRANCH="${USER}/${BRANCH_NAME}" 20 | 21 | aws s3 --profile 10gen-noc cp ../build/docs/javadoc/ s3://docs-mongodb-org-staging/stitch/"$USER_BRANCH"/sdk/java/ --recursive --acl public-read 22 | 23 | echo 24 | echo "Staged URLs:" 25 | echo " https://docs-mongodbcom-staging.corp.mongodb.com/stitch/$USER_BRANCH/sdk/java/index.html" 26 | 27 | popd > /dev/null 28 | -------------------------------------------------------------------------------- /core/admin-client/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /core/admin-client/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'kotlin' 3 | 4 | buildscript { 5 | dependencies { 6 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 7 | } 8 | } 9 | 10 | dependencies { 11 | implementation project(':core:stitch-core-sdk') 12 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" 13 | implementation "com.fasterxml.jackson.module:jackson-module-kotlin:2.9.9" 14 | 15 | testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version" 16 | testImplementation project(':core:stitch-core-testutils') 17 | } 18 | -------------------------------------------------------------------------------- /core/admin-client/src/main/java/com/mongodb/stitch/core/admin/StitchAdminUserProfile.kt: -------------------------------------------------------------------------------- 1 | package com.mongodb.stitch.core.admin 2 | 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties 4 | import com.fasterxml.jackson.annotation.JsonProperty 5 | import com.mongodb.stitch.core.auth.internal.models.ApiStitchUserIdentity 6 | 7 | @JsonIgnoreProperties(ignoreUnknown = true) 8 | data class StitchAdminUserProfile( 9 | @JsonProperty("type") val userType: String, 10 | @JsonProperty("data") val data: Map, 11 | @JsonProperty("identities") val identities: List, 12 | @JsonProperty("roles") val roles: List 13 | ) { 14 | 15 | data class Role( 16 | @JsonProperty("role_name") val roleName: String, 17 | @JsonProperty("group_id") val groupId: String 18 | ) 19 | } 20 | -------------------------------------------------------------------------------- /core/admin-client/src/main/java/com/mongodb/stitch/core/admin/authProviders/AuthProvidersResources.kt: -------------------------------------------------------------------------------- 1 | package com.mongodb.stitch.core.admin.authProviders 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty 4 | import com.mongodb.stitch.core.admin.Apps 5 | 6 | // / View into a specific auth provider 7 | data class AuthProvidersResponse( 8 | @JsonProperty("_id") val id: String, 9 | @JsonProperty("disabled") val disabled: Boolean, 10 | @JsonProperty("name") val name: String, 11 | @JsonProperty("type") val type: String 12 | ) 13 | 14 | fun Apps.App.AuthProviders.authProvider(providerId: String): Apps.App.AuthProviders.AuthProvider { 15 | // / GET an auth provider 16 | // / - parameter providerId: id of the provider 17 | return Apps.App.AuthProviders.AuthProvider(this.adminAuth, "$url/$providerId") 18 | } 19 | -------------------------------------------------------------------------------- /core/admin-client/src/main/java/com/mongodb/stitch/core/admin/customUserData/CustomUserDataConfig.kt: -------------------------------------------------------------------------------- 1 | package com.mongodb.stitch.core.admin.customUserData 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty 4 | 5 | data class CustomUserDataConfig( 6 | @JsonProperty("mongo_service_id") val mongoServiceId: String, 7 | @JsonProperty("database_name") val databaseName: String, 8 | @JsonProperty("collection_name") val collectionName: String, 9 | @JsonProperty("user_id_field") val userIdField: String, 10 | @JsonProperty("enabled") val enabled: Boolean 11 | ) 12 | -------------------------------------------------------------------------------- /core/admin-client/src/main/java/com/mongodb/stitch/core/admin/services/ServiceConfigs.kt: -------------------------------------------------------------------------------- 1 | package com.mongodb.stitch.core.admin.services 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty 4 | 5 | sealed class ServiceConfigs { 6 | data class Aws(val accessKeyId: String, val secretAccessKey: String) : ServiceConfigs() 7 | data class AwsS3(val region: String, val accessKeyId: String, val secretAccessKey: String) : ServiceConfigs() 8 | data class AwsSes(val region: String, val accessKeyId: String, val secretAccessKey: String) : ServiceConfigs() 9 | data class Fcm(@JsonProperty("senderId") val senderId: String, @JsonProperty("apiKey") val apiKey: String) : ServiceConfigs() 10 | object Http : ServiceConfigs() 11 | data class Twilio(@JsonProperty("sid") val accountSid: String, @JsonProperty("auth_token") val authToken: String) : ServiceConfigs() 12 | data class Mongo(@JsonProperty("uri") val uri: String) : ServiceConfigs() 13 | } 14 | 15 | data class ServiceConfigWrapper( 16 | val name: String, 17 | val type: String, 18 | val config: ServiceConfigs 19 | ) 20 | -------------------------------------------------------------------------------- /core/admin-client/src/main/java/com/mongodb/stitch/core/admin/services/ServiceResources.kt: -------------------------------------------------------------------------------- 1 | package com.mongodb.stitch.core.admin.services 2 | 3 | import com.fasterxml.jackson.annotation.JsonProperty 4 | import com.mongodb.stitch.core.admin.Apps 5 | 6 | data class ServiceResponse( 7 | @JsonProperty("_id") val id: String, 8 | @JsonProperty("name") val name: String, 9 | @JsonProperty("type") val type: String 10 | ) 11 | 12 | // / GET a service 13 | // / - parameter id: id of the requested service 14 | fun Apps.App.Services.service(id: String): Apps.App.Services.Service { 15 | return Apps.App.Services.Service(this.adminAuth, "$url/$id") 16 | } 17 | -------------------------------------------------------------------------------- /core/admin-client/src/main/java/com/mongodb/stitch/core/admin/users/UsersResources.kt: -------------------------------------------------------------------------------- 1 | package com.mongodb.stitch.core.admin.users 2 | 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties 4 | import com.fasterxml.jackson.annotation.JsonProperty 5 | import com.mongodb.stitch.core.admin.Apps 6 | 7 | // / Creates a new user for an application 8 | data class UserCreator( 9 | val email: String, 10 | val password: String 11 | ) 12 | 13 | // / View of a User of an application 14 | @JsonIgnoreProperties(ignoreUnknown = true) 15 | data class UserResponse(@JsonProperty("_id") val id: String?) 16 | 17 | // / GET a user of an application 18 | // / - parameter uid: id of the user 19 | fun Apps.App.Users.user(uid: String): Apps.App.Users.User { 20 | return Apps.App.Users.User(this.adminAuth, "$url/$uid") 21 | } 22 | -------------------------------------------------------------------------------- /core/admin-client/src/test/java/com/mongodb/stitch/core/admin/StitchAdminClientTests.kt: -------------------------------------------------------------------------------- 1 | package com.mongodb.stitch.core.admin 2 | 3 | import com.mongodb.stitch.core.auth.providers.userpassword.UserPasswordCredential 4 | import com.mongodb.stitch.core.testutils.BaseStitchIntTest 5 | import org.junit.Assert.assertNotNull 6 | import org.junit.Test 7 | 8 | class StitchAdminClientTests : BaseStitchIntTest() { 9 | override fun getStitchBaseURL(): String { 10 | return System.getProperty("test.stitch.baseURL", "http://localhost:9090") 11 | } 12 | 13 | @Test 14 | fun testAdminClient() { 15 | val adminClient = StitchAdminClient.create(getStitchBaseURL()) 16 | 17 | adminClient.logInWithCredential(UserPasswordCredential( 18 | "unique_user@domain.com", 19 | "password" 20 | )) 21 | 22 | val adminGroupId = adminClient.adminProfile().roles.first().groupId 23 | assertNotNull(adminGroupId) 24 | 25 | val apps = adminClient.apps(adminGroupId) 26 | assertNotNull(apps.list()) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /core/sdk/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | apply plugin: 'kotlin' 4 | 5 | ext.pomDisplayName = "Core SDK" 6 | 7 | buildscript { 8 | dependencies { 9 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | dependencies { 15 | implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9' 16 | implementation 'com.squareup.okhttp3:okhttp:3.11.0' 17 | 18 | api 'com.google.code.findbugs:jsr305:3.0.2' 19 | api 'org.mongodb:bson:3.10.1' 20 | 21 | testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version" 22 | testImplementation project(':core:stitch-core-testutils') 23 | testImplementation 'junit:junit:4.12' 24 | testImplementation 'io.jsonwebtoken:jjwt:0.9.1' 25 | testImplementation "org.mockito:mockito-core:2.18.3" 26 | } 27 | 28 | sourceCompatibility = JavaVersion.VERSION_1_8 29 | targetCompatibility = JavaVersion.VERSION_1_8 30 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/internal/models/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the models needed to store and read authentication info for a 19 | * Stitch client. 20 | */ 21 | package com.mongodb.stitch.core.auth.internal.models; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the authentication components of a 19 | * Stitch client. 20 | */ 21 | package com.mongodb.stitch.core.auth.internal; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains various auth components used by an SDK such as credentials and user 19 | * information. 20 | */ 21 | package com.mongodb.stitch.core.auth; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/anonymous/AnonymousAuthProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.auth.providers.anonymous; 18 | 19 | /** 20 | * Information about the anonymous authentication provider. 21 | */ 22 | public final class AnonymousAuthProvider { 23 | private AnonymousAuthProvider() {} 24 | 25 | public static final String TYPE = "anon-user"; 26 | public static final String DEFAULT_NAME = "anon-user"; 27 | } 28 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/anonymous/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the anonymous authentication provider: type info and its credential 18 | * builder. 19 | */ 20 | package com.mongodb.stitch.core.auth.providers.anonymous; 21 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/custom/CustomAuthProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.auth.providers.custom; 18 | 19 | /** 20 | * Information about the custom authentication provider. 21 | */ 22 | public final class CustomAuthProvider { 23 | private CustomAuthProvider() {} 24 | 25 | public static final String TYPE = "custom-token"; 26 | public static final String DEFAULT_NAME = "custom-token"; 27 | } 28 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/custom/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the custom authentication provider: type info and its credential builder. 19 | */ 20 | package com.mongodb.stitch.core.auth.providers.custom; 21 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/facebook/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the Facebook OAuth 2.0 authentication provider: type info and its 19 | * credential builder. 20 | */ 21 | package com.mongodb.stitch.core.auth.providers.facebook; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/function/FunctionAuthProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.auth.providers.function; 18 | 19 | /** 20 | * Information about the custom function authentication provider. 21 | */ 22 | public final class FunctionAuthProvider { 23 | private FunctionAuthProvider() {} 24 | 25 | public static final String TYPE = "custom-function"; 26 | public static final String DEFAULT_NAME = "custom-function"; 27 | } 28 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/function/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the Function authentication provider: type info and its 19 | * credential builder. 20 | */ 21 | package com.mongodb.stitch.core.auth.providers.function; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/google/GoogleAuthProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.auth.providers.google; 18 | 19 | /** 20 | * Information about the Google OAuth 2.0 authentication provider. 21 | */ 22 | public final class GoogleAuthProvider { 23 | private GoogleAuthProvider() {} 24 | 25 | public static final String TYPE = "oauth2-google"; 26 | public static final String DEFAULT_NAME = "oauth2-google"; 27 | } 28 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/google/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the Google OAuth 2.0 authentication provider: type info and its 19 | * credential builder. 20 | */ 21 | package com.mongodb.stitch.core.auth.providers.google; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of an authentication provider client. 19 | */ 20 | package com.mongodb.stitch.core.auth.providers.internal; 21 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/serverapikey/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the Server API key authentication provider: type info and its credential 19 | * builder. 20 | */ 21 | package com.mongodb.stitch.core.auth.providers.serverapikey; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/userapikey/UserApiKeyAuthProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.auth.providers.userapikey; 18 | 19 | /** 20 | * Information about the user API key authentication provider. 21 | */ 22 | public final class UserApiKeyAuthProvider { 23 | private UserApiKeyAuthProvider() {} 24 | 25 | public static final String TYPE = "api-key"; 26 | public static final String DEFAULT_NAME = "api-key"; 27 | } 28 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/userapikey/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the user API key authentication 19 | * provider client. 20 | */ 21 | package com.mongodb.stitch.core.auth.providers.userapikey.internal; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/userapikey/models/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the UserApiKey model. 19 | */ 20 | package com.mongodb.stitch.core.auth.providers.userapikey.models; 21 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/userapikey/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the user API key authentication provider: type info and its 19 | * credential builder. 20 | */ 21 | package com.mongodb.stitch.core.auth.providers.userapikey; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/userpassword/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the User/Password authentication 19 | * provider client. 20 | */ 21 | package com.mongodb.stitch.core.auth.providers.userpassword.internal; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/auth/providers/userpassword/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the User User/Password authentication provider: type info and its 19 | * credential builder. 20 | */ 21 | package com.mongodb.stitch.core.auth.providers.userpassword; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/internal/common/AsyncAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.internal.common; 18 | 19 | public interface AsyncAdapter { 20 | T getAdapter(); 21 | } 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/internal/common/Callback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.internal.common; 18 | 19 | import javax.annotation.Nonnull; 20 | 21 | public interface Callback { 22 | void onComplete(@Nonnull OperationResult result); 23 | } 24 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/internal/common/CallbackAsyncAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.internal.common; 18 | 19 | public interface CallbackAsyncAdapter extends Callback, AsyncAdapter {} 20 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/internal/common/Dispatcher.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.internal.common; 18 | 19 | import java.util.concurrent.Callable; 20 | 21 | public interface Dispatcher { 22 | void dispatch(final Callable callable); 23 | 24 | void close(); 25 | } 26 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/internal/common/Storage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.internal.common; 18 | 19 | @SuppressWarnings("SameParameterValue") 20 | public interface Storage { 21 | 22 | String get(String key); 23 | 24 | void set(String key, String value); 25 | 26 | void remove(String key); 27 | } 28 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/internal/common/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This internal package contains common utility classes needed across the core implementation. */ 18 | package com.mongodb.stitch.core.internal.common; 19 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/internal/net/ContentTypes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.internal.net; 18 | 19 | /** HTTP Content Types. */ 20 | public final class ContentTypes { 21 | public static final String APPLICATION_JSON = "application/json"; 22 | public static final String TEXT_EVENT_STREAM = "text/event-stream"; 23 | 24 | private ContentTypes() {} 25 | } 26 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/internal/net/Method.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.internal.net; 18 | 19 | public enum Method { 20 | GET, 21 | POST, 22 | PUT, 23 | DELETE, 24 | HEAD, 25 | OPTIONS, 26 | TRACE, 27 | PATCH 28 | } 29 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/internal/net/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This internal package contains network related classes used to talk to Stitch app servers. */ 18 | package com.mongodb.stitch.core.internal.net; 19 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of a StitchAppClient. 19 | */ 20 | package com.mongodb.stitch.core.internal; 21 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the base client and errors used by the SDKs. */ 18 | package com.mongodb.stitch.core; 19 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/push/internal/CoreStitchPushClient.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.push.internal; 18 | 19 | import org.bson.Document; 20 | 21 | public interface CoreStitchPushClient { 22 | void registerInternal(final Document registrationInfo); 23 | 24 | void deregisterInternal(); 25 | } 26 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/push/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the implementation of the core push client used to register for push 19 | * notifications. 20 | */ 21 | package com.mongodb.stitch.core.push.internal; 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/services/internal/RebindEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.services.internal; 18 | 19 | public abstract class RebindEvent { 20 | public abstract RebindEventType getType(); 21 | } 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/services/internal/RebindEventType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.services.internal; 18 | 19 | public enum RebindEventType { 20 | AUTH_EVENT 21 | } 22 | -------------------------------------------------------------------------------- /core/sdk/src/main/java/com/mongodb/stitch/core/services/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This internal package contains the base implementation of a basic Stitch service. */ 18 | package com.mongodb.stitch.core.services.internal; 19 | -------------------------------------------------------------------------------- /core/sdk/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | mock-maker-inline 2 | 3 | -------------------------------------------------------------------------------- /core/services/aws-s3/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | 4 | ext.pomDisplayName = "Core AWS S3 Service" 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 9 | } 10 | } 11 | 12 | dependencies { 13 | implementation project(':core:stitch-core-sdk') 14 | 15 | testImplementation project(':core:stitch-core-admin-client') 16 | testImplementation project(':core:stitch-core-testutils') 17 | testImplementation 'junit:junit:4.12' 18 | testImplementation "org.mockito:mockito-core:2.18.3" 19 | } 20 | 21 | sourceCompatibility = JavaVersion.VERSION_1_8 22 | targetCompatibility = JavaVersion.VERSION_1_8 23 | -------------------------------------------------------------------------------- /core/services/aws-s3/src/main/java/com/mongodb/stitch/core/services/aws/s3/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the AWS S3 service client. 19 | */ 20 | package com.mongodb.stitch.core.services.aws.s3.internal; 21 | -------------------------------------------------------------------------------- /core/services/aws-s3/src/main/java/com/mongodb/stitch/core/services/aws/s3/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the result classes returned by the S3 service client. */ 18 | package com.mongodb.stitch.core.services.aws.s3; 19 | -------------------------------------------------------------------------------- /core/services/aws-ses/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /core/services/aws-ses/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | 4 | ext.pomDisplayName = "Core AWS SES Service" 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 9 | } 10 | } 11 | 12 | dependencies { 13 | implementation project(':core:stitch-core-sdk') 14 | 15 | testImplementation project(':core:stitch-core-admin-client') 16 | testImplementation project(':core:stitch-core-testutils') 17 | testImplementation 'junit:junit:4.12' 18 | testImplementation "org.mockito:mockito-core:2.18.3" 19 | } 20 | 21 | sourceCompatibility = JavaVersion.VERSION_1_8 22 | targetCompatibility = JavaVersion.VERSION_1_8 23 | -------------------------------------------------------------------------------- /core/services/aws-ses/src/main/java/com/mongodb/stitch/core/services/aws/ses/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the AWS SES service client. 19 | */ 20 | package com.mongodb.stitch.core.services.aws.ses.internal; 21 | -------------------------------------------------------------------------------- /core/services/aws-ses/src/main/java/com/mongodb/stitch/core/services/aws/ses/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the result classes returned by the SES service client. */ 18 | package com.mongodb.stitch.core.services.aws.ses; 19 | -------------------------------------------------------------------------------- /core/services/aws/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | 4 | ext.pomDisplayName = "Core AWS Service" 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 9 | } 10 | } 11 | 12 | dependencies { 13 | implementation project(':core:stitch-core-sdk') 14 | 15 | testImplementation project(':core:stitch-core-admin-client') 16 | testImplementation project(':core:stitch-core-testutils') 17 | testImplementation 'junit:junit:4.12' 18 | testImplementation "org.mockito:mockito-core:2.18.3" 19 | } 20 | 21 | sourceCompatibility = JavaVersion.VERSION_1_8 22 | targetCompatibility = JavaVersion.VERSION_1_8 23 | -------------------------------------------------------------------------------- /core/services/aws/src/main/java/com/mongodb/stitch/core/services/aws/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the AWS service client. 19 | */ 20 | package com.mongodb.stitch.core.services.aws.internal; 21 | -------------------------------------------------------------------------------- /core/services/aws/src/main/java/com/mongodb/stitch/core/services/aws/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the classes needed to make requests and receive results with the AWS 19 | * service client. 20 | */ 21 | package com.mongodb.stitch.core.services.aws; 22 | -------------------------------------------------------------------------------- /core/services/fcm/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /core/services/fcm/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | 4 | ext.pomDisplayName = "Core FCM Service" 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 9 | } 10 | } 11 | 12 | dependencies { 13 | implementation project(':core:stitch-core-sdk') 14 | 15 | testImplementation project(':core:stitch-core-admin-client') 16 | testImplementation project(':core:stitch-core-testutils') 17 | testImplementation 'junit:junit:4.12' 18 | testImplementation "org.mockito:mockito-core:2.18.3" 19 | } 20 | 21 | sourceCompatibility = JavaVersion.VERSION_1_8 22 | targetCompatibility = JavaVersion.VERSION_1_8 23 | -------------------------------------------------------------------------------- /core/services/fcm/src/main/java/com/mongodb/stitch/core/services/fcm/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the FCM service client. 19 | */ 20 | package com.mongodb.stitch.core.services.fcm.internal; 21 | -------------------------------------------------------------------------------- /core/services/fcm/src/main/java/com/mongodb/stitch/core/services/fcm/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the classes needed to make send message requests with the FCM service 19 | * client. 20 | */ 21 | package com.mongodb.stitch.core.services.fcm; 22 | -------------------------------------------------------------------------------- /core/services/http/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | 4 | ext.pomDisplayName = "Core HTTP Service" 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 9 | } 10 | } 11 | 12 | dependencies { 13 | implementation project(':core:stitch-core-sdk') 14 | 15 | testImplementation project(':core:stitch-core-admin-client') 16 | testImplementation project(':core:stitch-core-testutils') 17 | testImplementation 'junit:junit:4.12' 18 | testImplementation "org.mockito:mockito-core:2.18.3" 19 | } 20 | 21 | sourceCompatibility = JavaVersion.VERSION_1_8 22 | targetCompatibility = JavaVersion.VERSION_1_8 23 | -------------------------------------------------------------------------------- /core/services/http/src/main/java/com/mongodb/stitch/core/services/http/HttpMethod.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.services.http; 18 | 19 | /** 20 | * The series of HTTP methods accepted by the HTTP service. 21 | */ 22 | public enum HttpMethod { 23 | GET, 24 | POST, 25 | PUT, 26 | DELETE, 27 | HEAD, 28 | PATCH 29 | } 30 | -------------------------------------------------------------------------------- /core/services/http/src/main/java/com/mongodb/stitch/core/services/http/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the HTTP service client. 19 | */ 20 | package com.mongodb.stitch.core.services.http.internal; 21 | -------------------------------------------------------------------------------- /core/services/http/src/main/java/com/mongodb/stitch/core/services/http/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the classes needed to make requests and receive responses with the HTTP 19 | * service client. 20 | */ 21 | package com.mongodb.stitch.core.services.http; 22 | -------------------------------------------------------------------------------- /core/services/mongodb-local/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /core/services/mongodb-local/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | 4 | ext.pomDisplayName = "Core Local MongoDB Service" 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 9 | } 10 | } 11 | 12 | dependencies { 13 | implementation project(':core:stitch-core-sdk') 14 | api 'org.mongodb:mongodb-driver-sync:3.10.1' 15 | } 16 | 17 | sourceCompatibility = JavaVersion.VERSION_1_8 18 | targetCompatibility = JavaVersion.VERSION_1_8 19 | -------------------------------------------------------------------------------- /core/services/mongodb-local/src/main/java/com/mongodb/stitch/core/services/mongodb/local/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the local MongoDB service for 19 | * local MongoClients. 20 | */ 21 | package com.mongodb.stitch.core.services.mongodb.local.internal; 22 | -------------------------------------------------------------------------------- /core/services/mongodb-remote/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | apply plugin: 'kotlin' 4 | 5 | ext.pomDisplayName = "Core Remote MongoDB Service" 6 | 7 | buildscript { 8 | dependencies { 9 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}" 11 | } 12 | } 13 | 14 | dependencies { 15 | implementation project(':core:stitch-core-sdk') 16 | api project(':core:core-services:stitch-core-services-mongodb-local') 17 | 18 | testImplementation project(':core:stitch-core-admin-client') 19 | testImplementation project(':core:stitch-core-testutils') 20 | testImplementation "org.mongodb:mongodb-driver-embedded:3.9.0-SNAPSHOT" 21 | testImplementation 'junit:junit:4.12' 22 | testImplementation "org.mockito:mockito-core:2.18.3" 23 | testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" 24 | } 25 | 26 | sourceCompatibility = JavaVersion.VERSION_1_8 27 | targetCompatibility = JavaVersion.VERSION_1_8 28 | -------------------------------------------------------------------------------- /core/services/mongodb-remote/src/main/java/com/mongodb/stitch/core/services/mongodb/remote/internal/CoreRemoteAggregateIterable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.services.mongodb.remote.internal; 18 | 19 | public interface CoreRemoteAggregateIterable extends CoreRemoteMongoIterable { 20 | 21 | } 22 | -------------------------------------------------------------------------------- /core/services/mongodb-remote/src/main/java/com/mongodb/stitch/core/services/mongodb/remote/internal/Operation.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.services.mongodb.remote.internal; 18 | 19 | import com.mongodb.stitch.core.services.internal.CoreStitchServiceClient; 20 | 21 | public interface Operation { 22 | T execute(final CoreStitchServiceClient service); 23 | } 24 | -------------------------------------------------------------------------------- /core/services/mongodb-remote/src/main/java/com/mongodb/stitch/core/services/mongodb/remote/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the classes comprising the MongoDB 19 | * RemoteMongoClient. 20 | */ 21 | package com.mongodb.stitch.core.services.mongodb.remote.internal; 22 | -------------------------------------------------------------------------------- /core/services/mongodb-remote/src/main/java/com/mongodb/stitch/core/services/mongodb/remote/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the options and result classes used with the MongoDB RemoteMongoClient. */ 18 | package com.mongodb.stitch.core.services.mongodb.remote; 19 | -------------------------------------------------------------------------------- /core/services/mongodb-remote/src/main/java/com/mongodb/stitch/core/services/mongodb/remote/sync/internal/DataSynchronizerException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.services.mongodb.remote.sync.internal; 18 | 19 | /** 20 | * Exception pertaining to any errors related to the 21 | * DataSynchronizer class. 22 | */ 23 | public class DataSynchronizerException extends Exception { 24 | DataSynchronizerException(final String msg) { 25 | super(msg); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /core/services/mongodb-remote/src/main/java/com/mongodb/stitch/core/services/mongodb/remote/sync/internal/SyncConfigurationException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.core.services.mongodb.remote.sync.internal; 18 | 19 | /** 20 | * Exception pertaining to any errors pertaining to SyncConfiguration 21 | */ 22 | public class SyncConfigurationException extends RuntimeException { 23 | SyncConfigurationException(final String msg) { 24 | super(msg); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /core/services/mongodb-remote/src/main/java/com/mongodb/stitch/core/services/mongodb/remote/sync/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the classes comprising the MongoDB 19 | * SyncMongoClient. 20 | */ 21 | package com.mongodb.stitch.core.services.mongodb.remote.sync.internal; 22 | -------------------------------------------------------------------------------- /core/services/mongodb-remote/src/main/java/com/mongodb/stitch/core/services/mongodb/remote/sync/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the options and result classes used with the MongoDB Sync. */ 18 | package com.mongodb.stitch.core.services.mongodb.remote.sync; 19 | -------------------------------------------------------------------------------- /core/services/twilio/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /core/services/twilio/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | 4 | ext.pomDisplayName = "Core Twilio Service" 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 9 | } 10 | } 11 | 12 | dependencies { 13 | implementation project(':core:stitch-core-sdk') 14 | 15 | testImplementation project(':core:stitch-core-admin-client') 16 | testImplementation project(':core:stitch-core-testutils') 17 | testImplementation 'junit:junit:4.12' 18 | testImplementation "org.mockito:mockito-core:2.18.3" 19 | } 20 | 21 | sourceCompatibility = JavaVersion.VERSION_1_8 22 | targetCompatibility = JavaVersion.VERSION_1_8 23 | -------------------------------------------------------------------------------- /core/services/twilio/src/main/java/com/mongodb/stitch/core/services/twilio/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the base implementation of the Twilio service client. 19 | */ 20 | package com.mongodb.stitch.core.services.twilio.internal; 21 | -------------------------------------------------------------------------------- /core/testutils/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /core/testutils/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'kotlin' 3 | 4 | buildscript { 5 | dependencies { 6 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}" 7 | } 8 | } 9 | 10 | dependencies { 11 | implementation project(':core:stitch-core-sdk') 12 | implementation project(':core:core-services:stitch-core-services-mongodb-remote') 13 | compile project(path: ':core:stitch-core-admin-client') 14 | api 'org.mongodb:bson:3.10.1' 15 | implementation 'junit:junit:4.12' 16 | implementation 'com.squareup.okhttp3:okhttp:3.11.0' 17 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" 18 | implementation 'io.jsonwebtoken:jjwt:0.9.1' 19 | implementation "org.mockito:mockito-core:2.18.3" 20 | } 21 | 22 | sourceCompatibility = JavaVersion.VERSION_1_8 23 | targetCompatibility = JavaVersion.VERSION_1_8 24 | -------------------------------------------------------------------------------- /etc/run_core_test.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | 3 | MODULE=$1 4 | 5 | SDK_HOME=`pwd`/.android 6 | export JAVA_HOME="/opt/java/jdk8" 7 | export ANDROID_HOME=$SDK_HOME 8 | export ANDROID_SDK_ROOT=$SDK_HOME 9 | export ANDROID_SDK_HOME=$SDK_HOME 10 | export ADB_INSTALL_TIMEOUT=30 11 | 12 | cd stitch-java-sdk 13 | 14 | echo "test.stitch.baseURL=http://10.0.2.2:9090" >> local.properties 15 | 16 | ./gradlew $MODULE jacocoTestReport --info --warning-mode=all --stacktrace < /dev/null 17 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1g 10 | JAVA_OPTS="-Xmx1gm -XX:MaxPermSize=1gm -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8" 11 | org.gradle.daemon=false 12 | # When configured, Gradle will run in incubating parallel mode. 13 | # This option should only be used with decoupled projects. More details, visit 14 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 15 | # org.gradle.parallel=true 16 | VERSION=4.7.0 17 | -------------------------------------------------------------------------------- /gradle/extDocs/package-list: -------------------------------------------------------------------------------- 1 | com.google.android.gms.tasks 2 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mongodb/stitch-android-sdk/8ce97f847ad309cd8352c426374383faec3b929b/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Mar 04 17:44:14 EST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip 7 | -------------------------------------------------------------------------------- /server/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /server/core/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | 4 | ext.pomDisplayName = "Server Core" 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 9 | } 10 | } 11 | 12 | dependencies { 13 | api project(':core:stitch-core-sdk') 14 | } 15 | 16 | sourceCompatibility = JavaVersion.VERSION_1_8 17 | targetCompatibility = JavaVersion.VERSION_1_8 18 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/auth/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of the authentication components 19 | * of a Stitch client. 20 | */ 21 | package com.mongodb.stitch.server.core.auth.internal; 22 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/auth/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the auth interface used to log in into Stitch and the definition of a User. 19 | */ 20 | package com.mongodb.stitch.server.core.auth; 21 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/auth/providers/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's descriptions of the authentication provider 19 | * client factories. 20 | */ 21 | package com.mongodb.stitch.server.core.auth.providers.internal; 22 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/auth/providers/userapikey/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of the user API key 19 | * authentication provider client. 20 | */ 21 | package com.mongodb.stitch.server.core.auth.providers.userapikey.internal; 22 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/auth/providers/userapikey/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the user API key authentication provider client used to manage keys. */ 18 | package com.mongodb.stitch.server.core.auth.providers.userapikey; 19 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/auth/providers/userpassword/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of the User/Password key 19 | * authentication provider client. 20 | */ 21 | package com.mongodb.stitch.server.core.auth.providers.userpassword.internal; 22 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/auth/providers/userpassword/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the User/Password authentication provider client used to register users. 19 | */ 20 | package com.mongodb.stitch.server.core.auth.providers.userpassword; 21 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of a StitchAppClient. 19 | */ 20 | package com.mongodb.stitch.server.core.internal; 21 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the entry point into the Server SDK with the Stitch and StitchAppClient 19 | * classes. 20 | */ 21 | package com.mongodb.stitch.server.core; 22 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/services/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of a basic Stitch service and 19 | * description of the service client factories. 20 | */ 21 | package com.mongodb.stitch.server.core.services.internal; 22 | -------------------------------------------------------------------------------- /server/core/src/main/java/com/mongodb/stitch/server/core/services/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the definitions of service specific concepts. 19 | */ 20 | package com.mongodb.stitch.server.core.services; 21 | -------------------------------------------------------------------------------- /server/coretest/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'kotlin' 3 | 4 | buildscript { 5 | dependencies { 6 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}" 7 | } 8 | } 9 | 10 | dependencies { 11 | testImplementation project(':server:stitch-server-testutils') 12 | testImplementation 'junit:junit:4.12' 13 | testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" 14 | testImplementation 'io.jsonwebtoken:jjwt:0.9.1' 15 | } 16 | 17 | sourceCompatibility = JavaVersion.VERSION_1_8 18 | targetCompatibility = JavaVersion.VERSION_1_8 19 | -------------------------------------------------------------------------------- /server/sdk/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'com.jfrog.bintray' 3 | 4 | ext.pomDisplayName = "Server SDK" 5 | 6 | buildscript { 7 | dependencies { 8 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 9 | } 10 | } 11 | 12 | dependencies { 13 | api project(':server:stitch-server-core') 14 | 15 | // Services 16 | api project(':server:server-services:stitch-server-services-mongodb-remote') 17 | } 18 | 19 | sourceCompatibility = JavaVersion.VERSION_1_8 20 | targetCompatibility = JavaVersion.VERSION_1_8 21 | -------------------------------------------------------------------------------- /server/services/aws-s3/src/main/java/com/mongodb/stitch/server/services/aws/s3/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of the AWS S3 service client. 19 | */ 20 | package com.mongodb.stitch.server.services.aws.s3.internal; 21 | -------------------------------------------------------------------------------- /server/services/aws-s3/src/main/java/com/mongodb/stitch/server/services/aws/s3/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the AWS S3 service client. */ 18 | package com.mongodb.stitch.server.services.aws.s3; 19 | -------------------------------------------------------------------------------- /server/services/aws-ses/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /server/services/aws-ses/src/main/java/com/mongodb/stitch/server/services/aws/ses/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of the AWS SES service client. 19 | */ 20 | package com.mongodb.stitch.server.services.aws.ses.internal; 21 | -------------------------------------------------------------------------------- /server/services/aws-ses/src/main/java/com/mongodb/stitch/server/services/aws/ses/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the AWS SES service client. */ 18 | package com.mongodb.stitch.server.services.aws.ses; 19 | -------------------------------------------------------------------------------- /server/services/aws/src/main/java/com/mongodb/stitch/server/services/aws/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of the AWS service client. 19 | */ 20 | package com.mongodb.stitch.server.services.aws.internal; 21 | -------------------------------------------------------------------------------- /server/services/aws/src/main/java/com/mongodb/stitch/server/services/aws/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the AWS service client. */ 18 | package com.mongodb.stitch.server.services.aws; 19 | -------------------------------------------------------------------------------- /server/services/fcm/src/main/java/com/mongodb/stitch/server/services/fcm/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of the FCM service client. 19 | */ 20 | package com.mongodb.stitch.server.services.fcm.internal; 21 | -------------------------------------------------------------------------------- /server/services/fcm/src/main/java/com/mongodb/stitch/server/services/fcm/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the FCM service client. */ 18 | package com.mongodb.stitch.server.services.fcm; 19 | -------------------------------------------------------------------------------- /server/services/http/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'kotlin' 3 | apply plugin: 'com.jfrog.bintray' 4 | 5 | ext.pomDisplayName = "Server HTTP Service" 6 | 7 | buildscript { 8 | dependencies { 9 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}" 10 | classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 11 | } 12 | } 13 | 14 | dependencies { 15 | implementation project(':server:stitch-server-core') 16 | api project(':core:core-services:stitch-core-services-http') 17 | 18 | testImplementation project(':server:stitch-server-testutils') 19 | testImplementation 'junit:junit:4.12' 20 | testImplementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" 21 | } 22 | 23 | sourceCompatibility = JavaVersion.VERSION_1_8 24 | targetCompatibility = JavaVersion.VERSION_1_8 25 | -------------------------------------------------------------------------------- /server/services/http/src/main/java/com/mongodb/stitch/server/services/http/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of the HTTP service client. 19 | */ 20 | package com.mongodb.stitch.server.services.http.internal; 21 | -------------------------------------------------------------------------------- /server/services/http/src/main/java/com/mongodb/stitch/server/services/http/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the HTTP service client. */ 18 | package com.mongodb.stitch.server.services.http; 19 | -------------------------------------------------------------------------------- /server/services/mongodb-remote/src/main/java/com/mongodb/stitch/server/services/mongodb/remote/RemoteAggregateIterable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mongodb.stitch.server.services.mongodb.remote; 18 | 19 | /** 20 | * Iterable for aggregate. 21 | * 22 | * @param The type of the result. 23 | */ 24 | public interface RemoteAggregateIterable extends RemoteMongoIterable { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /server/services/mongodb-remote/src/main/java/com/mongodb/stitch/server/services/mongodb/remote/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of the classes comprising the 19 | * MongoDB RemoteMongoClient. 20 | */ 21 | package com.mongodb.stitch.server.services.mongodb.remote.internal; 22 | -------------------------------------------------------------------------------- /server/services/mongodb-remote/src/main/java/com/mongodb/stitch/server/services/mongodb/remote/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This package contains the RemoteMongoClient used for working with data in MongoDB remotely 19 | * via Stitch. 20 | */ 21 | package com.mongodb.stitch.server.services.mongodb.remote; 22 | -------------------------------------------------------------------------------- /server/services/twilio/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /server/services/twilio/src/main/java/com/mongodb/stitch/server/services/twilio/internal/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** 18 | * This internal package contains the Server SDK's implementation of the Twilio service client. 19 | */ 20 | package com.mongodb.stitch.server.services.twilio.internal; 21 | -------------------------------------------------------------------------------- /server/services/twilio/src/main/java/com/mongodb/stitch/server/services/twilio/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2018-present MongoDB, Inc. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | /** This package contains the Twilio service client. */ 18 | package com.mongodb.stitch.server.services.twilio; 19 | -------------------------------------------------------------------------------- /server/testutils/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /server/testutils/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | apply plugin: 'kotlin' 3 | 4 | buildscript { 5 | dependencies { 6 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}" 7 | } 8 | } 9 | 10 | dependencies { 11 | api project(':server:stitch-server-core') 12 | api project(':core:stitch-core-admin-client') 13 | api project(':core:stitch-core-testutils') 14 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" 15 | implementation 'junit:junit:4.12' 16 | implementation 'commons-io:commons-io:2.6' 17 | } 18 | 19 | sourceCompatibility = JavaVersion.VERSION_1_8 20 | targetCompatibility = JavaVersion.VERSION_1_8 21 | --------------------------------------------------------------------------------