mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
Merge 84f96096ce
into d2dd1796a8
This commit is contained in:
commit
530d6666ec
|
@ -99,7 +99,7 @@ export class MessageEventBus extends EventEmitter {
|
||||||
for (const destinationData of savedEventDestinations) {
|
for (const destinationData of savedEventDestinations) {
|
||||||
try {
|
try {
|
||||||
const destination = messageEventBusDestinationFromDb(this, destinationData);
|
const destination = messageEventBusDestinationFromDb(this, destinationData);
|
||||||
if (destination) {
|
if (destination && destination.enabled) {
|
||||||
await this.addDestination(destination, false);
|
await this.addDestination(destination, false);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
@ -206,21 +206,36 @@ export class MessageEventBus extends EventEmitter {
|
||||||
}
|
}
|
||||||
|
|
||||||
async addDestination(destination: MessageEventBusDestination, notifyWorkers: boolean = true) {
|
async addDestination(destination: MessageEventBusDestination, notifyWorkers: boolean = true) {
|
||||||
await this.removeDestination(destination.getId(), false);
|
|
||||||
this.destinations[destination.getId()] = destination;
|
|
||||||
this.destinations[destination.getId()].startListening();
|
|
||||||
if (notifyWorkers) {
|
if (notifyWorkers) {
|
||||||
|
await this.removeDestination(destination.getId(), false);
|
||||||
|
await destination.saveToDb();
|
||||||
void this.publisher.publishCommand({ command: 'restart-event-bus' });
|
void this.publisher.publishCommand({ command: 'restart-event-bus' });
|
||||||
}
|
}
|
||||||
|
this.destinations[destination.getId()] = destination;
|
||||||
|
this.destinations[destination.getId()].startListening();
|
||||||
return destination;
|
return destination;
|
||||||
}
|
}
|
||||||
|
|
||||||
async findDestination(id?: string): Promise<MessageEventBusDestinationOptions[]> {
|
async findDestination(id?: string): Promise<MessageEventBusDestinationOptions[]> {
|
||||||
let result: MessageEventBusDestinationOptions[];
|
let result: MessageEventBusDestinationOptions[] = [];
|
||||||
if (id && Object.keys(this.destinations).includes(id)) {
|
if (id) {
|
||||||
result = [this.destinations[id].serialize()];
|
const savedEventDestination = await this.eventDestinationsRepository.findOne({ where: { id } });
|
||||||
} else {
|
if (savedEventDestination) {
|
||||||
result = Object.keys(this.destinations).map((e) => this.destinations[e].serialize());
|
const destination = messageEventBusDestinationFromDb(this, savedEventDestination);
|
||||||
|
if (destination) {
|
||||||
|
result = [destination.serialize()];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const savedEventDestinations = await this.eventDestinationsRepository.find();
|
||||||
|
if (savedEventDestinations.length > 0) {
|
||||||
|
for (const destinationData of savedEventDestinations) {
|
||||||
|
const destination = messageEventBusDestinationFromDb(this, destinationData)
|
||||||
|
if (destination) {
|
||||||
|
result.push(destination.serialize());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return result.sort((a, b) => (a.__type ?? '').localeCompare(b.__type ?? ''));
|
return result.sort((a, b) => (a.__type ?? '').localeCompare(b.__type ?? ''));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue