sqlite plugin scaffold

This commit is contained in:
Jan Prochazka
2021-04-25 18:49:53 +02:00
parent a8a9afc936
commit d1bf2dbc4b
18 changed files with 319 additions and 5 deletions

View File

@@ -19,6 +19,7 @@
"dependencies": {
"async-lock": "^1.2.4",
"axios": "^0.19.0",
"better-sqlite3": "^7.1.5",
"body-parser": "^1.19.0",
"bufferutil": "^4.0.1",
"byline": "^5.0.0",

View File

@@ -38,6 +38,7 @@ export interface EngineDriver {
title: string;
defaultPort?: number;
supportsDatabaseUrl?: boolean;
isFileDatabase?: boolean;
databaseUrlPlaceholder?: string;
connect({ server, port, user, password, database }): any;
query(pool: any, sql: string): Promise<QueryResult>;

View File

@@ -9,9 +9,12 @@
import FormTextField from '../forms/FormTextField.svelte';
import { extensions } from '../stores';
import getElectron from '../utility/getElectron';
import { useAuthTypes } from '../utility/metadataLoaders';
const { values } = getFormContext();
const electron = getElectron();
$: authType = $values.authType;
$: engine = $values.engine;
$: useDatabaseUrl = $values.useDatabaseUrl;
@@ -27,10 +30,12 @@
name="engine"
options={[
{ label: '(select driver)', value: '' },
...$extensions.drivers.map(driver => ({
value: driver.engine,
label: driver.title,
})),
...$extensions.drivers
.filter(driver => !driver.isFileDatabase || electron)
.map(driver => ({
value: driver.engine,
label: driver.title,
})),
]}
/>