From 7ec5af740a2791aad7feac8ddd06e2c52c6f7ba0 Mon Sep 17 00:00:00 2001 From: Dicken Date: Tue, 26 May 2026 15:37:30 +0200 Subject: [PATCH] Dateien nach "backend/src" hochladen --- backend/src/db.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/backend/src/db.js b/backend/src/db.js index 95a826c..3de512c 100644 --- a/backend/src/db.js +++ b/backend/src/db.js @@ -40,6 +40,28 @@ db.exec(` ); -- Tool: 3D-Kalkulator + CREATE TABLE IF NOT EXISTS files ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, + filename TEXT NOT NULL, + originalname TEXT NOT NULL, + mimetype TEXT NOT NULL DEFAULT 'application/octet-stream', + size INTEGER NOT NULL, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP + ); + CREATE TABLE IF NOT EXISTS file_shares ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + file_id INTEGER NOT NULL REFERENCES files(id) ON DELETE CASCADE, + shared_by INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, + shared_with INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + UNIQUE(file_id, shared_with) + ); + CREATE TABLE IF NOT EXISTS admin_settings ( + key TEXT PRIMARY KEY, + value TEXT NOT NULL + ); + CREATE TABLE IF NOT EXISTS orders ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, @@ -83,6 +105,17 @@ db.exec(` `); // Standard-Admin beim ersten Start anlegen +// Default admin settings +const settingDefaults = [ + ['file_max_size_mb', '50'], + ['file_max_count', '20'], + ['file_allowed_ext', '.pdf,.jpg,.jpeg,.png,.gif,.zip,.txt,.docx,.xlsx,.mp4,.stl,.3mf'], +]; +for (const [key, value] of settingDefaults) { + if (!db.prepare('SELECT key FROM admin_settings WHERE key=?').get(key)) + db.prepare('INSERT INTO admin_settings (key,value) VALUES (?,?)').run(key, value); +} + if (db.prepare('SELECT COUNT(*) c FROM users').get().c === 0) { db.prepare('INSERT INTO users (username, password_hash, role) VALUES (?, ?, ?)') .run('admin', bcrypt.hashSync('admin123', 12), 'admin');