Merge branch 'add-pg-client'

This commit is contained in:
Nemo D'ACREMONT 2024-10-25 11:05:15 +02:00
commit 088f07a804
No known key found for this signature in database
GPG Key ID: 6E5BCE8022FA8276
6 changed files with 73 additions and 11 deletions

View File

@ -5,12 +5,12 @@ FROM node:22-alpine
WORKDIR /usr/src/back
# Environment declaration variables
ARG NODE_ENV="dev"
ARG DB_HOST="postgres"
ARG DB_NAME="briques"
ARG DB_USER="briques_db"
ARG DB_PASSWORD="briques_password"
ARG DB_PORT=5432
ENV NODE_ENV="dev"
ENV DB_HOST="briques_postgres"
ENV DB_NAME="briques_db"
ENV DB_USER="briques_llm"
ENV DB_PASSWORD="briques_password_2025"
ENV DB_PORT=5432
COPY package.json ./
@ -40,4 +40,5 @@ RUN chmod -R u=rwx,g=,o= ./
EXPOSE 3000
# Start app
CMD ["pm2", "start", "dist/app.js", "--no-daemon"]
CMD ["npm", "run", "startonly"]
#CMD ["pm2", "start", "dist/app.js", "--no-daemon"]

View File

@ -14,6 +14,7 @@
"description": "",
"devDependencies": {
"@types/express": "^5.0.0",
"@types/pg": "^8.11.10",
"globals": "^15.11.0",
"typescript": "^5.6.3"
},

View File

@ -1,9 +1,12 @@
import express from 'express';
const app = express();
const port = 3000;
import db from './db';
app.get('/', (req, res) => {
res.send('Hello World!');
const app = express();
const port = process.env.PORT ?? 3000;
app.get('/', async (_req, res) => {
const message = await db.example_request();
res.send(message);
});
app.listen(port, () => {

View File

@ -0,0 +1,23 @@
import pg from 'pg';
const db_user = process.env.DB_USER ?? "admin";
const db_password = process.env.DB_PASSWORD ?? "admin";
const db_name = process.env.DB_NAME ?? "briques";
const db_host = process.env.DB_HOST ?? "localhost";
const db_port = parseInt(process.env.DB_PORT ?? "5432");
console.log("=== DB CONFIG ===");
console.log(`DB_USER:\t\t${db_user}`);
console.log(`DB_PASSWORD:\t${db_user}`);
console.log(`DB_NAME:\t\t${db_name}`);
console.log(`DB_HOST:\t\t${db_host}`);
console.log(`DB_PORT:\t\t${db_port}`);
export const new_client = () => new pg.Client({
user: db_user,
password: db_password,
database: db_name,
host: db_host,
port: db_port,
});

16
back-end/src/db/index.ts Normal file
View File

@ -0,0 +1,16 @@
import { new_client } from './db_client';
async function example_request() {
const client = new_client();
await client.connect();
const res = await client.query('SELECT $1::text as message', ['Hello world!']);
const message = res.rows[0].message; // Hello world!
await client.end();
return message;
}
export default {
example_request,
};

View File

@ -10,6 +10,11 @@ services:
- POSTGRES_PASSWORD=${DB_PASSWORD}
volumes:
- ./database:/var/lib/postgresql/data
networks:
- briques-db
back:
hostname: back
container_name: briques_back
@ -27,8 +32,21 @@ services:
- '${NODE_PORT}:3000'
depends_on:
- database
networks:
- briques-db
adminer:
image: adminer
restart: always
ports:
- 8080:8080
networks:
- briques-db
networks:
briques-db:
driver: bridge