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