Make databases a proxy

This commit is contained in:
1ilit 2024-07-08 03:21:43 +03:00
parent c84990ca6d
commit 52455a75d0

View File

@ -6,44 +6,47 @@ import mssqlImage from "../assets/mssql-icon.png";
import i18n from "../i18n/i18n"; import i18n from "../i18n/i18n";
import { DB } from "./constants"; import { DB } from "./constants";
export const databases = { export const databases = new Proxy(
[DB.MYSQL]: { {
name: "MySQL", [DB.MYSQL]: {
label: DB.MYSQL, name: "MySQL",
image: mysqlImage, label: DB.MYSQL,
hasTypes: false, image: mysqlImage,
hasTypes: false,
},
[DB.POSTGRES]: {
name: "PostgreSQL",
label: DB.POSTGRES,
image: postgresImage,
hasTypes: true,
hasEnums: true,
hasArrays: true,
},
[DB.SQLITE]: {
name: "SQLite",
label: DB.SQLITE,
image: sqliteImage,
hasTypes: false,
},
[DB.MARIADB]: {
name: "MariaDB",
label: DB.MARIADB,
image: mariadbImage,
hasTypes: false,
},
[DB.MSSQL]: {
name: "MSSQL",
label: DB.MSSQL,
image: mssqlImage,
hasTypes: false,
},
[DB.GENERIC]: {
name: i18n.t("generic"),
label: DB.GENERIC,
image: null,
description: i18n.t("generic_description"),
hasTypes: true,
},
}, },
[DB.POSTGRES]: { { get: (target, prop) => (prop in target ? target[prop] : {}) },
name: "PostgreSQL", );
label: DB.POSTGRES,
image: postgresImage,
hasTypes: true,
hasEnums: true,
hasArrays: true,
},
[DB.SQLITE]: {
name: "SQLite",
label: DB.SQLITE,
image: sqliteImage,
hasTypes: false,
},
[DB.MARIADB]: {
name: "MariaDB",
label: DB.MARIADB,
image: mariadbImage,
hasTypes: false,
},
[DB.MSSQL]: {
name: "MSSQL",
label: DB.MSSQL,
image: mssqlImage,
hasTypes: false,
},
[DB.GENERIC]: {
name: i18n.t("generic"),
label: DB.GENERIC,
image: null,
description: i18n.t("generic_description"),
hasTypes: true,
},
};