Merge pull request #542 from getmaxun/encode-db-pass
feat: enable URL-safe encoding for DB passwords with special characters
This commit is contained in:
@@ -21,7 +21,11 @@ import { airtableUpdateTasks, processAirtableUpdates } from './workflow-manageme
|
|||||||
import { RemoteBrowser } from './browser-management/classes/RemoteBrowser';
|
import { RemoteBrowser } from './browser-management/classes/RemoteBrowser';
|
||||||
import { io as serverIo } from "./server";
|
import { io as serverIo } from "./server";
|
||||||
|
|
||||||
const pgBossConnectionString = `postgres://${process.env.DB_USER}:${process.env.DB_PASSWORD}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`;
|
if (!process.env.DB_USER || !process.env.DB_PASSWORD || !process.env.DB_HOST || !process.env.DB_PORT || !process.env.DB_NAME) {
|
||||||
|
throw new Error('Failed to start pgboss worker: one or more required environment variables are missing.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const pgBossConnectionString = `postgresql://${process.env.DB_USER}:${encodeURIComponent(process.env.DB_PASSWORD)}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`;
|
||||||
|
|
||||||
interface InitializeBrowserData {
|
interface InitializeBrowserData {
|
||||||
userId: string;
|
userId: string;
|
||||||
@@ -522,4 +526,4 @@ process.on('SIGINT', async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// For use in other files
|
// For use in other files
|
||||||
export { pgBoss };
|
export { pgBoss };
|
||||||
|
|||||||
@@ -7,7 +7,11 @@ import Robot from './models/Robot';
|
|||||||
import { handleRunRecording } from './workflow-management/scheduler';
|
import { handleRunRecording } from './workflow-management/scheduler';
|
||||||
import { computeNextRun } from './utils/schedule';
|
import { computeNextRun } from './utils/schedule';
|
||||||
|
|
||||||
const pgBossConnectionString = `postgres://${process.env.DB_USER}:${process.env.DB_PASSWORD}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`;
|
if (!process.env.DB_USER || !process.env.DB_PASSWORD || !process.env.DB_HOST || !process.env.DB_PORT || !process.env.DB_NAME) {
|
||||||
|
throw new Error('One or more required environment variables are missing.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const pgBossConnectionString = `postgresql://${process.env.DB_USER}:${encodeURIComponent(process.env.DB_PASSWORD)}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`;
|
||||||
|
|
||||||
const pgBoss = new PgBoss({connectionString: pgBossConnectionString });
|
const pgBoss = new PgBoss({connectionString: pgBossConnectionString });
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,11 @@ import dotenv from 'dotenv';
|
|||||||
|
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
const databaseUrl = `postgresql://${process.env.DB_USER}:${process.env.DB_PASSWORD}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`;
|
if (!process.env.DB_USER || !process.env.DB_PASSWORD || !process.env.DB_HOST || !process.env.DB_PORT || !process.env.DB_NAME) {
|
||||||
|
throw new Error('One or more required environment variables are missing.');
|
||||||
|
}
|
||||||
|
|
||||||
|
const databaseUrl = `postgresql://${process.env.DB_USER}:${encodeURIComponent(process.env.DB_PASSWORD)}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`;
|
||||||
|
|
||||||
// Extract the hostname using the URL constructor
|
// Extract the hostname using the URL constructor
|
||||||
const host = new URL(databaseUrl).hostname;
|
const host = new URL(databaseUrl).hostname;
|
||||||
@@ -42,4 +46,4 @@ export const syncDB = async () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export default sequelize;
|
export default sequelize;
|
||||||
|
|||||||
Reference in New Issue
Block a user