Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/capacitor-community/realm
https://github.com/capacitor-community/realm
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/capacitor-community/realm
- Owner: capacitor-community
- License: mit
- Created: 2020-07-12T19:48:24.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2020-07-12T20:04:37.000Z (over 4 years ago)
- Last Synced: 2024-04-28T09:31:21.326Z (8 months ago)
- Language: Java
- Size: 17.3 MB
- Stars: 24
- Watchers: 7
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-capacitorjs - @capacitor-community/realm - Capacitor community plugin for native Realm. (Plugins / Community Plugins)
- awesome-capacitor - Realm - A native plugin for MongoDB Realm. (Community plugins)
README
Realm
@capacitor-community/realm
(WORK IN PROGRESS)
Capacitor community plugin for native Realm.## Maintainers
| Maintainer | GitHub | Social |
| ------------- | ------------------------------------------- | ------------------------------------------------ |
| Priyank Patel | [priyankpat](https://github.com/priyankpat) | [@priyankpat\_](https://twitter.com/priyankpat_) |## Installation
Using npm:
```bash
npm install @capacitor-community/realm
```Using yarn:
```bash
yarn add @capacitor-community/realm
```Sync native files:
```bash
npx cap sync
```On iOS, no further steps are needed.
On Android, make changes to the following files:
`MainActivity.java`:
```java
import com.getcapacitor.community.realm.Realm;public class MainActivity extends BridgeActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);// Initializes the Bridge
this.init(
savedInstanceState,
new ArrayList>() {{
// Additional plugins you've installed go here
// Ex: add(TotallyAwesomePlugin.class);
add(Realm.class);
}
}
);
}
}
```## Supported methods
| Name | Android | iOS | Web |
| :------------------------ | :------ | :-- | :-- |
| initialize | ✅ | ✅ | ✅ |
| signInAnonymously | ✅ | ✅ | ✅ |
| logout | ✅ | ✅ | ✅ |
| signInWithEmailPassword | ✅ | ✅ | ✅ |
| signInWithApiKey | ✅ | ✅ | ✅ |
| signInWithJWT | ✅ | ✅ | ✅ |
| signInWithGoogle | ✅ | ✅ | ✅ |
| signInWithFacebook | ✅ | ✅ | ✅ |
| signInWithApple | ✅ | ✅ | ✅ |
| registerWithEmailPassword | ✅ | ✅ | ✅ |
| confirmEmail | ✅ | ✅ | ✅ |
| resetPassword | ✅ | ✅ | ✅ |
| sendPasswordResetEmail | ✅ | ✅ | ✅ |## Usage
```typescript
import { Plugins } from "@capacitor/core";const { Realm } = Plugins;
/**
* Platform: Android/iOS/Web
* Initialize Realm with the correct Application Id
* @params appId - This ID is unique to this application. It is necessary for connecting any client to Realm.
* @returns void
*/
Realm.initialize({
appId: '{{APP_ID}}',
});/**
* Platform: Android/iOS/Web
* https://docs.mongodb.com/realm/android/authenticate/#anonymous
* The anonymous authentication provider enables users to log in to your application with short-term accounts that store no persistent personal information.
* @params none
* @returns void
*/
Realm.signInAnonymously();/**
* Platform: Android/iOS/Web
* https://docs.mongodb.com/realm/android/authenticate/#email-password
* The Email/Password authentication provider enables users to log in to your application with an email username and a password.
* @params none
* @returns void
*/
Realm.signInWithEmailPassword({
email: '',
password: '',
});/**
* Platform: Android/iOS/Web
* The API authentication provider enables users to log in to your application with an API key.
* @params none
* @returns void
*/
Realm.signInWithApiKey({
apiKey: '',
});/**
* Platform: Android/iOS/Web
* https://docs.mongodb.com/realm/android/authenticate/#android-login-custom-jwt
* The Custom JWT authentication provider enables users to log in to your application with a custom JSON Web Token.
* @params jwtToken - custom jwt token
* @returns void
*/
Realm.signInWithJWT({
jwtToken: '',
});/**
* Platform: Android/iOS/Web
* https://docs.mongodb.com/realm/android/authenticate/#google-oauth
* The Google OAuth authentication provider enables users to log in to your application with a custom token provided by Google.
* @params googleToken - token obtained from google
* @returns void
*/
Realm.signInWithGoogle({
googleToken: '',
});/**
* Platform: Android/iOS/Web
* https://docs.mongodb.com/realm/android/authenticate/#facebook-oauth
* The Facebook OAuth authentication provider enables users to log in to your application with a custom token provided by Facebook.
* @params accessToken - token obtained from facebook
* @returns void
*/
Realm.signInWithFacebook({
accessToken: '',
});/**
* Platform: Android/iOS/Web
* https://docs.mongodb.com/realm/android/authenticate/#sign-in-with-apple
* The Sign-in with Apple authentication provider enables users to log in to your application with a custom token provided by Apple.
* @params idToken - token obtained from apple
* @returns void
*/
Realm.signInWithApple({
idToken: '',
});/**
* Platform: Android/iOS/Web
* https://docs.mongodb.com/realm/android/authenticate/#log-out
* The method will log out any user, regardless of the authentication provider.
* @params none
* @returns void
*/
Realm.logout();/**
* Platform: Android/iOS/Web
* https://docs.mongodb.com/realm/android/manage-email-password-users/#register-a-new-user-account
* The method will register a user with email/password authentication provider.
* @params email - unique email address
* password - secure password
* @returns void
*/
Realm.registerWithEmailPassword({
email: '',
password: '',
});/**
* Platform: Android/iOS/Web
* https://docs.mongodb.com/realm/android/manage-email-password-users/#confirm-a-new-user-s-email-address
* The method will confirm a user with email/password authentication provider.
* @params token - parameters in the confirmation link sent in the confirmation email
* tokenId - parameters in the confirmation link sent in the confirmation email
* @returns void
*/
Realm.confirmEmail({
token: '',
tokenId: '',
});/**
* Platform: Android/iOS/Web
* https://docs.mongodb.com/realm/android/manage-email-password-users/#reset-a-user-s-password
* The method will confirm a user with email/password authentication provider.
* @params token - parameters in the confirmation link sent in the confirmation email
* tokenId - parameters in the confirmation link sent in the confirmation email
* newPassword - new secure password
* @returns void
*/
Realm.resetPassword({
token: '',
tokenId: '',
newPassword: '',
});/**
* Platform: Android/iOS/Web
* The method will resend password reset email.
* @params email - email address of account that requires password reset
* @returns void
*/
Realm.sendPasswordResetEmail({
email: '',
});```