Packages

Elixir wrapper for the Meetup.com public API.

Current section

Files

Jump to
meetup lib v3 profiles.ex
Raw

lib/v3/profiles.ex

defmodule Meetup.V3.Profiles do
@moduledoc """
Handles endpoints related to meetup profiles.
"""
@doc """
Approves one or more requests for group membership.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/member/approvals/#create
"""
@spec membership_approvals(String.t(), map()) :: tuple()
def membership_approvals(urlname, params) do
path = "#{urlname}/member/approvals"
Meetup.post(path, params)
end
@doc """
Declines one or more requests for group membership.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/member/approvals/#delete
"""
@spec membership_decline(String.t(), map()) :: tuple()
def membership_decline(urlname, params) do
path = "#{urlname}/member/approvals"
Meetup.delete(path, params)
end
@doc """
Get a list of Meetup group members.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/members/#list
"""
@spec members_list(String.t(), map()) :: tuple()
def members_list(urlname, params) do
path = "#{urlname}/members"
Meetup.get(path, params)
end
@doc """
This method allows an authenticated member to join a group by creating a profile.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/members/#create
"""
@spec members_join(String.t(), map()) :: tuple()
def members_join(urlname, params) do
path = "#{urlname}/members"
Meetup.post(path, params)
end
@doc """
Gets Group Profiles. For Member Profiles, see:
https://www.meetup.com/meetup_api/docs/members/:member_id
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/members/:member_id/#get
"""
@spec group_profile(String.t(), integer(), map()) :: tuple()
def group_profile(urlname, member_id, params) do
path = "#{urlname}/members/#{member_id}"
Meetup.get(path, params)
end
@doc """
Edits Group Profiles. To fetch Group Member Profiles, see:
https://www.meetup.com/meetup_api/docs/:urlname/members/:member_id#get
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/members/:member_id/#edit
"""
@spec edit_member_profile(String.t(), integer(), map()) :: tuple()
def edit_member_profile(urlname, member_id, params) do
path = "#{urlname}/members/#{member_id}"
Meetup.get(path, params)
end
@doc """
Deletes a member's group profiles.
For available params, see:
https://www.meetup.com/meetup_api/docs/:urlname/members/:member_id/#delete
"""
@spec delete_member_profile(String.t(), integer(), map()) :: tuple()
def delete_member_profile(urlname, member_id, params) do
path = "#{urlname}/members/#{member_id}"
Meetup.delete(path, params)
end
@doc """
Find group member profiles by name.
Members who very recently joined or left the group may not be immediately searchable.
For available params, see:
https://www.meetup.com/meetup_api/docs/find/:urlname/members/
"""
@spec members_search(String.t(), map()) :: tuple()
def members_search(urlname, params) do
path = "find/#{urlname}/members"
Meetup.get(path, params)
end
@doc """
Gets Member Profiles. For Group Profiles, see:
https://www.meetup.com/meetup_api/docs/:urlname/members/:member_id
For available params, see:
https://www.meetup.com/meetup_api/docs/members/:member_id/#get
"""
@spec member_profile(integer(), map()) :: tuple()
def member_profile(member_id, params) do
path = "members/#{member_id}"
Meetup.get(path, params)
end
@doc """
Edit a member profile.
For available params, see:
https://www.meetup.com/meetup_api/docs/members/:member_id/#edit
"""
@spec member_profile_edit(integer(), map()) :: tuple()
def member_profile_edit(member_id, params) do
path = "members/#{member_id}"
Meetup.patch(path, params)
end
end