first commit

This commit is contained in:
tusuii
2026-02-19 17:25:38 +05:30
commit 09ea6d4efb
72 changed files with 24296 additions and 0 deletions

57
src/config/database.js Normal file
View 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,
};

View 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
View 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;