From 6068848375b029d16db52be501dd9ce10973a2dd Mon Sep 17 00:00:00 2001 From: andwati Date: Tue, 13 Jan 2026 01:58:58 +0300 Subject: [PATCH] feat: update docker-compose for MongoDB initialization and simplify order/user repository save methods --- docker-compose.yml | 29 ++++++++++++++++------------- package.json | 2 +- src/repositories/order.repo.ts | 2 +- src/repositories/user.repo.ts | 2 +- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 095587a..721cb39 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,24 +1,27 @@ services: - api: - container_name: order-service-api - build: . - ports: - - "3000:3000" - env_file: - - .env - depends_on: - - mongo - restart: unless-stopped - mongo: image: mongo:8 container_name: order-service-mongo - command: ["--replSet" , "rs0", "--bind_ip_all"] ports: - "27017:27017" volumes: - mongo-data:/data/db - - ./docker/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro + entrypoint: > + bash -c " + mongod --replSet rs0 --bind_ip_all --port 27017 & + until mongosh --port 27017 --eval 'db.runCommand({ping:1})' &>/dev/null; do + echo 'Waiting for MongoDB...' + sleep 2 + done; + echo 'Initializing replica set...'; + mongosh --port 27017 --eval \" + try { + rs.initiate({_id: 'rs0', members: [{_id: 0, host: 'localhost:27017'}]}); + } catch (e) { + print('Replica set already initialized'); + } + \"; + wait" restart: unless-stopped volumes: diff --git a/package.json b/package.json index 5e70b4a..50b13bf 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "main": "index.js", "scripts": { "start": "node dist/server.js", - "dev": "ts-node-dev --respawn --transpile-only src/server.ts", + "dev": "ts-node --transpile-only src/server.ts", "build": "tsc", "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", diff --git a/src/repositories/order.repo.ts b/src/repositories/order.repo.ts index fa73f21..5a0e196 100644 --- a/src/repositories/order.repo.ts +++ b/src/repositories/order.repo.ts @@ -7,7 +7,7 @@ export class OrderRepository { session?: ClientSession, ): Promise { const order = new OrderModel(data); - return order.save({ session: session ?? undefined }); + return order.save(); } static findById(id: string, session?: ClientSession) { diff --git a/src/repositories/user.repo.ts b/src/repositories/user.repo.ts index 1d37ea9..25cd646 100644 --- a/src/repositories/user.repo.ts +++ b/src/repositories/user.repo.ts @@ -16,6 +16,6 @@ export class UserRepository { session?: ClientSession, ): Promise { const user = new UserModel(data); - return user.save({ session: session ?? undefined }); + return user.save(); } }