chore: Typescript database models (#2886)

closes #2798
This commit is contained in:
Tom Moor
2022-01-06 18:24:28 -08:00
committed by GitHub
parent d3cbf250e6
commit b20a341f0c
207 changed files with 5624 additions and 5315 deletions

View File

@@ -0,0 +1,24 @@
import { Sequelize } from "sequelize-typescript";
import Logger from "../logging/logger";
import * as models from "../models";
const isProduction = process.env.NODE_ENV === "production";
const isSSLDisabled = process.env.PGSSLMODE === "disable";
export const sequelize = new Sequelize(
process.env.DATABASE_URL || process.env.DATABASE_CONNECTION_POOL_URL || "",
{
logging: (msg) => Logger.debug("database", msg),
typeValidation: true,
dialectOptions: {
ssl:
isProduction && !isSSLDisabled
? {
// Ref.: https://github.com/brianc/node-postgres/issues/2009
rejectUnauthorized: false,
}
: false,
},
models: Object.values(models),
}
);

View File

@@ -0,0 +1,9 @@
import SequelizeEncrypted from "sequelize-encrypted";
import { Sequelize } from "sequelize-typescript";
/**
* Encrypted field storage, use via the Encrypted decorator, not directly.
*/
export default function vaults() {
return SequelizeEncrypted(Sequelize, process.env.SECRET_KEY);
}