Packages

Elixir wrapper for the Meetup.com public API.

Current section

Files

Jump to
meetup lib v3 comments.ex
Raw

lib/v3/comments.ex

defmodule Meetup.V3.Comments do
@moduledoc """
Handles endpoints related to meetup event comments.
"""
@doc """
Lists the comments and replies posted in a given Meetup Event.
To view the list of likes for a comment or reply see the likes endpoint.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/events/:event_id/comments/#list
"""
@spec event_comments(String.t(), String.t(), map()) :: tuple()
def event_comments(urlname, event_id, params) do
path = "#{urlname}/events/#{event_id}/comments"
Meetup.get(path, params)
end
@doc """
Creates new comments and replies to existing comments within an Meetup event.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/events/:event_id/comments/#create
"""
@spec event_comment(atom(), String.t(), String.t(), map()) :: tuple()
def event_comment(:post, urlname, event_id, params) do
path = "#{urlname}/events/#{event_id}/comments"
Meetup.post(path, params)
end
@doc """
Deletes comments posted in events.
"""
@spec event_comment(atom(), String.t(), String.t(), integer()) :: tuple()
def event_comment(:delete, urlname, event_id, comment_id) do
path = "#{urlname}/events/#{event_id}/comments/#{comment_id}"
Meetup.delete(path, %{})
end
@doc """
Returns lists of likes for an event comment or reply.
"""
@spec comment_likes(String.t(), String.t(), integer()) :: tuple()
def comment_likes(urlname, event_id, comment_id) do
path = "#{urlname}/events/#{event_id}/comments/#{comment_id}/likes"
Meetup.get(path, %{})
end
@doc """
Like a given event comment.
"""
@spec comment_like(String.t(), String.t(), integer()) :: tuple()
def comment_like(urlname, event_id, comment_id) do
path = "#{urlname}/events/#{event_id}/comments/#{comment_id}/likes"
Meetup.post(path, %{})
end
@doc """
Unlike a given event comment.
"""
@spec comment_unlike(String.t(), String.t(), integer()) :: tuple()
def comment_unlike(urlname, event_id, comment_id) do
path = "#{urlname}/events/#{event_id}/comments/#{comment_id}/likes"
Meetup.delete(path, %{})
end
end