synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
72 lines • 5.47 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var React = (0, tslib_1.__importStar)(require("react"));
var react_1 = require("react");
var utils_1 = require("../../utils");
var AccessApprovalCheckMark_1 = (0, tslib_1.__importDefault)(require("./AccessApprovalCheckMark"));
var AcceptedRequirements_1 = (0, tslib_1.__importDefault)(require("./AcceptedRequirements"));
var SynapseContext_1 = require("../../utils/SynapseContext");
var getEndpoint_1 = require("../../utils/functions/getEndpoint");
function SelfSignAccessRequirementComponent(_a) {
var _this = this;
var accessRequirement = _a.accessRequirement, user = _a.user, onHide = _a.onHide, accessRequirementStatus = _a.accessRequirementStatus, entityId = _a.entityId;
var accessToken = (0, SynapseContext_1.useSynapseContext)().accessToken;
var _b = (0, react_1.useState)(undefined), wikiPage = _b[0], setWikiPage = _b[1];
var _c = (0, react_1.useState)(undefined), userBundle = _c[0], setUserBundle = _c[1];
var _d = (0, react_1.useState)(false), isLoading = _d[0], setIsLoading = _d[1];
(0, react_1.useEffect)(function () {
var getSelfSignAccessData = function () { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
var wikiPageRequirment, certificationOrVerification, bundle, err_1;
return (0, tslib_1.__generator)(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 4, 5, 6]);
setIsLoading(true);
return [4 /*yield*/, utils_1.SynapseClient.getWikiPageKeyForAccessRequirement(accessToken, accessRequirement.id)];
case 1:
wikiPageRequirment = _a.sent();
setWikiPage(wikiPageRequirment);
certificationOrVerification = utils_1.SynapseConstants.USER_BUNDLE_MASK_IS_CERTIFIED |
utils_1.SynapseConstants.USER_BUNDLE_MASK_IS_VERIFIED;
if (!(user === null || user === void 0 ? void 0 : user.ownerId)) return [3 /*break*/, 3];
return [4 /*yield*/, utils_1.SynapseClient.getUserBundle(user.ownerId, certificationOrVerification, accessToken)];
case 2:
bundle = _a.sent();
setUserBundle(bundle);
_a.label = 3;
case 3: return [3 /*break*/, 6];
case 4:
err_1 = _a.sent();
console.error('Error on get Self Sign Access Requirement: ', err_1);
return [3 /*break*/, 6];
case 5:
setIsLoading(false);
return [7 /*endfinally*/];
case 6: return [2 /*return*/];
}
});
}); };
getSelfSignAccessData();
}, [accessRequirement, accessToken, user]);
return (React.createElement(React.Fragment, null,
accessRequirement.isCertifiedUserRequired && (React.createElement("div", { className: "requirement-container" },
React.createElement(AccessApprovalCheckMark_1.default, { isCompleted: userBundle === null || userBundle === void 0 ? void 0 : userBundle.isCertified }),
React.createElement("div", null,
React.createElement("p", { className: "self-sign-access-title bold-text" },
"You must first become a",
React.createElement("a", { className: "self-sign-access-certified bold-text", href: getEndpoint_1.PRODUCTION_ENDPOINT_CONFIG.PORTAL + "#!Quiz:" }, "\u00A0certified user")),
isLoading && React.createElement("span", { className: "spinner" }),
React.createElement("p", { className: "self-sign-access-certified-success-text " + ((userBundle === null || userBundle === void 0 ? void 0 : userBundle.isCertified) ? 'show' : 'hidden') }, "You are a certified user")))),
accessRequirement.isValidatedProfileRequired && (React.createElement("div", { className: "requirement-container" },
React.createElement(AccessApprovalCheckMark_1.default, { isCompleted: userBundle === null || userBundle === void 0 ? void 0 : userBundle.isVerified }),
React.createElement("div", null,
React.createElement("p", { className: "self-sign-access-title bold-text" },
"You must first apply to have your",
React.createElement("a", { className: "self-sign-access-validated bold-text", href: getEndpoint_1.PRODUCTION_ENDPOINT_CONFIG.PORTAL + "#!Profile:v/settings" }, "\u00A0user profile validated")),
isLoading && React.createElement("span", { className: "spinner" }),
React.createElement("p", { className: "self-sign-access-verified-success-text " + ((userBundle === null || userBundle === void 0 ? void 0 : userBundle.isVerified) ? 'show' : 'hidden') }, "You have applied to have user profile valiadation successfully")))),
React.createElement(AcceptedRequirements_1.default, { user: user, wikiPage: wikiPage, accessRequirement: accessRequirement, accessRequirementStatus: accessRequirementStatus, onHide: onHide, entityId: entityId })));
}
exports.default = SelfSignAccessRequirementComponent;
//# sourceMappingURL=SelfSignAccessRequirement.js.map