first commit
This commit is contained in:
57
src/config/database.js
Normal file
57
src/config/database.js
Normal file
@@ -0,0 +1,57 @@
|
||||
const { PrismaClient } = require('@prisma/client');
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
// PostgreSQL Connection (Prisma)
|
||||
const prisma = new PrismaClient({
|
||||
log: process.env.NODE_ENV === 'development' ? ['query', 'info', 'warn', 'error'] : ['error'],
|
||||
});
|
||||
|
||||
// MongoDB Connection (Mongoose)
|
||||
const connectMongoDB = async () => {
|
||||
try {
|
||||
await mongoose.connect(process.env.MONGODB_URI);
|
||||
console.log('✅ MongoDB connected successfully');
|
||||
} catch (error) {
|
||||
console.error('❌ MongoDB connection error:', error);
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
// PostgreSQL Connection (Prisma)
|
||||
const connectPostgreSQL = async () => {
|
||||
try {
|
||||
await prisma.$connect();
|
||||
console.log('✅ PostgreSQL connected successfully');
|
||||
} catch (error) {
|
||||
console.error('❌ PostgreSQL connection error:', error);
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
// Initialize all database connections
|
||||
const initializeDatabases = async () => {
|
||||
await Promise.all([
|
||||
connectPostgreSQL(),
|
||||
connectMongoDB(),
|
||||
]);
|
||||
};
|
||||
|
||||
// Graceful shutdown
|
||||
const closeDatabaseConnections = async () => {
|
||||
try {
|
||||
await Promise.all([
|
||||
prisma.$disconnect(),
|
||||
mongoose.connection.close(),
|
||||
]);
|
||||
console.log('✅ Database connections closed');
|
||||
} catch (error) {
|
||||
console.error('❌ Error closing database connections:', error);
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
prisma,
|
||||
mongoose,
|
||||
initializeDatabases,
|
||||
closeDatabaseConnections,
|
||||
};
|
||||
5
src/config/returnPolicy.js
Normal file
5
src/config/returnPolicy.js
Normal file
@@ -0,0 +1,5 @@
|
||||
// backend/config/returnPolicy.js
|
||||
module.exports = {
|
||||
RETURN_WINDOW_DAYS: 7,
|
||||
ALLOWED_STATUSES: ['DELIVERED'],
|
||||
};
|
||||
16
src/config/s3.js
Normal file
16
src/config/s3.js
Normal file
@@ -0,0 +1,16 @@
|
||||
// config/s3.js
|
||||
// const { S3Client } from "@aws-sdk/client-s3";
|
||||
const { S3Client } = require("@aws-sdk/client-s3");
|
||||
|
||||
const s3 = new S3Client({
|
||||
endpoint: "https://s3.sahasrarameta.tech",
|
||||
region: process.env.AWS_REGION,
|
||||
credentials: {
|
||||
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
|
||||
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
|
||||
},
|
||||
forcePathStyle: true, // IMPORTANT for MinIO
|
||||
});
|
||||
|
||||
// export default s3;
|
||||
module.exports = s3;
|
||||
Reference in New Issue
Block a user