UNPKG

dobo-restproxy

Version:
48 lines (42 loc) 1.01 kB
/** * 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