UNPKG

@studyportals/sp-hs-misc

Version:

Miscellaneous code used in HouseStark's projects

195 lines (179 loc) 8.01 kB
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; }();