- @spec validate(map(), keyword()) :: {:ok, map(), keyword()} | {:error, any()}
- def validate(object, meta)
-
- def validate(%{"type" => "Like"} = object, meta) do
- with {:ok, object, meta} <- common_validations(object, meta),
- {_, %Object{} = liked_object} <- {:find_liked_object, Object.normalize(object["object"])},
- {_, nil} <- {:existing_like, Utils.get_existing_like(object["actor"], liked_object)} do
+ def validate(%{"type" => "EmojiReact"} = object, meta) do
+ with {:ok, object} <-
+ object
+ |> EmojiReactValidator.cast_and_validate()
+ |> Ecto.Changeset.apply_action(:insert) do
+ object = stringify_keys(object |> Map.from_struct())