- {:ok, _} =
- Elastix.Document.index(
- url(),
- "activities",
- "activity",
- DocumentMappings.Activity.id(activity),
- DocumentMappings.Activity.encode(activity)
- )
-
- {:ok, _} =
- bulk_post(
- activity.object.hashtags,
- :hashtags
- )
+ with {:ok, _} <-
+ Elastix.Document.index(
+ url(),
+ "activities",
+ "activity",
+ DocumentMappings.Activity.id(activity),
+ DocumentMappings.Activity.encode(activity)
+ ) do
+ activity
+ |> Map.get(:object)
+ |> Object.hashtags()
+ |> Enum.map(fn x ->
+ %{id: x, name: x, timestamp: DateTime.to_iso8601(DateTime.utc_now())}
+ end)
+ |> bulk_post(:hashtags)
+ else
+ {:error, %{reason: err}} ->
+ Logger.error("Could not put activity: #{err}")
+ :skipped
+ end