75 lines
2.3 KiB
JavaScript
75 lines
2.3 KiB
JavaScript
const { Client, Databases } = require('node-appwrite');
|
|
|
|
async function checkConfig() {
|
|
console.log('🔍 Validando configuración de Almeira Web...\n');
|
|
|
|
const requiredVars = [
|
|
'NEXT_PUBLIC_APPWRITE_ENDPOINT',
|
|
'NEXT_PUBLIC_APPWRITE_PROJECT_ID',
|
|
'APPWRITE_API_KEY',
|
|
'APPWRITE_DATABASE_ID'
|
|
];
|
|
|
|
let missing = false;
|
|
requiredVars.forEach(v => {
|
|
if (!process.env[v]) {
|
|
console.error(`❌ Faltante: Variable de entorno ${v}`);
|
|
missing = true;
|
|
} else {
|
|
console.log(`✅ Presente: ${v}`);
|
|
}
|
|
});
|
|
|
|
if (missing) {
|
|
console.error('\n🛑 Error: Faltan variables de entorno críticas. Revisa tu archivo .env.local.');
|
|
process.exit(1);
|
|
}
|
|
|
|
const client = new Client()
|
|
.setEndpoint(process.env.NEXT_PUBLIC_APPWRITE_ENDPOINT)
|
|
.setProject(process.env.NEXT_PUBLIC_APPWRITE_PROJECT_ID)
|
|
.setKey(process.env.APPWRITE_API_KEY);
|
|
|
|
const databases = new Databases(client);
|
|
const databaseId = process.env.APPWRITE_DATABASE_ID;
|
|
|
|
try {
|
|
console.log(`\n📡 Conectando a Appwrite (${process.env.NEXT_PUBLIC_APPWRITE_ENDPOINT})...`);
|
|
const db = await databases.get(databaseId);
|
|
console.log(`✅ Conexión exitosa a la base de datos: "${db.name}" (${databaseId})`);
|
|
|
|
const collectionsToCheck = [
|
|
'posts',
|
|
'settings',
|
|
'publication_types',
|
|
'categories',
|
|
'whatsapp_messages',
|
|
'entidad'
|
|
];
|
|
|
|
console.log('\n📦 Verificando colecciones críticas...');
|
|
for (const colId of collectionsToCheck) {
|
|
try {
|
|
const col = await databases.getCollection(databaseId, colId);
|
|
console.log(`✅ Colección encontrada: ${col.name} (${colId})`);
|
|
} catch (err) {
|
|
console.error(`❌ Error en colección ${colId}: ${err.message}`);
|
|
missing = true;
|
|
}
|
|
}
|
|
|
|
} catch (err) {
|
|
console.error(`❌ Error de conexión a Appwrite: ${err.message}`);
|
|
process.exit(1);
|
|
}
|
|
|
|
if (missing) {
|
|
console.error('\n🛑 Algunas colecciones no fueron encontradas. Revisa la base de datos en Appwrite.');
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log('\n✨ ¡Configuración validada correctamente para producción!');
|
|
}
|
|
|
|
checkConfig();
|