Class: Etna::Clients::Janus

Inherits:
Object
  • Object
show all
Defined in:
lib/etna/clients/janus/client.rb,
lib/etna/clients/janus/models.rb

Defined Under Namespace

Classes: AddProjectRequest, AddUserRequest, GetProjectRequest, HtmlResponse, RefreshTokenRequest, TokenResponse, UpdatePermissionRequest, ViewerTokenRequest

Instance Method Summary collapse

Constructor Details

#initialize(host:, token:, persistent: true, ignore_ssl: false) ⇒ Janus

Returns a new instance of Janus.



10
11
12
13
14
15
16
17
18
19
# File 'lib/etna/clients/janus/client.rb', line 10

def initialize(host:, token:, persistent: true, ignore_ssl: false)
  raise 'Janus client configuration is missing host.' unless host
  raise 'Janus client configuration is missing token.' unless token
  @etna_client = ::Etna::Client.new(
    host,
    token,
    routes_available: false,
    persistent: persistent,
    ignore_ssl: ignore_ssl)
end

Instance Method Details

#add_project(add_project_request = AddProjectRequest.new) ⇒ Object



32
33
34
35
36
# File 'lib/etna/clients/janus/client.rb', line 32

def add_project(add_project_request = AddProjectRequest.new)
  @etna_client.post('/add_project', add_project_request) do |res|
    # Redirect, no response data
  end
end

#add_user(add_user_request = AddUserRequest.new) ⇒ Object



38
39
40
41
42
43
44
# File 'lib/etna/clients/janus/client.rb', line 38

def add_user(add_user_request = AddUserRequest.new)
  @etna_client.post(
    "/add_user/#{add_user_request.project_name}",
    add_user_request) do |res|
    # Redirect, no response data
  end
end

#get_project(get_project_request = GetProjectRequest.new) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/etna/clients/janus/client.rb', line 21

def get_project(get_project_request = GetProjectRequest.new)
  html = nil
  @etna_client.get(
    "/project/#{get_project_request.project_name}",
    get_project_request) do |res|
    html = res.body
  end

  HtmlResponse.new(html)
end

#refresh_token(refresh_token_request = RefreshTokenRequest.new) ⇒ Object



54
55
56
57
58
59
60
61
# File 'lib/etna/clients/janus/client.rb', line 54

def refresh_token(refresh_token_request = RefreshTokenRequest.new)
  token = nil
  @etna_client.get('/refresh_token', refresh_token_request) do |res|
    token = res.body
  end

  TokenResponse.new(token)
end

#update_permission(update_permission_request = UpdatePermissionRequest.new) ⇒ Object



46
47
48
49
50
51
52
# File 'lib/etna/clients/janus/client.rb', line 46

def update_permission(update_permission_request = UpdatePermissionRequest.new)
  @etna_client.post(
    "/update_permission/#{update_permission_request.project_name}",
    update_permission_request) do |res|
    # Redirect, no response data
  end
end

#viewer_token(viewer_token_request = ViewerTokenRequest.new) ⇒ Object



63
64
65
66
67
68
69
70
# File 'lib/etna/clients/janus/client.rb', line 63

def viewer_token(viewer_token_request = ViewerTokenRequest.new)
  token = nil
  @etna_client.get('/viewer_token', viewer_token_request) do |res|
    token = res.body
  end

  TokenResponse.new(token)
end