Packages

ExPnut is an Elixir wrapper for the pnut API.

Current section

Files

Jump to
ex_pnut lib posts interactions.ex
Raw

lib/posts/interactions.ex

defmodule ExPnut.Posts.Interactions do
import ExPnut.Helper.HTTP
alias ExPnut.Posts.PostParams
alias ExPnut.Posts.InteractionParams
@moduledoc """
This endpoint mirrors User Interactions, but for a single post, instead of a user, and it does not include objects.
[https://pnut.io/docs/api/resources/posts/interactions](https://pnut.io/docs/api/resources/posts/interactions)
"""
@doc """
Retrieve actions executed against a post.
"""
def get_interactions(
client,
post_id,
%InteractionParams{} = interaction_params \\ %InteractionParams{},
%PostParams{} = post_params \\ %PostParams{}
) do
interaction_params =
interaction_params
|> ExPnut.Helper.UrlParams.build()
|> Enum.map(fn {key, value} -> "#{key}=#{value}" end)
|> Enum.join("&")
get(client, "/posts/#{post_id}/interactions?#{interaction_params}", post_params)
end
end