Skip to content

Commit 35a0a98

Browse files
committed
chore: defend if no queue
1 parent 1952080 commit 35a0a98

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

packages/queue/src/entity.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Consumer } from 'rabbitmq-client'
2-
import type { BaseEventHandler, Binding, Queue, QueueEntity, QueueRepository } from './types'
2+
import type { BaseEventHandler, QueueEntity, QueueRepository } from './types'
33

44
type EntityOptions = {
55
name: string
@@ -10,25 +10,24 @@ type EntityOptions = {
1010
export class Entity implements QueueEntity {
1111
name: string
1212
eventsToConsume: string[] = []
13-
1413
repository: QueueRepository
1514

16-
queues: Queue[] = []
17-
bindings: Binding[] = []
18-
1915
constructor({ name, eventsToConsume, repository }: EntityOptions) {
2016
this.name = name
2117
this.eventsToConsume = eventsToConsume
22-
2318
this.repository = repository
2419

2520
this.initQueues(name)
2621
this.initBindings(eventsToConsume)
2722
}
2823

2924
async consume(handler: BaseEventHandler<unknown>): Promise<Consumer> {
25+
if (!this.queue?.queue) {
26+
throw new Error(`Queue "${this.name}" not found`)
27+
}
28+
3029
const consumer = this.repository.connection.createConsumer({
31-
queue: this.queue?.queue,
30+
queue: this.queue.queue,
3231
queueOptions: {
3332
passive: true,
3433
},
@@ -48,7 +47,7 @@ export class Entity implements QueueEntity {
4847
}
4948

5049
get queue() {
51-
return this.queues.find((queue) => queue.queue === this.name)
50+
return this.repository.queues.find((queue) => queue.queue === this.name)
5251
}
5352

5453
private initQueues(name: string) {
@@ -75,6 +74,10 @@ export class Entity implements QueueEntity {
7574
}
7675

7776
private initBindings(events: string[]) {
77+
if (!events.length) {
78+
return
79+
}
80+
7881
const eventsExchange = this.repository.exchanges.events.exchange
7982
const retryExchange = this.repository.exchanges.retry.exchange
8083
const failExchange = this.repository.exchanges.fail.exchange

0 commit comments

Comments
 (0)