opds-web-client
Version:
48 lines (47 loc) • 2.21 kB
JavaScript
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isServerSamlProvider = exports.getEnglishValue = exports.flattenSamlProviders = exports.generateCredentials = exports.SAML_AUTH_TYPE = void 0;
exports.SAML_AUTH_TYPE = "http://librarysimplified.org/authtype/SAML-2.0";
function generateCredentials(username, password) {
var btoaStr = btoa("".concat(username, ":").concat(password));
return "Basic ".concat(btoaStr);
}
exports.generateCredentials = generateCredentials;
function flattenSamlProviders(providers) {
return providers.reduce(function (flattened, provider) {
if ((0, exports.isServerSamlProvider)(provider)) {
return __spreadArray(__spreadArray([], flattened, true), serverToClientSamlProviders(provider), true);
}
return __spreadArray(__spreadArray([], flattened, true), [provider], false);
}, []);
}
exports.flattenSamlProviders = flattenSamlProviders;
function serverToClientSamlProviders(provider) {
return provider.method.links.map(function (idp) {
var _a;
return ({
method: {
href: idp.href,
type: provider.method.type,
description: (_a = (0, exports.getEnglishValue)(idp.display_names)) !== null && _a !== void 0 ? _a : "Unknown SAML Provider"
},
id: idp.href,
plugin: provider.plugin
});
});
}
var getEnglishValue = function (arr) { var _a; return (_a = arr.find(function (item) { return item.language === "en"; })) === null || _a === void 0 ? void 0 : _a.value; };
exports.getEnglishValue = getEnglishValue;
var isServerSamlProvider = function (provider) {
return provider.id === exports.SAML_AUTH_TYPE && "links" in provider.method;
};
exports.isServerSamlProvider = isServerSamlProvider;
;