@sap/xssec
Version:
XS Advanced Container Security API for node.js
21 lines (19 loc) • 1.01 kB
JavaScript
const IdentityService = require("../service/IdentityService");
const XsuaaService = require("../service/XsuaaService");
const XsaService = require("../service/XsaService");
const UaaService = require("../service/UaaService");
module.exports = createServiceFromCredentials;
/** Heuristic function for creating the correct service instance based on credentials.
* @param {import("../util/Types").ServiceConfiguration} serviceConfiguration
*/
function createServiceFromCredentials(credentials, serviceConfiguration) {
if (credentials.xsappname && credentials.uaadomain) {
return new XsuaaService(credentials, serviceConfiguration);
} else if (credentials.xsappname && credentials.uaadomain == null) {
return new XsaService(credentials, serviceConfiguration);
} else if (credentials.xsappname == null && credentials.uaadomain) {
return new UaaService(credentials, serviceConfiguration);
} else {
return new IdentityService(credentials, serviceConfiguration);
}
}