initial commit: project completion with proper gitignore

This commit is contained in:
AyrisAI
2026-05-16 00:43:22 +03:00
commit e708ba2156
84 changed files with 11035 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
const cloudinary = require('cloudinary').v2;
const postgres = require('postgres');
const fs = require('fs');
const path = require('path');
require('dotenv').config({ path: '.env.local' });
cloudinary.config({
cloud_name: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME,
api_key: process.env.CLOUDINARY_API_KEY,
api_secret: process.env.CLOUDINARY_API_SECRET
});
const sql = postgres(process.env.DATABASE_URL);
async function uploadAndSync() {
const partnersDir = path.join(process.cwd(), 'public', 'partnerlogo');
const files = fs.readdirSync(partnersDir).filter(file => file.endsWith('.png'));
console.log(`Found ${files.length} images to upload.`);
// First, let's clear or check existing partners
// To keep it simple, we'll insert new records or update by a 'name' which we'll placeholder
for (const file of files) {
const filePath = path.join(partnersDir, file);
const partnerId = file.replace('.png', ''); // e.g., "1"
try {
console.log(`Uploading ${file}...`);
const result = await cloudinary.uploader.upload(filePath, {
folder: 'partners',
public_id: `partner_${partnerId}`
});
console.log(`Uploaded: ${result.secure_url}`);
// Insert or Update in DB
// We'll use partnerId as id and display_order
const idNum = parseInt(partnerId);
await sql`
INSERT INTO partners (id, name, logo, display_order)
VALUES (${idNum}, ${`Partner ${partnerId}`}, ${result.secure_url}, ${idNum})
ON CONFLICT (id)
DO UPDATE SET logo = EXCLUDED.logo
`;
console.log(`Synced ${file} to database (ID: ${idNum}).`);
} catch (error) {
console.error(`Error processing ${file}:`, error);
}
}
console.log('Sync complete.');
process.exit(0);
}
uploadAndSync();