shortcut_client_ruby 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (453) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +2303 -0
  5. data/Rakefile +8 -0
  6. data/bin/console +15 -0
  7. data/bin/setup +8 -0
  8. data/bin/update.rb +34 -0
  9. data/config.json +7 -0
  10. data/docs/BasicWorkspaceInfo.md +8 -0
  11. data/docs/Branch.md +17 -0
  12. data/docs/Category.md +15 -0
  13. data/docs/Commit.md +19 -0
  14. data/docs/CreateCategory.md +10 -0
  15. data/docs/CreateCategoryParams.md +9 -0
  16. data/docs/CreateCommentComment.md +11 -0
  17. data/docs/CreateEntityTemplate.md +9 -0
  18. data/docs/CreateEpic.md +23 -0
  19. data/docs/CreateEpicComment.md +11 -0
  20. data/docs/CreateGroup.md +14 -0
  21. data/docs/CreateIteration.md +13 -0
  22. data/docs/CreateLabelParams.md +10 -0
  23. data/docs/CreateLinkedFile.md +15 -0
  24. data/docs/CreateMilestone.md +12 -0
  25. data/docs/CreateOrDeleteStoryReaction.md +7 -0
  26. data/docs/CreateProject.md +17 -0
  27. data/docs/CreateStories.md +7 -0
  28. data/docs/CreateStoryComment.md +11 -0
  29. data/docs/CreateStoryCommentParams.md +11 -0
  30. data/docs/CreateStoryContents.md +27 -0
  31. data/docs/CreateStoryLink.md +9 -0
  32. data/docs/CreateStoryLinkParams.md +9 -0
  33. data/docs/CreateStoryParams.md +33 -0
  34. data/docs/CreateTask.md +12 -0
  35. data/docs/CreateTaskParams.md +12 -0
  36. data/docs/DefaultApi.md +5632 -0
  37. data/docs/DeleteStories.md +7 -0
  38. data/docs/EntityTemplate.md +14 -0
  39. data/docs/EntityTemplateTask.md +10 -0
  40. data/docs/Epic.md +44 -0
  41. data/docs/EpicSearchResults.md +10 -0
  42. data/docs/EpicSlim.md +43 -0
  43. data/docs/EpicState.md +15 -0
  44. data/docs/EpicStats.md +19 -0
  45. data/docs/EpicWorkflow.md +12 -0
  46. data/docs/GetEpicStories.md +7 -0
  47. data/docs/GetExternalLinkStoriesParams.md +7 -0
  48. data/docs/GetIterationStories.md +7 -0
  49. data/docs/GetLabelStories.md +7 -0
  50. data/docs/GetMember.md +7 -0
  51. data/docs/GetProjectStories.md +7 -0
  52. data/docs/Group.md +22 -0
  53. data/docs/History.md +15 -0
  54. data/docs/HistoryActionBranchCreate.md +11 -0
  55. data/docs/HistoryActionBranchMerge.md +11 -0
  56. data/docs/HistoryActionBranchPush.md +11 -0
  57. data/docs/HistoryActionLabelCreate.md +11 -0
  58. data/docs/HistoryActionLabelDelete.md +10 -0
  59. data/docs/HistoryActionLabelUpdate.md +9 -0
  60. data/docs/HistoryActionProjectUpdate.md +11 -0
  61. data/docs/HistoryActionPullRequest.md +12 -0
  62. data/docs/HistoryActionStoryCommentCreate.md +12 -0
  63. data/docs/HistoryActionStoryCreate.md +30 -0
  64. data/docs/HistoryActionStoryDelete.md +11 -0
  65. data/docs/HistoryActionStoryLinkCreate.md +12 -0
  66. data/docs/HistoryActionStoryLinkDelete.md +12 -0
  67. data/docs/HistoryActionStoryLinkUpdate.md +13 -0
  68. data/docs/HistoryActionStoryUpdate.md +13 -0
  69. data/docs/HistoryActionTaskCreate.md +15 -0
  70. data/docs/HistoryActionTaskDelete.md +10 -0
  71. data/docs/HistoryActionTaskUpdate.md +13 -0
  72. data/docs/HistoryChangesStory.md +30 -0
  73. data/docs/HistoryChangesStoryLink.md +9 -0
  74. data/docs/HistoryChangesTask.md +10 -0
  75. data/docs/HistoryReferenceBranch.md +10 -0
  76. data/docs/HistoryReferenceCommit.md +10 -0
  77. data/docs/HistoryReferenceEpic.md +10 -0
  78. data/docs/HistoryReferenceGeneral.md +9 -0
  79. data/docs/HistoryReferenceGroup.md +9 -0
  80. data/docs/HistoryReferenceIteration.md +10 -0
  81. data/docs/HistoryReferenceLabel.md +10 -0
  82. data/docs/HistoryReferenceProject.md +10 -0
  83. data/docs/HistoryReferenceStory.md +11 -0
  84. data/docs/HistoryReferenceStoryTask.md +9 -0
  85. data/docs/HistoryReferenceWorkflowState.md +10 -0
  86. data/docs/Icon.md +11 -0
  87. data/docs/Identity.md +9 -0
  88. data/docs/Iteration.md +24 -0
  89. data/docs/IterationSlim.md +23 -0
  90. data/docs/IterationStats.md +17 -0
  91. data/docs/Label.md +17 -0
  92. data/docs/LabelSlim.md +16 -0
  93. data/docs/LabelStats.md +21 -0
  94. data/docs/LinkedFile.md +22 -0
  95. data/docs/ListEpics.md +7 -0
  96. data/docs/ListGroupStories.md +8 -0
  97. data/docs/ListLabels.md +7 -0
  98. data/docs/ListMembers.md +7 -0
  99. data/docs/MaxSearchResultsExceededError.md +9 -0
  100. data/docs/Member.md +17 -0
  101. data/docs/MemberInfo.md +10 -0
  102. data/docs/Milestone.md +23 -0
  103. data/docs/MilestoneStats.md +9 -0
  104. data/docs/Profile.md +15 -0
  105. data/docs/Project.md +25 -0
  106. data/docs/ProjectStats.md +9 -0
  107. data/docs/PullRequest.md +28 -0
  108. data/docs/PullRequestLabel.md +11 -0
  109. data/docs/Repository.md +15 -0
  110. data/docs/Search.md +10 -0
  111. data/docs/SearchResults.md +8 -0
  112. data/docs/SearchStories.md +34 -0
  113. data/docs/Story.md +56 -0
  114. data/docs/StoryComment.md +20 -0
  115. data/docs/StoryContents.md +25 -0
  116. data/docs/StoryContentsTask.md +11 -0
  117. data/docs/StoryHistoryChangeAddsRemovesInt.md +8 -0
  118. data/docs/StoryHistoryChangeAddsRemovesUuid.md +8 -0
  119. data/docs/StoryHistoryChangeOldNewBool.md +8 -0
  120. data/docs/StoryHistoryChangeOldNewInt.md +8 -0
  121. data/docs/StoryHistoryChangeOldNewStr.md +8 -0
  122. data/docs/StoryHistoryChangeOldNewUuid.md +8 -0
  123. data/docs/StoryLink.md +14 -0
  124. data/docs/StoryReaction.md +8 -0
  125. data/docs/StorySearchResults.md +10 -0
  126. data/docs/StorySlim.md +54 -0
  127. data/docs/StoryStats.md +7 -0
  128. data/docs/Task.md +20 -0
  129. data/docs/ThreadedComment.md +19 -0
  130. data/docs/TypedStoryLink.md +15 -0
  131. data/docs/UnusableEntitlementError.md +9 -0
  132. data/docs/UpdateCategory.md +9 -0
  133. data/docs/UpdateComment.md +7 -0
  134. data/docs/UpdateEntityTemplate.md +8 -0
  135. data/docs/UpdateEpic.md +23 -0
  136. data/docs/UpdateFile.md +12 -0
  137. data/docs/UpdateGroup.md +15 -0
  138. data/docs/UpdateIteration.md +13 -0
  139. data/docs/UpdateLabel.md +10 -0
  140. data/docs/UpdateLinkedFile.md +14 -0
  141. data/docs/UpdateMilestone.md +14 -0
  142. data/docs/UpdateProject.md +15 -0
  143. data/docs/UpdateStories.md +27 -0
  144. data/docs/UpdateStory.md +32 -0
  145. data/docs/UpdateStoryComment.md +7 -0
  146. data/docs/UpdateStoryContents.md +27 -0
  147. data/docs/UpdateStoryLink.md +9 -0
  148. data/docs/UpdateTask.md +11 -0
  149. data/docs/UploadedFile.md +23 -0
  150. data/docs/V3FilesBody.md +11 -0
  151. data/docs/Workflow.md +17 -0
  152. data/docs/WorkflowState.md +18 -0
  153. data/git_push.sh +55 -0
  154. data/lib/shortcut/client/ruby/version.rb +9 -0
  155. data/lib/shortcut/client/ruby.rb +12 -0
  156. data/lib/shortcut_client_ruby/api/default_api.rb +6091 -0
  157. data/lib/shortcut_client_ruby/api_client.rb +388 -0
  158. data/lib/shortcut_client_ruby/api_error.rb +57 -0
  159. data/lib/shortcut_client_ruby/configuration.rb +205 -0
  160. data/lib/shortcut_client_ruby/models/basic_workspace_info.rb +227 -0
  161. data/lib/shortcut_client_ruby/models/branch.rb +371 -0
  162. data/lib/shortcut_client_ruby/models/category.rb +335 -0
  163. data/lib/shortcut_client_ruby/models/commit.rb +398 -0
  164. data/lib/shortcut_client_ruby/models/create_category.rb +281 -0
  165. data/lib/shortcut_client_ruby/models/create_category_params.rb +233 -0
  166. data/lib/shortcut_client_ruby/models/create_comment_comment.rb +252 -0
  167. data/lib/shortcut_client_ruby/models/create_entity_template.rb +237 -0
  168. data/lib/shortcut_client_ruby/models/create_epic.rb +416 -0
  169. data/lib/shortcut_client_ruby/models/create_epic_comment.rb +252 -0
  170. data/lib/shortcut_client_ruby/models/create_group.rb +325 -0
  171. data/lib/shortcut_client_ruby/models/create_iteration.rb +288 -0
  172. data/lib/shortcut_client_ruby/models/create_label_params.rb +243 -0
  173. data/lib/shortcut_client_ruby/models/create_linked_file.rb +336 -0
  174. data/lib/shortcut_client_ruby/models/create_milestone.rb +298 -0
  175. data/lib/shortcut_client_ruby/models/create_or_delete_story_reaction.rb +212 -0
  176. data/lib/shortcut_client_ruby/models/create_project.rb +319 -0
  177. data/lib/shortcut_client_ruby/models/create_stories.rb +214 -0
  178. data/lib/shortcut_client_ruby/models/create_story_comment.rb +252 -0
  179. data/lib/shortcut_client_ruby/models/create_story_comment_params.rb +253 -0
  180. data/lib/shortcut_client_ruby/models/create_story_contents.rb +433 -0
  181. data/lib/shortcut_client_ruby/models/create_story_link.rb +276 -0
  182. data/lib/shortcut_client_ruby/models/create_story_link_params.rb +267 -0
  183. data/lib/shortcut_client_ruby/models/create_story_params.rb +532 -0
  184. data/lib/shortcut_client_ruby/models/create_task.rb +264 -0
  185. data/lib/shortcut_client_ruby/models/create_task_params.rb +265 -0
  186. data/lib/shortcut_client_ruby/models/delete_stories.rb +214 -0
  187. data/lib/shortcut_client_ruby/models/entity_template.rb +317 -0
  188. data/lib/shortcut_client_ruby/models/entity_template_task.rb +245 -0
  189. data/lib/shortcut_client_ruby/models/epic.rb +799 -0
  190. data/lib/shortcut_client_ruby/models/epic_search_results.rb +257 -0
  191. data/lib/shortcut_client_ruby/models/epic_slim.rb +777 -0
  192. data/lib/shortcut_client_ruby/models/epic_state.rb +328 -0
  193. data/lib/shortcut_client_ruby/models/epic_stats.rb +384 -0
  194. data/lib/shortcut_client_ruby/models/epic_workflow.rb +290 -0
  195. data/lib/shortcut_client_ruby/models/get_epic_stories.rb +207 -0
  196. data/lib/shortcut_client_ruby/models/get_external_link_stories_params.rb +212 -0
  197. data/lib/shortcut_client_ruby/models/get_iteration_stories.rb +207 -0
  198. data/lib/shortcut_client_ruby/models/get_label_stories.rb +207 -0
  199. data/lib/shortcut_client_ruby/models/get_member.rb +207 -0
  200. data/lib/shortcut_client_ruby/models/get_project_stories.rb +207 -0
  201. data/lib/shortcut_client_ruby/models/group.rb +479 -0
  202. data/lib/shortcut_client_ruby/models/history.rb +347 -0
  203. data/lib/shortcut_client_ruby/models/history_action_branch_create.rb +307 -0
  204. data/lib/shortcut_client_ruby/models/history_action_branch_merge.rb +307 -0
  205. data/lib/shortcut_client_ruby/models/history_action_branch_push.rb +307 -0
  206. data/lib/shortcut_client_ruby/models/history_action_label_create.rb +307 -0
  207. data/lib/shortcut_client_ruby/models/history_action_label_delete.rb +292 -0
  208. data/lib/shortcut_client_ruby/models/history_action_label_update.rb +277 -0
  209. data/lib/shortcut_client_ruby/models/history_action_project_update.rb +307 -0
  210. data/lib/shortcut_client_ruby/models/history_action_pull_request.rb +322 -0
  211. data/lib/shortcut_client_ruby/models/history_action_story_comment_create.rb +322 -0
  212. data/lib/shortcut_client_ruby/models/history_action_story_create.rb +527 -0
  213. data/lib/shortcut_client_ruby/models/history_action_story_delete.rb +319 -0
  214. data/lib/shortcut_client_ruby/models/history_action_story_link_create.rb +334 -0
  215. data/lib/shortcut_client_ruby/models/history_action_story_link_delete.rb +336 -0
  216. data/lib/shortcut_client_ruby/models/history_action_story_link_update.rb +348 -0
  217. data/lib/shortcut_client_ruby/models/history_action_story_update.rb +343 -0
  218. data/lib/shortcut_client_ruby/models/history_action_task_create.rb +353 -0
  219. data/lib/shortcut_client_ruby/models/history_action_task_delete.rb +292 -0
  220. data/lib/shortcut_client_ruby/models/history_action_task_update.rb +331 -0
  221. data/lib/shortcut_client_ruby/models/history_changes_story.rb +414 -0
  222. data/lib/shortcut_client_ruby/models/history_changes_story_link.rb +225 -0
  223. data/lib/shortcut_client_ruby/models/history_changes_task.rb +234 -0
  224. data/lib/shortcut_client_ruby/models/history_reference_branch.rb +258 -0
  225. data/lib/shortcut_client_ruby/models/history_reference_commit.rb +258 -0
  226. data/lib/shortcut_client_ruby/models/history_reference_epic.rb +258 -0
  227. data/lib/shortcut_client_ruby/models/history_reference_general.rb +243 -0
  228. data/lib/shortcut_client_ruby/models/history_reference_group.rb +243 -0
  229. data/lib/shortcut_client_ruby/models/history_reference_iteration.rb +258 -0
  230. data/lib/shortcut_client_ruby/models/history_reference_label.rb +258 -0
  231. data/lib/shortcut_client_ruby/models/history_reference_project.rb +258 -0
  232. data/lib/shortcut_client_ruby/models/history_reference_story.rb +307 -0
  233. data/lib/shortcut_client_ruby/models/history_reference_story_task.rb +243 -0
  234. data/lib/shortcut_client_ruby/models/history_reference_workflow_state.rb +292 -0
  235. data/lib/shortcut_client_ruby/models/icon.rb +273 -0
  236. data/lib/shortcut_client_ruby/models/identity.rb +245 -0
  237. data/lib/shortcut_client_ruby/models/iteration.rb +481 -0
  238. data/lib/shortcut_client_ruby/models/iteration_slim.rb +466 -0
  239. data/lib/shortcut_client_ruby/models/iteration_stats.rb +353 -0
  240. data/lib/shortcut_client_ruby/models/label.rb +362 -0
  241. data/lib/shortcut_client_ruby/models/label_slim.rb +353 -0
  242. data/lib/shortcut_client_ruby/models/label_stats.rb +423 -0
  243. data/lib/shortcut_client_ruby/models/linked_file.rb +450 -0
  244. data/lib/shortcut_client_ruby/models/list_epics.rb +207 -0
  245. data/lib/shortcut_client_ruby/models/list_group_stories.rb +217 -0
  246. data/lib/shortcut_client_ruby/models/list_labels.rb +207 -0
  247. data/lib/shortcut_client_ruby/models/list_members.rb +207 -0
  248. data/lib/shortcut_client_ruby/models/max_search_results_exceeded_error.rb +289 -0
  249. data/lib/shortcut_client_ruby/models/member.rb +395 -0
  250. data/lib/shortcut_client_ruby/models/member_info.rb +253 -0
  251. data/lib/shortcut_client_ruby/models/milestone.rb +453 -0
  252. data/lib/shortcut_client_ruby/models/milestone_stats.rb +233 -0
  253. data/lib/shortcut_client_ruby/models/profile.rb +330 -0
  254. data/lib/shortcut_client_ruby/models/project.rb +490 -0
  255. data/lib/shortcut_client_ruby/models/project_stats.rb +243 -0
  256. data/lib/shortcut_client_ruby/models/pull_request.rb +518 -0
  257. data/lib/shortcut_client_ruby/models/pull_request_label.rb +269 -0
  258. data/lib/shortcut_client_ruby/models/repository.rb +340 -0
  259. data/lib/shortcut_client_ruby/models/search.rb +275 -0
  260. data/lib/shortcut_client_ruby/models/search_results.rb +226 -0
  261. data/lib/shortcut_client_ruby/models/search_stories.rb +529 -0
  262. data/lib/shortcut_client_ruby/models/story.rb +985 -0
  263. data/lib/shortcut_client_ruby/models/story_comment.rb +419 -0
  264. data/lib/shortcut_client_ruby/models/story_contents.rb +404 -0
  265. data/lib/shortcut_client_ruby/models/story_contents_task.rb +255 -0
  266. data/lib/shortcut_client_ruby/models/story_history_change_adds_removes_int.rb +222 -0
  267. data/lib/shortcut_client_ruby/models/story_history_change_adds_removes_uuid.rb +222 -0
  268. data/lib/shortcut_client_ruby/models/story_history_change_old_new_bool.rb +218 -0
  269. data/lib/shortcut_client_ruby/models/story_history_change_old_new_int.rb +218 -0
  270. data/lib/shortcut_client_ruby/models/story_history_change_old_new_str.rb +218 -0
  271. data/lib/shortcut_client_ruby/models/story_history_change_old_new_uuid.rb +218 -0
  272. data/lib/shortcut_client_ruby/models/story_link.rb +318 -0
  273. data/lib/shortcut_client_ruby/models/story_reaction.rb +230 -0
  274. data/lib/shortcut_client_ruby/models/story_search_results.rb +257 -0
  275. data/lib/shortcut_client_ruby/models/story_slim.rb +944 -0
  276. data/lib/shortcut_client_ruby/models/story_stats.rb +213 -0
  277. data/lib/shortcut_client_ruby/models/task.rb +418 -0
  278. data/lib/shortcut_client_ruby/models/threaded_comment.rb +402 -0
  279. data/lib/shortcut_client_ruby/models/typed_story_link.rb +333 -0
  280. data/lib/shortcut_client_ruby/models/unusable_entitlement_error.rb +276 -0
  281. data/lib/shortcut_client_ruby/models/update_category.rb +228 -0
  282. data/lib/shortcut_client_ruby/models/update_comment.rb +212 -0
  283. data/lib/shortcut_client_ruby/models/update_entity_template.rb +217 -0
  284. data/lib/shortcut_client_ruby/models/update_epic.rb +413 -0
  285. data/lib/shortcut_client_ruby/models/update_file.rb +257 -0
  286. data/lib/shortcut_client_ruby/models/update_group.rb +328 -0
  287. data/lib/shortcut_client_ruby/models/update_iteration.rb +273 -0
  288. data/lib/shortcut_client_ruby/models/update_label.rb +238 -0
  289. data/lib/shortcut_client_ruby/models/update_linked_file.rb +311 -0
  290. data/lib/shortcut_client_ruby/models/update_milestone.rb +315 -0
  291. data/lib/shortcut_client_ruby/models/update_project.rb +289 -0
  292. data/lib/shortcut_client_ruby/models/update_stories.rb +480 -0
  293. data/lib/shortcut_client_ruby/models/update_story.rb +529 -0
  294. data/lib/shortcut_client_ruby/models/update_story_comment.rb +212 -0
  295. data/lib/shortcut_client_ruby/models/update_story_contents.rb +434 -0
  296. data/lib/shortcut_client_ruby/models/update_story_link.rb +261 -0
  297. data/lib/shortcut_client_ruby/models/update_task.rb +249 -0
  298. data/lib/shortcut_client_ruby/models/uploaded_file.rb +466 -0
  299. data/lib/shortcut_client_ruby/models/v3_files_body.rb +252 -0
  300. data/lib/shortcut_client_ruby/models/workflow.rb +367 -0
  301. data/lib/shortcut_client_ruby/models/workflow_state.rb +374 -0
  302. data/lib/shortcut_client_ruby/version.rb +14 -0
  303. data/lib/shortcut_client_ruby.rb +181 -0
  304. data/shortcut-client-ruby.gemspec +36 -0
  305. data/shortcut_client_ruby.gemspec +38 -0
  306. data/spec/api/default_api_spec.rb +1310 -0
  307. data/spec/api_client_spec.rb +225 -0
  308. data/spec/base_object_spec.rb +109 -0
  309. data/spec/configuration_spec.rb +41 -0
  310. data/spec/models/basic_workspace_info_spec.rb +46 -0
  311. data/spec/models/branch_spec.rb +100 -0
  312. data/spec/models/category_spec.rb +88 -0
  313. data/spec/models/commit_spec.rb +112 -0
  314. data/spec/models/create_category_params_spec.rb +52 -0
  315. data/spec/models/create_category_spec.rb +62 -0
  316. data/spec/models/create_comment_comment_spec.rb +64 -0
  317. data/spec/models/create_entity_template_spec.rb +52 -0
  318. data/spec/models/create_epic_comment_spec.rb +64 -0
  319. data/spec/models/create_epic_spec.rb +140 -0
  320. data/spec/models/create_group_spec.rb +86 -0
  321. data/spec/models/create_iteration_spec.rb +76 -0
  322. data/spec/models/create_label_params_spec.rb +58 -0
  323. data/spec/models/create_linked_file_spec.rb +92 -0
  324. data/spec/models/create_milestone_spec.rb +74 -0
  325. data/spec/models/create_or_delete_story_reaction_spec.rb +40 -0
  326. data/spec/models/create_project_spec.rb +100 -0
  327. data/spec/models/create_stories_spec.rb +40 -0
  328. data/spec/models/create_story_comment_params_spec.rb +64 -0
  329. data/spec/models/create_story_comment_spec.rb +64 -0
  330. data/spec/models/create_story_contents_spec.rb +160 -0
  331. data/spec/models/create_story_link_params_spec.rb +56 -0
  332. data/spec/models/create_story_link_spec.rb +56 -0
  333. data/spec/models/create_story_params_spec.rb +200 -0
  334. data/spec/models/create_task_params_spec.rb +70 -0
  335. data/spec/models/create_task_spec.rb +70 -0
  336. data/spec/models/delete_stories_spec.rb +40 -0
  337. data/spec/models/entity_template_spec.rb +82 -0
  338. data/spec/models/entity_template_task_spec.rb +58 -0
  339. data/spec/models/epic_search_results_spec.rb +58 -0
  340. data/spec/models/epic_slim_spec.rb +256 -0
  341. data/spec/models/epic_spec.rb +262 -0
  342. data/spec/models/epic_state_spec.rb +88 -0
  343. data/spec/models/epic_stats_spec.rb +112 -0
  344. data/spec/models/epic_workflow_spec.rb +70 -0
  345. data/spec/models/get_epic_stories_spec.rb +40 -0
  346. data/spec/models/get_external_link_stories_params_spec.rb +40 -0
  347. data/spec/models/get_iteration_stories_spec.rb +40 -0
  348. data/spec/models/get_label_stories_spec.rb +40 -0
  349. data/spec/models/get_member_spec.rb +40 -0
  350. data/spec/models/get_project_stories_spec.rb +40 -0
  351. data/spec/models/group_spec.rb +134 -0
  352. data/spec/models/history_action_branch_create_spec.rb +68 -0
  353. data/spec/models/history_action_branch_merge_spec.rb +68 -0
  354. data/spec/models/history_action_branch_push_spec.rb +68 -0
  355. data/spec/models/history_action_label_create_spec.rb +68 -0
  356. data/spec/models/history_action_label_delete_spec.rb +62 -0
  357. data/spec/models/history_action_label_update_spec.rb +56 -0
  358. data/spec/models/history_action_project_update_spec.rb +68 -0
  359. data/spec/models/history_action_pull_request_spec.rb +74 -0
  360. data/spec/models/history_action_story_comment_create_spec.rb +74 -0
  361. data/spec/models/history_action_story_create_spec.rb +186 -0
  362. data/spec/models/history_action_story_delete_spec.rb +72 -0
  363. data/spec/models/history_action_story_link_create_spec.rb +78 -0
  364. data/spec/models/history_action_story_link_delete_spec.rb +78 -0
  365. data/spec/models/history_action_story_link_update_spec.rb +84 -0
  366. data/spec/models/history_action_story_update_spec.rb +84 -0
  367. data/spec/models/history_action_task_create_spec.rb +92 -0
  368. data/spec/models/history_action_task_delete_spec.rb +62 -0
  369. data/spec/models/history_action_task_update_spec.rb +80 -0
  370. data/spec/models/history_changes_story_link_spec.rb +52 -0
  371. data/spec/models/history_changes_story_spec.rb +178 -0
  372. data/spec/models/history_changes_task_spec.rb +58 -0
  373. data/spec/models/history_reference_branch_spec.rb +58 -0
  374. data/spec/models/history_reference_commit_spec.rb +58 -0
  375. data/spec/models/history_reference_epic_spec.rb +58 -0
  376. data/spec/models/history_reference_general_spec.rb +52 -0
  377. data/spec/models/history_reference_group_spec.rb +52 -0
  378. data/spec/models/history_reference_iteration_spec.rb +58 -0
  379. data/spec/models/history_reference_label_spec.rb +58 -0
  380. data/spec/models/history_reference_project_spec.rb +58 -0
  381. data/spec/models/history_reference_story_spec.rb +68 -0
  382. data/spec/models/history_reference_story_task_spec.rb +52 -0
  383. data/spec/models/history_reference_workflow_state_spec.rb +62 -0
  384. data/spec/models/history_spec.rb +92 -0
  385. data/spec/models/icon_spec.rb +64 -0
  386. data/spec/models/identity_spec.rb +52 -0
  387. data/spec/models/iteration_slim_spec.rb +136 -0
  388. data/spec/models/iteration_spec.rb +142 -0
  389. data/spec/models/iteration_stats_spec.rb +100 -0
  390. data/spec/models/label_slim_spec.rb +94 -0
  391. data/spec/models/label_spec.rb +100 -0
  392. data/spec/models/label_stats_spec.rb +124 -0
  393. data/spec/models/linked_file_spec.rb +130 -0
  394. data/spec/models/list_epics_spec.rb +40 -0
  395. data/spec/models/list_group_stories_spec.rb +46 -0
  396. data/spec/models/list_labels_spec.rb +40 -0
  397. data/spec/models/list_members_spec.rb +40 -0
  398. data/spec/models/max_search_results_exceeded_error_spec.rb +60 -0
  399. data/spec/models/member_info_spec.rb +58 -0
  400. data/spec/models/member_spec.rb +104 -0
  401. data/spec/models/milestone_spec.rb +136 -0
  402. data/spec/models/milestone_stats_spec.rb +52 -0
  403. data/spec/models/profile_spec.rb +88 -0
  404. data/spec/models/project_spec.rb +148 -0
  405. data/spec/models/project_stats_spec.rb +52 -0
  406. data/spec/models/pull_request_label_spec.rb +64 -0
  407. data/spec/models/pull_request_spec.rb +166 -0
  408. data/spec/models/repository_spec.rb +88 -0
  409. data/spec/models/search_results_spec.rb +46 -0
  410. data/spec/models/search_spec.rb +62 -0
  411. data/spec/models/search_stories_spec.rb +210 -0
  412. data/spec/models/story_comment_spec.rb +118 -0
  413. data/spec/models/story_contents_spec.rb +148 -0
  414. data/spec/models/story_contents_task_spec.rb +64 -0
  415. data/spec/models/story_history_change_adds_removes_int_spec.rb +46 -0
  416. data/spec/models/story_history_change_adds_removes_uuid_spec.rb +46 -0
  417. data/spec/models/story_history_change_old_new_bool_spec.rb +46 -0
  418. data/spec/models/story_history_change_old_new_int_spec.rb +46 -0
  419. data/spec/models/story_history_change_old_new_str_spec.rb +46 -0
  420. data/spec/models/story_history_change_old_new_uuid_spec.rb +46 -0
  421. data/spec/models/story_link_spec.rb +82 -0
  422. data/spec/models/story_reaction_spec.rb +46 -0
  423. data/spec/models/story_search_results_spec.rb +58 -0
  424. data/spec/models/story_slim_spec.rb +322 -0
  425. data/spec/models/story_spec.rb +334 -0
  426. data/spec/models/story_stats_spec.rb +40 -0
  427. data/spec/models/task_spec.rb +118 -0
  428. data/spec/models/threaded_comment_spec.rb +112 -0
  429. data/spec/models/typed_story_link_spec.rb +88 -0
  430. data/spec/models/unusable_entitlement_error_spec.rb +56 -0
  431. data/spec/models/update_category_spec.rb +52 -0
  432. data/spec/models/update_comment_spec.rb +40 -0
  433. data/spec/models/update_entity_template_spec.rb +46 -0
  434. data/spec/models/update_epic_spec.rb +140 -0
  435. data/spec/models/update_file_spec.rb +70 -0
  436. data/spec/models/update_group_spec.rb +92 -0
  437. data/spec/models/update_iteration_spec.rb +76 -0
  438. data/spec/models/update_label_spec.rb +58 -0
  439. data/spec/models/update_linked_file_spec.rb +86 -0
  440. data/spec/models/update_milestone_spec.rb +86 -0
  441. data/spec/models/update_project_spec.rb +88 -0
  442. data/spec/models/update_stories_spec.rb +168 -0
  443. data/spec/models/update_story_comment_spec.rb +40 -0
  444. data/spec/models/update_story_contents_spec.rb +160 -0
  445. data/spec/models/update_story_link_spec.rb +56 -0
  446. data/spec/models/update_story_spec.rb +198 -0
  447. data/spec/models/update_task_spec.rb +64 -0
  448. data/spec/models/uploaded_file_spec.rb +136 -0
  449. data/spec/models/v3_files_body_spec.rb +64 -0
  450. data/spec/models/workflow_spec.rb +100 -0
  451. data/spec/models/workflow_state_spec.rb +106 -0
  452. data/spec/spec_helper.rb +110 -0
  453. metadata +701 -0
@@ -0,0 +1,777 @@
1
+ =begin
2
+ #Shortcut API
3
+
4
+ #Shortcut API
5
+
6
+ OpenAPI spec version: 3.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.35
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module Shortcut
15
+ # EpicSlim represents the same resource as an Epic but is more light-weight, including all Epic fields except the comments array. The description string can be optionally included. Use the [Get Epic](#Get-Epic) endpoint to fetch the unabridged payload for an Epic.
16
+ class EpicSlim
17
+ # The Shortcut application url for the Epic.
18
+ attr_accessor :app_url
19
+
20
+ # The Epic's description.
21
+ attr_accessor :description
22
+
23
+ # True/false boolean that indicates whether the Epic is archived or not.
24
+ attr_accessor :archived
25
+
26
+ # A true/false boolean indicating if the Epic has been started.
27
+ attr_accessor :started
28
+
29
+ # A string description of this resource.
30
+ attr_accessor :entity_type
31
+
32
+ # An array of Labels attached to the Epic.
33
+ attr_accessor :labels
34
+
35
+ # Deprecated: use member_mention_ids.
36
+ attr_accessor :mention_ids
37
+
38
+ # An array of Member IDs that have been mentioned in the Epic description.
39
+ attr_accessor :member_mention_ids
40
+
41
+ # The IDs of Projects related to this Epic.
42
+ attr_accessor :project_ids
43
+
44
+ # The number of stories in this epic which are not associated with a project.
45
+ attr_accessor :stories_without_projects
46
+
47
+ # A manual override for the time/date the Epic was completed.
48
+ attr_accessor :completed_at_override
49
+
50
+ # The ID of the associated productboard integration.
51
+ attr_accessor :productboard_plugin_id
52
+
53
+ # The time/date the Epic was started.
54
+ attr_accessor :started_at
55
+
56
+ # The time/date the Epic was completed.
57
+ attr_accessor :completed_at
58
+
59
+ # The name of the Epic.
60
+ attr_accessor :name
61
+
62
+ # A true/false boolean indicating if the Epic has been completed.
63
+ attr_accessor :completed
64
+
65
+ # The URL of the associated productboard feature.
66
+ attr_accessor :productboard_url
67
+
68
+ # The Epic's planned start date.
69
+ attr_accessor :planned_start_date
70
+
71
+ # `Deprecated` The workflow state that the Epic is in.
72
+ attr_accessor :state
73
+
74
+ # The ID of the Milestone this Epic is related to.
75
+ attr_accessor :milestone_id
76
+
77
+ # The ID of the Member that requested the epic.
78
+ attr_accessor :requested_by_id
79
+
80
+ # The ID of the Epic State.
81
+ attr_accessor :epic_state_id
82
+
83
+ # An array of Label ids attached to the Epic.
84
+ attr_accessor :label_ids
85
+
86
+ # A manual override for the time/date the Epic was started.
87
+ attr_accessor :started_at_override
88
+
89
+ attr_accessor :group_id
90
+
91
+ # The time/date the Epic was updated.
92
+ attr_accessor :updated_at
93
+
94
+ # An array of Group IDs that have been mentioned in the Epic description.
95
+ attr_accessor :group_mention_ids
96
+
97
+ # The ID of the associated productboard feature.
98
+ attr_accessor :productboard_id
99
+
100
+ # An array of UUIDs for any Members you want to add as Followers on this Epic.
101
+ attr_accessor :follower_ids
102
+
103
+ # An array of UUIDs for any members you want to add as Owners on this new Epic.
104
+ attr_accessor :owner_ids
105
+
106
+ # This field can be set to another unique ID. In the case that the Epic has been imported from another tool, the ID in the other tool can be indicated here.
107
+ attr_accessor :external_id
108
+
109
+ # The unique ID of the Epic.
110
+ attr_accessor :id
111
+
112
+ # The Epic's relative position in the Epic workflow state.
113
+ attr_accessor :position
114
+
115
+ # The name of the associated productboard feature.
116
+ attr_accessor :productboard_name
117
+
118
+ # The Epic's deadline.
119
+ attr_accessor :deadline
120
+
121
+ attr_accessor :stats
122
+
123
+ # The time/date the Epic was created.
124
+ attr_accessor :created_at
125
+
126
+ # Attribute mapping from ruby-style variable name to JSON key.
127
+ def self.attribute_map
128
+ {
129
+ :'app_url' => :'app_url',
130
+ :'description' => :'description',
131
+ :'archived' => :'archived',
132
+ :'started' => :'started',
133
+ :'entity_type' => :'entity_type',
134
+ :'labels' => :'labels',
135
+ :'mention_ids' => :'mention_ids',
136
+ :'member_mention_ids' => :'member_mention_ids',
137
+ :'project_ids' => :'project_ids',
138
+ :'stories_without_projects' => :'stories_without_projects',
139
+ :'completed_at_override' => :'completed_at_override',
140
+ :'productboard_plugin_id' => :'productboard_plugin_id',
141
+ :'started_at' => :'started_at',
142
+ :'completed_at' => :'completed_at',
143
+ :'name' => :'name',
144
+ :'completed' => :'completed',
145
+ :'productboard_url' => :'productboard_url',
146
+ :'planned_start_date' => :'planned_start_date',
147
+ :'state' => :'state',
148
+ :'milestone_id' => :'milestone_id',
149
+ :'requested_by_id' => :'requested_by_id',
150
+ :'epic_state_id' => :'epic_state_id',
151
+ :'label_ids' => :'label_ids',
152
+ :'started_at_override' => :'started_at_override',
153
+ :'group_id' => :'group_id',
154
+ :'updated_at' => :'updated_at',
155
+ :'group_mention_ids' => :'group_mention_ids',
156
+ :'productboard_id' => :'productboard_id',
157
+ :'follower_ids' => :'follower_ids',
158
+ :'owner_ids' => :'owner_ids',
159
+ :'external_id' => :'external_id',
160
+ :'id' => :'id',
161
+ :'position' => :'position',
162
+ :'productboard_name' => :'productboard_name',
163
+ :'deadline' => :'deadline',
164
+ :'stats' => :'stats',
165
+ :'created_at' => :'created_at'
166
+ }
167
+ end
168
+
169
+ # Attribute type mapping.
170
+ def self.openapi_types
171
+ {
172
+ :'app_url' => :'Object',
173
+ :'description' => :'Object',
174
+ :'archived' => :'Object',
175
+ :'started' => :'Object',
176
+ :'entity_type' => :'Object',
177
+ :'labels' => :'Object',
178
+ :'mention_ids' => :'Object',
179
+ :'member_mention_ids' => :'Object',
180
+ :'project_ids' => :'Object',
181
+ :'stories_without_projects' => :'Object',
182
+ :'completed_at_override' => :'Object',
183
+ :'productboard_plugin_id' => :'Object',
184
+ :'started_at' => :'Object',
185
+ :'completed_at' => :'Object',
186
+ :'name' => :'Object',
187
+ :'completed' => :'Object',
188
+ :'productboard_url' => :'Object',
189
+ :'planned_start_date' => :'Object',
190
+ :'state' => :'Object',
191
+ :'milestone_id' => :'Object',
192
+ :'requested_by_id' => :'Object',
193
+ :'epic_state_id' => :'Object',
194
+ :'label_ids' => :'Object',
195
+ :'started_at_override' => :'Object',
196
+ :'group_id' => :'Object',
197
+ :'updated_at' => :'Object',
198
+ :'group_mention_ids' => :'Object',
199
+ :'productboard_id' => :'Object',
200
+ :'follower_ids' => :'Object',
201
+ :'owner_ids' => :'Object',
202
+ :'external_id' => :'Object',
203
+ :'id' => :'Object',
204
+ :'position' => :'Object',
205
+ :'productboard_name' => :'Object',
206
+ :'deadline' => :'Object',
207
+ :'stats' => :'Object',
208
+ :'created_at' => :'Object'
209
+ }
210
+ end
211
+
212
+ # List of attributes with nullable: true
213
+ def self.openapi_nullable
214
+ Set.new([
215
+ :'completed_at_override',
216
+ :'productboard_plugin_id',
217
+ :'started_at',
218
+ :'completed_at',
219
+ :'productboard_url',
220
+ :'planned_start_date',
221
+ :'milestone_id',
222
+ :'started_at_override',
223
+ :'group_id',
224
+ :'updated_at',
225
+ :'productboard_id',
226
+ :'external_id',
227
+ :'productboard_name',
228
+ :'deadline',
229
+ :'created_at'
230
+ ])
231
+ end
232
+
233
+ # Initializes the object
234
+ # @param [Hash] attributes Model attributes in the form of hash
235
+ def initialize(attributes = {})
236
+ if (!attributes.is_a?(Hash))
237
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Shortcut::EpicSlim` initialize method"
238
+ end
239
+
240
+ # check to see if the attribute exists and convert string to symbol for hash key
241
+ attributes = attributes.each_with_object({}) { |(k, v), h|
242
+ if (!self.class.attribute_map.key?(k.to_sym))
243
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Shortcut::EpicSlim`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
244
+ end
245
+ h[k.to_sym] = v
246
+ }
247
+
248
+ if attributes.key?(:'app_url')
249
+ self.app_url = attributes[:'app_url']
250
+ end
251
+
252
+ if attributes.key?(:'description')
253
+ self.description = attributes[:'description']
254
+ end
255
+
256
+ if attributes.key?(:'archived')
257
+ self.archived = attributes[:'archived']
258
+ end
259
+
260
+ if attributes.key?(:'started')
261
+ self.started = attributes[:'started']
262
+ end
263
+
264
+ if attributes.key?(:'entity_type')
265
+ self.entity_type = attributes[:'entity_type']
266
+ end
267
+
268
+ if attributes.key?(:'labels')
269
+ if (value = attributes[:'labels']).is_a?(Array)
270
+ self.labels = value
271
+ end
272
+ end
273
+
274
+ if attributes.key?(:'mention_ids')
275
+ if (value = attributes[:'mention_ids']).is_a?(Array)
276
+ self.mention_ids = value
277
+ end
278
+ end
279
+
280
+ if attributes.key?(:'member_mention_ids')
281
+ if (value = attributes[:'member_mention_ids']).is_a?(Array)
282
+ self.member_mention_ids = value
283
+ end
284
+ end
285
+
286
+ if attributes.key?(:'project_ids')
287
+ if (value = attributes[:'project_ids']).is_a?(Array)
288
+ self.project_ids = value
289
+ end
290
+ end
291
+
292
+ if attributes.key?(:'stories_without_projects')
293
+ self.stories_without_projects = attributes[:'stories_without_projects']
294
+ end
295
+
296
+ if attributes.key?(:'completed_at_override')
297
+ self.completed_at_override = attributes[:'completed_at_override']
298
+ end
299
+
300
+ if attributes.key?(:'productboard_plugin_id')
301
+ self.productboard_plugin_id = attributes[:'productboard_plugin_id']
302
+ end
303
+
304
+ if attributes.key?(:'started_at')
305
+ self.started_at = attributes[:'started_at']
306
+ end
307
+
308
+ if attributes.key?(:'completed_at')
309
+ self.completed_at = attributes[:'completed_at']
310
+ end
311
+
312
+ if attributes.key?(:'name')
313
+ self.name = attributes[:'name']
314
+ end
315
+
316
+ if attributes.key?(:'completed')
317
+ self.completed = attributes[:'completed']
318
+ end
319
+
320
+ if attributes.key?(:'productboard_url')
321
+ self.productboard_url = attributes[:'productboard_url']
322
+ end
323
+
324
+ if attributes.key?(:'planned_start_date')
325
+ self.planned_start_date = attributes[:'planned_start_date']
326
+ end
327
+
328
+ if attributes.key?(:'state')
329
+ self.state = attributes[:'state']
330
+ end
331
+
332
+ if attributes.key?(:'milestone_id')
333
+ self.milestone_id = attributes[:'milestone_id']
334
+ end
335
+
336
+ if attributes.key?(:'requested_by_id')
337
+ self.requested_by_id = attributes[:'requested_by_id']
338
+ end
339
+
340
+ if attributes.key?(:'epic_state_id')
341
+ self.epic_state_id = attributes[:'epic_state_id']
342
+ end
343
+
344
+ if attributes.key?(:'label_ids')
345
+ if (value = attributes[:'label_ids']).is_a?(Array)
346
+ self.label_ids = value
347
+ end
348
+ end
349
+
350
+ if attributes.key?(:'started_at_override')
351
+ self.started_at_override = attributes[:'started_at_override']
352
+ end
353
+
354
+ if attributes.key?(:'group_id')
355
+ self.group_id = attributes[:'group_id']
356
+ end
357
+
358
+ if attributes.key?(:'updated_at')
359
+ self.updated_at = attributes[:'updated_at']
360
+ end
361
+
362
+ if attributes.key?(:'group_mention_ids')
363
+ if (value = attributes[:'group_mention_ids']).is_a?(Array)
364
+ self.group_mention_ids = value
365
+ end
366
+ end
367
+
368
+ if attributes.key?(:'productboard_id')
369
+ self.productboard_id = attributes[:'productboard_id']
370
+ end
371
+
372
+ if attributes.key?(:'follower_ids')
373
+ if (value = attributes[:'follower_ids']).is_a?(Array)
374
+ self.follower_ids = value
375
+ end
376
+ end
377
+
378
+ if attributes.key?(:'owner_ids')
379
+ if (value = attributes[:'owner_ids']).is_a?(Array)
380
+ self.owner_ids = value
381
+ end
382
+ end
383
+
384
+ if attributes.key?(:'external_id')
385
+ self.external_id = attributes[:'external_id']
386
+ end
387
+
388
+ if attributes.key?(:'id')
389
+ self.id = attributes[:'id']
390
+ end
391
+
392
+ if attributes.key?(:'position')
393
+ self.position = attributes[:'position']
394
+ end
395
+
396
+ if attributes.key?(:'productboard_name')
397
+ self.productboard_name = attributes[:'productboard_name']
398
+ end
399
+
400
+ if attributes.key?(:'deadline')
401
+ self.deadline = attributes[:'deadline']
402
+ end
403
+
404
+ if attributes.key?(:'stats')
405
+ self.stats = attributes[:'stats']
406
+ end
407
+
408
+ if attributes.key?(:'created_at')
409
+ self.created_at = attributes[:'created_at']
410
+ end
411
+ end
412
+
413
+ # Show invalid properties with the reasons. Usually used together with valid?
414
+ # @return Array for valid properties with the reasons
415
+ def list_invalid_properties
416
+ invalid_properties = Array.new
417
+ if @app_url.nil?
418
+ invalid_properties.push('invalid value for "app_url", app_url cannot be nil.')
419
+ end
420
+
421
+ if @archived.nil?
422
+ invalid_properties.push('invalid value for "archived", archived cannot be nil.')
423
+ end
424
+
425
+ if @started.nil?
426
+ invalid_properties.push('invalid value for "started", started cannot be nil.')
427
+ end
428
+
429
+ if @entity_type.nil?
430
+ invalid_properties.push('invalid value for "entity_type", entity_type cannot be nil.')
431
+ end
432
+
433
+ if @labels.nil?
434
+ invalid_properties.push('invalid value for "labels", labels cannot be nil.')
435
+ end
436
+
437
+ if @mention_ids.nil?
438
+ invalid_properties.push('invalid value for "mention_ids", mention_ids cannot be nil.')
439
+ end
440
+
441
+ if @member_mention_ids.nil?
442
+ invalid_properties.push('invalid value for "member_mention_ids", member_mention_ids cannot be nil.')
443
+ end
444
+
445
+ if @project_ids.nil?
446
+ invalid_properties.push('invalid value for "project_ids", project_ids cannot be nil.')
447
+ end
448
+
449
+ if @stories_without_projects.nil?
450
+ invalid_properties.push('invalid value for "stories_without_projects", stories_without_projects cannot be nil.')
451
+ end
452
+
453
+ if @completed_at_override.nil?
454
+ invalid_properties.push('invalid value for "completed_at_override", completed_at_override cannot be nil.')
455
+ end
456
+
457
+ if @productboard_plugin_id.nil?
458
+ invalid_properties.push('invalid value for "productboard_plugin_id", productboard_plugin_id cannot be nil.')
459
+ end
460
+
461
+ if @started_at.nil?
462
+ invalid_properties.push('invalid value for "started_at", started_at cannot be nil.')
463
+ end
464
+
465
+ if @completed_at.nil?
466
+ invalid_properties.push('invalid value for "completed_at", completed_at cannot be nil.')
467
+ end
468
+
469
+ if @name.nil?
470
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
471
+ end
472
+
473
+ if @completed.nil?
474
+ invalid_properties.push('invalid value for "completed", completed cannot be nil.')
475
+ end
476
+
477
+ if @productboard_url.nil?
478
+ invalid_properties.push('invalid value for "productboard_url", productboard_url cannot be nil.')
479
+ end
480
+
481
+ if @planned_start_date.nil?
482
+ invalid_properties.push('invalid value for "planned_start_date", planned_start_date cannot be nil.')
483
+ end
484
+
485
+ if @state.nil?
486
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
487
+ end
488
+
489
+ if @milestone_id.nil?
490
+ invalid_properties.push('invalid value for "milestone_id", milestone_id cannot be nil.')
491
+ end
492
+
493
+ if @requested_by_id.nil?
494
+ invalid_properties.push('invalid value for "requested_by_id", requested_by_id cannot be nil.')
495
+ end
496
+
497
+ if @epic_state_id.nil?
498
+ invalid_properties.push('invalid value for "epic_state_id", epic_state_id cannot be nil.')
499
+ end
500
+
501
+ if @label_ids.nil?
502
+ invalid_properties.push('invalid value for "label_ids", label_ids cannot be nil.')
503
+ end
504
+
505
+ if @started_at_override.nil?
506
+ invalid_properties.push('invalid value for "started_at_override", started_at_override cannot be nil.')
507
+ end
508
+
509
+ if @group_id.nil?
510
+ invalid_properties.push('invalid value for "group_id", group_id cannot be nil.')
511
+ end
512
+
513
+ if @updated_at.nil?
514
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
515
+ end
516
+
517
+ if @group_mention_ids.nil?
518
+ invalid_properties.push('invalid value for "group_mention_ids", group_mention_ids cannot be nil.')
519
+ end
520
+
521
+ if @productboard_id.nil?
522
+ invalid_properties.push('invalid value for "productboard_id", productboard_id cannot be nil.')
523
+ end
524
+
525
+ if @follower_ids.nil?
526
+ invalid_properties.push('invalid value for "follower_ids", follower_ids cannot be nil.')
527
+ end
528
+
529
+ if @owner_ids.nil?
530
+ invalid_properties.push('invalid value for "owner_ids", owner_ids cannot be nil.')
531
+ end
532
+
533
+ if @external_id.nil?
534
+ invalid_properties.push('invalid value for "external_id", external_id cannot be nil.')
535
+ end
536
+
537
+ if @id.nil?
538
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
539
+ end
540
+
541
+ if @position.nil?
542
+ invalid_properties.push('invalid value for "position", position cannot be nil.')
543
+ end
544
+
545
+ if @productboard_name.nil?
546
+ invalid_properties.push('invalid value for "productboard_name", productboard_name cannot be nil.')
547
+ end
548
+
549
+ if @deadline.nil?
550
+ invalid_properties.push('invalid value for "deadline", deadline cannot be nil.')
551
+ end
552
+
553
+ if @stats.nil?
554
+ invalid_properties.push('invalid value for "stats", stats cannot be nil.')
555
+ end
556
+
557
+ if @created_at.nil?
558
+ invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
559
+ end
560
+
561
+ invalid_properties
562
+ end
563
+
564
+ # Check to see if the all the properties in the model are valid
565
+ # @return true if the model is valid
566
+ def valid?
567
+ return false if @app_url.nil?
568
+ return false if @archived.nil?
569
+ return false if @started.nil?
570
+ return false if @entity_type.nil?
571
+ return false if @labels.nil?
572
+ return false if @mention_ids.nil?
573
+ return false if @member_mention_ids.nil?
574
+ return false if @project_ids.nil?
575
+ return false if @stories_without_projects.nil?
576
+ return false if @completed_at_override.nil?
577
+ return false if @productboard_plugin_id.nil?
578
+ return false if @started_at.nil?
579
+ return false if @completed_at.nil?
580
+ return false if @name.nil?
581
+ return false if @completed.nil?
582
+ return false if @productboard_url.nil?
583
+ return false if @planned_start_date.nil?
584
+ return false if @state.nil?
585
+ return false if @milestone_id.nil?
586
+ return false if @requested_by_id.nil?
587
+ return false if @epic_state_id.nil?
588
+ return false if @label_ids.nil?
589
+ return false if @started_at_override.nil?
590
+ return false if @group_id.nil?
591
+ return false if @updated_at.nil?
592
+ return false if @group_mention_ids.nil?
593
+ return false if @productboard_id.nil?
594
+ return false if @follower_ids.nil?
595
+ return false if @owner_ids.nil?
596
+ return false if @external_id.nil?
597
+ return false if @id.nil?
598
+ return false if @position.nil?
599
+ return false if @productboard_name.nil?
600
+ return false if @deadline.nil?
601
+ return false if @stats.nil?
602
+ return false if @created_at.nil?
603
+ true
604
+ end
605
+
606
+ # Checks equality by comparing each attribute.
607
+ # @param [Object] Object to be compared
608
+ def ==(o)
609
+ return true if self.equal?(o)
610
+ self.class == o.class &&
611
+ app_url == o.app_url &&
612
+ description == o.description &&
613
+ archived == o.archived &&
614
+ started == o.started &&
615
+ entity_type == o.entity_type &&
616
+ labels == o.labels &&
617
+ mention_ids == o.mention_ids &&
618
+ member_mention_ids == o.member_mention_ids &&
619
+ project_ids == o.project_ids &&
620
+ stories_without_projects == o.stories_without_projects &&
621
+ completed_at_override == o.completed_at_override &&
622
+ productboard_plugin_id == o.productboard_plugin_id &&
623
+ started_at == o.started_at &&
624
+ completed_at == o.completed_at &&
625
+ name == o.name &&
626
+ completed == o.completed &&
627
+ productboard_url == o.productboard_url &&
628
+ planned_start_date == o.planned_start_date &&
629
+ state == o.state &&
630
+ milestone_id == o.milestone_id &&
631
+ requested_by_id == o.requested_by_id &&
632
+ epic_state_id == o.epic_state_id &&
633
+ label_ids == o.label_ids &&
634
+ started_at_override == o.started_at_override &&
635
+ group_id == o.group_id &&
636
+ updated_at == o.updated_at &&
637
+ group_mention_ids == o.group_mention_ids &&
638
+ productboard_id == o.productboard_id &&
639
+ follower_ids == o.follower_ids &&
640
+ owner_ids == o.owner_ids &&
641
+ external_id == o.external_id &&
642
+ id == o.id &&
643
+ position == o.position &&
644
+ productboard_name == o.productboard_name &&
645
+ deadline == o.deadline &&
646
+ stats == o.stats &&
647
+ created_at == o.created_at
648
+ end
649
+
650
+ # @see the `==` method
651
+ # @param [Object] Object to be compared
652
+ def eql?(o)
653
+ self == o
654
+ end
655
+
656
+ # Calculates hash code according to all attributes.
657
+ # @return [Integer] Hash code
658
+ def hash
659
+ [app_url, description, archived, started, entity_type, labels, mention_ids, member_mention_ids, project_ids, stories_without_projects, completed_at_override, productboard_plugin_id, started_at, completed_at, name, completed, productboard_url, planned_start_date, state, milestone_id, requested_by_id, epic_state_id, label_ids, started_at_override, group_id, updated_at, group_mention_ids, productboard_id, follower_ids, owner_ids, external_id, id, position, productboard_name, deadline, stats, created_at].hash
660
+ end
661
+
662
+ # Builds the object from hash
663
+ # @param [Hash] attributes Model attributes in the form of hash
664
+ # @return [Object] Returns the model itself
665
+ def self.build_from_hash(attributes)
666
+ new.build_from_hash(attributes)
667
+ end
668
+
669
+ # Builds the object from hash
670
+ # @param [Hash] attributes Model attributes in the form of hash
671
+ # @return [Object] Returns the model itself
672
+ def build_from_hash(attributes)
673
+ return nil unless attributes.is_a?(Hash)
674
+ self.class.openapi_types.each_pair do |key, type|
675
+ if type =~ /\AArray<(.*)>/i
676
+ # check to ensure the input is an array given that the attribute
677
+ # is documented as an array but the input is not
678
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
679
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
680
+ end
681
+ elsif !attributes[self.class.attribute_map[key]].nil?
682
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
683
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
684
+ self.send("#{key}=", nil)
685
+ end
686
+ end
687
+
688
+ self
689
+ end
690
+
691
+ # Deserializes the data based on type
692
+ # @param string type Data type
693
+ # @param string value Value to be deserialized
694
+ # @return [Object] Deserialized data
695
+ def _deserialize(type, value)
696
+ case type.to_sym
697
+ when :DateTime
698
+ DateTime.parse(value)
699
+ when :Date
700
+ Date.parse(value)
701
+ when :String
702
+ value.to_s
703
+ when :Integer
704
+ value.to_i
705
+ when :Float
706
+ value.to_f
707
+ when :Boolean
708
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
709
+ true
710
+ else
711
+ false
712
+ end
713
+ when :Object
714
+ # generic object (usually a Hash), return directly
715
+ value
716
+ when /\AArray<(?<inner_type>.+)>\z/
717
+ inner_type = Regexp.last_match[:inner_type]
718
+ value.map { |v| _deserialize(inner_type, v) }
719
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
720
+ k_type = Regexp.last_match[:k_type]
721
+ v_type = Regexp.last_match[:v_type]
722
+ {}.tap do |hash|
723
+ value.each do |k, v|
724
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
725
+ end
726
+ end
727
+ else # model
728
+ Shortcut.const_get(type).build_from_hash(value)
729
+ end
730
+ end
731
+
732
+ # Returns the string representation of the object
733
+ # @return [String] String presentation of the object
734
+ def to_s
735
+ to_hash.to_s
736
+ end
737
+
738
+ # to_body is an alias to to_hash (backward compatibility)
739
+ # @return [Hash] Returns the object in the form of hash
740
+ def to_body
741
+ to_hash
742
+ end
743
+
744
+ # Returns the object in the form of hash
745
+ # @return [Hash] Returns the object in the form of hash
746
+ def to_hash
747
+ hash = {}
748
+ self.class.attribute_map.each_pair do |attr, param|
749
+ value = self.send(attr)
750
+ if value.nil?
751
+ is_nullable = self.class.openapi_nullable.include?(attr)
752
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
753
+ end
754
+
755
+ hash[param] = _to_hash(value)
756
+ end
757
+ hash
758
+ end
759
+
760
+ # Outputs non-array value in the form of hash
761
+ # For object, use to_hash. Otherwise, just return the value
762
+ # @param [Object] value Any valid value
763
+ # @return [Hash] Returns the value in the form of hash
764
+ def _to_hash(value)
765
+ if value.is_a?(Array)
766
+ value.compact.map { |v| _to_hash(v) }
767
+ elsif value.is_a?(Hash)
768
+ {}.tap do |hash|
769
+ value.each { |k, v| hash[k] = _to_hash(v) }
770
+ end
771
+ elsif value.respond_to? :to_hash
772
+ value.to_hash
773
+ else
774
+ value
775
+ end
776
+ end end
777
+ end