56 lines
975 B
Ruby
56 lines
975 B
Ruby
class EjabberdManagerService < RestApiService
|
|
private
|
|
|
|
def base_url
|
|
@base_url ||= Setting.ejabberd_api_url
|
|
end
|
|
|
|
def headers
|
|
{ "Content-Type" => "application/json" }
|
|
end
|
|
|
|
def parse_responses?
|
|
false
|
|
end
|
|
|
|
#
|
|
# API endpoints
|
|
#
|
|
|
|
def add_rosteritem(payload)
|
|
post "add_rosteritem", payload
|
|
end
|
|
|
|
def send_message(payload)
|
|
post "send_message", payload
|
|
end
|
|
|
|
def send_stanza(payload)
|
|
post "send_stanza", payload
|
|
end
|
|
|
|
def get_vcard2(user, name, subname)
|
|
payload = {
|
|
user: user.cn, host: user.ou,
|
|
name: name, subname: subname
|
|
}
|
|
post "get_vcard2", payload
|
|
end
|
|
|
|
def private_get(user, element_name, namespace)
|
|
payload = {
|
|
user: user.cn, host: user.ou,
|
|
element: element_name, ns: namespace
|
|
}
|
|
post "private_get", payload
|
|
end
|
|
|
|
def private_set(user, content)
|
|
payload = {
|
|
user: user.cn, host: user.ou,
|
|
element: content
|
|
}
|
|
post "private_set", payload
|
|
end
|
|
end
|