2020-11-26 15:43:56 +01:00
|
|
|
const postgres = require("./postgres")
|
2020-11-26 17:46:36 +01:00
|
|
|
const dynamodb = require("./dynamodb")
|
|
|
|
const mongodb = require("./mongodb")
|
2020-11-26 18:03:18 +01:00
|
|
|
const elasticsearch = require("./elasticsearch")
|
|
|
|
const couchdb = require("./couchdb")
|
2020-12-12 22:48:51 +01:00
|
|
|
const sqlServer = require("./microsoftSqlServer")
|
2020-11-26 22:23:20 +01:00
|
|
|
const s3 = require("./s3")
|
2021-01-11 18:18:22 +01:00
|
|
|
const airtable = require("./airtable")
|
2021-01-26 12:07:30 +01:00
|
|
|
const mysql = require("./mysql")
|
2021-01-28 14:42:40 +01:00
|
|
|
const arangodb = require("./arangodb")
|
2021-02-15 18:05:53 +01:00
|
|
|
const rest = require("./rest")
|
2021-11-25 18:12:12 +01:00
|
|
|
const googlesheets = require("./googlesheets")
|
2021-07-03 12:15:01 +02:00
|
|
|
const { SourceNames } = require("../definitions/datasource")
|
2022-02-10 11:34:50 +01:00
|
|
|
const environment = require("../environment")
|
2020-11-26 15:43:56 +01:00
|
|
|
|
|
|
|
const DEFINITIONS = {
|
2021-07-03 12:15:01 +02:00
|
|
|
[SourceNames.POSTGRES]: postgres.schema,
|
|
|
|
[SourceNames.DYNAMODB]: dynamodb.schema,
|
|
|
|
[SourceNames.MONGODB]: mongodb.schema,
|
|
|
|
[SourceNames.ELASTICSEARCH]: elasticsearch.schema,
|
|
|
|
[SourceNames.COUCHDB]: couchdb.schema,
|
|
|
|
[SourceNames.SQL_SERVER]: sqlServer.schema,
|
|
|
|
[SourceNames.S3]: s3.schema,
|
|
|
|
[SourceNames.AIRTABLE]: airtable.schema,
|
|
|
|
[SourceNames.MYSQL]: mysql.schema,
|
|
|
|
[SourceNames.ARANGODB]: arangodb.schema,
|
|
|
|
[SourceNames.REST]: rest.schema,
|
2020-11-26 15:43:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
const INTEGRATIONS = {
|
2021-07-03 12:15:01 +02:00
|
|
|
[SourceNames.POSTGRES]: postgres.integration,
|
|
|
|
[SourceNames.DYNAMODB]: dynamodb.integration,
|
|
|
|
[SourceNames.MONGODB]: mongodb.integration,
|
|
|
|
[SourceNames.ELASTICSEARCH]: elasticsearch.integration,
|
|
|
|
[SourceNames.COUCHDB]: couchdb.integration,
|
2021-08-05 23:15:40 +02:00
|
|
|
[SourceNames.SQL_SERVER]: sqlServer.integration,
|
|
|
|
[SourceNames.S3]: s3.integration,
|
2021-07-03 12:15:01 +02:00
|
|
|
[SourceNames.AIRTABLE]: airtable.integration,
|
|
|
|
[SourceNames.MYSQL]: mysql.integration,
|
|
|
|
[SourceNames.ARANGODB]: arangodb.integration,
|
|
|
|
[SourceNames.REST]: rest.integration,
|
2021-11-22 16:26:31 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
// optionally add oracle integration if the oracle binary can be installed
|
2021-11-24 21:55:03 +01:00
|
|
|
if (!(process.arch === "arm64" && process.platform === "darwin")) {
|
2021-11-22 16:26:31 +01:00
|
|
|
const oracle = require("./oracle")
|
2021-11-24 21:55:03 +01:00
|
|
|
DEFINITIONS[SourceNames.ORACLE] = oracle.schema
|
2021-11-22 16:26:31 +01:00
|
|
|
INTEGRATIONS[SourceNames.ORACLE] = oracle.integration
|
2020-11-26 15:43:56 +01:00
|
|
|
}
|
|
|
|
|
2022-02-10 11:34:50 +01:00
|
|
|
if (environment.SELF_HOSTED) {
|
|
|
|
DEFINITIONS[SourceNames.GOOGLE_SHEETS] = googlesheets.schema
|
|
|
|
INTEGRATIONS[SourceNames.GOOGLE_SHEETS] = googlesheets.integration
|
|
|
|
}
|
|
|
|
|
2020-11-26 15:43:56 +01:00
|
|
|
module.exports = {
|
|
|
|
definitions: DEFINITIONS,
|
|
|
|
integrations: INTEGRATIONS,
|
|
|
|
}
|