├── .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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------