usimple-saleor-sdk
Version:
This package contains all queries and mutations that are used in our sample storefront. It can be used for semi-custom or fully-custom (with ability to extend existing queries) storefront solutions.
144 lines • 6.41 kB
JavaScript
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AuthJobs = exports.AuthJobsEvents = void 0;
const LocalStorageHandler_1 = require("../../helpers/LocalStorageHandler");
const types_1 = require("../../api/Auth/types");
const JobsHandler_1 = require("../JobsHandler");
var AuthJobsEvents;
(function (AuthJobsEvents) {
AuthJobsEvents[AuthJobsEvents["SIGN_IN_TOKEN_REFRESHING"] = 0] = "SIGN_IN_TOKEN_REFRESHING";
})(AuthJobsEvents = exports.AuthJobsEvents || (exports.AuthJobsEvents = {}));
class AuthJobs extends JobsHandler_1.JobsHandler {
constructor(localStorageHandler, apolloClientManager) {
super();
this.provideUser = () => __awaiter(this, void 0, void 0, function* () {
const { data, error } = yield this.apolloClientManager.getUser();
if (error) {
return {
dataError: {
error,
type: types_1.DataErrorAuthTypes.GET_USER,
},
};
}
return {
data,
};
});
this.registerAccount = ({ email, password, redirectUrl, }) => __awaiter(this, void 0, void 0, function* () {
const { data, error } = yield this.apolloClientManager.registerAccount(email, password, redirectUrl);
if (error) {
return {
dataError: {
error,
type: types_1.DataErrorAuthTypes.REGISTER_ACCOUNT,
},
};
}
return {
data,
};
});
this.resetPasswordRequest = ({ email, redirectUrl, }) => __awaiter(this, void 0, void 0, function* () {
const { error } = yield this.apolloClientManager.resetPasswordRequest(email, redirectUrl);
if (error) {
return {
dataError: {
error,
type: types_1.DataErrorAuthTypes.RESET_PASSWORD_REQUEST,
},
};
}
return {};
});
this.signIn = ({ email, password, }) => __awaiter(this, void 0, void 0, function* () {
const { data, error } = yield this.apolloClientManager.signIn(email, password);
if (error) {
return {
dataError: {
error,
type: types_1.DataErrorAuthTypes.SIGN_IN,
},
};
}
this.localStorageHandler.setSignInToken((data === null || data === void 0 ? void 0 : data.token) || null);
this.localStorageHandler.setCsrfToken((data === null || data === void 0 ? void 0 : data.csrfToken) || null);
return {
data,
};
});
this.signOut = () => __awaiter(this, void 0, void 0, function* () {
this.localStorageHandler.clear();
yield this.apolloClientManager.signOut();
return {};
});
this.verifySignInToken = () => __awaiter(this, void 0, void 0, function* () {
const token = LocalStorageHandler_1.LocalStorageHandler.getSignInToken();
if (!token) {
return {
dataError: {
error: new Error("Verify sign in token impossible. No token to verify received."),
type: types_1.DataErrorAuthTypes.VERIFY_TOKEN,
},
};
}
const { data, error, } = yield this.apolloClientManager.verifySignInToken({
token,
});
if (error) {
return {
dataError: {
error,
type: types_1.DataErrorAuthTypes.VERIFY_TOKEN,
},
};
}
return {
data,
};
});
this.refreshSignInToken = ({ refreshToken, }) => __awaiter(this, void 0, void 0, function* () {
this.notifyEvent(AuthJobsEvents.SIGN_IN_TOKEN_REFRESHING, true);
const csrfToken = LocalStorageHandler_1.LocalStorageHandler.getCsrfToken();
if (!csrfToken && !refreshToken) {
return {
dataError: {
error: new Error("Refresh sign in token impossible. No refresh token received."),
type: types_1.DataErrorAuthTypes.REFRESH_TOKEN,
},
};
}
const { data, error, } = yield this.apolloClientManager.refreshSignInToken({
csrfToken,
refreshToken,
});
if (error) {
this.notifyEvent(AuthJobsEvents.SIGN_IN_TOKEN_REFRESHING, false);
return {
dataError: {
error,
type: types_1.DataErrorAuthTypes.REFRESH_TOKEN,
},
};
}
this.localStorageHandler.setSignInToken((data === null || data === void 0 ? void 0 : data.token) || null);
this.notifyEvent(AuthJobsEvents.SIGN_IN_TOKEN_REFRESHING, false);
return {
data,
};
});
this.apolloClientManager = apolloClientManager;
this.localStorageHandler = localStorageHandler;
}
}
exports.AuthJobs = AuthJobs;
//# sourceMappingURL=AuthJobs.js.map