Updating async action loading based on new structure of S3 and manifest.

This commit is contained in:
mike12345567 2020-09-22 14:07:22 +01:00
parent 406032b444
commit a1174d8942
1 changed files with 12 additions and 13 deletions

View File

@ -9,7 +9,6 @@ const path = require("path")
const Sentry = require("@sentry/node") const Sentry = require("@sentry/node")
const AUTOMATION_MANIFEST = "manifest.json" const AUTOMATION_MANIFEST = "manifest.json"
const AUTOMATION_BUNDLE = "bundle.js"
const BUILTIN_ACTIONS = { const BUILTIN_ACTIONS = {
SEND_EMAIL: sendEmail.run, SEND_EMAIL: sendEmail.run,
SAVE_RECORD: saveRecord.run, SAVE_RECORD: saveRecord.run,
@ -25,12 +24,16 @@ const BUILTIN_DEFINITIONS = {
let MANIFEST = null let MANIFEST = null
async function downloadPackage(name, version, pathToInstall) { function buildBundleName(pkgName, version) {
return `${pkgName}@${version}.min.js`
}
async function downloadPackage(name, version, bundleName) {
await download( await download(
`${environment.AUTOMATION_BUCKET}/${name}/${version}/${AUTOMATION_BUNDLE}`, `${environment.AUTOMATION_BUCKET}/${name}/${version}/${bundleName}`,
pathToInstall environment.AUTOMATION_DIRECTORY
) )
return require(path.join(pathToInstall, AUTOMATION_BUNDLE)) return require(path.join(environment.AUTOMATION_DIRECTORY, bundleName))
} }
module.exports.getAction = async function(actionName) { module.exports.getAction = async function(actionName) {
@ -41,16 +44,12 @@ module.exports.getAction = async function(actionName) {
if (!MANIFEST || !MANIFEST.packages || !MANIFEST.packages[actionName]) { if (!MANIFEST || !MANIFEST.packages || !MANIFEST.packages[actionName]) {
return null return null
} }
let pkg = MANIFEST.packages[actionName] const pkg = MANIFEST.packages[actionName]
let toInstall = path.join( const bundleName = buildBundleName(pkg.stepId, pkg.version)
environment.AUTOMATION_DIRECTORY,
pkg.stepId,
pkg.version
)
try { try {
return require(path.join(toInstall, AUTOMATION_BUNDLE)) return require(path.join(environment.AUTOMATION_DIRECTORY, bundleName))
} catch (err) { } catch (err) {
return downloadPackage(pkg.stepId, pkg.version, toInstall) return downloadPackage(pkg.stepId, pkg.version, bundleName)
} }
} }