diff --git a/lib/sanbase/monitored_twitter_handle/monitored_twitter_handle.ex b/lib/sanbase/monitored_twitter_handle/monitored_twitter_handle.ex index e8b8fed190..ef8b766e29 100644 --- a/lib/sanbase/monitored_twitter_handle/monitored_twitter_handle.ex +++ b/lib/sanbase/monitored_twitter_handle/monitored_twitter_handle.ex @@ -128,20 +128,21 @@ defmodule Sanbase.MonitoredTwitterHandle do # This includes all used and unused promo codes for that campaign. codes_count = length(codes) - cond do - records_count >= 7 and codes_count <= 1 -> - create_user_promo_code(user_id, 27) - - records_count >= 3 and codes_count == 0 -> - create_user_promo_code(user_id, 54) + # Run the creation in 2 ifs so in case of re-issuing of promo codes, + # we create all the necessary promo codes on one run + if records_count >= 3 and codes_count == 0 do + create_user_promo_code_for_campaign(user_id, 27) + end - true -> - :ok + if records_count >= 7 and codes_count == 1 do + create_user_promo_code_for_campaign(user_id, 54) end + + :ok end end - defp create_user_promo_code(user_id, percent_off) do + defp create_user_promo_code_for_campaign(user_id, percent_off) do redeem_by = DateTime.utc_now() |> DateTime.add(30, :day) |> DateTime.truncate(:second) {:ok, coupon} =