Commit f187cc59 authored by Z.J. van de Weg's avatar Z.J. van de Weg

Small update to the Mattermost API

These changes make it possible to wrap multiple API requests in one
session.
parent b60de9c0
...@@ -8,21 +8,31 @@ module Mattermost ...@@ -8,21 +8,31 @@ module Mattermost
@user = user @user = user
end end
private
def with_session(&blk) def with_session(&blk)
Mattermost::Session.new(user).with_session(&blk) Mattermost::Session.new(user).with_session(&blk)
end end
def json_get(path, options = {}) private
with_session do |session|
# Should be used in a session manually
def get(session, path, options = {})
json_response session.get(path, options) json_response session.get(path, options)
end end
# Should be used in a session manually
def post(session, path, options = {})
json_response session.post(path, options)
end
def session_get(path, options = {})
with_session do |session|
get(session, path, options)
end
end end
def json_post(path, options = {}) def session_post(path, options = {})
with_session do |session| with_session do |session|
json_response session.post(path, options) post(session, path, options)
end end
end end
......
module Mattermost module Mattermost
class Command < Client class Command < Client
def create(params) def create(params)
response = json_post("/api/v3/teams/#{params[:team_id]}/commands/create", response = session_post("/api/v3/teams/#{params[:team_id]}/commands/create",
body: params.to_json) body: params.to_json)
response['token'] response['token']
......
module Mattermost module Mattermost
class Team < Client class Team < Client
def all def all
json_get('/api/v3/teams/all') session_get('/api/v3/teams/all')
end end
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment