Class: Yandex360::DepartmentsResource
- Includes:
- ParamBuilder
- Defined in:
- lib/yandex360/resources/departments.rb
Instance Attribute Summary
Attributes inherited from Resource
Instance Method Summary collapse
- #add_alias(org_id:, dep_id:, name:) ⇒ Object
-
#create(org_id:, name:, parent_id:, **params) ⇒ Object
parent_id:, name:, description: "", external_id: "", head_id: 0, label: "".
- #delete(org_id:, dep_id:) ⇒ Object
- #delete_alias(org_id:, dep_id:, name:) ⇒ Object
- #info(org_id:, dep_id:) ⇒ Object
- #list(org_id:, page: 1, per_page: 10, parent_id: 0, order_by: "id") ⇒ Object
- #update(org_id:, dep_id:, parent_id:, **params) ⇒ Object
Methods inherited from Resource
Constructor Details
This class inherits a constructor from Yandex360::Resource
Instance Method Details
#add_alias(org_id:, dep_id:, name:) ⇒ Object
6 7 8 9 10 |
# File 'lib/yandex360/resources/departments.rb', line 6 def add_alias(org_id:, dep_id:, name:) validate_required_params({org_id: org_id, dep_id: dep_id, name: name}, %i[org_id dep_id name]) dep_alias = {alias: name} DepartmentAlias.new post("/directory/v1/org/#{org_id}/departments/#{dep_id}/aliases", body: dep_alias).body end |
#create(org_id:, name:, parent_id:, **params) ⇒ Object
parent_id:, name:, description: "", external_id: "", head_id: 0, label: ""
40 41 42 43 44 45 46 47 48 |
# File 'lib/yandex360/resources/departments.rb', line 40 def create(org_id:, name:, parent_id:, **params) validate_required_params({org_id: org_id, name: name, parent_id: parent_id}, %i[org_id name parent_id]) department = build_department_params({ parentId: parent_id, name: name }, params) Department.new post("/directory/v1/org/#{org_id}/departments", body: department).body end |
#delete(org_id:, dep_id:) ⇒ Object
55 56 57 58 |
# File 'lib/yandex360/resources/departments.rb', line 55 def delete(org_id:, dep_id:) validate_required_params({org_id: org_id, dep_id: dep_id}, %i[org_id dep_id]) Object.new delete_request("/directory/v1/org/#{org_id}/departments/#{dep_id}").body end |
#delete_alias(org_id:, dep_id:, name:) ⇒ Object
50 51 52 53 |
# File 'lib/yandex360/resources/departments.rb', line 50 def delete_alias(org_id:, dep_id:, name:) validate_required_params({org_id: org_id, dep_id: dep_id, name: name}, %i[org_id dep_id name]) Object.new delete_request("/directory/v1/org/#{org_id}/departments/#{dep_id}/aliases/#{name}").body end |
#info(org_id:, dep_id:) ⇒ Object
22 23 24 25 |
# File 'lib/yandex360/resources/departments.rb', line 22 def info(org_id:, dep_id:) validate_required_params({org_id: org_id, dep_id: dep_id}, %i[org_id dep_id]) Department.new get("/directory/v1/org/#{org_id}/departments/#{dep_id}").body end |
#list(org_id:, page: 1, per_page: 10, parent_id: 0, order_by: "id") ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/yandex360/resources/departments.rb', line 27 def list(org_id:, page: 1, per_page: 10, parent_id: 0, order_by: "id") validate_required_params({org_id: org_id}, [:org_id]) params = { page: page, perPage: per_page, parentId: parent_id, orderBy: order_by } resp = get("/directory/v1/org/#{org_id}/departments", params: params) Collection.from_response(resp, key: "departments", type: Department) end |
#update(org_id:, dep_id:, parent_id:, **params) ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/yandex360/resources/departments.rb', line 12 def update(org_id:, dep_id:, parent_id:, **params) validate_required_params({org_id: org_id, dep_id: dep_id, parent_id: parent_id}, %i[org_id dep_id parent_id]) department = build_department_params({ orgId: org_id, departmentId: dep_id, parentId: parent_id }, params) Department.new patch("/directory/v1/org/#{org_id}/departments/#{dep_id}", body: department).body end |