openapi-connect
Version:
Base for microservices around OpenAPI/Swagger
31 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setBasePath = exports.setAuthServerUrl = void 0;
const url_1 = require("./url");
exports.default = (swaggerDoc, options) => {
(0, exports.setBasePath)(swaggerDoc, options.basePath);
(0, exports.setAuthServerUrl)(swaggerDoc, options.oauth);
return swaggerDoc;
};
const setAuthServerUrl = (swaggerDoc, authOptions) => {
if (!authOptions.enable || !swaggerDoc || !swaggerDoc.securityDefinitions) {
return;
}
Object.keys(swaggerDoc.securityDefinitions).forEach((key, index) => {
const security = swaggerDoc.securityDefinitions[key];
if (security.tokenUrl) {
security.tokenUrl = (0, url_1.join)(authOptions.url, security.tokenUrl);
}
if (security.authorizationUrl) {
security.authorizationUrl = (0, url_1.join)(authOptions.url, security.authorizationUrl);
}
});
return swaggerDoc;
};
exports.setAuthServerUrl = setAuthServerUrl;
const setBasePath = (swaggerDoc, basePath) => {
swaggerDoc.basePath = swaggerDoc.basePath ? (0, url_1.join)(basePath, swaggerDoc.basePath) : basePath;
return swaggerDoc;
};
exports.setBasePath = setBasePath;
//# sourceMappingURL=swagger.js.map