@studyportals/sp-hs-misc
Version:
Miscellaneous code used in HouseStark's projects
195 lines (179 loc) • 8.01 kB
JavaScript
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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());
});
};
/**
* @deprecated Use @studyportals/client-internal-platform-authorization
*/
//# sourceMappingURL=k2so-user-privileges-data-helper.class.js.map
var K2SOUserPrivilegesDataHelper = function () {
_createClass(K2SOUserPrivilegesDataHelper, [{
key: "baseUrl",
get: function get() {
return this._baseUrl;
}
}, {
key: "requestsFactory",
get: function get() {
return this._requestsFactory;
}
}]);
function K2SOUserPrivilegesDataHelper(requestFactory) {
var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
_classCallCheck(this, K2SOUserPrivilegesDataHelper);
this._requestsFactory = requestFactory;
this._baseUrl = baseUrl;
}
_createClass(K2SOUserPrivilegesDataHelper, [{
key: "canGenerateReports",
value: function canGenerateReports(username) {
var _this = this;
var request = this.requestsFactory.post(this.baseUrl + "reports/generate");
return new Promise(function (resolve) {
request.send({ username: username });
request.end(function (err, res) {
return _this.handleAuthorizationRequest(err, res, resolve);
});
});
}
}, {
key: "canDeleteReports",
value: function canDeleteReports(username) {
var _this2 = this;
var request = this.requestsFactory.post(this.baseUrl + "reports/delete");
return new Promise(function (resolve) {
request.send({ username: username });
request.end(function (err, res) {
return _this2.handleAuthorizationRequest(err, res, resolve);
});
});
}
}, {
key: "canAccessOrganisation",
value: function canAccessOrganisation(username, organisationId) {
var _this3 = this;
var request = this.requestsFactory.post(this.baseUrl + "organisations");
return new Promise(function (resolve) {
request.send({ username: username, organisationId: organisationId });
request.end(function (err, res) {
return _this3.handleAuthorizationRequest(err, res, resolve);
});
});
}
}, {
key: "filterOrganisationsByUserAccess",
value: function filterOrganisationsByUserAccess(username, organisationIds) {
var _this4 = this;
var request = this.requestsFactory.post(this.baseUrl + "organisations/multiple");
return new Promise(function (resolve) {
request.send({ username: username, organisationIds: organisationIds });
request.end(function (err, res) {
return _this4.handleIdsFilteringRequest(err, res, resolve);
});
});
}
}, {
key: "filterCampaignsByUserAccess",
value: function filterCampaignsByUserAccess(username, campaignIds) {
return __awaiter(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var _this5 = this;
var request;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
request = this.requestsFactory.post(this.baseUrl + "campaigns/multiple");
return _context.abrupt("return", new Promise(function (resolve) {
request.send({ username: username, campaignIds: campaignIds });
request.end(function (err, res) {
return _this5.handleIdsFilteringRequest(err, res, resolve);
});
}));
case 2:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
}
}, {
key: "canAccessCampaign",
value: function canAccessCampaign(username, campaignId) {
var _this6 = this;
var request = this.requestsFactory.post(this.baseUrl + "campaigns");
return new Promise(function (resolve) {
request.send({ username: username, campaignId: campaignId });
request.end(function (err, res) {
return _this6.handleAuthorizationRequest(err, res, resolve);
});
});
}
}, {
key: "canInitiateInvalidation",
value: function canInitiateInvalidation(username, campaignId) {
var _this7 = this;
var request = this.requestsFactory.post(this.baseUrl + "invalidations");
return new Promise(function (resolve) {
request.send({ username: username, campaignId: campaignId });
request.end(function (err, res) {
return _this7.handleAuthorizationRequest(err, res, resolve);
});
});
}
}, {
key: "handleAuthorizationRequest",
value: function handleAuthorizationRequest(err, res, resolveFn) {
this.handleRequest(err, res, resolveFn, function () {
return false;
}, function (result) {
return !result.failed;
});
}
}, {
key: "handleIdsFilteringRequest",
value: function handleIdsFilteringRequest(err, res, resolveFn) {
this.handleRequest(err, res, resolveFn, function () {
return [];
}, function (result) {
return result.failed ? [] : result.ids;
});
}
}, {
key: "handleRequest",
value: function handleRequest(err, res, resolveFn, errorValueFactory, resultValueExtractor) {
if (err) {
resolveFn(errorValueFactory());
} else {
var result = res.body;
resolveFn(resultValueExtractor(result));
}
}
}]);
return K2SOUserPrivilegesDataHelper;
}();