Skip to content

Commit f2fd587

Browse files
feat: chosing cloudinary config
1 parent 8fa8a6f commit f2fd587

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/app/api/upload/route.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,34 @@ import { campuses, exams, semesters, slots, years } from "@/components/select_op
44
import { connectToDatabase } from "@/lib/mongoose";
55
import cloudinary from "cloudinary";
66
import { type ICourses, type CloudinaryUploadResult } from "@/interface";
7-
import { PaperAdmin } from "@/db/papers";
7+
import Paper, { PaperAdmin } from "@/db/papers";
88
import axios from "axios";
99
// TODO: REMOVE THUMBNAIL FROM admin-buffer DB
10+
1011
const cloudinaryConfig1 = cloudinary.v2;
1112
cloudinaryConfig1.config({
1213
cloud_name: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME_1,
1314
api_key: process.env.CLOUDINARY_API_KEY_1,
1415
api_secret: process.env.CLOUDINARY_SECRET_1,
1516
});
1617

17-
// Config 2: Secondary Cloudinary account
1818
const cloudinaryConfig2 = cloudinary.v2;
1919
cloudinaryConfig2.config({
2020
cloud_name: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME_2,
2121
api_key: process.env.CLOUDINARY_API_KEY_2,
2222
api_secret: process.env.CLOUDINARY_SECRET_2,
2323
});
24+
const cloudinaryConfigs = [cloudinaryConfig1, cloudinaryConfig2];
2425

2526
export async function POST(req: Request) {
2627
try {
2728
if (!process.env.NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET) {
2829
return NextResponse.json({ message: "ServerMisconfig" }, { status: 500 });
2930
}
31+
const count: number = await Paper.countDocuments();
32+
33+
const configIndex = cloudinaryConfigs[count % 2];
34+
cloudinary.v2.config(configIndex);
3035
const uploadPreset = process.env.NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET;
3136
const formData = await req.formData();
3237
const files: File[] = formData.getAll("files") as File[];

0 commit comments

Comments
 (0)