@sap/xssec
Version:
XS Advanced Container Security API for node.js
19 lines (17 loc) • 935 B
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. */
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);
}
}