diff --git a/bun.lockb b/bun.lockb index a0ea9c2..81cb291 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 5285fc3..bba1ead 100644 --- a/package.json +++ b/package.json @@ -11,9 +11,7 @@ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "format": "prettier --write .", - "lint": "prettier --check . && eslint .", - "db:migrate": "drizzle-kit generate --config drizzle.config.ts && drizzle-kit push --config drizzle.config.ts", - "db:studio": "drizzle-kit studio" + "lint": "prettier --check . && eslint ." }, "devDependencies": { "@eslint/compat": "^1.2.3", @@ -21,7 +19,6 @@ "@sveltejs/kit": "^2.0.0", "@sveltejs/vite-plugin-svelte": "^4.0.0", "autoprefixer": "^10.4.20", - "drizzle-kit": "^0.22.0", "eslint": "^9.7.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-svelte": "^2.36.0", @@ -38,10 +35,9 @@ }, "dependencies": { "@types/express": "^5.0.0", + "cassandra-driver": "^4.7.2", "daisyui": "^4.12.23", - "drizzle-orm": "^0.33.0", "express": "^4.21.2", - "postgres": "^3.4.4", "socket.io": "^4.8.1", "socket.io-client": "^4.8.1", "tsm": "^2.3.0" diff --git a/src/lib/server/db/index.ts b/src/lib/server/db/index.ts index 54e3632..010cd15 100644 --- a/src/lib/server/db/index.ts +++ b/src/lib/server/db/index.ts @@ -1,6 +1,15 @@ -import { drizzle } from 'drizzle-orm/postgres-js'; -import postgres from 'postgres'; -import { env } from '$env/dynamic/private'; -if (!env.DATABASE_URL) throw new Error('DATABASE_URL is not set'); -const client = postgres(env.DATABASE_URL); -export const db = drizzle(client); +import cassandra from 'cassandra-driver'; + +const client = new cassandra.Client({ + contactPoints: ['localhost'], + localDataCenter: 'datacenter1', + keyspace: 'users', +}); + +// Connect to Cassandra/ScyllaDB and create +// necessary tables, keyspaces, etc +await client.connect(); +await client.execute(`CREATE KEYSPACE IF NOT EXISTS users WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1};`); +await client.execute(`CREATE KEYSPACE IF NOT EXISTS channels WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1};`); + +export default client; diff --git a/src/lib/websocketConfig.ts b/src/lib/websocketConfig.ts index 6c4848f..b914f51 100644 --- a/src/lib/websocketConfig.ts +++ b/src/lib/websocketConfig.ts @@ -1,6 +1,6 @@ import { Server as SocketIOServer } from 'socket.io'; import type { HttpServer } from 'vite'; -import { type TypeMessage } from './'; +import client from './server/db/'; let io: SocketIOServer | undefined;