14 lines
532 B
TypeScript
14 lines
532 B
TypeScript
/** A carrier-specific decision overrides a legacy channel decision, including rejection. */
|
|
export function selectDrainageReportTask<
|
|
T extends {
|
|
channelId: string;
|
|
carrier?: string | null;
|
|
approvalScope?: string;
|
|
},
|
|
>(tasks: T[], channelId: string, carrier?: string) {
|
|
return (
|
|
(carrier ? tasks.find((task) => task.channelId === channelId && task.carrier === carrier) : undefined) ??
|
|
tasks.find((task) => task.channelId === channelId && !task.carrier && task.approvalScope !== 'carrier_specific')
|
|
);
|
|
}
|