fix(mail): align queue, outbound hostname, and DKIM selector behavior across the mail server APIs
This commit is contained in:
@@ -18,7 +18,7 @@ export interface IQueueItem {
|
||||
id: string;
|
||||
processingMode: EmailProcessingMode;
|
||||
processingResult: any;
|
||||
route: IEmailRoute;
|
||||
route?: IEmailRoute;
|
||||
status: QueueItemStatus;
|
||||
attempts: number;
|
||||
nextAttempt: Date;
|
||||
@@ -237,7 +237,7 @@ export class UnifiedDeliveryQueue extends EventEmitter {
|
||||
* @param mode Processing mode
|
||||
* @param route Email route
|
||||
*/
|
||||
public async enqueue(processingResult: any, mode: EmailProcessingMode, route: IEmailRoute): Promise<string> {
|
||||
public async enqueue(processingResult: any, mode: EmailProcessingMode, route?: IEmailRoute): Promise<string> {
|
||||
// Check if queue is full
|
||||
if (this.queue.size >= this.options.maxQueueSize) {
|
||||
throw new Error('Queue is full');
|
||||
@@ -284,6 +284,10 @@ export class UnifiedDeliveryQueue extends EventEmitter {
|
||||
public getItem(id: string): IQueueItem | undefined {
|
||||
return this.queue.get(id);
|
||||
}
|
||||
|
||||
public listItems(): IQueueItem[] {
|
||||
return Array.from(this.queue.values()).map((item) => ({ ...item }));
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark an item as being processed
|
||||
@@ -657,4 +661,4 @@ export class UnifiedDeliveryQueue extends EventEmitter {
|
||||
this.emit('shutdown');
|
||||
logger.log('info', 'UnifiedDeliveryQueue shut down successfully');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user