Prep for marketing challenge

mostly switching to middleware + controllers
In what way - these three lines just replicate what was done manually in each individual route before by extracting into middleware