const { Client } = require('pg'); const { Pool } = require('pg'); const { DefaultAzureCredential } = require("@azure/identity"); const { SecretClient } = require("@azure/keyvault-secrets"); const express = require('express'); const path = require('path'); const cookieParser = require('cookie-parser'); const logger = require('morgan'); const createError = require('http-errors'); const indexRouter = require('./routes/index'); const usersRouter = require('./routes/users'); const app = express(); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', indexRouter); app.use('/users', usersRouter); app.use(function (req, res, next) { next(createError(404)); }); app.use(function (err, req, res, next) { res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; res.status(err.status || 500); res.render('error'); }); async function getSecret(secretName) { const credential = new DefaultAzureCredential(); const keyVaultName = "midterm-kv"; if (!keyVaultName) throw new Error("KEY_VAULT_NAME is empty"); const url = "https://" + keyVaultName + ".vault.azure.net"; const client = new SecretClient(url, credential); const secret = await client.getSecret(secretName); return secret.value; } app.get('/hello', async (req, res) => { console.log('merhaba'); try { const pool = new Pool({ user: 'gultenguzel', host: 'midterm.postgres.database.azure.com', database: 'postgres', password: 'Maya.5515253', port: 5432, ssl: true }); // Bağlantıyı test etmek için basit bir sorgu yapalım pool.query('SELECT * FROM users', (err, res) => { if (err) { console.error('Bağlantı hatası:', err.stack); } else { console.log('Bağlantı başarılı:', res); } }); } catch (err) { console.error('PostgreSQL bağlantı hatası:', err); } }); const dbConfig = { user: 'gultenguzel', host: 'midterm.postgres.database.azure.com', database: 'postgres', password: 'Maya.5515253', port: 5432 }; const PORT = process.env.PORT || 4000; app.listen(PORT, async () => { console.log(`Sunucu ${PORT} portunda çalışıyor`); try { const pool = new Pool({ user: 'gultenguzel', host: 'midterm.postgres.database.azure.com', database: 'postgres', password: 'Maya.5515253', port: 5432, ssl: true }); // Bağlantıyı test etmek için basit bir sorgu yapalım pool.query('SELECT NOW()', (err, res) => { if (err) { console.error('Bağlantı hatası:', err.stack); } else { console.log('Bağlantı başarılı:', res.rows[0]); } }); } catch (err) { console.error('PostgreSQL bağlantı hatası:', err); } }); module.exports = app;