@@ -111,6 +111,11 @@ defmodule Safira.Repo.Seeds.Activities do
111111 break: Enum . find ( category_list , fn category -> category . name == "Break" end )
112112 }
113113
114+ seed_first_day_activities ( categories , speakers )
115+ seed_last_days_activities ( categories , speakers )
116+ end
117+
118+ defp seed_first_day_activities ( categories , speakers ) do
114119 for activity <- first_day_seed_data ( ) do
115120 type = activity . type
116121 changeset = Activities . change_activity ( % Activity { } ,
@@ -120,18 +125,11 @@ defmodule Safira.Repo.Seeds.Activities do
120125 |> Map . put ( :title , Map . get ( activity , :title ) || Faker.Company . bs ( ) |> String . capitalize ( ) )
121126 |> Map . put ( :location , Map . get ( activity , :location ) || "CP2 - B1" ) )
122127
123- case Repo . insert ( changeset ) do
124- { :ok , activity } ->
125- speaker_ids = Enum . take_random ( speakers , :rand . uniform ( 3 ) )
126- if type in [ :talk , :pitch , :wokshop ] do
127- Activities . upsert_activity_speakers ( Map . put ( activity , :speakers , [ ] ) , speaker_ids )
128- end
129- { :error , changeset } ->
130- Mix . shell ( ) . error ( "Failed to insert activity: #{ activity . title } " )
131- Mix . shell ( ) . error ( Kernel . inspect ( changeset . errors ) )
132- end
128+ insert_activity ( changeset , type , speakers )
133129 end
130+ end
134131
132+ defp seed_last_days_activities ( categories , speakers ) do
135133 for i <- 1 .. 3 do
136134 for activity <- last_days_seed_data ( ) do
137135 type = activity . type
@@ -142,20 +140,24 @@ defmodule Safira.Repo.Seeds.Activities do
142140 |> Map . put ( :title , Map . get ( activity , :title ) || Faker.Company . bs ( ) |> String . capitalize ( ) )
143141 |> Map . put ( :location , Map . get ( activity , :location ) || "CP2 - B1" ) )
144142
145- case Repo . insert ( changeset ) do
146- { :ok , activity } ->
147- speaker_ids = Enum . take_random ( speakers , :rand . uniform ( 3 ) )
148- if type in [ :talk , :pitch , :workshop ] do
149- Activities . upsert_activity_speakers ( Map . put ( activity , :speakers , [ ] ) , speaker_ids )
150- end
151- { :error , changeset } ->
152- Mix . shell ( ) . error ( "Failed to insert activity: #{ activity . title } " )
153- Mix . shell ( ) . error ( Kernel . inspect ( changeset . errors ) )
154- end
143+ insert_activity ( changeset , type , speakers )
155144 end
156145 end
157146 end
158147
148+ defp insert_activity ( changeset , type , speakers ) do
149+ case Repo . insert ( changeset ) do
150+ { :ok , activity } ->
151+ speaker_ids = Enum . take_random ( speakers , :rand . uniform ( 3 ) )
152+ if type in [ :talk , :pitch , :workshop ] do
153+ Activities . upsert_activity_speakers ( Map . put ( activity , :speakers , [ ] ) , speaker_ids )
154+ end
155+ { :error , changeset } ->
156+ Mix . shell ( ) . error ( "Failed to insert activity: #{ changeset . title } " )
157+ Mix . shell ( ) . error ( Kernel . inspect ( changeset . errors ) )
158+ end
159+ end
160+
159161 defp next_first_tuesday_of_february do
160162 today = Date . utc_today ( )
161163 { year , _ , _ } = Date . to_erl ( today )
0 commit comments