mirror of
https://github.com/farcasclaudiu/learn-build-apps-copilot-agent.git
synced 2026-06-28 23:01:48 +03:00
feat: refactor database connection handling to separate database module
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
|||||||
|
"use strict";
|
||||||
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
|
};
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.disconnectDatabase = exports.connectDatabase = void 0;
|
||||||
|
const mongoose_1 = __importDefault(require("mongoose"));
|
||||||
|
const mongoUri = process.env.MONGO_URI || "mongodb://127.0.0.1:27017/octofit_db";
|
||||||
|
const connectDatabase = async () => {
|
||||||
|
await mongoose_1.default.connect(mongoUri);
|
||||||
|
};
|
||||||
|
exports.connectDatabase = connectDatabase;
|
||||||
|
const disconnectDatabase = async () => {
|
||||||
|
await mongoose_1.default.disconnect();
|
||||||
|
};
|
||||||
|
exports.disconnectDatabase = disconnectDatabase;
|
||||||
+2
-3
@@ -4,15 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const express_1 = __importDefault(require("express"));
|
const express_1 = __importDefault(require("express"));
|
||||||
const mongoose_1 = __importDefault(require("mongoose"));
|
|
||||||
const Activity_1 = require("./models/Activity");
|
const Activity_1 = require("./models/Activity");
|
||||||
|
const database_1 = require("./database");
|
||||||
const Leaderboard_1 = require("./models/Leaderboard");
|
const Leaderboard_1 = require("./models/Leaderboard");
|
||||||
const Team_1 = require("./models/Team");
|
const Team_1 = require("./models/Team");
|
||||||
const User_1 = require("./models/User");
|
const User_1 = require("./models/User");
|
||||||
const Workout_1 = require("./models/Workout");
|
const Workout_1 = require("./models/Workout");
|
||||||
const app = (0, express_1.default)();
|
const app = (0, express_1.default)();
|
||||||
const port = Number(process.env.PORT) || 8000;
|
const port = Number(process.env.PORT) || 8000;
|
||||||
const mongoUri = process.env.MONGO_URI || "mongodb://127.0.0.1:27017/octofit_db";
|
|
||||||
const codespaceName = process.env.CODESPACE_NAME;
|
const codespaceName = process.env.CODESPACE_NAME;
|
||||||
const baseUrl = codespaceName
|
const baseUrl = codespaceName
|
||||||
? `https://${codespaceName}-8000.app.github.dev`
|
? `https://${codespaceName}-8000.app.github.dev`
|
||||||
@@ -80,7 +79,7 @@ app.get("/api/workouts/", async (_req, res) => {
|
|||||||
});
|
});
|
||||||
const start = async () => {
|
const start = async () => {
|
||||||
try {
|
try {
|
||||||
await mongoose_1.default.connect(mongoUri);
|
await (0, database_1.connectDatabase)();
|
||||||
app.listen(port, () => {
|
app.listen(port, () => {
|
||||||
console.log(`OctoFit backend listening on ${baseUrl}`);
|
console.log(`OctoFit backend listening on ${baseUrl}`);
|
||||||
});
|
});
|
||||||
|
|||||||
+3
-7
@@ -1,18 +1,14 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const mongoose_1 = __importDefault(require("mongoose"));
|
const database_1 = require("../database");
|
||||||
const Activity_1 = require("../models/Activity");
|
const Activity_1 = require("../models/Activity");
|
||||||
const Leaderboard_1 = require("../models/Leaderboard");
|
const Leaderboard_1 = require("../models/Leaderboard");
|
||||||
const Team_1 = require("../models/Team");
|
const Team_1 = require("../models/Team");
|
||||||
const User_1 = require("../models/User");
|
const User_1 = require("../models/User");
|
||||||
const Workout_1 = require("../models/Workout");
|
const Workout_1 = require("../models/Workout");
|
||||||
const mongoUri = process.env.MONGO_URI || "mongodb://127.0.0.1:27017/octofit_db";
|
|
||||||
const seed = async () => {
|
const seed = async () => {
|
||||||
try {
|
try {
|
||||||
await mongoose_1.default.connect(mongoUri);
|
await (0, database_1.connectDatabase)();
|
||||||
console.log("Seed the octofit_db database with test data");
|
console.log("Seed the octofit_db database with test data");
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
Activity_1.ActivityModel.deleteMany({}),
|
Activity_1.ActivityModel.deleteMany({}),
|
||||||
@@ -155,7 +151,7 @@ const seed = async () => {
|
|||||||
process.exitCode = 1;
|
process.exitCode = 1;
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
await mongoose_1.default.disconnect();
|
await (0, database_1.disconnectDatabase)();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
void seed();
|
void seed();
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
import mongoose from "mongoose";
|
||||||
|
|
||||||
|
const mongoUri = process.env.MONGO_URI || "mongodb://127.0.0.1:27017/octofit_db";
|
||||||
|
|
||||||
|
export const connectDatabase = async () => {
|
||||||
|
await mongoose.connect(mongoUri);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const disconnectDatabase = async () => {
|
||||||
|
await mongoose.disconnect();
|
||||||
|
};
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import express from "express";
|
import express from "express";
|
||||||
import mongoose from "mongoose";
|
|
||||||
import { ActivityModel } from "./models/Activity";
|
import { ActivityModel } from "./models/Activity";
|
||||||
|
import { connectDatabase } from "./database";
|
||||||
import { LeaderboardModel } from "./models/Leaderboard";
|
import { LeaderboardModel } from "./models/Leaderboard";
|
||||||
import { TeamModel } from "./models/Team";
|
import { TeamModel } from "./models/Team";
|
||||||
import { UserModel } from "./models/User";
|
import { UserModel } from "./models/User";
|
||||||
@@ -8,7 +8,6 @@ import { WorkoutModel } from "./models/Workout";
|
|||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
const port = Number(process.env.PORT) || 8000;
|
const port = Number(process.env.PORT) || 8000;
|
||||||
const mongoUri = process.env.MONGO_URI || "mongodb://127.0.0.1:27017/octofit_db";
|
|
||||||
const codespaceName = process.env.CODESPACE_NAME;
|
const codespaceName = process.env.CODESPACE_NAME;
|
||||||
const baseUrl = codespaceName
|
const baseUrl = codespaceName
|
||||||
? `https://${codespaceName}-8000.app.github.dev`
|
? `https://${codespaceName}-8000.app.github.dev`
|
||||||
@@ -79,7 +78,7 @@ app.get("/api/workouts/", async (_req, res) => {
|
|||||||
|
|
||||||
const start = async () => {
|
const start = async () => {
|
||||||
try {
|
try {
|
||||||
await mongoose.connect(mongoUri);
|
await connectDatabase();
|
||||||
app.listen(port, () => {
|
app.listen(port, () => {
|
||||||
console.log(`OctoFit backend listening on ${baseUrl}`);
|
console.log(`OctoFit backend listening on ${baseUrl}`);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
import mongoose from "mongoose";
|
import { connectDatabase, disconnectDatabase } from "../database";
|
||||||
import { ActivityModel } from "../models/Activity";
|
import { ActivityModel } from "../models/Activity";
|
||||||
import { LeaderboardModel } from "../models/Leaderboard";
|
import { LeaderboardModel } from "../models/Leaderboard";
|
||||||
import { TeamModel } from "../models/Team";
|
import { TeamModel } from "../models/Team";
|
||||||
import { UserModel } from "../models/User";
|
import { UserModel } from "../models/User";
|
||||||
import { WorkoutModel } from "../models/Workout";
|
import { WorkoutModel } from "../models/Workout";
|
||||||
|
|
||||||
const mongoUri = process.env.MONGO_URI || "mongodb://127.0.0.1:27017/octofit_db";
|
|
||||||
|
|
||||||
const seed = async () => {
|
const seed = async () => {
|
||||||
try {
|
try {
|
||||||
await mongoose.connect(mongoUri);
|
await connectDatabase();
|
||||||
|
|
||||||
console.log("Seed the octofit_db database with test data");
|
console.log("Seed the octofit_db database with test data");
|
||||||
|
|
||||||
@@ -159,7 +157,7 @@ const seed = async () => {
|
|||||||
console.error("Seed failed", error);
|
console.error("Seed failed", error);
|
||||||
process.exitCode = 1;
|
process.exitCode = 1;
|
||||||
} finally {
|
} finally {
|
||||||
await mongoose.disconnect();
|
await disconnectDatabase();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user