Nhost js sdk to handle Auth and Storage.
npm install --save nhost-js-sdk
in ex /src/nhost/index.js
:
import nhost from 'nhost-js-sdk';
import { BACKEND_ENDPOINT } from '../config';
const config = {
endpoint: 'https://backend-xxxxxx.nhost.io/'
};
export default new nhost(config);
import nhost from '../nhost';
try {
await nhost.register(username, password);
} catch (e) {
// handle error
}
try {
await nhost.login(username, password);
} catch (e) {
// handle error
}
nhost.logout();
nhost.onAuthStateChanged(data => {
console.log('auth state changed!');
console.log({data});
});
try {
await nhost.activate_account(secret_token);
} catch (e) {
// handle error
}
try {
await nhost.new_password(secret_token, new_password);
} catch (e) {
// handle error
}
try {
await nhost.upload(path, files);
} catch (e) {
// handle error
}
try {
await nhost.url(file_path);
} catch (e) {
// handle error
}
For React Native you can pass in asyncStorage
for nhost to use instead of the default localStorage
.
import nhost from 'nhost-js-sdk';
import { AsyncStorage } from 'react-native';
import { BACKEND_ENDPOINT } from '../config';
const config = {
endpoint: 'https://backend-xxxxxx.nhost.io/'
storage: AsyncStorage
};
export default new nhost(config);