59 lines
2.0 KiB
TypeScript
59 lines
2.0 KiB
TypeScript
import type { Process } from '../types';
|
|
import { useProcessContext } from './common';
|
|
import * as addProduct from '@/process/add-product';
|
|
import * as bonuses from '@/process/bonuses';
|
|
import * as calculate from '@/process/calculate';
|
|
import * as configurator from '@/process/configurator';
|
|
import * as createKP from '@/process/create-kp';
|
|
import * as fingap from '@/process/fingap';
|
|
import * as gibdd from '@/process/gibdd';
|
|
import * as insurance from '@/process/insurance';
|
|
import * as leadOpportunity from '@/process/lead-opportunity';
|
|
import * as leasingObject from '@/process/leasing-object';
|
|
import * as leasingWithoutKasko from '@/process/leasing-without-kasko';
|
|
import * as loadKP from '@/process/load-kp';
|
|
import * as payments from '@/process/payments';
|
|
import * as price from '@/process/price';
|
|
import * as recalc from '@/process/recalc';
|
|
import * as subsidy from '@/process/subsidy';
|
|
import * as subsidyImportProgram from '@/process/subsidy-import-program';
|
|
import * as supplierAgent from '@/process/supplier-agent';
|
|
import * as usedPl from '@/process/used-pl';
|
|
|
|
type Config = {
|
|
prune: string[];
|
|
};
|
|
|
|
function useProcess({ reactions }: Process, config?: Config) {
|
|
const context = useProcessContext();
|
|
|
|
Object.keys(reactions).forEach((name) => {
|
|
if (!config?.prune.includes(name)) {
|
|
const injector = reactions[name];
|
|
injector(context);
|
|
}
|
|
});
|
|
}
|
|
|
|
export function useReactions(config: Config) {
|
|
useProcess(leadOpportunity, config);
|
|
useProcess(loadKP, config);
|
|
useProcess(calculate, config);
|
|
useProcess(supplierAgent, config);
|
|
useProcess(price, config);
|
|
useProcess(fingap, config);
|
|
useProcess(leasingWithoutKasko, config);
|
|
useProcess(subsidy, config);
|
|
useProcess(leasingObject, config);
|
|
useProcess(configurator, config);
|
|
useProcess(createKP, config);
|
|
useProcess(bonuses, config);
|
|
useProcess(usedPl, config);
|
|
useProcess(subsidyImportProgram, config);
|
|
useProcess(payments, config);
|
|
useProcess(gibdd, config);
|
|
useProcess(addProduct, config);
|
|
useProcess(insurance, config);
|
|
useProcess(recalc, config);
|
|
}
|