asana 0.9.3 → 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.swagger-codegen-ignore +3 -0
  3. data/.travis.yml +2 -1
  4. data/Appraisals +2 -35
  5. data/Gemfile +2 -0
  6. data/README.md +3 -51
  7. data/VERSION +1 -0
  8. data/asana.gemspec +3 -3
  9. data/examples/Gemfile.lock +10 -10
  10. data/lib/asana/client.rb +10 -10
  11. data/lib/asana/http_client.rb +8 -2
  12. data/lib/asana/resource_includes/attachment_uploading.rb +14 -7
  13. data/lib/asana/resource_includes/collection.rb +5 -0
  14. data/lib/asana/resource_includes/resource.rb +0 -4
  15. data/lib/asana/resources/attachment.rb +2 -5
  16. data/lib/asana/resources/batch_api.rb +15 -0
  17. data/lib/asana/resources/custom_field_settings.rb +2 -5
  18. data/lib/asana/resources/custom_fields.rb +2 -5
  19. data/lib/asana/resources/events.rb +28 -0
  20. data/lib/asana/resources/gen/attachments_base.rb +56 -0
  21. data/lib/asana/resources/gen/batch_api_base.rb +30 -0
  22. data/lib/asana/resources/gen/custom_field_settings_base.rb +46 -0
  23. data/lib/asana/resources/gen/custom_fields_base.rb +124 -0
  24. data/lib/asana/resources/gen/events_base.rb +32 -0
  25. data/lib/asana/resources/gen/jobs_base.rb +30 -0
  26. data/lib/asana/resources/gen/organization_exports_base.rb +44 -0
  27. data/lib/asana/resources/gen/portfolio_memberships_base.rb +63 -0
  28. data/lib/asana/resources/gen/portfolios_base.rb +173 -0
  29. data/lib/asana/resources/gen/project_memberships_base.rb +46 -0
  30. data/lib/asana/resources/gen/project_statuses_base.rb +69 -0
  31. data/lib/asana/resources/gen/projects_base.rb +259 -0
  32. data/lib/asana/resources/gen/sections_base.rb +108 -0
  33. data/lib/asana/resources/gen/stories_base.rb +84 -0
  34. data/lib/asana/resources/gen/tags_base.rb +129 -0
  35. data/lib/asana/resources/gen/tasks_base.rb +425 -0
  36. data/lib/asana/resources/gen/team_memberships_base.rb +77 -0
  37. data/lib/asana/resources/gen/teams_base.rb +88 -0
  38. data/lib/asana/resources/gen/typeahead_base.rb +35 -0
  39. data/lib/asana/resources/gen/user_task_lists_base.rb +44 -0
  40. data/lib/asana/resources/gen/users_base.rb +88 -0
  41. data/lib/asana/resources/gen/webhooks_base.rb +70 -0
  42. data/lib/asana/resources/gen/workspace_memberships_base.rb +60 -0
  43. data/lib/asana/resources/gen/workspaces_base.rb +82 -0
  44. data/lib/asana/resources/job.rb +2 -3
  45. data/lib/asana/resources/organization_export.rb +2 -5
  46. data/lib/asana/resources/portfolio.rb +2 -5
  47. data/lib/asana/resources/portfolio_membership.rb +2 -5
  48. data/lib/asana/resources/project.rb +2 -5
  49. data/lib/asana/resources/project_membership.rb +2 -5
  50. data/lib/asana/resources/project_status.rb +2 -5
  51. data/lib/asana/resources/section.rb +18 -22
  52. data/lib/asana/resources/story.rb +2 -5
  53. data/lib/asana/resources/tag.rb +2 -5
  54. data/lib/asana/resources/task.rb +2 -5
  55. data/lib/asana/resources/team.rb +2 -5
  56. data/lib/asana/resources/team_membership.rb +26 -0
  57. data/lib/asana/resources/typeahead.rb +22 -0
  58. data/lib/asana/resources/user.rb +2 -5
  59. data/lib/asana/resources/user_task_list.rb +2 -5
  60. data/lib/asana/resources/webhook.rb +2 -5
  61. data/lib/asana/resources/workspace.rb +2 -6
  62. data/lib/asana/resources/workspace_membership.rb +32 -0
  63. data/lib/asana/version.rb +1 -1
  64. data/samples/attachments_sample.yaml +41 -0
  65. data/samples/batch_api_sample.yaml +11 -0
  66. data/samples/custom_field_settings_sample.yaml +21 -0
  67. data/samples/custom_fields_sample.yaml +81 -0
  68. data/samples/events_sample.yaml +11 -0
  69. data/samples/jobs_sample.yaml +11 -0
  70. data/samples/organization_exports_sample.yaml +21 -0
  71. data/samples/portfolio_memberships_sample.yaml +31 -0
  72. data/samples/portfolios_sample.yaml +121 -0
  73. data/samples/project_memberships_sample.yaml +21 -0
  74. data/samples/project_statuses_sample.yaml +41 -0
  75. data/samples/projects_sample.yaml +181 -0
  76. data/samples/sections_sample.yaml +71 -0
  77. data/samples/stories_sample.yaml +51 -0
  78. data/samples/tags_sample.yaml +81 -0
  79. data/samples/tasks_sample.yaml +261 -0
  80. data/samples/team_memberships_sample.yaml +41 -0
  81. data/samples/teams_sample.yaml +51 -0
  82. data/samples/typeahead_sample.yaml +11 -0
  83. data/samples/user_task_lists_sample.yaml +21 -0
  84. data/samples/users_sample.yaml +51 -0
  85. data/samples/webhooks_sample.yaml +41 -0
  86. data/samples/workspace_memberships_sample.yaml +31 -0
  87. data/samples/workspaces_sample.yaml +51 -0
  88. data/swagger_templates/api.mustache +41 -0
  89. data/swagger_templates/api_doc.mustache +12 -0
  90. data/swagger_templates/ruby-config.json +6 -0
  91. metadata +70 -13
@@ -0,0 +1,425 @@
1
+ ### WARNING: This file is auto-generated by our OpenAPI spec. Do not
2
+ ### edit it manually.
3
+
4
+ require_relative '../../resource_includes/response_helper'
5
+
6
+ module Asana
7
+ module Resources
8
+ class TasksBase < Resource
9
+
10
+ def self.inherited(base)
11
+ Registry.register(base)
12
+ end
13
+
14
+ class << self
15
+ # Set dependencies for a task
16
+ #
17
+ # task_gid - [str] (required) The task to operate on.
18
+ # options - [Hash] the request I/O options
19
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
20
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
21
+ # data - [Hash] the attributes to POST
22
+ def add_dependencies_for_task(client, task_gid: required("task_gid"), options: {}, **data)
23
+ path = "/tasks/{task_gid}/addDependencies"
24
+ path["{task_gid}"] = task_gid
25
+ parse(client.post(path, body: data, options: options)).first
26
+ end
27
+
28
+ # Set dependents for a task
29
+ #
30
+ # task_gid - [str] (required) The task to operate on.
31
+ # options - [Hash] the request I/O options
32
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
33
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
34
+ # data - [Hash] the attributes to POST
35
+ def add_dependents_for_task(client, task_gid: required("task_gid"), options: {}, **data)
36
+ path = "/tasks/{task_gid}/addDependents"
37
+ path["{task_gid}"] = task_gid
38
+ Collection.new(parse(client.post(path, body: data, options: options)), type: Task, client: client)
39
+ end
40
+
41
+ # Add followers to a task
42
+ #
43
+ # task_gid - [str] (required) The task to operate on.
44
+ # options - [Hash] the request I/O options
45
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
46
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
47
+ # data - [Hash] the attributes to POST
48
+ def add_followers_for_task(client, task_gid: required("task_gid"), options: {}, **data)
49
+ path = "/tasks/{task_gid}/addFollowers"
50
+ path["{task_gid}"] = task_gid
51
+ parse(client.post(path, body: data, options: options)).first
52
+ end
53
+
54
+ # Add a project to a task
55
+ #
56
+ # task_gid - [str] (required) The task to operate on.
57
+ # options - [Hash] the request I/O options
58
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
59
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
60
+ # data - [Hash] the attributes to POST
61
+ def add_project_for_task(client, task_gid: required("task_gid"), options: {}, **data)
62
+ path = "/tasks/{task_gid}/addProject"
63
+ path["{task_gid}"] = task_gid
64
+ parse(client.post(path, body: data, options: options)).first
65
+ end
66
+
67
+ # Add a tag to a task
68
+ #
69
+ # task_gid - [str] (required) The task to operate on.
70
+ # options - [Hash] the request I/O options
71
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
72
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
73
+ # data - [Hash] the attributes to POST
74
+ def add_tag_for_task(client, task_gid: required("task_gid"), options: {}, **data)
75
+ path = "/tasks/{task_gid}/addTag"
76
+ path["{task_gid}"] = task_gid
77
+ parse(client.post(path, body: data, options: options)).first
78
+ end
79
+
80
+ # Create a subtask
81
+ #
82
+ # task_gid - [str] (required) The task to operate on.
83
+ # options - [Hash] the request I/O options
84
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
85
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
86
+ # data - [Hash] the attributes to POST
87
+ def create_subtask_for_task(client, task_gid: required("task_gid"), options: {}, **data)
88
+ path = "/tasks/{task_gid}/subtasks"
89
+ path["{task_gid}"] = task_gid
90
+ Task.new(parse(client.post(path, body: data, options: options)).first, client: client)
91
+ end
92
+
93
+ # Create a task
94
+ #
95
+
96
+ # options - [Hash] the request I/O options
97
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
98
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
99
+ # data - [Hash] the attributes to POST
100
+ def create_task(client, options: {}, **data)
101
+ path = "/tasks"
102
+ Task.new(parse(client.post(path, body: data, options: options)).first, client: client)
103
+ end
104
+
105
+ # Delete a task
106
+ #
107
+ # task_gid - [str] (required) The task to operate on.
108
+ # options - [Hash] the request I/O options
109
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
110
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
111
+ def delete_task(client, task_gid: required("task_gid"), options: {})
112
+ path = "/tasks/{task_gid}"
113
+ path["{task_gid}"] = task_gid
114
+ parse(client.delete(path, options: options)).first
115
+ end
116
+
117
+ # Duplicate a task
118
+ #
119
+ # task_gid - [str] (required) The task to operate on.
120
+ # options - [Hash] the request I/O options
121
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
122
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
123
+ # data - [Hash] the attributes to POST
124
+ def duplicate_task(client, task_gid: required("task_gid"), options: {}, **data)
125
+ path = "/tasks/{task_gid}/duplicate"
126
+ path["{task_gid}"] = task_gid
127
+ Job.new(parse(client.post(path, body: data, options: options)).first, client: client)
128
+ end
129
+
130
+ # Get dependencies from a task
131
+ #
132
+ # task_gid - [str] (required) The task to operate on.
133
+ # options - [Hash] the request I/O options
134
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
135
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
136
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
137
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
138
+ def get_dependencies_for_task(client, task_gid: required("task_gid"), options: {})
139
+ path = "/tasks/{task_gid}/dependencies"
140
+ path["{task_gid}"] = task_gid
141
+ Collection.new(parse(client.get(path, options: options)), type: Task, client: client)
142
+ end
143
+
144
+ # Get dependents from a task
145
+ #
146
+ # task_gid - [str] (required) The task to operate on.
147
+ # options - [Hash] the request I/O options
148
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
149
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
150
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
151
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
152
+ def get_dependents_for_task(client, task_gid: required("task_gid"), options: {})
153
+ path = "/tasks/{task_gid}/dependents"
154
+ path["{task_gid}"] = task_gid
155
+ Collection.new(parse(client.get(path, options: options)), type: Task, client: client)
156
+ end
157
+
158
+ # Get subtasks from a task
159
+ #
160
+ # task_gid - [str] (required) The task to operate on.
161
+ # options - [Hash] the request I/O options
162
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
163
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
164
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
165
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
166
+ def get_subtasks_for_task(client, task_gid: required("task_gid"), options: {})
167
+ path = "/tasks/{task_gid}/subtasks"
168
+ path["{task_gid}"] = task_gid
169
+ Collection.new(parse(client.get(path, options: options)), type: Task, client: client)
170
+ end
171
+
172
+ # Get a task
173
+ #
174
+ # task_gid - [str] (required) The task to operate on.
175
+ # options - [Hash] the request I/O options
176
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
177
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
178
+ def get_task(client, task_gid: required("task_gid"), options: {})
179
+ path = "/tasks/{task_gid}"
180
+ path["{task_gid}"] = task_gid
181
+ Task.new(parse(client.get(path, options: options)).first, client: client)
182
+ end
183
+
184
+ # Get multiple tasks
185
+ #
186
+
187
+ # assignee - [str] The assignee to filter tasks on. *Note: If you specify `assignee`, you must also specify the `workspace` to filter on.*
188
+ # project - [str] The project to filter tasks on.
189
+ # section - [str] The section to filter tasks on. *Note: Currently, this is only supported in board views.*
190
+ # workspace - [str] The workspace to filter tasks on. *Note: If you specify `workspace`, you must also specify the `assignee` to filter on.*
191
+ # completed_since - [datetime] Only return tasks that are either incomplete or that have been completed since this time.
192
+ # modified_since - [datetime] Only return tasks that have been modified since the given time. *Note: A task is considered “modified” if any of its properties change, or associations between it and other objects are modified (e.g. a task being added to a project). A task is not considered modified just because another object it is associated with (e.g. a subtask) is modified. Actions that count as modifying the task include assigning, renaming, completing, and adding stories.*
193
+ # options - [Hash] the request I/O options
194
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
195
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
196
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
197
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
198
+ def get_tasks(client, assignee: nil, project: nil, section: nil, workspace: nil, completed_since: nil, modified_since: nil, options: {})
199
+ path = "/tasks"
200
+ params = { assignee: assignee, project: project, section: section, workspace: workspace, completed_since: completed_since, modified_since: modified_since }.reject { |_,v| v.nil? || Array(v).empty? }
201
+ Collection.new(parse(client.get(path, params: params, options: options)), type: Task, client: client)
202
+ end
203
+
204
+ # Get tasks from a project
205
+ #
206
+ # project_gid - [str] (required) Globally unique identifier for the project.
207
+ # options - [Hash] the request I/O options
208
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
209
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
210
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
211
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
212
+ def get_tasks_for_project(client, project_gid: required("project_gid"), options: {})
213
+ path = "/projects/{project_gid}/tasks"
214
+ path["{project_gid}"] = project_gid
215
+ Collection.new(parse(client.get(path, options: options)), type: Task, client: client)
216
+ end
217
+
218
+ # Get tasks from a section
219
+ #
220
+ # section_gid - [str] (required) The globally unique identifier for the section.
221
+ # options - [Hash] the request I/O options
222
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
223
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
224
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
225
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
226
+ def get_tasks_for_section(client, section_gid: required("section_gid"), options: {})
227
+ path = "/sections/{section_gid}/tasks"
228
+ path["{section_gid}"] = section_gid
229
+ Collection.new(parse(client.get(path, options: options)), type: Task, client: client)
230
+ end
231
+
232
+ # Get tasks from a tag
233
+ #
234
+ # tag_gid - [str] (required) Globally unique identifier for the tag.
235
+ # options - [Hash] the request I/O options
236
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
237
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
238
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
239
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
240
+ def get_tasks_for_tag(client, tag_gid: required("tag_gid"), options: {})
241
+ path = "/tags/{tag_gid}/tasks"
242
+ path["{tag_gid}"] = tag_gid
243
+ Collection.new(parse(client.get(path, options: options)), type: Task, client: client)
244
+ end
245
+
246
+ # Get tasks from a user task list
247
+ #
248
+ # user_task_list_gid - [str] (required) Globally unique identifier for the user task list.
249
+ # completed_since - [str] Only return tasks that are either incomplete or that have been completed since this time. Accepts a date-time string or the keyword *now*.
250
+ # options - [Hash] the request I/O options
251
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
252
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
253
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
254
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
255
+ def get_tasks_for_user_task_list(client, user_task_list_gid: required("user_task_list_gid"), completed_since: nil, options: {})
256
+ path = "/user_task_lists/{user_task_list_gid}/tasks"
257
+ path["{user_task_list_gid}"] = user_task_list_gid
258
+ params = { completed_since: completed_since }.reject { |_,v| v.nil? || Array(v).empty? }
259
+ Collection.new(parse(client.get(path, params: params, options: options)), type: Task, client: client)
260
+ end
261
+
262
+ # Unlink dependencies from a task
263
+ #
264
+ # task_gid - [str] (required) The task to operate on.
265
+ # options - [Hash] the request I/O options
266
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
267
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
268
+ # data - [Hash] the attributes to POST
269
+ def remove_dependencies_for_task(client, task_gid: required("task_gid"), options: {}, **data)
270
+ path = "/tasks/{task_gid}/removeDependencies"
271
+ path["{task_gid}"] = task_gid
272
+ Collection.new(parse(client.post(path, body: data, options: options)), type: Resource, client: client)
273
+ end
274
+
275
+ # Unlink dependents from a task
276
+ #
277
+ # task_gid - [str] (required) The task to operate on.
278
+ # options - [Hash] the request I/O options
279
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
280
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
281
+ # data - [Hash] the attributes to POST
282
+ def remove_dependents_for_task(client, task_gid: required("task_gid"), options: {}, **data)
283
+ path = "/tasks/{task_gid}/removeDependents"
284
+ path["{task_gid}"] = task_gid
285
+ Collection.new(parse(client.post(path, body: data, options: options)), type: Resource, client: client)
286
+ end
287
+
288
+ # Remove followers from a task
289
+ #
290
+ # task_gid - [str] (required) The task to operate on.
291
+ # options - [Hash] the request I/O options
292
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
293
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
294
+ # data - [Hash] the attributes to POST
295
+ def remove_follower_for_task(client, task_gid: required("task_gid"), options: {}, **data)
296
+ path = "/tasks/{task_gid}/removeFollowers"
297
+ path["{task_gid}"] = task_gid
298
+ parse(client.post(path, body: data, options: options)).first
299
+ end
300
+
301
+ # Remove a project from a task
302
+ #
303
+ # task_gid - [str] (required) The task to operate on.
304
+ # options - [Hash] the request I/O options
305
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
306
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
307
+ # data - [Hash] the attributes to POST
308
+ def remove_project_for_task(client, task_gid: required("task_gid"), options: {}, **data)
309
+ path = "/tasks/{task_gid}/removeProject"
310
+ path["{task_gid}"] = task_gid
311
+ parse(client.post(path, body: data, options: options)).first
312
+ end
313
+
314
+ # Remove a tag from a task
315
+ #
316
+ # task_gid - [str] (required) The task to operate on.
317
+ # options - [Hash] the request I/O options
318
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
319
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
320
+ # data - [Hash] the attributes to POST
321
+ def remove_tag_for_task(client, task_gid: required("task_gid"), options: {}, **data)
322
+ path = "/tasks/{task_gid}/removeTag"
323
+ path["{task_gid}"] = task_gid
324
+ parse(client.post(path, body: data, options: options)).first
325
+ end
326
+
327
+ # Search tasks in a workspace
328
+ #
329
+ # workspace_gid - [str] (required) Globally unique identifier for the workspace or organization.
330
+ # text - [str] Performs full-text search on both task name and description
331
+ # resource_subtype - [str] Filters results by the task's resource_subtype
332
+ # assignee_any - [str] Comma-separated list of user identifiers
333
+ # assignee_not - [str] Comma-separated list of user identifiers
334
+ # assignee_status - [str] One of `inbox`, `today`, `upcoming`, or `later`
335
+ # portfolios_any - [str] Comma-separated list of portfolio IDs
336
+ # projects_any - [str] Comma-separated list of project IDs
337
+ # projects_not - [str] Comma-separated list of project IDs
338
+ # projects_all - [str] Comma-separated list of project IDs
339
+ # sections_any - [str] Comma-separated list of section or column IDs
340
+ # sections_not - [str] Comma-separated list of section or column IDs
341
+ # sections_all - [str] Comma-separated list of section or column IDs
342
+ # tags_any - [str] Comma-separated list of tag IDs
343
+ # tags_not - [str] Comma-separated list of tag IDs
344
+ # tags_all - [str] Comma-separated list of tag IDs
345
+ # teams_any - [str] Comma-separated list of team IDs
346
+ # followers_any - [str] Comma-separated list of user identifiers
347
+ # followers_not - [str] Comma-separated list of user identifiers
348
+ # created_by_any - [str] Comma-separated list of user identifiers
349
+ # created_by_not - [str] Comma-separated list of user identifiers
350
+ # assigned_by_any - [str] Comma-separated list of user identifiers
351
+ # assigned_by_not - [str] Comma-separated list of user identifiers
352
+ # liked_by_any - [str] Comma-separated list of user identifiers
353
+ # liked_by_not - [str] Comma-separated list of user identifiers
354
+ # commented_on_by_any - [str] Comma-separated list of user identifiers
355
+ # commented_on_by_not - [str] Comma-separated list of user identifiers
356
+ # due_on_before - [date] ISO 8601 date string
357
+ # due_on_after - [date] ISO 8601 date string
358
+ # due_on - [date] ISO 8601 date string or `null`
359
+ # due_at_before - [datetime] ISO 8601 datetime string
360
+ # due_at_after - [datetime] ISO 8601 datetime string
361
+ # start_on_before - [date] ISO 8601 date string
362
+ # start_on_after - [date] ISO 8601 date string
363
+ # start_on - [date] ISO 8601 date string or `null`
364
+ # created_on_before - [date] ISO 8601 date string
365
+ # created_on_after - [date] ISO 8601 date string
366
+ # created_on - [date] ISO 8601 date string or `null`
367
+ # created_at_before - [datetime] ISO 8601 datetime string
368
+ # created_at_after - [datetime] ISO 8601 datetime string
369
+ # completed_on_before - [date] ISO 8601 date string
370
+ # completed_on_after - [date] ISO 8601 date string
371
+ # completed_on - [date] ISO 8601 date string or `null`
372
+ # completed_at_before - [datetime] ISO 8601 datetime string
373
+ # completed_at_after - [datetime] ISO 8601 datetime string
374
+ # modified_on_before - [date] ISO 8601 date string
375
+ # modified_on_after - [date] ISO 8601 date string
376
+ # modified_on - [date] ISO 8601 date string or `null`
377
+ # modified_at_before - [datetime] ISO 8601 datetime string
378
+ # modified_at_after - [datetime] ISO 8601 datetime string
379
+ # is_blocking - [bool] Filter to incomplete tasks with dependents
380
+ # is_blocked - [bool] Filter to tasks with incomplete dependencies
381
+ # has_attachment - [bool] Filter to tasks with attachments
382
+ # completed - [bool] Filter to completed tasks
383
+ # is_subtask - [bool] Filter to subtasks
384
+ # sort_by - [str] One of `due_date`, `created_at`, `completed_at`, `likes`, or `modified_at`, defaults to `modified_at`
385
+ # sort_ascending - [bool] Default `false`
386
+ # options - [Hash] the request I/O options
387
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
388
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
389
+ def search_tasks_for_workspace(client, workspace_gid: required("workspace_gid"), text: nil, resource_subtype: nil, assignee_any: nil, assignee_not: nil, assignee_status: nil, portfolios_any: nil, projects_any: nil, projects_not: nil, projects_all: nil, sections_any: nil, sections_not: nil, sections_all: nil, tags_any: nil, tags_not: nil, tags_all: nil, teams_any: nil, followers_any: nil, followers_not: nil, created_by_any: nil, created_by_not: nil, assigned_by_any: nil, assigned_by_not: nil, liked_by_any: nil, liked_by_not: nil, commented_on_by_any: nil, commented_on_by_not: nil, due_on_before: nil, due_on_after: nil, due_on: nil, due_at_before: nil, due_at_after: nil, start_on_before: nil, start_on_after: nil, start_on: nil, created_on_before: nil, created_on_after: nil, created_on: nil, created_at_before: nil, created_at_after: nil, completed_on_before: nil, completed_on_after: nil, completed_on: nil, completed_at_before: nil, completed_at_after: nil, modified_on_before: nil, modified_on_after: nil, modified_on: nil, modified_at_before: nil, modified_at_after: nil, is_blocking: nil, is_blocked: nil, has_attachment: nil, completed: nil, is_subtask: nil, sort_by: nil, sort_ascending: nil, options: {})
390
+ path = "/workspaces/{workspace_gid}/tasks/search"
391
+ path["{workspace_gid}"] = workspace_gid
392
+ params = { text: text, resource_subtype: resource_subtype, "assignee.any": assignee_any, "assignee.not": assignee_not, assignee_status: assignee_status, "portfolios.any": portfolios_any, "projects.any": projects_any, "projects.not": projects_not, "projects.all": projects_all, "sections.any": sections_any, "sections.not": sections_not, "sections.all": sections_all, "tags.any": tags_any, "tags.not": tags_not, "tags.all": tags_all, "teams.any": teams_any, "followers.any": followers_any, "followers.not": followers_not, "created_by.any": created_by_any, "created_by.not": created_by_not, "assigned_by.any": assigned_by_any, "assigned_by.not": assigned_by_not, "liked_by.any": liked_by_any, "liked_by.not": liked_by_not, "commented_on_by.any": commented_on_by_any, "commented_on_by.not": commented_on_by_not, due_on_before: due_on_before, due_on_after: due_on_after, due_on: due_on, due_at_before: due_at_before, due_at_after: due_at_after, start_on_before: start_on_before, start_on_after: start_on_after, start_on: start_on, created_on_before: created_on_before, created_on_after: created_on_after, created_on: created_on, created_at_before: created_at_before, created_at_after: created_at_after, completed_on_before: completed_on_before, completed_on_after: completed_on_after, completed_on: completed_on, completed_at_before: completed_at_before, completed_at_after: completed_at_after, modified_on_before: modified_on_before, modified_on_after: modified_on_after, modified_on: modified_on, modified_at_before: modified_at_before, modified_at_after: modified_at_after, is_blocking: is_blocking, is_blocked: is_blocked, has_attachment: has_attachment, completed: completed, is_subtask: is_subtask, sort_by: sort_by, sort_ascending: sort_ascending }.reject { |_,v| v.nil? || Array(v).empty? }
393
+ Collection.new(parse(client.get(path, params: params, options: options)), type: Task, client: client)
394
+ end
395
+
396
+ # Set the parent of a task
397
+ #
398
+ # task_gid - [str] (required) The task to operate on.
399
+ # options - [Hash] the request I/O options
400
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
401
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
402
+ # data - [Hash] the attributes to POST
403
+ def set_parent_for_task(client, task_gid: required("task_gid"), options: {}, **data)
404
+ path = "/tasks/{task_gid}/setParent"
405
+ path["{task_gid}"] = task_gid
406
+ Task.new(parse(client.post(path, body: data, options: options)).first, client: client)
407
+ end
408
+
409
+ # Update a task
410
+ #
411
+ # task_gid - [str] (required) The task to operate on.
412
+ # options - [Hash] the request I/O options
413
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
414
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
415
+ # data - [Hash] the attributes to PUT
416
+ def update_task(client, task_gid: required("task_gid"), options: {}, **data)
417
+ path = "/tasks/{task_gid}"
418
+ path["{task_gid}"] = task_gid
419
+ Task.new(parse(client.put(path, body: data, options: options)).first, client: client)
420
+ end
421
+
422
+ end
423
+ end
424
+ end
425
+ end
@@ -0,0 +1,77 @@
1
+ ### WARNING: This file is auto-generated by our OpenAPI spec. Do not
2
+ ### edit it manually.
3
+
4
+ require_relative '../../resource_includes/response_helper'
5
+
6
+ module Asana
7
+ module Resources
8
+ class TeamMembershipsBase < Resource
9
+
10
+ def self.inherited(base)
11
+ Registry.register(base)
12
+ end
13
+
14
+ class << self
15
+ # Get a team membership
16
+ #
17
+ # team_membership_gid - [str] (required)
18
+ # options - [Hash] the request I/O options
19
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
20
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
21
+ def get_team_membership(client, team_membership_gid: required("team_membership_gid"), options: {})
22
+ path = "/team_memberships/{team_membership_gid}"
23
+ path["{team_membership_gid}"] = team_membership_gid
24
+ parse(client.get(path, options: options)).first
25
+ end
26
+
27
+ # Get team memberships
28
+ #
29
+
30
+ # team - [str] Globally unique identifier for the team.
31
+ # user - [str] A string identifying a user. This can either be the string \"me\", an email, or the gid of a user. This parameter must be used with the workspace parameter.
32
+ # workspace - [str] Globally unique identifier for the workspace. This parameter must be used with the user parameter.
33
+ # options - [Hash] the request I/O options
34
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
35
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
36
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
37
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
38
+ def get_team_memberships(client, team: nil, user: nil, workspace: nil, options: {})
39
+ path = "/team_memberships"
40
+ params = { team: team, user: user, workspace: workspace }.reject { |_,v| v.nil? || Array(v).empty? }
41
+ Collection.new(parse(client.get(path, params: params, options: options)), type: Resource, client: client)
42
+ end
43
+
44
+ # Get memberships from a team
45
+ #
46
+ # team_gid - [str] (required) Globally unique identifier for the team.
47
+ # options - [Hash] the request I/O options
48
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
49
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
50
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
51
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
52
+ def get_team_memberships_for_team(client, team_gid: required("team_gid"), options: {})
53
+ path = "/teams/{team_gid}/team_memberships"
54
+ path["{team_gid}"] = team_gid
55
+ Collection.new(parse(client.get(path, options: options)), type: Resource, client: client)
56
+ end
57
+
58
+ # Get memberships from a user
59
+ #
60
+ # user_gid - [str] (required) A string identifying a user. This can either be the string \"me\", an email, or the gid of a user.
61
+ # workspace - [str] (required) Globally unique identifier for the workspace.
62
+ # options - [Hash] the request I/O options
63
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
64
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
65
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
66
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
67
+ def get_team_memberships_for_user(client, user_gid: required("user_gid"), workspace: nil, options: {})
68
+ path = "/users/{user_gid}/team_memberships"
69
+ path["{user_gid}"] = user_gid
70
+ params = { workspace: workspace }.reject { |_,v| v.nil? || Array(v).empty? }
71
+ Collection.new(parse(client.get(path, params: params, options: options)), type: Resource, client: client)
72
+ end
73
+
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,88 @@
1
+ ### WARNING: This file is auto-generated by our OpenAPI spec. Do not
2
+ ### edit it manually.
3
+
4
+ require_relative '../../resource_includes/response_helper'
5
+
6
+ module Asana
7
+ module Resources
8
+ class TeamsBase < Resource
9
+
10
+ def self.inherited(base)
11
+ Registry.register(base)
12
+ end
13
+
14
+ class << self
15
+ # Add a user to a team
16
+ #
17
+ # team_gid - [str] (required) Globally unique identifier for the team.
18
+ # options - [Hash] the request I/O options
19
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
20
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
21
+ # data - [Hash] the attributes to POST
22
+ def add_user_for_team(client, team_gid: required("team_gid"), options: {}, **data)
23
+ path = "/teams/{team_gid}/addUser"
24
+ path["{team_gid}"] = team_gid
25
+ User.new(parse(client.post(path, body: data, options: options)).first, client: client)
26
+ end
27
+
28
+ # Get a team
29
+ #
30
+ # team_gid - [str] (required) Globally unique identifier for the team.
31
+ # options - [Hash] the request I/O options
32
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
33
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
34
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
35
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
36
+ def get_team(client, team_gid: required("team_gid"), options: {})
37
+ path = "/teams/{team_gid}"
38
+ path["{team_gid}"] = team_gid
39
+ Team.new(parse(client.get(path, options: options)).first, client: client)
40
+ end
41
+
42
+ # Get teams in an organization
43
+ #
44
+ # workspace_gid - [str] (required) Globally unique identifier for the workspace or organization.
45
+ # options - [Hash] the request I/O options
46
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
47
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
48
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
49
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
50
+ def get_teams_for_organization(client, workspace_gid: required("workspace_gid"), options: {})
51
+ path = "/organizations/{workspace_gid}/teams"
52
+ path["{workspace_gid}"] = workspace_gid
53
+ Collection.new(parse(client.get(path, options: options)), type: Team, client: client)
54
+ end
55
+
56
+ # Get teams for a user
57
+ #
58
+ # user_gid - [str] (required) A string identifying a user. This can either be the string \"me\", an email, or the gid of a user.
59
+ # organization - [str] (required) The workspace or organization to filter teams on.
60
+ # options - [Hash] the request I/O options
61
+ # > offset - [str] Offset token. An offset to the next page returned by the API. A pagination request will return an offset token, which can be used as an input parameter to the next request. If an offset is not passed in, the API will return the first page of results. 'Note: You can only pass in an offset that was returned to you via a previously paginated request.'
62
+ # > limit - [int] Results per page. The number of objects to return per page. The value must be between 1 and 100.
63
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
64
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
65
+ def get_teams_for_user(client, user_gid: required("user_gid"), organization: nil, options: {})
66
+ path = "/users/{user_gid}/teams"
67
+ path["{user_gid}"] = user_gid
68
+ params = { organization: organization }.reject { |_,v| v.nil? || Array(v).empty? }
69
+ Collection.new(parse(client.get(path, params: params, options: options)), type: Team, client: client)
70
+ end
71
+
72
+ # Remove a user from a team
73
+ #
74
+ # team_gid - [str] (required) Globally unique identifier for the team.
75
+ # options - [Hash] the request I/O options
76
+ # > opt_fields - [list[str]] Defines fields to return. Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. The id of included objects will always be returned, regardless of the field options.
77
+ # > opt_pretty - [bool] Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.
78
+ # data - [Hash] the attributes to POST
79
+ def remove_user_for_team(client, team_gid: required("team_gid"), options: {}, **data)
80
+ path = "/teams/{team_gid}/removeUser"
81
+ path["{team_gid}"] = team_gid
82
+ parse(client.post(path, body: data, options: options)).first
83
+ end
84
+
85
+ end
86
+ end
87
+ end
88
+ end