- new channel EVENT_STREAM_CHANNEL based on event stream id - on event, perform the matching and publish only to the right streams - store a list of active streams per workspace - store the user id along with the queries for each stream Bonus: - remove onSubscriptionMatch
22 lines
920 B
TypeScript
22 lines
920 B
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
|
|
import { CacheLockModule } from 'src/engine/core-modules/cache-lock/cache-lock.module';
|
|
import { CacheStorageModule } from 'src/engine/core-modules/cache-storage/cache-storage.module';
|
|
import { RedisClientModule } from 'src/engine/core-modules/redis-client/redis-client.module';
|
|
import { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity';
|
|
import { EventStreamService } from 'src/engine/subscriptions/event-stream.service';
|
|
import { SubscriptionService } from 'src/engine/subscriptions/subscription.service';
|
|
|
|
@Module({
|
|
imports: [
|
|
RedisClientModule,
|
|
CacheStorageModule,
|
|
CacheLockModule,
|
|
TypeOrmModule.forFeature([WorkspaceEntity]),
|
|
],
|
|
providers: [SubscriptionService, EventStreamService],
|
|
exports: [SubscriptionService, EventStreamService],
|
|
})
|
|
export class SubscriptionsModule {}
|