mirror of
https://github.com/docmost/docmost.git
synced 2025-11-17 14:41:09 +10:00
fixes
* integrate websocket redis adapter * use APP_SECRET for jwt signing * auto migrate database on startup in production * add updatedAt to update db operations * create enterprise ee package directory * fix comment editor focus * other fixes
This commit is contained in:
26
apps/server/src/ws/adapter/ws-redis.adapter.ts
Normal file
26
apps/server/src/ws/adapter/ws-redis.adapter.ts
Normal file
@ -0,0 +1,26 @@
|
||||
import { IoAdapter } from '@nestjs/platform-socket.io';
|
||||
import { ServerOptions } from 'socket.io';
|
||||
import { createAdapter } from '@socket.io/redis-adapter';
|
||||
import Redis, { RedisOptions } from 'ioredis';
|
||||
import { createRetryStrategy } from '../../helpers';
|
||||
|
||||
export class WsRedisIoAdapter extends IoAdapter {
|
||||
private adapterConstructor: ReturnType<typeof createAdapter>;
|
||||
|
||||
async connectToRedis(): Promise<void> {
|
||||
const options: RedisOptions = {
|
||||
retryStrategy: createRetryStrategy(),
|
||||
};
|
||||
|
||||
const pubClient = new Redis(process.env.REDIS_URL, options);
|
||||
const subClient = new Redis(process.env.REDIS_URL, options);
|
||||
|
||||
this.adapterConstructor = createAdapter(pubClient, subClient);
|
||||
}
|
||||
|
||||
createIOServer(port: number, options?: ServerOptions): any {
|
||||
const server = super.createIOServer(port, options);
|
||||
server.adapter(this.adapterConstructor);
|
||||
return server;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user