Current section
Files
Jump to
Current section
Files
lib/v3/photos.ex
defmodule Meetup.V3.Photos do
@moduledoc """
Handles endpoints related to meetup photos.
"""
@doc """
Lists photos for a given event.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/events/:event_id/photos/#list
"""
@spec index(String.t(), String.t(), map()) :: tuple()
def index(urlname, event_id, params) do
path = "#{urlname}/events/#{event_id}/photos"
Meetup.get(path, params)
end
@doc """
Support for uploading new Event photos.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/events/:event_id/photos/#upload
"""
@spec upload(String.t(), String.t(), map()) :: tuple()
def upload(urlname, event_id, params) do
path = "#{urlname}/events/#{event_id}/photos"
Meetup.post(path, params)
end
@doc """
Gets information about a specific photo.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/events/:event_id/photos/:photo_id/#get
"""
@spec show(String.t(), String.t(), integer(), map()) :: tuple()
def show(urlname, event_id, photo_id, params) do
path = "#{urlname}/events/#{event_id}/photos/#{photo_id}"
Meetup.get(path, params)
end
@doc """
Edits photo details.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/events/:event_id/photos/:photo_id/#edit
"""
@spec edit(String.t(), String.t(), integer(), map()) :: tuple()
def edit(urlname, event_id, photo_id, params) do
path = "#{urlname}/events/#{event_id}/photos/#{photo_id}"
Meetup.patch(path, params)
end
@doc """
Deletes a specified event photo.
"""
@spec delete(String.t(), String.t(), integer()) :: tuple()
def delete(urlname, event_id, photo_id) do
path = "#{urlname}/events/#{event_id}/photos/#{photo_id}"
Meetup.delete(path, %{})
end
@doc """
Lists photo comments associated with a photo.
"""
@spec comments(String.t(), String.t(), integer()) :: tuple()
def comments(urlname, event_id, photo_id) do
path = "#{urlname}/events/#{event_id}/photos/#{photo_id}/comments"
Meetup.get(path, %{})
end
@doc """
Creates a new photo comment.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/events/:event_id/photos/:photo_id/comments/#post
"""
@spec comment(String.t(), String.t(), integer(), map()) :: tuple()
def comment(urlname, event_id, photo_id, params) do
path = "#{urlname}/events/#{event_id}/photos/#{photo_id}/comments"
Meetup.post(path, params)
end
@doc """
Deletes photo comments.
"""
@spec delete_comment(String.t(), String.t(), integer(), integer()) :: tuple()
def delete_comment(urlname, event_id, photo_id, comment_id) do
path = "#{urlname}/events/#{event_id}/photos/#{photo_id}/comments/#{comment_id}"
Meetup.delete(path, %{})
end
@doc """
Gets a list a group photo albums in ascending order based on the time they were created.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/photo_albums/
"""
@spec photo_albums(String.t(), map()) :: tuple()
def photo_albums(urlname, params) do
path = "#{urlname}/photo_albums"
Meetup.get(path, params)
end
@doc """
Gets information about a specific photo album.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/photo_albums/:album_id/
"""
@spec photo_album(String.t(), integer(), map()) :: tuple()
def photo_album(urlname, album_id, params) do
path = "#{urlname}/photo_albums/#{album_id}"
Meetup.get(path, params)
end
@doc """
Lists photos for a given photo album.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/photo_albums/:album_id/photos/#list
"""
@spec photo_album_photos(String.t(), integer(), map()) :: tuple()
def photo_album_photos(urlname, album_id, params) do
path = "#{urlname}/photo_albums/#{album_id}/photos"
Meetup.get(path, params)
end
@doc """
Support for uploading new album photos.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/photo_albums/:album_id/photos/#upload
"""
@spec photo_album_photo_upload(String.t(), integer(), map()) :: tuple()
def photo_album_photo_upload(urlname, album_id, params) do
path = "#{urlname}/photo_albums/#{album_id}/photos"
Meetup.post(path, params)
end
@doc """
Lists of all photos uploaded for the group.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/photos/#list
"""
@spec group_index(String.t(), map()) :: tuple()
def group_index(urlname, params) do
path = "#{urlname}/photos"
Meetup.get(path, params)
end
@doc """
Support for uploading new Member photos.
For available params, see:
https://www.meetup.com/meetup_api/docs/members/:member_id/photos/#post
"""
@spec member_photo_upload(integer(), map()) :: tuple()
def member_photo_upload(member_id, params) do
path = "members/#{member_id}/photos"
Meetup.post(path, params)
end
@doc """
Deletes a member photo by id.
"""
@spec member_photo_delete(integer(), integer()) :: tuple()
def member_photo_delete(member_id, photo_id) do
path = "members/#{member_id}/photos/#{photo_id}"
Meetup.delete(path, %{})
end
end