dobo-restproxy
Version:
REST Api Proxy adapter for Dobo
48 lines (42 loc) • 1.01 kB
JavaScript
/**
* Plugin factory
*
* @param {string} pkgName - NPM package name
* @returns {class}
*/
async function factory (pkgName) {
const me = this
/**
* DoboRestproxy class
*
* @class
*/
class DoboRestproxy extends this.app.baseClass.Base {
constructor () {
super(pkgName, me.app)
this.config = {
}
}
fetch = async (url, opts = {}, extra = {}) => {
const { fetchUrl } = this.app.bajoExtra
extra.rawResponse = true
const resp = await fetchUrl(url, opts, extra)
const result = await resp.json()
if (!resp.ok) {
throw this.error(result.message, {
noTrans: true,
statusCode: resp.status,
success: false
})
}
return result
}
modelNameResolver = (name) => {
const { getModel } = this.app.dobo
const model = getModel(name)
return model.baseName
}
}
return DoboRestproxy
}
export default factory