From 4cca0667518410c93d2ffc24d988fe7d43ff279f Mon Sep 17 00:00:00 2001 From: Gabriel Matte Date: Sun, 3 Nov 2024 16:36:21 -0500 Subject: [PATCH] adds valkey default config --- server/controllers/rooms.ts | 8 ++-- server/package-lock.json | 89 +++++++++++++++++++++++++++++++++++++ server/package.json | 1 + server/routers/rooms.ts | 1 + types/valkey.ts | 9 ++++ 5 files changed, 104 insertions(+), 4 deletions(-) create mode 100644 server/routers/rooms.ts create mode 100644 types/valkey.ts diff --git a/server/controllers/rooms.ts b/server/controllers/rooms.ts index f58dac0..01c7fce 100644 --- a/server/controllers/rooms.ts +++ b/server/controllers/rooms.ts @@ -1,4 +1,4 @@ -import { Redis } from 'ioredis'; +import { GlideClient, GlideClientConfiguration } from '@valkey/valkey-glide'; import { RoomInfo, RoomOptions, @@ -11,17 +11,17 @@ import { DockerRoomProvider } from './providers/docker-provider'; import { KubernetesRoomProvider } from './providers/kubernetes-provider'; interface RoomManagerOptions { - redisUrl?: string; + valkeyConfig?: GlideClientConfiguration; provider?: ProviderType; providerOptions?: ProviderConfig; } export class RoomManager { - private redis: Redis; + private valkey: GlideClient; private provider: BaseRoomProvider; constructor(options: RoomManagerOptions = {}) { - this.redis = new Redis(options.redisUrl || process.env.REDIS_URL); + this.valkey = new GlideClient(); this.provider = this.createProvider( options.provider || process.env.ROOM_PROVIDER as ProviderType || 'cluster', options.providerOptions diff --git a/server/package-lock.json b/server/package-lock.json index a40630e..f64f83b 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -9,6 +9,7 @@ "version": "1.0.0", "license": "MIT", "dependencies": { + "@types/express": "^5.0.0", "@valkey/valkey-glide": "^1.1.0", "bcrypt": "^5.1.1", "cors": "^2.8.5", @@ -1302,6 +1303,25 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", @@ -1315,6 +1335,30 @@ "@types/node": "*" } }, + "node_modules/@types/express": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.0.tgz", + "integrity": "sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz", + "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, "node_modules/@types/graceful-fs": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", @@ -1324,6 +1368,12 @@ "@types/node": "*" } }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -1348,6 +1398,12 @@ "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" + }, "node_modules/@types/node": { "version": "22.8.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz", @@ -1357,6 +1413,39 @@ "undici-types": "~6.19.8" } }, + "node_modules/@types/qs": { + "version": "6.9.16", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", + "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", diff --git a/server/package.json b/server/package.json index b6e6f61..cbcd438 100644 --- a/server/package.json +++ b/server/package.json @@ -13,6 +13,7 @@ "author": "", "license": "MIT", "dependencies": { + "@types/express": "^5.0.0", "@valkey/valkey-glide": "^1.1.0", "bcrypt": "^5.1.1", "cors": "^2.8.5", diff --git a/server/routers/rooms.ts b/server/routers/rooms.ts new file mode 100644 index 0000000..f4992a3 --- /dev/null +++ b/server/routers/rooms.ts @@ -0,0 +1 @@ +import {express} from 'express' diff --git a/types/valkey.ts b/types/valkey.ts new file mode 100644 index 0000000..a51d288 --- /dev/null +++ b/types/valkey.ts @@ -0,0 +1,9 @@ +export interface ValkeyBasicConfig{ + host:string, + port:number +} + +const valkeyDefaults : ValkeyBasicConfig = { + host:'localhost', + port:6379 +} \ No newline at end of file