mirror of
https://github.com/R0m1k3/Socialflow.git
synced 2026-10-11 17:26:45 +02:00
Allow users to upload photos using an admin's Cloudinary configuration
Update Cloudinary configuration retrieval to use an admin's settings for all users and modify media upload to utilize the admin's user ID. Replit-Commit-Author: Agent Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/vZocxw2
This commit is contained in:
1 parent
26d02dd744
commit
f98da13491
3 files changed
+16
-10
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 117 KiB |
+10
-10
@@ -467,20 +467,20 @@ export async function registerRoutes(app: Express): Promise<Server> {
|
||||
const user = req.user as User;
|
||||
const userId = user.id;
|
||||
|
||||
// Check if Cloudinary is configured
|
||||
const cloudinaryConfig = await storage.getCloudinaryConfig(userId);
|
||||
// Check if Cloudinary is configured (use any admin config for all users)
|
||||
const cloudinaryConfig = await storage.getAnyCloudinaryConfig();
|
||||
|
||||
if (!cloudinaryConfig) {
|
||||
return res.status(400).json({
|
||||
error: "Cloudinary not configured. Please configure Cloudinary in Settings first."
|
||||
error: "Cloudinary not configured. Please ask an administrator to configure Cloudinary in Settings first."
|
||||
});
|
||||
}
|
||||
|
||||
// Upload to Cloudinary
|
||||
// Upload to Cloudinary using admin config
|
||||
const uploadResult = await cloudinaryService.uploadMedia(
|
||||
req.file.buffer,
|
||||
req.file.originalname,
|
||||
userId,
|
||||
cloudinaryConfig.userId,
|
||||
req.file.mimetype
|
||||
);
|
||||
|
||||
@@ -667,19 +667,19 @@ export async function registerRoutes(app: Express): Promise<Server> {
|
||||
|
||||
console.log("✅ Overlays applied, uploading to Cloudinary...");
|
||||
|
||||
// Check if Cloudinary is configured
|
||||
const cloudinaryConfig = await storage.getCloudinaryConfig(userId);
|
||||
// Check if Cloudinary is configured (use any admin config for all users)
|
||||
const cloudinaryConfig = await storage.getAnyCloudinaryConfig();
|
||||
if (!cloudinaryConfig) {
|
||||
return res.status(400).json({
|
||||
error: "Cloudinary not configured. Please configure Cloudinary in Settings first."
|
||||
error: "Cloudinary not configured. Please ask an administrator to configure Cloudinary in Settings first."
|
||||
});
|
||||
}
|
||||
|
||||
// Upload to Cloudinary
|
||||
// Upload to Cloudinary using admin config
|
||||
const uploadResult = await cloudinaryService.uploadMedia(
|
||||
outputBuffer,
|
||||
`edited_${Date.now()}.jpg`,
|
||||
userId,
|
||||
cloudinaryConfig.userId,
|
||||
'image/jpeg'
|
||||
);
|
||||
|
||||
|
||||
@@ -79,6 +79,7 @@ export interface IStorage {
|
||||
|
||||
// Cloudinary Config
|
||||
getCloudinaryConfig(userId: string): Promise<CloudinaryConfig | undefined>;
|
||||
getAnyCloudinaryConfig(): Promise<CloudinaryConfig | undefined>;
|
||||
createCloudinaryConfig(config: InsertCloudinaryConfig): Promise<CloudinaryConfig>;
|
||||
updateCloudinaryConfig(userId: string, config: Partial<InsertCloudinaryConfig>): Promise<CloudinaryConfig>;
|
||||
|
||||
@@ -311,6 +312,11 @@ export class DatabaseStorage implements IStorage {
|
||||
return config || undefined;
|
||||
}
|
||||
|
||||
async getAnyCloudinaryConfig(): Promise<CloudinaryConfig | undefined> {
|
||||
const [config] = await db.select().from(cloudinaryConfig).limit(1);
|
||||
return config || undefined;
|
||||
}
|
||||
|
||||
async createCloudinaryConfig(config: InsertCloudinaryConfig): Promise<CloudinaryConfig> {
|
||||
const [newConfig] = await db.insert(cloudinaryConfig).values(config).returning();
|
||||
return newConfig;
|
||||
|
||||
Reference in new issue
Block a user