forked from tsai/budibase
6 changed files with 144 additions and 14 deletions
@ -0,0 +1,57 @@ |
|||||
|
const fetch = require("node-fetch") |
||||
|
const { FIELD_TYPES, QUERY_TYPES } = require("./Integration") |
||||
|
|
||||
|
const SCHEMA = { |
||||
|
docs: "https://github.com/node-fetch/node-fetch", |
||||
|
datasource: { |
||||
|
url: { |
||||
|
type: FIELD_TYPES.STRING, |
||||
|
default: "localhost", |
||||
|
required: true, |
||||
|
}, |
||||
|
}, |
||||
|
query: { |
||||
|
read: { |
||||
|
type: QUERY_TYPES.FIELDS, |
||||
|
fields: { |
||||
|
path: { |
||||
|
type: FIELD_TYPES.STRING, |
||||
|
}, |
||||
|
headers: { |
||||
|
type: FIELD_TYPES.OBJECT, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
} |
||||
|
|
||||
|
class RestIntegration { |
||||
|
constructor(config) { |
||||
|
this.config = config |
||||
|
} |
||||
|
|
||||
|
// create(query) {
|
||||
|
// return this.query(query)
|
||||
|
// }
|
||||
|
|
||||
|
async read({ path, headers = {} }) { |
||||
|
const response = await fetch(this.config.url + path, { |
||||
|
headers, |
||||
|
}) |
||||
|
|
||||
|
return await response.json() |
||||
|
} |
||||
|
|
||||
|
// update(query) {
|
||||
|
// return this.query(query)
|
||||
|
// }
|
||||
|
|
||||
|
// delete(query) {
|
||||
|
// return this.query(query)
|
||||
|
// }
|
||||
|
} |
||||
|
|
||||
|
module.exports = { |
||||
|
schema: SCHEMA, |
||||
|
integration: RestIntegration, |
||||
|
} |
||||
Loading…
Reference in new issue