Add DB integration templates

This commit is contained in:
Matej Bačo
2024-05-24 13:37:12 +02:00
parent 67359a985f
commit 2dbb2579aa
3 changed files with 249 additions and 11 deletions
+9 -9
View File
@@ -7,8 +7,8 @@
"name": "@appwrite/console",
"dependencies": {
"@appwrite.io/console": "^0.6.2",
"@appwrite.io/pink": "0.20.0",
"@appwrite.io/pink-icons": "0.20.0",
"@appwrite.io/pink": "0.22.0",
"@appwrite.io/pink-icons": "0.22.0",
"@popperjs/core": "^2.11.8",
"@sentry/svelte": "^7.66.0",
"@sentry/tracing": "^7.66.0",
@@ -162,19 +162,19 @@
"integrity": "sha512-3qYknuFwhvTN2GnPB8G1w5DgxfVorGtfj4uuEaXbTmMUmjA8fHaW5VkJriuUxCi6/TpxDxqV/hhEkdoXL+5H4w=="
},
"node_modules/@appwrite.io/pink": {
"version": "0.20.0",
"resolved": "https://registry.npmjs.org/@appwrite.io/pink/-/pink-0.20.0.tgz",
"integrity": "sha512-17anov7EL+Ic/4fNtCYgG3wA+hoeBXn/j+ZjkfZFfX3g66M8XzVTaQfsAH+EMZ3YjvWuKlHtn+bY4BkGwvMIzQ==",
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@appwrite.io/pink/-/pink-0.22.0.tgz",
"integrity": "sha512-u11DTxI1n4Q07/jA6yW13k6dPNIlxg4nKv/fgMuIuB1d1NEa5TPzJCWInn9GsS++7DhEem/4Ah4HyZU0KEQb/w==",
"dependencies": {
"@appwrite.io/pink-icons": "0.20.0",
"@appwrite.io/pink-icons": "0.22.0",
"normalize.css": "^8.0.1",
"the-new-css-reset": "^1.11.2"
}
},
"node_modules/@appwrite.io/pink-icons": {
"version": "0.20.0",
"resolved": "https://registry.npmjs.org/@appwrite.io/pink-icons/-/pink-icons-0.20.0.tgz",
"integrity": "sha512-nfDy7qE6FQWVO1eC+3nwGjXkj/Zm2V50rhvyj0/HKq8RyWNWFGX31BZoMSim01vl/N5irBilpkaER6mLPp7oEw=="
"version": "0.22.0",
"resolved": "https://registry.npmjs.org/@appwrite.io/pink-icons/-/pink-icons-0.22.0.tgz",
"integrity": "sha512-TgfEVTOeYB+6HdW3e8OSfikBCMEgpNDTE/3RU61howFnlmUhooePFOiQXQKqcYinN+KNQWbWrt0Ob1uVDho4hg=="
},
"node_modules/@babel/code-frame": {
"version": "7.24.2",
+2 -2
View File
@@ -20,8 +20,8 @@
},
"dependencies": {
"@appwrite.io/console": "^0.6.2",
"@appwrite.io/pink": "0.20.0",
"@appwrite.io/pink-icons": "0.20.0",
"@appwrite.io/pink": "0.22.0",
"@appwrite.io/pink-icons": "0.22.0",
"@popperjs/core": "^2.11.8",
"@sentry/svelte": "^7.66.0",
"@sentry/tracing": "^7.66.0",
+238
View File
@@ -77,6 +77,244 @@ export const marketplace: MarketplaceTemplate[] = [
}
]
},
{
icon: 'icon-upstash',
id: 'query-upstash-vector',
name: 'Query Upstash Vector',
tagline: 'Vector database to store embeddings powering tailored LLM answers.',
permissions: ['any'],
events: [],
cron: '',
timeout: 15,
usecases: ['Databases'],
runtimes: [
...getRuntimes(
TemplateRuntimes.NODE,
'npm install',
'src/main.js',
'node/query-upstash-vector'
)
],
instructions: `For documentation and instructions check out <a target="_blank" rel="noopener noreferrer" class="link" href="https://github.com/appwrite/templates/tree/main/node/query-upstash-vector">file</a>.`,
vcsProvider: 'github',
providerRepositoryId: 'templates',
providerOwner: 'appwrite',
providerBranch: 'main',
variables: [
{
name: 'UPSTASH_URL',
description: `The endpoint to connect to your Upstash Vector database. <a class="u-bold" target="_blank" href="https://upstash.com/docs/vector/overall/getstarted">Learn more</a>.`,
value: '',
placeholder: 'https://resolved-mallard-84564-eu1-vector.upstash.io',
required: true,
type: 'text'
},
{
name: 'UPSTASH_TOKEN',
description: `Authentication token to access your Upstash Vector database. <a class="u-bold" target="_blank" href="https://upstash.com/docs/vector/overall/getstarted">Learn more</a>.`,
value: '',
placeholder:
'oe4wNTbwHVLcDNa6oceZfhBEABsCNYh43ii6Xdq4bKBH7mq7qJkUmc4cs3ABbYyuVKWZTxVQjiNjYgydn2dkhABNes4NAuDpj7qxUAmZYqGJT78',
required: true,
type: 'password'
}
]
},
{
icon: 'icon-redis',
id: 'query-redis-labs',
name: 'Query Redis Labs',
tagline: 'Key-value database with advanced caching capabilities.',
permissions: ['any'],
events: [],
cron: '',
timeout: 15,
usecases: ['Databases'],
runtimes: [
...getRuntimes(
TemplateRuntimes.NODE,
'npm install',
'src/main.js',
'node/query-redis-labs'
)
],
instructions: `For documentation and instructions check out <a target="_blank" rel="noopener noreferrer" class="link" href="https://github.com/appwrite/templates/tree/main/node/query-redis-labs">file</a>.`,
vcsProvider: 'github',
providerRepositoryId: 'templates',
providerOwner: 'appwrite',
providerBranch: 'main',
variables: [
{
name: 'REDIS_HOST',
description: `The endpoint to connect to your Redis database. <a class="u-bold" target="_blank" href="https://redis.io/docs/latest/operate/rc/rc-quickstart/">Learn more</a>.`,
value: '',
placeholder: 'redis-13258.c35.eu-central-1-1.ec2.redns.redis-cloud.com',
required: true,
type: 'text'
},
{
name: 'REDIS_PASSWORD',
description: `Authentication password to access your Redis database. <a class="u-bold" target="_blank" href="https://redis.io/docs/latest/operate/rc/rc-quickstart/">Learn more</a>.`,
value: '',
placeholder: 'efNNehiACfcZiwsTAjcK6xiwPyu6Dpdq',
required: true,
type: 'password'
}
]
},
{
icon: 'icon-neo4j',
id: 'query-neo4j-auradb',
name: 'Query Neo4j AuraDB',
tagline: 'Graph database with focus on relations between data.',
permissions: ['any'],
events: [],
cron: '',
timeout: 15,
usecases: ['Databases'],
runtimes: [
...getRuntimes(
TemplateRuntimes.NODE,
'npm install',
'src/main.js',
'node/query-neo4j-auradb'
)
],
instructions: `For documentation and instructions check out <a target="_blank" rel="noopener noreferrer" class="link" href="https://github.com/appwrite/templates/tree/main/node/query-neo4j-auradb">file</a>.`,
vcsProvider: 'github',
providerRepositoryId: 'templates',
providerOwner: 'appwrite',
providerBranch: 'main',
variables: [
{
name: 'NEO4J_URI',
description: `The endpoint to connect to your Neo4j database. <a class="u-bold" target="_blank" href="https://neo4j.com/docs/aura/auradb/getting-started/connect-database/">Learn more</a>.`,
value: '',
placeholder: 'neo4j+s://4tg4mddo.databases.neo4j.io',
required: true,
type: 'text'
},
{
name: 'NEO4J_USER',
description: `Authentication user to access your Neo4j database. <a class="u-bold" target="_blank" href="https://neo4j.com/docs/aura/auradb/getting-started/connect-database/">Learn more</a>.`,
value: '',
placeholder: 'neo4j',
required: true,
type: 'text'
},
{
name: 'NEO4J_PASSWORD',
description: `Authentication password to access your Neo4j database. <a class="u-bold" target="_blank" href="https://neo4j.com/docs/aura/auradb/getting-started/connect-database/">Learn more</a>.`,
value: '',
placeholder: 'mCUc4PbVUQN-_NkTLJLisb6ccnwzQKKhrkF77YMctzx',
required: true,
type: 'password'
}
]
},
{
icon: 'icon-mongodb',
id: 'query-mongo-atlas',
name: 'Query MongoDB Atlas',
tagline:
'Realtime NoSQL document database with geospecial, graph, search, and vector suport.',
permissions: ['any'],
events: [],
cron: '',
timeout: 15,
usecases: ['Databases'],
runtimes: [
...getRuntimes(
TemplateRuntimes.NODE,
'npm install',
'src/main.js',
'node/query-mongo-atlas'
)
],
instructions: `For documentation and instructions check out <a target="_blank" rel="noopener noreferrer" class="link" href="https://github.com/appwrite/templates/tree/main/node/query-mongo-atlas">file</a>.`,
vcsProvider: 'github',
providerRepositoryId: 'templates',
providerOwner: 'appwrite',
providerBranch: 'main',
variables: [
{
name: 'MONGO_URI',
description: `The endpoint to connect to your Mongo database. <a class="u-bold" target="_blank" href="https://www.mongodb.com/docs/atlas/getting-started/">Learn more</a>.`,
value: '',
placeholder:
'mongodb+srv://appwrite:Yx42hafg7Q4fgkxe@cluster0.7mslfog.mongodb.net/?retryWrites=true&w=majority&appName=Appwrite',
required: true,
type: 'password'
}
]
},
{
icon: 'icon-neon',
id: 'query-neon-postgres',
name: 'Query Neon Postgres',
tagline:
'Reliable SQL database with replication, point-in-time recovery, and pgvector support.',
permissions: ['any'],
events: [],
cron: '',
timeout: 15,
usecases: ['Databases'],
runtimes: [
...getRuntimes(
TemplateRuntimes.NODE,
'npm install',
'src/main.js',
'node/query-neon-postgres'
)
],
instructions: `For documentation and instructions check out <a target="_blank" rel="noopener noreferrer" class="link" href="https://github.com/appwrite/templates/tree/main/node/query-neon-postgres">file</a>.`,
vcsProvider: 'github',
providerRepositoryId: 'templates',
providerOwner: 'appwrite',
providerBranch: 'main',
variables: [
{
name: 'PGHOST',
description: `The endpoint to connect to your Postgres database. <a class="u-bold" target="_blank" href="https://neon.tech/docs/get-started-with-neon/signing-up/">Learn more</a>.`,
value: '',
placeholder: 'ep-still-sea-a792sh84.eu-central-1.aws.neon.tech',
required: true,
type: 'text'
},
{
name: 'PGDATABASE',
description: `Name of our Postgres database. <a class="u-bold" target="_blank" href="https://neon.tech/docs/get-started-with-neon/signing-up/">Learn more</a>.`,
value: '',
placeholder: 'main',
required: true,
type: 'text'
},
{
name: 'PGUSER',
description: `Name of our Postgres user for authentication. <a class="u-bold" target="_blank" href="https://neon.tech/docs/get-started-with-neon/signing-up/">Learn more</a>.`,
value: '',
placeholder: 'main_owner',
required: true,
type: 'text'
},
{
name: 'PGPASSWORD',
description: `Password of our Postgres user for authentication. <a class="u-bold" target="_blank" href="https://neon.tech/docs/get-started-with-neon/signing-up/">Learn more</a>.`,
value: '',
placeholder: 'iQCfaUaaWB3B',
required: true,
type: 'password'
},
{
name: 'ENDPOINT_ID',
description: `Endpoint ID provided for your Postgres database. <a class="u-bold" target="_blank" href="https://neon.tech/docs/get-started-with-neon/signing-up/">Learn more</a>.`,
value: '',
placeholder: 'ep-still-sea-a792sh84',
required: true,
type: 'text'
}
]
},
{
icon: 'icon-open-ai',
id: 'prompt-chatgpt',