25 lines
585 B
Ruby
25 lines
585 B
Ruby
class EjabberdApiClient
|
|
def initialize
|
|
@base_url = ENV["EJABBERD_API_URL"]
|
|
end
|
|
|
|
def post(endpoint, payload)
|
|
res = Faraday.post("#{@base_url}/#{endpoint}", payload.to_json,
|
|
"Content-Type" => "application/json")
|
|
|
|
if res.status != 200
|
|
Rails.logger.error "[ejabberd] API request failed:"
|
|
Rails.logger.error res.body
|
|
#TODO add some kind of exception tracking/notifications
|
|
end
|
|
end
|
|
|
|
def add_rosteritem(payload)
|
|
post "add_rosteritem", payload
|
|
end
|
|
|
|
def send_message(payload)
|
|
post "send_message", payload
|
|
end
|
|
end
|