openapi2apigeeck2
Version:
A tool that converts openapi yaml file to Apigee API Proxy Bundle
155 lines (133 loc) • 4.24 kB
JavaScript
var builder = require('xmlbuilder')
var random = require('../../util/random.js')
module.exports = {
basicSfTemplate: basicSfTemplate,
basicSfGenTemplate: basicSfTemplate
}
function basicSfTemplate (options) {
console.log('inside sf.....',options)
if(options=='FC-404NotFound')
{
var aysnc = 'false'
var continueOnError ='false'
var enabled = 'true'
var name = 'FC-404NotFound'
var sfName = '404NotFound'
console.log('inside sf 404' )
var sf = builder.create('FlowCallout')
sf.att('async', aysnc)
sf.att('continueOnError', continueOnError)
sf.att('enabled', enabled)
sf.att('name', name)
sf.ele('DisplayName', {}, name)
sf.ele('FaultRules', {})
sf.ele('Properties', {})
sf.ele('SharedFlowBundle',{},sfName)
var xmlString = sf.end({ pretty: true, indent: ' ', newline: '\n' })
return xmlString
}else if(options =='FC-405MethodNotAllowed'){
console.log('inside sf 405' )
var aysnc = 'false'
var continueOnError ='false'
var enabled = 'true'
var name = 'FC-405MethodNotAllowed'
var sfName = '405MethodNotAllowed'
console.log('inside sf',sfName)
var sf = builder.create('FlowCallout')
sf.att('async', aysnc)
sf.att('continueOnError', continueOnError)
sf.att('enabled', enabled)
sf.att('name', name)
sf.ele('DisplayName', {}, name)
sf.ele('FaultRules', {})
sf.ele('Properties', {})
sf.ele('SharedFlowBundle',{},sfName)
var xmlString = sf.end({ pretty: true, indent: ' ', newline: '\n' })
return xmlString
}
else if(options=='FC-FaultHandling'){
var aysnc = 'false'
var continueOnError ='false'
var enabled = 'true'
var name = 'FC-FaultHandling'
var sfName = 'SF-Fault-Handling'
console.log('inside sf')
var sf = builder.create('FlowCallout')
sf.att('async', aysnc)
sf.att('continueOnError', continueOnError)
sf.att('enabled', enabled)
sf.att('name', name)
sf.ele('DisplayName', {}, name)
sf.ele('FaultRules', {})
sf.ele('Properties', {})
sf.ele('SharedFlowBundle',{},sfName)
var xmlString = sf.end({ pretty: true, indent: ' ', newline: '\n' })
return xmlString
}
else if(options=='FC-MessageLogging'){
var aysnc = 'false'
var continueOnError ='false'
var enabled = 'true'
var name = 'FC-MessageLogging'
var sfName = 'LogMessage-v1'
console.log('inside sf')
var sf = builder.create('FlowCallout')
sf.att('async', aysnc)
sf.att('continueOnError', continueOnError)
sf.att('enabled', enabled)
sf.att('name', name)
sf.ele('DisplayName', {}, name)
sf.ele('FaultRules', {})
sf.ele('Properties', {})
sf.ele('SharedFlowBundle',{},sfName)
var xmlString = sf.end({ pretty: true, indent: ' ', newline: '\n' })
return xmlString
}
else if(options=='FC-LogError'){
var aysnc = 'false'
var continueOnError ='false'
var enabled = 'true'
var name = 'FC-LogError'
var sfName = 'BuildLogError-v1'
console.log('inside sf')
var sf = builder.create('FlowCallout')
sf.att('async', aysnc)
sf.att('continueOnError', continueOnError)
sf.att('enabled', enabled)
sf.att('name', name)
sf.ele('DisplayName', {}, name)
sf.ele('FaultRules', {})
sf.ele('Properties', {})
sf.ele('SharedFlowBundle',{},sfName)
var xmlString = sf.end({ pretty: true, indent: ' ', newline: '\n' })
return xmlString
}
else{
var aysnc = options.async || 'false'
var continueOnError = options.continueOnError || 'false'
var enabled = options.enabled || 'true'
var name = options.name || 'FC-404NotFound'
var keyRef = options.keyRef || 'request.queryparam.apikey'
var sfName = options.sfName || '404NotFound'
console.log('inside sf')
var sf = builder.create('FlowCallout')
sf.att('async', aysnc)
sf.att('continueOnError', continueOnError)
sf.att('enabled', enabled)
sf.att('name', name)
sf.ele('DisplayName', {}, name)
sf.ele('FaultRules', {})
sf.ele('Properties', {})
sf.ele('SharedFlowBundle',{},sfName)
var xmlString = sf.end({ pretty: true, indent: ' ', newline: '\n' })
return xmlString
}
}
function basicSfGenTemplate (options, name) {
var templateOptions = options
templateOptions.name = name
// if (name === 'apiKeyHeader') {
// templateOptions.keyRef = 'request.header.apikey'
// }
return basicSfTemplate(templateOptions)
}