39 lines
1.9 KiB
JavaScript
39 lines
1.9 KiB
JavaScript
import Database from "better-sqlite3";
|
|
import { fileURLToPath } from "url";
|
|
import { dirname, join } from "path";
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
const db = new Database(join(__dirname, "..", "localesp.db"));
|
|
|
|
db.exec(`
|
|
CREATE TABLE IF NOT EXISTS businesses (
|
|
id TEXT PRIMARY KEY,
|
|
name TEXT NOT NULL,
|
|
category TEXT NOT NULL,
|
|
address TEXT NOT NULL,
|
|
description TEXT NOT NULL,
|
|
contact TEXT NOT NULL DEFAULT '',
|
|
lat REAL NOT NULL,
|
|
lng REAL NOT NULL,
|
|
status TEXT NOT NULL DEFAULT 'pending',
|
|
createdAt TEXT NOT NULL
|
|
)
|
|
`);
|
|
|
|
const empty = db.prepare("SELECT COUNT(*) AS n FROM businesses").get().n === 0;
|
|
if (empty) {
|
|
const ins = db.prepare(`
|
|
INSERT INTO businesses
|
|
(id, name, category, address, description, contact, lat, lng, status, createdAt)
|
|
VALUES
|
|
(@id, @name, @category, @address, @description, @contact, @lat, @lng, @status, @createdAt)
|
|
`);
|
|
for (const b of [
|
|
{ id: "1", name: "Café del Mercado", category: "Cafetería", address: "Plaza Mayor 3, Madrid", description: "Café de especialidad y bollería artesana.", contact: "hola@cafedelmercado.example", lat: 40.4155, lng: -3.7074, status: "approved", createdAt: "2025-01-10T10:00:00Z" },
|
|
{ id: "2", name: "Librería El Faro", category: "Librería", address: "Calle Luna 12, Madrid", description: "Librería independiente con sección infantil.", contact: "", lat: 40.4221, lng: -3.7059, status: "approved", createdAt: "2025-01-12T10:00:00Z" },
|
|
{ id: "3", name: "Taller Bicicletas Rueda", category: "Servicios", address: "Calle Embajadores 45, Madrid", description: "Reparación y venta de segunda mano.", contact: "+34 600 000 000", lat: 40.4078, lng: -3.7053, status: "approved", createdAt: "2025-01-15T10:00:00Z" },
|
|
]) ins.run(b);
|
|
}
|
|
|
|
export default db;
|