|
const { getUserPluginAuthValue } = require('../../../../server/services/PluginService'); |
|
const { availableTools } = require('../'); |
|
|
|
const loadToolSuite = async ({ pluginKey, tools, user, options }) => { |
|
const authConfig = availableTools.find((tool) => tool.pluginKey === pluginKey).authConfig; |
|
const suite = []; |
|
const authValues = {}; |
|
|
|
for (const auth of authConfig) { |
|
let authValue = process.env[auth.authField]; |
|
if (!authValue) { |
|
authValue = await getUserPluginAuthValue(user, auth.authField); |
|
} |
|
authValues[auth.authField] = authValue; |
|
} |
|
|
|
for (const tool of tools) { |
|
suite.push( |
|
new tool({ |
|
...authValues, |
|
...options, |
|
}), |
|
); |
|
} |
|
|
|
return suite; |
|
}; |
|
|
|
module.exports = { |
|
loadToolSuite, |
|
}; |
|
|