`ding_campaign_get_campaigns` is in dire need of a refactoring. The function just grows with each new type and there is much duplicated code between some types.