Refactor database access to use a unified dbAdapter for SQLite and PostgreSQL

- Replaced direct database calls with dbAdapter methods in fieldRoutes, itemRoutes, listRoutes, syncRoutes, and webRoutes.
- Implemented a new db.ts file to handle database interactions for both SQLite and PostgreSQL.
- Added WebSocket support for real-time synchronization in WebSocketSyncClient and ws.ts.
- Updated TypeScript configuration to include WebSocket types.
- Created a new WebSocket server for handling sync requests and responses.
- Ensured compatibility with both SQLite and PostgreSQL by using parameterized queries.
This commit is contained in:
2025-10-25 17:02:42 +02:00
parent 22ec511ca7
commit e5e72a39ac
24 changed files with 1183 additions and 395 deletions
+32 -1
View File
@@ -1,4 +1,35 @@
#################################################################
# Server
#################################################################
PORT=3000
DB_PATH=/data/collabtable.db
NODE_ENV=production
SERVER_PASSWORD=your_secure_password_here
#################################################################
# Database backend selection
# - sqlite (default if not set)
# - postgres
#################################################################
# Choose the DB client; if omitted or not set to "postgres", SQLite is used
DB_CLIENT=sqlite
#################################################################
# SQLite configuration (used when DB_CLIENT=sqlite)
#################################################################
# Path to the SQLite database file. Default in code: ./data/collabtable.db
# For Docker, you may prefer a volume path like /data/collabtable.db
DB_PATH=/data/collabtable.db
#################################################################
# PostgreSQL configuration (used when DB_CLIENT=postgres)
# You can either provide a single DATABASE_URL or the PG* variables below
#################################################################
# Example URL: postgres://user:password@localhost:5432/collabtable
DATABASE_URL=
# If DATABASE_URL is not set, these individual settings are used:
PGHOST=localhost
PGPORT=5432
PGUSER=postgres
PGPASSWORD=
PGDATABASE=collabtable