39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
/**
|
|
* Copyright (c) 2024-2025 Тарабанов Александр Викторович
|
|
* All rights reserved.
|
|
*
|
|
* This software is proprietary and confidential.
|
|
* Unauthorized copying, modification, or distribution is prohibited.
|
|
*
|
|
* For licensing inquiries: info@hb3-accelerator.com
|
|
* Website: https://hb3-accelerator.com
|
|
* GitHub: https://github.com/HB3-ACCELERATOR
|
|
*/
|
|
|
|
const db = require('../db');
|
|
|
|
class DbSettingsService {
|
|
async getSettings() {
|
|
const { rows } = await db.getQuery()('SELECT * FROM db_settings WHERE id = 1');
|
|
return rows[0];
|
|
}
|
|
|
|
async upsertSettings({ db_host, db_port, db_name, db_user, db_password }) {
|
|
const { rows } = await db.getQuery()(
|
|
`INSERT INTO db_settings (id, db_host, db_port, db_name, db_user, db_password, updated_at)
|
|
VALUES (1, $1, $2, $3, $4, $5, NOW())
|
|
ON CONFLICT (id) DO UPDATE SET
|
|
db_host = EXCLUDED.db_host,
|
|
db_port = EXCLUDED.db_port,
|
|
db_name = EXCLUDED.db_name,
|
|
db_user = EXCLUDED.db_user,
|
|
db_password = EXCLUDED.db_password,
|
|
updated_at = NOW()
|
|
RETURNING *`,
|
|
[db_host, db_port, db_name, db_user, db_password]
|
|
);
|
|
return rows[0];
|
|
}
|
|
}
|
|
|
|
module.exports = new DbSettingsService();
|