Class: Yandex360::UsersResource

Inherits:
Resource
  • Object
show all
Includes:
ParamBuilder
Defined in:
lib/yandex360/resources/users.rb

Instance Attribute Summary

Attributes inherited from Resource

#client

Instance Method Summary collapse

Methods inherited from Resource

#initialize

Constructor Details

This class inherits a constructor from Yandex360::Resource

Instance Method Details

#add(org_id:, dep_id:, **user_params) ⇒ Object



6
7
8
9
10
11
# File 'lib/yandex360/resources/users.rb', line 6

def add(org_id:, dep_id:, **user_params)
  validate_required_params({org_id: org_id, dep_id: dep_id}, i[org_id dep_id])
  user = build_user_params({departmentId: dep_id}, user_params)

  User.new post("/directory/v1/org/#{org_id}/users", body: user).body
end

#add_alias(org_id:, user_id:, user_alias:) ⇒ Object



13
14
15
16
17
18
# File 'lib/yandex360/resources/users.rb', line 13

def add_alias(org_id:, user_id:, user_alias:)
  validate_required_params({org_id: org_id, user_id: user_id, user_alias: user_alias},
                           i[org_id user_id user_alias])
  body = {alias: user_alias}
  User.new post("/directory/v1/org/#{org_id}/users/#{user_id}/aliases", body: body).body
end

#delete(org_id:, user_id:) ⇒ Object

rubocop:enable Naming/MethodName



51
52
53
54
# File 'lib/yandex360/resources/users.rb', line 51

def delete(org_id:, user_id:)
  validate_required_params({org_id: org_id, user_id: user_id}, i[org_id user_id])
  User.new delete_request("/directory/v1/org/#{org_id}/users/#{user_id}").body
end

#delete_alias(org_id:, user_id:, user_alias:) ⇒ Object



56
57
58
59
60
# File 'lib/yandex360/resources/users.rb', line 56

def delete_alias(org_id:, user_id:, user_alias:)
  validate_required_params({org_id: org_id, user_id: user_id, user_alias: user_alias},
                           i[org_id user_id user_alias])
  Alias.new delete_request("/directory/v1/org/#{org_id}/users/#{user_id}/aliases/#{user_alias}").body
end

#get2FA(org_id:, user_id:) ⇒ Object

rubocop:disable Naming/MethodName



40
41
42
43
44
# File 'lib/yandex360/resources/users.rb', line 40

def get2FA(org_id:, user_id:)
  validate_required_params({org_id: org_id, user_id: user_id}, i[org_id user_id])
  # TODO: add User2FA.new type
  Object.new get("/directory/v1/org/#{org_id}/users/#{user_id}/2fa").body
end

#has2FA?(org_id:, user_id:) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/yandex360/resources/users.rb', line 46

def has2FA?(org_id:, user_id:)
  get2FA(org_id: org_id, user_id: user_id).has2fa
end

#info(org_id:, user_id:) ⇒ Object



27
28
29
30
# File 'lib/yandex360/resources/users.rb', line 27

def info(org_id:, user_id:)
  validate_required_params({org_id: org_id, user_id: user_id}, i[org_id user_id])
  User.new get("/directory/v1/org/#{org_id}/users/#{user_id}").body
end

#list(org_id:, page: 1, per_page: 10) ⇒ Object



32
33
34
35
36
37
# File 'lib/yandex360/resources/users.rb', line 32

def list(org_id:, page: 1, per_page: 10)
  validate_required_params({org_id: org_id}, [:org_id])
  params = {page: page, perPage: per_page}
  resp = get("/directory/v1/org/#{org_id}/users", params: params)
  Collection.from_response(resp, key: "users", type: User)
end

#update(org_id:, user_id:, **user_params) ⇒ Object



20
21
22
23
24
25
# File 'lib/yandex360/resources/users.rb', line 20

def update(org_id:, user_id:, **user_params)
  validate_required_params({org_id: org_id, user_id: user_id}, i[org_id user_id])
  user = build_user_params({}, user_params)

  User.new patch("/directory/v1/org/#{org_id}/users/#{user_id}", body: user).body
end