mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-23 15:09:33 +01:00
feat: add internet connectivity check
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { HOST, HEADERS } from "../utils/constants";
|
||||
import noInternet from "no-internet";
|
||||
|
||||
export default class User {
|
||||
/**
|
||||
@@ -14,6 +15,7 @@ export default class User {
|
||||
var user = await this.get();
|
||||
if (!user) return;
|
||||
user = await authRequest.call(this, "users", undefined, true, true);
|
||||
if (!user) return;
|
||||
delete user.lastSynced;
|
||||
await this.set(user);
|
||||
}
|
||||
@@ -55,6 +57,7 @@ export default class User {
|
||||
password,
|
||||
grant_type: "password",
|
||||
});
|
||||
if (!response) return;
|
||||
const key = await this._context.deriveKey(password, response.payload.salt);
|
||||
let user = userFromResponse(response, key);
|
||||
await this._context.write("user", user);
|
||||
@@ -73,6 +76,7 @@ export default class User {
|
||||
refresh_token: user.refreshToken,
|
||||
grant_type: "refresh_token",
|
||||
});
|
||||
if (!response) return;
|
||||
|
||||
user = {
|
||||
...user,
|
||||
@@ -94,6 +98,7 @@ export default class User {
|
||||
password,
|
||||
email,
|
||||
});
|
||||
if (!response) return;
|
||||
const key = await this._context.deriveKey(password, response.payload.salt);
|
||||
let user = userFromResponse(response, key);
|
||||
await this._context.write("user", user);
|
||||
@@ -113,6 +118,11 @@ function userFromResponse(response, key) {
|
||||
}
|
||||
|
||||
async function authRequest(endpoint, data, auth = false, get = false) {
|
||||
const offline = await noInternet({
|
||||
url: HOST,
|
||||
});
|
||||
if (offline) return;
|
||||
|
||||
var headers = {};
|
||||
if (auth) {
|
||||
const token = await this.token();
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"dependencies": {
|
||||
"fast-sort": "^2.0.1",
|
||||
"fuzzysearch": "^1.0.3",
|
||||
"no-internet": "^1.5.2",
|
||||
"qclone": "^1.0.4",
|
||||
"transfun": "^1.0.2"
|
||||
}
|
||||
|
||||
@@ -3690,6 +3690,13 @@ nice-try@^1.0.4:
|
||||
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
|
||||
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
|
||||
|
||||
no-internet@^1.5.2:
|
||||
version "1.5.2"
|
||||
resolved "https://registry.yarnpkg.com/no-internet/-/no-internet-1.5.2.tgz#a51e8c314fd4d005c8239eda7e6c4aad7c0cadfb"
|
||||
integrity sha512-4GnJQsc/BCwcOG+8acwAsm9bYVdgh0V5ORQTAnB+7u9hoKdR4WqSqw6Bhjo3DO/tvhad4wbrw4l07/CG6C+wDg==
|
||||
dependencies:
|
||||
set-interval "^2.0.1"
|
||||
|
||||
node-fetch@2.6.0:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
|
||||
@@ -4365,6 +4372,11 @@ set-blocking@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
|
||||
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
|
||||
|
||||
set-interval@^2.0.1:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/set-interval/-/set-interval-2.0.4.tgz#419266c0a2b05d5fd5bde6e7896b57a27d060a5a"
|
||||
integrity sha512-Srlnjq2O84WQxv2DkTyf7S0nRebiNE+uD5nd2Iy4ISOtiZbxglSfup88vegIAYRpCn/ITS1rYmjCPuAhn/hdmg==
|
||||
|
||||
set-value@^2.0.0, set-value@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
|
||||
|
||||
Reference in New Issue
Block a user