diff --git a/src/config/config.ts b/src/config/config.ts index 101067f..ca68ce7 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -6,5 +6,6 @@ export const config = { port: process.env.PORT, nodeEnv: process.env.NODE_ENV, jwt_secret: process.env.JWT_SECRET, - mongo_uri: process.env.MONGO_URI + mongo_uri_dev: process.env.MONGO_URI_DEV, + mongo_uri_test: process.env.MONGO_URI_TEST }; \ No newline at end of file diff --git a/src/services/gameInsertionTobd.ts b/src/services/gameInsertionTobd.ts index 2623000..2217084 100644 --- a/src/services/gameInsertionTobd.ts +++ b/src/services/gameInsertionTobd.ts @@ -10,14 +10,14 @@ import { GameService } from "./game.service"; const games: GameI[] = []; -const url :string = config.mongo_uri||""; +const url :string = config.mongo_uri_dev||""; const dbName : string = "test"; async function delay(ms: number): Promise { return new Promise(resolve => setTimeout(resolve, ms)); } -async function fetchGameDetail(arg0: number): Promise { - const response = await fetch(`https://api.mobygames.com/v1/games?limit=100&api_key=moby_HBxa5enVtuiho2QA4dUqi6dsFNy&format=normal&offset=${50000+arg0*100}`); +async function fetchGameDetail(arg0: number, offset: number): Promise { + const response = await fetch(`https://api.mobygames.com/v1/games?limit=100&api_key=moby_HBxa5enVtuiho2QA4dUqi6dsFNy&format=normal&offset=${offset+arg0*100}`); if(response.status !== 200) { console.log("Failed to fetch data from batch: ", arg0); @@ -51,13 +51,13 @@ async function fetchGameDetail(arg0: number): Promise { -async function generatedata() { +async function generatedata(offset: number) { try { const delayTime = 1000; //steam api rate limit 200 request per 5 minutes and 1.5s per request for(let i = 0; i < 3000; i++) { await delay(delayTime); - await fetchGameDetail(i); + await fetchGameDetail(i, offset); } diff --git a/src/utils/mongodb.utils.ts b/src/utils/mongodb.utils.ts index 8e9ea6e..56338b1 100644 --- a/src/utils/mongodb.utils.ts +++ b/src/utils/mongodb.utils.ts @@ -2,11 +2,11 @@ import mongoose from "mongoose"; import { config } from "../config/config"; - - +// Connect to MongoDB const connectToDb = async () => { try { - await mongoose.connect(config.mongo_uri!).then(() => { + const dbUri = config.nodeEnv?.trim() === 'test' ? config.mongo_uri_test : config.mongo_uri_dev; + await mongoose.connect(dbUri!).then(() => { console.log('Connected to MongoDB'); }); const db = mongoose.connection;