Current section
Files
Jump to
Current section
Files
lib/sms_mode.ex
defmodule GroupMe.SMSMode do
# SMS MODE
# TODO: Couldn't test this as I dont have a push notification ID handy.
# Create
# duration required
# integer
# registration_id
# string — The push notification ID/token that should be suppressed during SMS mode. If this is omitted, both SMS and push notifications will be delivered to the device.
def create(token, _) when token == nil, do: {:error, "Token is required"}
def create(token, options) do
if !Map.has_key?(options, :duration) do
{:error, "Required params duration not found."}
else
url = "https://api.groupme.com/v3/users/sms_mode?token=#{token}"
case GroupMe.Request.post(url, options) do
{:ok, response} -> GroupMe.Request.handle_response(response)
{:error, reason} -> {:error, reason}
end
end
end
def create!(token, options) do
case create(token, options) do
{:ok, response} -> response
{:error, reason} -> throw(reason)
end
end
# Delete
def delete(token, _) when token == nil, do: {:error, "Token is required"}
def delete(token) do
url = "https://api.groupme.com/v3/users/sms_mode/delete?token=#{token}"
case GroupMe.Request.post(url, %{}) do
{:ok, response} -> GroupMe.Request.handle_response(response)
{:error, reason} -> {:error, reason}
end
end
def delete!(token, options) do
case delete(token, options) do
{:ok, response} -> response
{:error, reason} -> throw(reason)
end
end
end