first commit
This commit is contained in:
60
scratch/bulk_upload.js
Normal file
60
scratch/bulk_upload.js
Normal file
@@ -0,0 +1,60 @@
|
||||
const cloudinary = require('cloudinary').v2;
|
||||
require('dotenv').config({ path: '.env.local' });
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
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 BASE_DIR = path.join('public', 'images');
|
||||
const CLOUDINARY_ROOT = 'salvilla';
|
||||
|
||||
async function uploadFolder(folderName) {
|
||||
const folderPath = path.join(BASE_DIR, folderName);
|
||||
if (!fs.existsSync(folderPath)) return [];
|
||||
|
||||
const files = fs.readdirSync(folderPath);
|
||||
const results = [];
|
||||
|
||||
for (const file of files) {
|
||||
const filePath = path.join(folderPath, file);
|
||||
if (!fs.lstatSync(filePath).isFile()) continue;
|
||||
|
||||
console.log(`Uploading ${folderName}/${file}...`);
|
||||
try {
|
||||
const result = await cloudinary.uploader.upload(filePath, {
|
||||
folder: `${CLOUDINARY_ROOT}/${folderName}`,
|
||||
use_filename: true,
|
||||
unique_filename: false,
|
||||
overwrite: true
|
||||
});
|
||||
results.push({
|
||||
localFile: file,
|
||||
url: result.secure_url,
|
||||
public_id: result.public_id
|
||||
});
|
||||
console.log(`Done: ${result.public_id}`);
|
||||
} catch (e) {
|
||||
console.error(`Failed to upload ${file}:`, e.message);
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
async function main() {
|
||||
const folders = ['villa-melda', 'villa-meyra', 'villa-su', 'villa-tuncay', 'villa-yalikavak'];
|
||||
const allResults = {};
|
||||
|
||||
for (const folder of folders) {
|
||||
console.log(`\n--- Processing folder: ${folder} ---`);
|
||||
allResults[folder] = await uploadFolder(folder);
|
||||
}
|
||||
|
||||
fs.writeFileSync('scratch/upload_report.json', JSON.stringify(allResults, null, 2));
|
||||
console.log('\nAll uploads completed! Report saved to scratch/upload_report.json');
|
||||
}
|
||||
|
||||
main();
|
||||
282
scratch/resort_upload_report.json
Normal file
282
scratch/resort_upload_report.json
Normal file
@@ -0,0 +1,282 @@
|
||||
[
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\aileodası\\a1b (1).jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266592/salhotel/rooms/aileodas%C4%B1/a1b_1.jpg",
|
||||
"publicId": "salhotel/rooms/aileodası/a1b_1"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\aileodası\\a1b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266593/salhotel/rooms/aileodas%C4%B1/a1b.jpg",
|
||||
"publicId": "salhotel/rooms/aileodası/a1b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\aileodası\\a2b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266594/salhotel/rooms/aileodas%C4%B1/a2b.jpg",
|
||||
"publicId": "salhotel/rooms/aileodası/a2b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\aileodası\\a3b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266595/salhotel/rooms/aileodas%C4%B1/a3b.jpg",
|
||||
"publicId": "salhotel/rooms/aileodası/a3b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\aileodası\\a4b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266596/salhotel/rooms/aileodas%C4%B1/a4b.jpg",
|
||||
"publicId": "salhotel/rooms/aileodası/a4b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\juniorsuite\\j1b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266596/salhotel/rooms/juniorsuite/j1b.jpg",
|
||||
"publicId": "salhotel/rooms/juniorsuite/j1b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\juniorsuite\\j2b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266597/salhotel/rooms/juniorsuite/j2b.jpg",
|
||||
"publicId": "salhotel/rooms/juniorsuite/j2b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\juniorsuite\\j3b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266598/salhotel/rooms/juniorsuite/j3b.jpg",
|
||||
"publicId": "salhotel/rooms/juniorsuite/j3b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\juniorsuite\\j4b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266599/salhotel/rooms/juniorsuite/j4b.jpg",
|
||||
"publicId": "salhotel/rooms/juniorsuite/j4b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\juniorsuite\\j5b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266600/salhotel/rooms/juniorsuite/j5b.jpg",
|
||||
"publicId": "salhotel/rooms/juniorsuite/j5b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\juniorsuite\\j6b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266600/salhotel/rooms/juniorsuite/j6b.jpg",
|
||||
"publicId": "salhotel/rooms/juniorsuite/j6b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\kingsuite\\k1b (1).jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266601/salhotel/rooms/kingsuite/k1b_1.jpg",
|
||||
"publicId": "salhotel/rooms/kingsuite/k1b_1"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\kingsuite\\k1b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266602/salhotel/rooms/kingsuite/k1b.jpg",
|
||||
"publicId": "salhotel/rooms/kingsuite/k1b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\kingsuite\\k2b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266603/salhotel/rooms/kingsuite/k2b.jpg",
|
||||
"publicId": "salhotel/rooms/kingsuite/k2b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\kingsuite\\k3b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266604/salhotel/rooms/kingsuite/k3b.jpg",
|
||||
"publicId": "salhotel/rooms/kingsuite/k3b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\kingsuite\\k4b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266604/salhotel/rooms/kingsuite/k4b.jpg",
|
||||
"publicId": "salhotel/rooms/kingsuite/k4b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\kingsuite\\k5b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266605/salhotel/rooms/kingsuite/k5b.jpg",
|
||||
"publicId": "salhotel/rooms/kingsuite/k5b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\kingsuite\\k6b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266606/salhotel/rooms/kingsuite/k6b.jpg",
|
||||
"publicId": "salhotel/rooms/kingsuite/k6b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\penthousesuite\\1b (1).jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266607/salhotel/rooms/penthousesuite/1b_1.jpg",
|
||||
"publicId": "salhotel/rooms/penthousesuite/1b_1"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\penthousesuite\\1b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266614/salhotel/rooms/penthousesuite/1b.jpg",
|
||||
"publicId": "salhotel/rooms/penthousesuite/1b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\penthousesuite\\2b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266615/salhotel/rooms/penthousesuite/2b.jpg",
|
||||
"publicId": "salhotel/rooms/penthousesuite/2b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\penthousesuite\\3b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266616/salhotel/rooms/penthousesuite/3b.jpg",
|
||||
"publicId": "salhotel/rooms/penthousesuite/3b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\penthousesuite\\4b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266617/salhotel/rooms/penthousesuite/4b.jpg",
|
||||
"publicId": "salhotel/rooms/penthousesuite/4b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\penthousesuite\\5b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266618/salhotel/rooms/penthousesuite/5b.jpg",
|
||||
"publicId": "salhotel/rooms/penthousesuite/5b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\penthousesuite\\6b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266619/salhotel/rooms/penthousesuite/6b.jpg",
|
||||
"publicId": "salhotel/rooms/penthousesuite/6b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\standartoda\\s1b (1).jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266620/salhotel/rooms/standartoda/s1b_1.jpg",
|
||||
"publicId": "salhotel/rooms/standartoda/s1b_1"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\standartoda\\s1b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266620/salhotel/rooms/standartoda/s1b.jpg",
|
||||
"publicId": "salhotel/rooms/standartoda/s1b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\standartoda\\s2b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266621/salhotel/rooms/standartoda/s2b.jpg",
|
||||
"publicId": "salhotel/rooms/standartoda/s2b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\standartoda\\s3b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266622/salhotel/rooms/standartoda/s3b.jpg",
|
||||
"publicId": "salhotel/rooms/standartoda/s3b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\odalar\\standartoda\\s4b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266623/salhotel/rooms/standartoda/s4b.jpg",
|
||||
"publicId": "salhotel/rooms/standartoda/s4b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans1+1\\r1b (1).jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266624/salhotel/residence/rezidans1%2B1/r1b_1.jpg",
|
||||
"publicId": "salhotel/residence/rezidans1+1/r1b_1"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans1+1\\r1b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266624/salhotel/residence/rezidans1%2B1/r1b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans1+1/r1b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans1+1\\r2b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266625/salhotel/residence/rezidans1%2B1/r2b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans1+1/r2b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans1+1\\r3b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266626/salhotel/residence/rezidans1%2B1/r3b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans1+1/r3b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans1+1\\r4b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266627/salhotel/residence/rezidans1%2B1/r4b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans1+1/r4b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans1+1\\r5b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266627/salhotel/residence/rezidans1%2B1/r5b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans1+1/r5b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans1+1\\r7b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266628/salhotel/residence/rezidans1%2B1/r7b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans1+1/r7b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans2+1\\rr2b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266629/salhotel/residence/rezidans2%2B1/rr2b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans2+1/rr2b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans2+1\\rr3b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266629/salhotel/residence/rezidans2%2B1/rr3b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans2+1/rr3b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans2+1\\rr4b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266631/salhotel/residence/rezidans2%2B1/rr4b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans2+1/rr4b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans2+1\\rr5b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266631/salhotel/residence/rezidans2%2B1/rr5b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans2+1/rr5b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans2+1\\rr6b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266632/salhotel/residence/rezidans2%2B1/rr6b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans2+1/rr6b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans2+1\\rr7b (1).jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266633/salhotel/residence/rezidans2%2B1/rr7b_1.jpg",
|
||||
"publicId": "salhotel/residence/rezidans2+1/rr7b_1"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\konaklama\\rezidans\\rezidans2+1\\rr7b.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266634/salhotel/residence/rezidans2%2B1/rr7b.jpg",
|
||||
"publicId": "salhotel/residence/rezidans2+1/rr7b"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\anarestoran\\,.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266635/salhotel/dining/anarestoran/nevunbtt7fu1x9cj31pf.jpg",
|
||||
"publicId": "salhotel/dining/anarestoran/nevunbtt7fu1x9cj31pf"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\anarestoran\\2.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266636/salhotel/dining/anarestoran/2.jpg",
|
||||
"publicId": "salhotel/dining/anarestoran/2"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\anarestoran\\3 (1).jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266636/salhotel/dining/anarestoran/3_1.jpg",
|
||||
"publicId": "salhotel/dining/anarestoran/3_1"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\anarestoran\\3.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266637/salhotel/dining/anarestoran/3.jpg",
|
||||
"publicId": "salhotel/dining/anarestoran/3"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\anarestoran\\4.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266638/salhotel/dining/anarestoran/4.jpg",
|
||||
"publicId": "salhotel/dining/anarestoran/4"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\Pastane\\1a.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266639/salhotel/dining/pastane/1a.jpg",
|
||||
"publicId": "salhotel/dining/pastane/1a"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\Pastane\\2a.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266640/salhotel/dining/pastane/2a.jpg",
|
||||
"publicId": "salhotel/dining/pastane/2a"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\Pastane\\3a.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266640/salhotel/dining/pastane/3a.jpg",
|
||||
"publicId": "salhotel/dining/pastane/3a"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\Pastane\\4a.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266641/salhotel/dining/pastane/4a.jpg",
|
||||
"publicId": "salhotel/dining/pastane/4a"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\poseidonalacarte\\2p.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266642/salhotel/dining/poseidonalacarte/2p.jpg",
|
||||
"publicId": "salhotel/dining/poseidonalacarte/2p"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\poseidonalacarte\\3p.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266642/salhotel/dining/poseidonalacarte/3p.jpg",
|
||||
"publicId": "salhotel/dining/poseidonalacarte/3p"
|
||||
},
|
||||
{
|
||||
"localPath": "C:\\Users\\ayris.dev\\salhotel\\docs\\restaurant\\poseidonalacarte\\4p.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776266644/salhotel/dining/poseidonalacarte/4p.jpg",
|
||||
"publicId": "salhotel/dining/poseidonalacarte/4p"
|
||||
}
|
||||
]
|
||||
38
scratch/scan_cloudinary.js
Normal file
38
scratch/scan_cloudinary.js
Normal file
@@ -0,0 +1,38 @@
|
||||
const cloudinary = require('cloudinary').v2;
|
||||
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
|
||||
});
|
||||
|
||||
async function listResources() {
|
||||
try {
|
||||
console.log('Fetching assets from Cloudinary...');
|
||||
let allResources = [];
|
||||
let nextCursor = null;
|
||||
|
||||
do {
|
||||
const result = await cloudinary.api.resources({
|
||||
type: 'upload',
|
||||
prefix: 'salmakisyat/',
|
||||
max_results: 500,
|
||||
next_cursor: nextCursor
|
||||
});
|
||||
allResources = allResources.concat(result.resources);
|
||||
nextCursor = result.next_cursor;
|
||||
} while (nextCursor);
|
||||
|
||||
const mapping = allResources.map(res => ({
|
||||
public_id: res.public_id,
|
||||
folder: res.folder
|
||||
}));
|
||||
|
||||
console.log(JSON.stringify(mapping, null, 2));
|
||||
} catch (error) {
|
||||
console.error('Error fetching resources:', error);
|
||||
}
|
||||
}
|
||||
|
||||
listResources();
|
||||
622
scratch/upload_report.json
Normal file
622
scratch/upload_report.json
Normal file
@@ -0,0 +1,622 @@
|
||||
{
|
||||
"villa-melda": [
|
||||
{
|
||||
"localFile": "melda-36-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166899/salvilla/villa-melda/melda-36-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-36-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-37-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166900/salvilla/villa-melda/melda-37-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-37-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-38-800x550 (1).jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166901/salvilla/villa-melda/melda-38-800x550_1.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-38-800x550_1"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-38-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166902/salvilla/villa-melda/melda-38-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-38-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-39-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166903/salvilla/villa-melda/melda-39-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-39-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-40-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166904/salvilla/villa-melda/melda-40-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-40-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-41-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166905/salvilla/villa-melda/melda-41-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-41-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-42-800x550 (1).jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166906/salvilla/villa-melda/melda-42-800x550_1.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-42-800x550_1"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-42-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166908/salvilla/villa-melda/melda-42-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-42-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-43-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166909/salvilla/villa-melda/melda-43-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-43-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-44-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166910/salvilla/villa-melda/melda-44-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-44-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-45-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166911/salvilla/villa-melda/melda-45-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-45-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-49-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166911/salvilla/villa-melda/melda-49-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-49-scaled-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-52-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166912/salvilla/villa-melda/melda-52-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-52-scaled-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-53-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166914/salvilla/villa-melda/melda-53-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-53-scaled-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-55-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166915/salvilla/villa-melda/melda-55-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-55-scaled-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-57-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166915/salvilla/villa-melda/melda-57-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-57-scaled-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-58-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166916/salvilla/villa-melda/melda-58-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-58-scaled-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-60-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166917/salvilla/villa-melda/melda-60-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-60-scaled-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-62-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166918/salvilla/villa-melda/melda-62-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-62-scaled-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-63-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166919/salvilla/villa-melda/melda-63-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-63-scaled-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-65-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166919/salvilla/villa-melda/melda-65-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-65-scaled-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "melda-67-scaled-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166920/salvilla/villa-melda/melda-67-scaled-800x550.jpg",
|
||||
"public_id": "salvilla/villa-melda/melda-67-scaled-800x550"
|
||||
}
|
||||
],
|
||||
"villa-meyra": [
|
||||
{
|
||||
"localFile": "leila-1.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166923/salvilla/villa-meyra/leila-1.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-1"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-10.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166925/salvilla/villa-meyra/leila-10.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-10"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-11.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166928/salvilla/villa-meyra/leila-11.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-11"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-12.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166930/salvilla/villa-meyra/leila-12.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-12"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-14.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166933/salvilla/villa-meyra/leila-14.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-14"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-16.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166936/salvilla/villa-meyra/leila-16.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-16"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-18.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166939/salvilla/villa-meyra/leila-18.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-18"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-19.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166942/salvilla/villa-meyra/leila-19.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-19"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-2.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166945/salvilla/villa-meyra/leila-2.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-2"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-20.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166947/salvilla/villa-meyra/leila-20.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-20"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-21.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166949/salvilla/villa-meyra/leila-21.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-21"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-22.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166952/salvilla/villa-meyra/leila-22.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-22"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-24.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166955/salvilla/villa-meyra/leila-24.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-24"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-26.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166957/salvilla/villa-meyra/leila-26.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-26"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-28.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166960/salvilla/villa-meyra/leila-28.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-28"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-29.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166962/salvilla/villa-meyra/leila-29.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-29"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-4.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166966/salvilla/villa-meyra/leila-4.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-4"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-5.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166969/salvilla/villa-meyra/leila-5.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-5"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-6.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166972/salvilla/villa-meyra/leila-6.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-6"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-7.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166973/salvilla/villa-meyra/leila-7.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-7"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-8.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166975/salvilla/villa-meyra/leila-8.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-8"
|
||||
},
|
||||
{
|
||||
"localFile": "leila-9.png",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166977/salvilla/villa-meyra/leila-9.png",
|
||||
"public_id": "salvilla/villa-meyra/leila-9"
|
||||
}
|
||||
],
|
||||
"villa-su": [
|
||||
{
|
||||
"localFile": "SU-1-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166978/salvilla/villa-su/SU-1-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-1-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-11-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166980/salvilla/villa-su/SU-11-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-11-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-12-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166981/salvilla/villa-su/SU-12-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-12-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-13-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166981/salvilla/villa-su/SU-13-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-13-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-14-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166982/salvilla/villa-su/SU-14-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-14-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-16-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166983/salvilla/villa-su/SU-16-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-16-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-17-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166984/salvilla/villa-su/SU-17-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-17-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-18-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166985/salvilla/villa-su/SU-18-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-18-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-2-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166985/salvilla/villa-su/SU-2-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-2-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-20-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166986/salvilla/villa-su/SU-20-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-20-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-22-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166987/salvilla/villa-su/SU-22-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-22-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-24-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166988/salvilla/villa-su/SU-24-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-24-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-25-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166988/salvilla/villa-su/SU-25-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-25-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-26-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166989/salvilla/villa-su/SU-26-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-26-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-27-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166990/salvilla/villa-su/SU-27-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-27-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-28-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166991/salvilla/villa-su/SU-28-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-28-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-29-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166992/salvilla/villa-su/SU-29-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-29-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-3-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166993/salvilla/villa-su/SU-3-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-3-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-30-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166994/salvilla/villa-su/SU-30-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-30-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-31-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166994/salvilla/villa-su/SU-31-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-31-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-4-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166995/salvilla/villa-su/SU-4-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-4-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-5-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166996/salvilla/villa-su/SU-5-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-5-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-7-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166997/salvilla/villa-su/SU-7-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-7-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "SU-8-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166998/salvilla/villa-su/SU-8-800x550.jpg",
|
||||
"public_id": "salvilla/villa-su/SU-8-800x550"
|
||||
}
|
||||
],
|
||||
"villa-tuncay": [
|
||||
{
|
||||
"localFile": "TUNCAY-1-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166999/salvilla/villa-tuncay/TUNCAY-1-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-1-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-10-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776166999/salvilla/villa-tuncay/TUNCAY-10-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-10-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-11-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167001/salvilla/villa-tuncay/TUNCAY-11-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-11-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-12-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167001/salvilla/villa-tuncay/TUNCAY-12-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-12-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-14-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167002/salvilla/villa-tuncay/TUNCAY-14-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-14-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-16-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167003/salvilla/villa-tuncay/TUNCAY-16-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-16-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-17-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167004/salvilla/villa-tuncay/TUNCAY-17-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-17-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-18-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167005/salvilla/villa-tuncay/TUNCAY-18-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-18-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-19-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167006/salvilla/villa-tuncay/TUNCAY-19-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-19-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-2-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167007/salvilla/villa-tuncay/TUNCAY-2-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-2-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-20-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167008/salvilla/villa-tuncay/TUNCAY-20-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-20-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-22-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167008/salvilla/villa-tuncay/TUNCAY-22-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-22-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-23-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167009/salvilla/villa-tuncay/TUNCAY-23-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-23-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-25-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167010/salvilla/villa-tuncay/TUNCAY-25-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-25-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-27-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167011/salvilla/villa-tuncay/TUNCAY-27-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-27-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-28-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167012/salvilla/villa-tuncay/TUNCAY-28-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-28-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-3-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167013/salvilla/villa-tuncay/TUNCAY-3-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-3-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-4-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167014/salvilla/villa-tuncay/TUNCAY-4-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-4-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-5-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167015/salvilla/villa-tuncay/TUNCAY-5-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-5-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-7-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167016/salvilla/villa-tuncay/TUNCAY-7-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-7-800x550"
|
||||
},
|
||||
{
|
||||
"localFile": "TUNCAY-8-800x550.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167016/salvilla/villa-tuncay/TUNCAY-8-800x550.jpg",
|
||||
"public_id": "salvilla/villa-tuncay/TUNCAY-8-800x550"
|
||||
}
|
||||
],
|
||||
"villa-yalikavak": [
|
||||
{
|
||||
"localFile": "10.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167017/salvilla/villa-yalikavak/10.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/10"
|
||||
},
|
||||
{
|
||||
"localFile": "11.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167018/salvilla/villa-yalikavak/11.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/11"
|
||||
},
|
||||
{
|
||||
"localFile": "12.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167019/salvilla/villa-yalikavak/12.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/12"
|
||||
},
|
||||
{
|
||||
"localFile": "13.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167019/salvilla/villa-yalikavak/13.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/13"
|
||||
},
|
||||
{
|
||||
"localFile": "14.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167020/salvilla/villa-yalikavak/14.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/14"
|
||||
},
|
||||
{
|
||||
"localFile": "15.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167021/salvilla/villa-yalikavak/15.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/15"
|
||||
},
|
||||
{
|
||||
"localFile": "16.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167021/salvilla/villa-yalikavak/16.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/16"
|
||||
},
|
||||
{
|
||||
"localFile": "17.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167022/salvilla/villa-yalikavak/17.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/17"
|
||||
},
|
||||
{
|
||||
"localFile": "18.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167023/salvilla/villa-yalikavak/18.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/18"
|
||||
},
|
||||
{
|
||||
"localFile": "19.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167024/salvilla/villa-yalikavak/19.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/19"
|
||||
},
|
||||
{
|
||||
"localFile": "2.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167024/salvilla/villa-yalikavak/2.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/2"
|
||||
},
|
||||
{
|
||||
"localFile": "20.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167025/salvilla/villa-yalikavak/20.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/20"
|
||||
},
|
||||
{
|
||||
"localFile": "21.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167026/salvilla/villa-yalikavak/21.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/21"
|
||||
},
|
||||
{
|
||||
"localFile": "22.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167026/salvilla/villa-yalikavak/22.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/22"
|
||||
},
|
||||
{
|
||||
"localFile": "23.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167027/salvilla/villa-yalikavak/23.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/23"
|
||||
},
|
||||
{
|
||||
"localFile": "24.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167028/salvilla/villa-yalikavak/24.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/24"
|
||||
},
|
||||
{
|
||||
"localFile": "25.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167028/salvilla/villa-yalikavak/25.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/25"
|
||||
},
|
||||
{
|
||||
"localFile": "26.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167029/salvilla/villa-yalikavak/26.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/26"
|
||||
},
|
||||
{
|
||||
"localFile": "27.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167030/salvilla/villa-yalikavak/27.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/27"
|
||||
},
|
||||
{
|
||||
"localFile": "28.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167031/salvilla/villa-yalikavak/28.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/28"
|
||||
},
|
||||
{
|
||||
"localFile": "29.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167031/salvilla/villa-yalikavak/29.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/29"
|
||||
},
|
||||
{
|
||||
"localFile": "3.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167033/salvilla/villa-yalikavak/3.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/3"
|
||||
},
|
||||
{
|
||||
"localFile": "30.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167033/salvilla/villa-yalikavak/30.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/30"
|
||||
},
|
||||
{
|
||||
"localFile": "31.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167035/salvilla/villa-yalikavak/31.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/31"
|
||||
},
|
||||
{
|
||||
"localFile": "4.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167036/salvilla/villa-yalikavak/4.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/4"
|
||||
},
|
||||
{
|
||||
"localFile": "5.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167036/salvilla/villa-yalikavak/5.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/5"
|
||||
},
|
||||
{
|
||||
"localFile": "6.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167037/salvilla/villa-yalikavak/6.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/6"
|
||||
},
|
||||
{
|
||||
"localFile": "7.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167038/salvilla/villa-yalikavak/7.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/7"
|
||||
},
|
||||
{
|
||||
"localFile": "8.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167039/salvilla/villa-yalikavak/8.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/8"
|
||||
},
|
||||
{
|
||||
"localFile": "9.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167040/salvilla/villa-yalikavak/9.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/9"
|
||||
},
|
||||
{
|
||||
"localFile": "master-bedroom.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167041/salvilla/villa-yalikavak/master-bedroom.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/master-bedroom"
|
||||
},
|
||||
{
|
||||
"localFile": "YALIKAVAK-VILLA-1.jpg",
|
||||
"url": "https://res.cloudinary.com/du7xohbct/image/upload/v1776167042/salvilla/villa-yalikavak/YALIKAVAK-VILLA-1.jpg",
|
||||
"public_id": "salvilla/villa-yalikavak/YALIKAVAK-VILLA-1"
|
||||
}
|
||||
]
|
||||
}
|
||||
85
scratch/upload_resort_photos.js
Normal file
85
scratch/upload_resort_photos.js
Normal file
@@ -0,0 +1,85 @@
|
||||
const cloudinary = require('cloudinary').v2;
|
||||
require('dotenv').config({ path: '.env.local' });
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
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 CLOUDINARY_ROOT = 'salhotel';
|
||||
|
||||
async function uploadFile(filePath, cloudinaryFolder) {
|
||||
console.log(`Uploading ${filePath} to ${cloudinaryFolder}...`);
|
||||
try {
|
||||
const result = await cloudinary.uploader.upload(filePath, {
|
||||
folder: `${CLOUDINARY_ROOT}/${cloudinaryFolder}`,
|
||||
use_filename: true,
|
||||
unique_filename: false,
|
||||
overwrite: true
|
||||
});
|
||||
console.log(`Successfully uploaded: ${result.public_id}`);
|
||||
return {
|
||||
localPath: filePath,
|
||||
url: result.secure_url,
|
||||
publicId: result.public_id
|
||||
};
|
||||
} catch (e) {
|
||||
console.error(`Failed to upload ${filePath}:`, e.message);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
async function scanAndUpload(dir, currentCloudinaryPath = '') {
|
||||
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
||||
let results = [];
|
||||
|
||||
for (const entry of entries) {
|
||||
const fullPath = path.join(dir, entry.name);
|
||||
|
||||
if (entry.isDirectory()) {
|
||||
// Normalize folder names for Cloudinary (e.g., konaklama -> rooms)
|
||||
let nextCloudinaryPath = currentCloudinaryPath;
|
||||
const folderName = entry.name.toLowerCase();
|
||||
|
||||
if (folderName === 'konaklama') nextCloudinaryPath = ''; // Root konaklama
|
||||
else if (folderName === 'odalar') nextCloudinaryPath = 'rooms';
|
||||
else if (folderName === 'rezidans') nextCloudinaryPath = 'residence';
|
||||
else if (folderName === 'restaurant') nextCloudinaryPath = 'dining';
|
||||
else {
|
||||
nextCloudinaryPath = currentCloudinaryPath ? `${currentCloudinaryPath}/${folderName}` : folderName;
|
||||
}
|
||||
|
||||
const recursiveResults = await scanAndUpload(fullPath, nextCloudinaryPath);
|
||||
results = results.concat(recursiveResults);
|
||||
} else {
|
||||
const ext = path.extname(entry.name).toLowerCase();
|
||||
if (['.jpg', '.jpeg', '.png', '.webp'].includes(ext)) {
|
||||
const uploadResult = await uploadFile(fullPath, currentCloudinaryPath);
|
||||
if (uploadResult) {
|
||||
results.push(uploadResult);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
async function main() {
|
||||
const docsDir = path.join(process.cwd(), 'docs');
|
||||
if (!fs.existsSync(docsDir)) {
|
||||
console.error('Docs directory not found!');
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('--- Starting Resort Photos Upload ---');
|
||||
const allUploads = await scanAndUpload(docsDir);
|
||||
|
||||
fs.writeFileSync('scratch/resort_upload_report.json', JSON.stringify(allUploads, null, 2));
|
||||
console.log(`\nUpload completed! ${allUploads.length} images processed.`);
|
||||
console.log('Report saved to scratch/resort_upload_report.json');
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user