Skip to content

Commit c0483c8

Browse files
committed
Rename RedisClient.ts to RedisClientHolder.ts
1 parent ad61c52 commit c0483c8

File tree

3 files changed

+22
-19
lines changed

3 files changed

+22
-19
lines changed

server/src/app.middlewares.js

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,23 @@ import { decode as urlJsonDecode } from '#shared/urljson.js'
1212
import jsonwebtoken from 'jsonwebtoken'
1313
import session from 'express-session'
1414
import connectRedis from 'connect-redis'
15-
import { createClient } from 'redis'
15+
import RedisClientHolder from '#src/redis/RedisClientHolder'
1616

1717
const basepath = serverconfig.basepath || ''
1818

1919
export function setAppMiddlewares(app) {
2020
if (serverconfig.redis) {
2121
const RedisStore = connectRedis(session)
22+
23+
const redisClientHolder = RedisClientHolder.getInstance(serverconfig.redis.url)
2224
// Create a Redis client
23-
const redisClient = createClient({
24-
url: serverconfig.redis.url,
25-
legacyMode: true // Required if using connect-redis
26-
})
25+
const redisClient = redisClientHolder.getClient()
2726

2827
// Configure session middleware with Redis store
2928
const redisStore = new RedisStore({
3029
client: redisClient
3130
})
3231

33-
redisClient.connect().catch(console.error)
34-
redisClient.on('connect', () => console.log('Connected to Redis'))
35-
3632
app.use(
3733
session({
3834
store: redisStore,
Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
import { createClient } from 'redis'
22
import type { RedisClientType } from 'redis'
33

4-
export default class RedisClient {
5-
private static instance: RedisClient | null = null
6-
private client: RedisClientType
4+
export default class RedisClientHolder {
5+
private static instance: RedisClientHolder | null = null
6+
private readonly client: RedisClientType
7+
8+
public getClient(): RedisClientType {
9+
return this.client
10+
}
711

812
private constructor(redisUrl: string) {
9-
this.client = createClient({ url: redisUrl })
13+
this.client = createClient({
14+
url: redisUrl,
15+
legacyMode: true // Required if using connect-redis
16+
})
1017

1118
this.client.on('error', (err: any) => {
1219
console.error('Redis Client Error:', err)
@@ -23,11 +30,11 @@ export default class RedisClient {
2330
this.client.connect()
2431
}
2532

26-
public static getInstance(redisUrl: string): RedisClient {
27-
if (!RedisClient.instance) {
28-
RedisClient.instance = new RedisClient(redisUrl)
33+
public static getInstance(redisUrl: string): RedisClientHolder {
34+
if (!RedisClientHolder.instance) {
35+
RedisClientHolder.instance = new RedisClientHolder(redisUrl)
2936
}
30-
return RedisClient.instance
37+
return RedisClientHolder.instance
3138
}
3239

3340
public async set(key: string, value: string): Promise<void> {

server/src/wsisessions/SessionManager.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import RedisClient from '../redis/RedisClient.ts'
1+
import RedisClientHolder from '../redis/RedisClientHolder.ts'
22

33
export class SessionData {
44
public imageSessionId: string
@@ -12,10 +12,10 @@ export class SessionData {
1212

1313
export default class SessionManager {
1414
private static instance: SessionManager
15-
private redisClient: RedisClient
15+
private redisClient: RedisClientHolder
1616

1717
private constructor(redisUrl: string) {
18-
this.redisClient = RedisClient.getInstance(redisUrl)
18+
this.redisClient = RedisClientHolder.getInstance(redisUrl)
1919
}
2020

2121
public static getInstance(redisUrl: string): SessionManager {

0 commit comments

Comments
 (0)