import { ChoiceRequest, CampaignGroup } from "../../models"; import { StepResult } from "../stepResult"; import { isProgrammaticEnabled } from "./programmatic.utils"; import { AbstractStep } from "../abstractStep"; class ProgrammaticEnabledStep extends AbstractStep { constructor() { super("programmatic_enabled"); this.autoPassCampaignGroup = CampaignGroup.Managed | CampaignGroup.Marketplace | CampaignGroup.Fallback; } async run(request: ChoiceRequest): Promise { const result = new StepResult(); const isProgEnabled = isProgrammaticEnabled(request); if (isProgEnabled) { result.passCampaigns(...request.campaigns); } return result; } } export default ProgrammaticEnabledStep;