mirror of
https://github.com/immich-app/immich
synced 2025-11-14 17:36:12 +00:00
19 lines
720 B
TypeScript
19 lines
720 B
TypeScript
import { INestApplicationContext } from '@nestjs/common';
|
|
import { IoAdapter } from '@nestjs/platform-socket.io';
|
|
import { createAdapter } from '@socket.io/postgres-adapter';
|
|
import { ServerOptions } from 'socket.io';
|
|
import { DataSource } from 'typeorm';
|
|
import { PostgresDriver } from 'typeorm/driver/postgres/PostgresDriver.js';
|
|
|
|
export class WebSocketAdapter extends IoAdapter {
|
|
constructor(private app: INestApplicationContext) {
|
|
super(app);
|
|
}
|
|
|
|
createIOServer(port: number, options?: ServerOptions): any {
|
|
const server = super.createIOServer(port, options);
|
|
const pool = (this.app.get(DataSource).driver as PostgresDriver).master;
|
|
server.adapter(createAdapter(pool));
|
|
return server;
|
|
}
|
|
}
|