asana 1.0.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1041) hide show
  1. package/.babelrc +33 -0
  2. package/.github/workflows/publish.yaml +72 -0
  3. package/.swagger-codegen/VERSION +1 -0
  4. package/.swagger-codegen-ignore +21 -1
  5. package/README.md +885 -296
  6. package/codegen/swagger/README.md +74 -0
  7. package/codegen/swagger/pom.xml +129 -0
  8. package/codegen/swagger/src/main/java/com/asana/codegen/ExampleUtility.java +27 -0
  9. package/codegen/swagger/src/main/java/com/asana/codegen/JavascriptClientCodegenGenerator.java +79 -0
  10. package/codegen/swagger/src/main/java/com/asana/codegen/ReadMe.java +164 -0
  11. package/codegen/swagger/src/main/resources/META-INF/services/io.swagger.codegen.v3.CodegenConfig +1 -0
  12. package/codegen/templates/ApiClient.mustache +618 -0
  13. package/codegen/templates/README.mustache +439 -0
  14. package/codegen/templates/api_doc.mustache +51 -0
  15. package/codegen/templates/code_sample.mustache +47 -0
  16. package/codegen/templates/code_samples.mustache +11 -0
  17. package/dist/ApiClient.js +607 -0
  18. package/dist/api/AttachmentsApi.js +217 -0
  19. package/dist/api/AuditLogAPIApi.js +105 -0
  20. package/dist/api/BatchAPIApi.js +90 -0
  21. package/dist/api/CustomFieldSettingsApi.js +139 -0
  22. package/dist/api/CustomFieldsApi.js +376 -0
  23. package/dist/api/EventsApi.js +93 -0
  24. package/dist/api/GoalRelationshipsApi.js +271 -0
  25. package/dist/api/GoalsApi.js +486 -0
  26. package/dist/api/JobsApi.js +91 -0
  27. package/dist/api/MembershipsApi.js +161 -0
  28. package/dist/api/OrganizationExportsApi.js +130 -0
  29. package/dist/api/PortfolioMembershipsApi.js +181 -0
  30. package/dist/api/PortfoliosApi.js +560 -0
  31. package/dist/api/ProjectBriefsApi.js +219 -0
  32. package/dist/api/ProjectMembershipsApi.js +138 -0
  33. package/dist/api/ProjectStatusesApi.js +218 -0
  34. package/dist/api/ProjectTemplatesApi.js +256 -0
  35. package/dist/api/ProjectsApi.js +881 -0
  36. package/dist/api/RulesApi.js +92 -0
  37. package/dist/api/SectionsApi.js +334 -0
  38. package/dist/api/StatusUpdatesApi.js +216 -0
  39. package/dist/api/StoriesApi.js +264 -0
  40. package/dist/api/TagsApi.js +380 -0
  41. package/dist/api/TasksApi.js +1277 -0
  42. package/dist/api/TeamMembershipsApi.js +229 -0
  43. package/dist/api/TeamsApi.js +360 -0
  44. package/dist/api/TimePeriodsApi.js +139 -0
  45. package/dist/api/TimeTrackingEntriesApi.js +264 -0
  46. package/dist/api/TypeaheadApi.js +103 -0
  47. package/dist/api/UserTaskListsApi.js +137 -0
  48. package/dist/api/UsersApi.js +274 -0
  49. package/dist/api/WebhooksApi.js +258 -0
  50. package/dist/api/WorkspaceMembershipsApi.js +182 -0
  51. package/dist/api/WorkspacesApi.js +264 -0
  52. package/dist/index.js +3141 -0
  53. package/dist/model/AddCustomFieldSettingRequest.js +89 -0
  54. package/dist/model/AddFollowersRequest.js +68 -0
  55. package/dist/model/AddMembersRequest.js +68 -0
  56. package/dist/model/AllOfProjectResponseOwner.js +61 -0
  57. package/dist/model/AllOfProjectTemplateBaseOwner.js +61 -0
  58. package/dist/model/AllOfProjectTemplateResponseOwner.js +61 -0
  59. package/dist/model/AllOfStoryResponseNewDateValue.js +60 -0
  60. package/dist/model/AllOfStoryResponseOldDateValue.js +60 -0
  61. package/dist/model/AllOfUserTaskListBaseOwner.js +61 -0
  62. package/dist/model/AllOfUserTaskListBaseWorkspace.js +61 -0
  63. package/dist/model/AllOfUserTaskListCompactOwner.js +61 -0
  64. package/dist/model/AllOfUserTaskListCompactWorkspace.js +61 -0
  65. package/dist/model/AllOfUserTaskListRequestOwner.js +61 -0
  66. package/dist/model/AllOfUserTaskListRequestWorkspace.js +61 -0
  67. package/dist/model/AllOfUserTaskListResponseOwner.js +61 -0
  68. package/dist/model/AllOfUserTaskListResponseWorkspace.js +61 -0
  69. package/dist/model/AllOfWorkspaceMembershipResponseUserTaskListOwner.js +61 -0
  70. package/dist/model/AllOfWorkspaceMembershipResponseUserTaskListWorkspace.js +61 -0
  71. package/dist/model/AsanaNamedResource.js +81 -0
  72. package/dist/model/AsanaNamedResourceArray.js +75 -0
  73. package/dist/model/AsanaResource.js +74 -0
  74. package/dist/model/AttachmentBase.js +88 -0
  75. package/dist/model/AttachmentCompact.js +88 -0
  76. package/dist/model/AttachmentRequest.js +145 -0
  77. package/dist/model/AttachmentResponse.js +143 -0
  78. package/dist/model/AttachmentResponseArray.js +75 -0
  79. package/dist/model/AttachmentResponseData.js +68 -0
  80. package/dist/model/AttachmentResponseParent.js +88 -0
  81. package/dist/model/AuditLogEvent.js +116 -0
  82. package/dist/model/AuditLogEventActor.js +120 -0
  83. package/dist/model/AuditLogEventArray.js +75 -0
  84. package/dist/model/AuditLogEventContext.js +164 -0
  85. package/dist/model/AuditLogEventDetails.js +61 -0
  86. package/dist/model/AuditLogEventResource.js +95 -0
  87. package/dist/model/BatchBody.js +66 -0
  88. package/dist/model/BatchRequest.js +67 -0
  89. package/dist/model/BatchRequestAction.js +129 -0
  90. package/dist/model/BatchRequestActions.js +129 -0
  91. package/dist/model/BatchRequestOptions.js +81 -0
  92. package/dist/model/BatchResponse.js +81 -0
  93. package/dist/model/BatchResponseArray.js +75 -0
  94. package/dist/model/CreateMembershipRequest.js +80 -0
  95. package/dist/model/CreateTimeTrackingEntryRequest.js +73 -0
  96. package/dist/model/CustomFieldBase.js +1047 -0
  97. package/dist/model/CustomFieldBaseDateValue.js +74 -0
  98. package/dist/model/CustomFieldBaseEnumOptions.js +95 -0
  99. package/dist/model/CustomFieldBaseEnumValue.js +95 -0
  100. package/dist/model/CustomFieldCompact.js +233 -0
  101. package/dist/model/CustomFieldGidEnumOptionsBody.js +66 -0
  102. package/dist/model/CustomFieldRequest.js +1070 -0
  103. package/dist/model/CustomFieldResponse.js +1069 -0
  104. package/dist/model/CustomFieldResponseArray.js +75 -0
  105. package/dist/model/CustomFieldResponseCreatedBy.js +81 -0
  106. package/dist/model/CustomFieldResponseData.js +68 -0
  107. package/dist/model/CustomFieldResponsePeopleValue.js +81 -0
  108. package/dist/model/CustomFieldSettingBase.js +74 -0
  109. package/dist/model/CustomFieldSettingCompact.js +74 -0
  110. package/dist/model/CustomFieldSettingResponse.js +102 -0
  111. package/dist/model/CustomFieldSettingResponseArray.js +75 -0
  112. package/dist/model/CustomFieldSettingResponseCustomField.js +1069 -0
  113. package/dist/model/CustomFieldSettingResponseData.js +68 -0
  114. package/dist/model/CustomFieldSettingResponseParent.js +81 -0
  115. package/dist/model/CustomFieldSettingResponseProject.js +81 -0
  116. package/dist/model/CustomFieldsBody.js +66 -0
  117. package/dist/model/CustomFieldsCustomFieldGidBody.js +66 -0
  118. package/dist/model/DateVariableCompact.js +80 -0
  119. package/dist/model/DateVariableRequest.js +73 -0
  120. package/dist/model/EmptyResponse.js +61 -0
  121. package/dist/model/EmptyResponseData.js +68 -0
  122. package/dist/model/EnumOption.js +95 -0
  123. package/dist/model/EnumOptionBase.js +95 -0
  124. package/dist/model/EnumOptionData.js +68 -0
  125. package/dist/model/EnumOptionInsertRequest.js +82 -0
  126. package/dist/model/EnumOptionRequest.js +109 -0
  127. package/dist/model/EnumOptionsEnumOptionGidBody.js +66 -0
  128. package/dist/model/EnumOptionsInsertBody.js +66 -0
  129. package/dist/model/Error.js +80 -0
  130. package/dist/model/ErrorResponse.js +67 -0
  131. package/dist/model/ErrorResponseErrors.js +80 -0
  132. package/dist/model/EventResponse.js +109 -0
  133. package/dist/model/EventResponseArray.js +75 -0
  134. package/dist/model/EventResponseChange.js +95 -0
  135. package/dist/model/EventResponseParent.js +81 -0
  136. package/dist/model/EventResponseResource.js +81 -0
  137. package/dist/model/EventResponseUser.js +81 -0
  138. package/dist/model/GoalAddSubgoalRequest.js +82 -0
  139. package/dist/model/GoalAddSupportingRelationshipRequest.js +89 -0
  140. package/dist/model/GoalAddSupportingWorkRequest.js +68 -0
  141. package/dist/model/GoalBase.js +123 -0
  142. package/dist/model/GoalCompact.js +88 -0
  143. package/dist/model/GoalGidAddFollowersBody.js +66 -0
  144. package/dist/model/GoalGidAddSupportingRelationshipBody.js +66 -0
  145. package/dist/model/GoalGidRemoveFollowersBody.js +66 -0
  146. package/dist/model/GoalGidRemoveSupportingRelationshipBody.js +66 -0
  147. package/dist/model/GoalGidSetMetricBody.js +66 -0
  148. package/dist/model/GoalGidSetMetricCurrentValueBody.js +66 -0
  149. package/dist/model/GoalMembershipBase.js +102 -0
  150. package/dist/model/GoalMembershipBaseGoal.js +88 -0
  151. package/dist/model/GoalMembershipCompact.js +102 -0
  152. package/dist/model/GoalMembershipResponse.js +102 -0
  153. package/dist/model/GoalMetricBase.js +203 -0
  154. package/dist/model/GoalMetricCurrentValueRequest.js +81 -0
  155. package/dist/model/GoalMetricRequest.js +203 -0
  156. package/dist/model/GoalRelationshipBase.js +119 -0
  157. package/dist/model/GoalRelationshipBaseSupportedGoal.js +88 -0
  158. package/dist/model/GoalRelationshipBaseSupportingResource.js +81 -0
  159. package/dist/model/GoalRelationshipCompact.js +112 -0
  160. package/dist/model/GoalRelationshipRequest.js +119 -0
  161. package/dist/model/GoalRelationshipResponse.js +119 -0
  162. package/dist/model/GoalRelationshipResponseArray.js +75 -0
  163. package/dist/model/GoalRelationshipResponseData.js +68 -0
  164. package/dist/model/GoalRelationshipsGoalRelationshipGidBody.js +66 -0
  165. package/dist/model/GoalRemoveSubgoalRequest.js +68 -0
  166. package/dist/model/GoalRemoveSupportingRelationshipRequest.js +68 -0
  167. package/dist/model/GoalRequest.js +157 -0
  168. package/dist/model/GoalRequestBase.js +151 -0
  169. package/dist/model/GoalResponse.js +195 -0
  170. package/dist/model/GoalResponseArray.js +75 -0
  171. package/dist/model/GoalResponseCurrentStatusUpdate.js +110 -0
  172. package/dist/model/GoalResponseData.js +68 -0
  173. package/dist/model/GoalResponseLikes.js +74 -0
  174. package/dist/model/GoalResponseMetric.js +210 -0
  175. package/dist/model/GoalResponseTeam.js +81 -0
  176. package/dist/model/GoalResponseTimePeriod.js +144 -0
  177. package/dist/model/GoalResponseWorkspace.js +81 -0
  178. package/dist/model/GoalUpdateRequest.js +158 -0
  179. package/dist/model/GoalsBody.js +66 -0
  180. package/dist/model/GoalsGoalGidBody.js +66 -0
  181. package/dist/model/InlineResponse412.js +73 -0
  182. package/dist/model/InlineResponse412Errors.js +66 -0
  183. package/dist/model/JobBase.js +136 -0
  184. package/dist/model/JobBaseNewProject.js +81 -0
  185. package/dist/model/JobBaseNewProjectTemplate.js +81 -0
  186. package/dist/model/JobBaseNewTask.js +115 -0
  187. package/dist/model/JobCompact.js +136 -0
  188. package/dist/model/JobResponse.js +136 -0
  189. package/dist/model/JobResponseData.js +68 -0
  190. package/dist/model/Like.js +74 -0
  191. package/dist/model/MemberCompact.js +81 -0
  192. package/dist/model/MembershipRequest.js +66 -0
  193. package/dist/model/MembershipResponse.js +60 -0
  194. package/dist/model/MembershipResponseArray.js +75 -0
  195. package/dist/model/MembershipResponseData.js +68 -0
  196. package/dist/model/MembershipsBody.js +66 -0
  197. package/dist/model/ModifyDependenciesRequest.js +66 -0
  198. package/dist/model/ModifyDependentsRequest.js +67 -0
  199. package/dist/model/NextPage.js +81 -0
  200. package/dist/model/OrganizationExportBase.js +129 -0
  201. package/dist/model/OrganizationExportCompact.js +129 -0
  202. package/dist/model/OrganizationExportRequest.js +67 -0
  203. package/dist/model/OrganizationExportResponse.js +129 -0
  204. package/dist/model/OrganizationExportResponseData.js +68 -0
  205. package/dist/model/OrganizationExportsBody.js +66 -0
  206. package/dist/model/PortfolioAddItemRequest.js +82 -0
  207. package/dist/model/PortfolioBase.js +185 -0
  208. package/dist/model/PortfolioCompact.js +81 -0
  209. package/dist/model/PortfolioGidAddCustomFieldSettingBody.js +66 -0
  210. package/dist/model/PortfolioGidAddItemBody.js +66 -0
  211. package/dist/model/PortfolioGidAddMembersBody.js +66 -0
  212. package/dist/model/PortfolioGidRemoveCustomFieldSettingBody.js +66 -0
  213. package/dist/model/PortfolioGidRemoveItemBody.js +66 -0
  214. package/dist/model/PortfolioGidRemoveMembersBody.js +66 -0
  215. package/dist/model/PortfolioMembershipBase.js +88 -0
  216. package/dist/model/PortfolioMembershipBasePortfolio.js +81 -0
  217. package/dist/model/PortfolioMembershipCompact.js +88 -0
  218. package/dist/model/PortfolioMembershipResponse.js +88 -0
  219. package/dist/model/PortfolioMembershipResponseArray.js +75 -0
  220. package/dist/model/PortfolioMembershipResponseData.js +68 -0
  221. package/dist/model/PortfolioRemoveItemRequest.js +68 -0
  222. package/dist/model/PortfolioRequest.js +206 -0
  223. package/dist/model/PortfolioResponse.js +277 -0
  224. package/dist/model/PortfolioResponseArray.js +75 -0
  225. package/dist/model/PortfolioResponseCurrentStatusUpdate.js +110 -0
  226. package/dist/model/PortfolioResponseCustomFieldSettings.js +102 -0
  227. package/dist/model/PortfolioResponseCustomFields.js +233 -0
  228. package/dist/model/PortfolioResponseData.js +68 -0
  229. package/dist/model/PortfolioResponseWorkspace.js +81 -0
  230. package/dist/model/PortfoliosBody.js +66 -0
  231. package/dist/model/PortfoliosPortfolioGidBody.js +66 -0
  232. package/dist/model/Preview.js +116 -0
  233. package/dist/model/ProjectBase.js +329 -0
  234. package/dist/model/ProjectBaseCurrentStatus.js +160 -0
  235. package/dist/model/ProjectBaseCurrentStatusUpdate.js +110 -0
  236. package/dist/model/ProjectBaseWorkspace.js +81 -0
  237. package/dist/model/ProjectBriefBase.js +88 -0
  238. package/dist/model/ProjectBriefCompact.js +74 -0
  239. package/dist/model/ProjectBriefRequest.js +95 -0
  240. package/dist/model/ProjectBriefResponse.js +109 -0
  241. package/dist/model/ProjectBriefResponseData.js +68 -0
  242. package/dist/model/ProjectBriefResponseProject.js +81 -0
  243. package/dist/model/ProjectBriefsProjectBriefGidBody.js +66 -0
  244. package/dist/model/ProjectCompact.js +81 -0
  245. package/dist/model/ProjectDuplicateRequest.js +89 -0
  246. package/dist/model/ProjectDuplicateRequestScheduleDates.js +83 -0
  247. package/dist/model/ProjectGidAddCustomFieldSettingBody.js +66 -0
  248. package/dist/model/ProjectGidAddFollowersBody.js +66 -0
  249. package/dist/model/ProjectGidAddMembersBody.js +66 -0
  250. package/dist/model/ProjectGidDuplicateBody.js +66 -0
  251. package/dist/model/ProjectGidProjectBriefsBody.js +66 -0
  252. package/dist/model/ProjectGidProjectStatusesBody.js +66 -0
  253. package/dist/model/ProjectGidRemoveCustomFieldSettingBody.js +66 -0
  254. package/dist/model/ProjectGidRemoveFollowersBody.js +66 -0
  255. package/dist/model/ProjectGidRemoveMembersBody.js +66 -0
  256. package/dist/model/ProjectGidSaveAsTemplateBody.js +66 -0
  257. package/dist/model/ProjectGidSectionsBody.js +66 -0
  258. package/dist/model/ProjectMembershipBase.js +81 -0
  259. package/dist/model/ProjectMembershipCompact.js +81 -0
  260. package/dist/model/ProjectMembershipResponse.js +153 -0
  261. package/dist/model/ProjectMembershipResponseArray.js +75 -0
  262. package/dist/model/ProjectMembershipResponseData.js +68 -0
  263. package/dist/model/ProjectMembershipResponseMember.js +81 -0
  264. package/dist/model/ProjectRequest.js +359 -0
  265. package/dist/model/ProjectResponse.js +574 -0
  266. package/dist/model/ProjectResponseArray.js +75 -0
  267. package/dist/model/ProjectResponseCompletedBy.js +81 -0
  268. package/dist/model/ProjectResponseCreatedFromTemplate.js +81 -0
  269. package/dist/model/ProjectResponseData.js +68 -0
  270. package/dist/model/ProjectResponseProjectBrief.js +74 -0
  271. package/dist/model/ProjectResponseTeam.js +81 -0
  272. package/dist/model/ProjectSaveAsTemplateRequest.js +91 -0
  273. package/dist/model/ProjectSectionInsertRequest.js +82 -0
  274. package/dist/model/ProjectStatusBase.js +133 -0
  275. package/dist/model/ProjectStatusCompact.js +81 -0
  276. package/dist/model/ProjectStatusRequest.js +133 -0
  277. package/dist/model/ProjectStatusResponse.js +160 -0
  278. package/dist/model/ProjectStatusResponseArray.js +75 -0
  279. package/dist/model/ProjectStatusResponseData.js +68 -0
  280. package/dist/model/ProjectTemplateBase.js +241 -0
  281. package/dist/model/ProjectTemplateBaseRequestedDates.js +80 -0
  282. package/dist/model/ProjectTemplateBaseRequestedRoles.js +81 -0
  283. package/dist/model/ProjectTemplateBaseTeam.js +81 -0
  284. package/dist/model/ProjectTemplateCompact.js +81 -0
  285. package/dist/model/ProjectTemplateGidInstantiateProjectBody.js +66 -0
  286. package/dist/model/ProjectTemplateInstantiateProjectRequest.js +105 -0
  287. package/dist/model/ProjectTemplateInstantiateProjectRequestRequestedDates.js +73 -0
  288. package/dist/model/ProjectTemplateInstantiateProjectRequestRequestedRoles.js +73 -0
  289. package/dist/model/ProjectTemplateResponse.js +241 -0
  290. package/dist/model/ProjectTemplateResponseArray.js +75 -0
  291. package/dist/model/ProjectTemplateResponseData.js +68 -0
  292. package/dist/model/ProjectsBody.js +66 -0
  293. package/dist/model/ProjectsProjectGidBody.js +66 -0
  294. package/dist/model/RemoveCustomFieldSettingRequest.js +68 -0
  295. package/dist/model/RemoveFollowersRequest.js +68 -0
  296. package/dist/model/RemoveMembersRequest.js +68 -0
  297. package/dist/model/RequestedRoleRequest.js +73 -0
  298. package/dist/model/RuleTriggerGidRunBody.js +66 -0
  299. package/dist/model/RuleTriggerRequest.js +79 -0
  300. package/dist/model/RuleTriggerResponse.js +66 -0
  301. package/dist/model/RuleTriggerResponseData.js +68 -0
  302. package/dist/model/SectionBase.js +81 -0
  303. package/dist/model/SectionCompact.js +81 -0
  304. package/dist/model/SectionGidAddTaskBody.js +66 -0
  305. package/dist/model/SectionRequest.js +82 -0
  306. package/dist/model/SectionResponse.js +102 -0
  307. package/dist/model/SectionResponseArray.js +75 -0
  308. package/dist/model/SectionResponseData.js +68 -0
  309. package/dist/model/SectionTaskInsertRequest.js +82 -0
  310. package/dist/model/SectionsInsertBody.js +66 -0
  311. package/dist/model/SectionsSectionGidBody.js +66 -0
  312. package/dist/model/StatusUpdateBase.js +187 -0
  313. package/dist/model/StatusUpdateCompact.js +110 -0
  314. package/dist/model/StatusUpdateRequest.js +196 -0
  315. package/dist/model/StatusUpdateResponse.js +264 -0
  316. package/dist/model/StatusUpdateResponseArray.js +75 -0
  317. package/dist/model/StatusUpdateResponseData.js +68 -0
  318. package/dist/model/StatusUpdateResponseParent.js +81 -0
  319. package/dist/model/StatusUpdatesBody.js +66 -0
  320. package/dist/model/StoriesStoryGidBody.js +66 -0
  321. package/dist/model/StoryBase.js +183 -0
  322. package/dist/model/StoryCompact.js +102 -0
  323. package/dist/model/StoryRequest.js +183 -0
  324. package/dist/model/StoryResponse.js +540 -0
  325. package/dist/model/StoryResponseArray.js +75 -0
  326. package/dist/model/StoryResponseAssignee.js +81 -0
  327. package/dist/model/StoryResponseCustomField.js +233 -0
  328. package/dist/model/StoryResponseData.js +68 -0
  329. package/dist/model/StoryResponseDates.js +81 -0
  330. package/dist/model/StoryResponseOldDates.js +81 -0
  331. package/dist/model/StoryResponseOldEnumValue.js +95 -0
  332. package/dist/model/StoryResponseOldSection.js +81 -0
  333. package/dist/model/StoryResponsePreviews.js +116 -0
  334. package/dist/model/StoryResponseProject.js +81 -0
  335. package/dist/model/StoryResponseStory.js +102 -0
  336. package/dist/model/StoryResponseTag.js +81 -0
  337. package/dist/model/StoryResponseTarget.js +115 -0
  338. package/dist/model/StoryResponseTask.js +115 -0
  339. package/dist/model/TagBase.js +197 -0
  340. package/dist/model/TagCompact.js +81 -0
  341. package/dist/model/TagRequest.js +211 -0
  342. package/dist/model/TagResponse.js +226 -0
  343. package/dist/model/TagResponseArray.js +75 -0
  344. package/dist/model/TagResponseData.js +68 -0
  345. package/dist/model/TagsBody.js +66 -0
  346. package/dist/model/TaskAddFollowersRequest.js +68 -0
  347. package/dist/model/TaskAddProjectRequest.js +89 -0
  348. package/dist/model/TaskAddTagRequest.js +68 -0
  349. package/dist/model/TaskBase.js +359 -0
  350. package/dist/model/TaskBaseCompletedBy.js +81 -0
  351. package/dist/model/TaskBaseDependencies.js +74 -0
  352. package/dist/model/TaskBaseExternal.js +72 -0
  353. package/dist/model/TaskBaseMemberships.js +73 -0
  354. package/dist/model/TaskBaseSection.js +81 -0
  355. package/dist/model/TaskCompact.js +115 -0
  356. package/dist/model/TaskCountResponse.js +102 -0
  357. package/dist/model/TaskCountResponseData.js +68 -0
  358. package/dist/model/TaskDuplicateRequest.js +73 -0
  359. package/dist/model/TaskGidAddDependenciesBody.js +66 -0
  360. package/dist/model/TaskGidAddDependentsBody.js +66 -0
  361. package/dist/model/TaskGidAddFollowersBody.js +66 -0
  362. package/dist/model/TaskGidAddProjectBody.js +66 -0
  363. package/dist/model/TaskGidAddTagBody.js +66 -0
  364. package/dist/model/TaskGidDuplicateBody.js +66 -0
  365. package/dist/model/TaskGidRemoveDependenciesBody.js +66 -0
  366. package/dist/model/TaskGidRemoveDependentsBody.js +66 -0
  367. package/dist/model/TaskGidRemoveFollowersBody.js +66 -0
  368. package/dist/model/TaskGidRemoveProjectBody.js +66 -0
  369. package/dist/model/TaskGidRemoveTagBody.js +66 -0
  370. package/dist/model/TaskGidSetParentBody.js +66 -0
  371. package/dist/model/TaskGidStoriesBody.js +66 -0
  372. package/dist/model/TaskGidSubtasksBody.js +66 -0
  373. package/dist/model/TaskGidTimeTrackingEntriesBody.js +66 -0
  374. package/dist/model/TaskRemoveFollowersRequest.js +68 -0
  375. package/dist/model/TaskRemoveProjectRequest.js +68 -0
  376. package/dist/model/TaskRemoveTagRequest.js +68 -0
  377. package/dist/model/TaskRequest.js +417 -0
  378. package/dist/model/TaskResponse.js +426 -0
  379. package/dist/model/TaskResponseArray.js +75 -0
  380. package/dist/model/TaskResponseAssigneeSection.js +81 -0
  381. package/dist/model/TaskResponseCustomFields.js +1069 -0
  382. package/dist/model/TaskResponseData.js +68 -0
  383. package/dist/model/TaskResponseParent.js +115 -0
  384. package/dist/model/TaskResponseTags.js +81 -0
  385. package/dist/model/TaskResponseWorkspace.js +81 -0
  386. package/dist/model/TaskSetParentRequest.js +82 -0
  387. package/dist/model/TasksBody.js +66 -0
  388. package/dist/model/TasksTaskGidBody.js +66 -0
  389. package/dist/model/TeamAddUserRequest.js +67 -0
  390. package/dist/model/TeamBase.js +81 -0
  391. package/dist/model/TeamCompact.js +81 -0
  392. package/dist/model/TeamGidAddUserBody.js +66 -0
  393. package/dist/model/TeamGidProjectsBody.js +66 -0
  394. package/dist/model/TeamGidRemoveUserBody.js +66 -0
  395. package/dist/model/TeamMembershipBase.js +109 -0
  396. package/dist/model/TeamMembershipCompact.js +109 -0
  397. package/dist/model/TeamMembershipResponse.js +109 -0
  398. package/dist/model/TeamMembershipResponseArray.js +75 -0
  399. package/dist/model/TeamMembershipResponseData.js +68 -0
  400. package/dist/model/TeamRemoveUserRequest.js +67 -0
  401. package/dist/model/TeamRequest.js +275 -0
  402. package/dist/model/TeamResponse.js +282 -0
  403. package/dist/model/TeamResponseArray.js +75 -0
  404. package/dist/model/TeamResponseData.js +68 -0
  405. package/dist/model/TeamResponseOrganization.js +81 -0
  406. package/dist/model/TeamsBody.js +66 -0
  407. package/dist/model/TeamsTeamGidBody.js +66 -0
  408. package/dist/model/TemplateRole.js +81 -0
  409. package/dist/model/TimePeriodBase.js +151 -0
  410. package/dist/model/TimePeriodCompact.js +144 -0
  411. package/dist/model/TimePeriodResponse.js +151 -0
  412. package/dist/model/TimePeriodResponseArray.js +75 -0
  413. package/dist/model/TimePeriodResponseData.js +68 -0
  414. package/dist/model/TimeTrackingEntriesTimeTrackingEntryGidBody.js +66 -0
  415. package/dist/model/TimeTrackingEntryBase.js +109 -0
  416. package/dist/model/TimeTrackingEntryBaseData.js +68 -0
  417. package/dist/model/TimeTrackingEntryCompact.js +95 -0
  418. package/dist/model/TimeTrackingEntryCompactArray.js +75 -0
  419. package/dist/model/UpdateTimeTrackingEntryRequest.js +73 -0
  420. package/dist/model/UserBase.js +81 -0
  421. package/dist/model/UserBaseResponse.js +95 -0
  422. package/dist/model/UserBaseResponseData.js +68 -0
  423. package/dist/model/UserBaseResponsePhoto.js +96 -0
  424. package/dist/model/UserCompact.js +81 -0
  425. package/dist/model/UserRequest.js +81 -0
  426. package/dist/model/UserResponse.js +103 -0
  427. package/dist/model/UserResponseArray.js +75 -0
  428. package/dist/model/UserResponseData.js +68 -0
  429. package/dist/model/UserTaskListBase.js +95 -0
  430. package/dist/model/UserTaskListCompact.js +95 -0
  431. package/dist/model/UserTaskListRequest.js +95 -0
  432. package/dist/model/UserTaskListResponse.js +95 -0
  433. package/dist/model/UserTaskListResponseData.js +68 -0
  434. package/dist/model/WebhookCompact.js +95 -0
  435. package/dist/model/WebhookCompactResource.js +81 -0
  436. package/dist/model/WebhookFilter.js +88 -0
  437. package/dist/model/WebhookRequest.js +85 -0
  438. package/dist/model/WebhookRequestFilters.js +88 -0
  439. package/dist/model/WebhookResponse.js +131 -0
  440. package/dist/model/WebhookResponseArray.js +75 -0
  441. package/dist/model/WebhookResponseData.js +68 -0
  442. package/dist/model/WebhookUpdateRequest.js +67 -0
  443. package/dist/model/WebhooksBody.js +66 -0
  444. package/dist/model/WebhooksWebhookGidBody.js +66 -0
  445. package/dist/model/WorkspaceAddUserRequest.js +67 -0
  446. package/dist/model/WorkspaceBase.js +81 -0
  447. package/dist/model/WorkspaceCompact.js +81 -0
  448. package/dist/model/WorkspaceGidAddUserBody.js +66 -0
  449. package/dist/model/WorkspaceGidProjectsBody.js +66 -0
  450. package/dist/model/WorkspaceGidRemoveUserBody.js +66 -0
  451. package/dist/model/WorkspaceGidTagsBody.js +66 -0
  452. package/dist/model/WorkspaceMembershipBase.js +88 -0
  453. package/dist/model/WorkspaceMembershipCompact.js +88 -0
  454. package/dist/model/WorkspaceMembershipRequest.js +88 -0
  455. package/dist/model/WorkspaceMembershipResponse.js +130 -0
  456. package/dist/model/WorkspaceMembershipResponseArray.js +75 -0
  457. package/dist/model/WorkspaceMembershipResponseData.js +68 -0
  458. package/dist/model/WorkspaceMembershipResponseUserTaskList.js +95 -0
  459. package/dist/model/WorkspaceMembershipResponseVacationDates.js +74 -0
  460. package/dist/model/WorkspaceRemoveUserRequest.js +67 -0
  461. package/dist/model/WorkspaceRequest.js +81 -0
  462. package/dist/model/WorkspaceResponse.js +95 -0
  463. package/dist/model/WorkspaceResponseArray.js +75 -0
  464. package/dist/model/WorkspaceResponseData.js +68 -0
  465. package/dist/model/WorkspacesWorkspaceGidBody.js +66 -0
  466. package/mocha.opts +1 -0
  467. package/package.json +33 -44
  468. package/src/ApiClient.js +600 -0
  469. package/src/api/AttachmentsApi.js +238 -0
  470. package/src/api/AuditLogAPIApi.js +95 -0
  471. package/src/api/BatchAPIApi.js +89 -0
  472. package/src/api/CustomFieldSettingsApi.js +141 -0
  473. package/src/api/CustomFieldsApi.js +439 -0
  474. package/src/api/EventsApi.js +90 -0
  475. package/src/api/GoalRelationshipsApi.js +305 -0
  476. package/src/api/GoalsApi.js +563 -0
  477. package/src/api/JobsApi.js +88 -0
  478. package/src/api/MembershipsApi.js +181 -0
  479. package/src/api/OrganizationExportsApi.js +138 -0
  480. package/src/api/PortfolioMembershipsApi.js +190 -0
  481. package/src/api/PortfoliosApi.js +669 -0
  482. package/src/api/ProjectBriefsApi.js +246 -0
  483. package/src/api/ProjectMembershipsApi.js +141 -0
  484. package/src/api/ProjectStatusesApi.js +243 -0
  485. package/src/api/ProjectTemplatesApi.js +288 -0
  486. package/src/api/ProjectsApi.js +1040 -0
  487. package/src/api/RulesApi.js +92 -0
  488. package/src/api/SectionsApi.js +390 -0
  489. package/src/api/StatusUpdatesApi.js +241 -0
  490. package/src/api/StoriesApi.js +298 -0
  491. package/src/api/TagsApi.js +440 -0
  492. package/src/api/TasksApi.js +1454 -0
  493. package/src/api/TeamMembershipsApi.js +245 -0
  494. package/src/api/TeamsApi.js +411 -0
  495. package/src/api/TimePeriodsApi.js +142 -0
  496. package/src/api/TimeTrackingEntriesApi.js +298 -0
  497. package/src/api/TypeaheadApi.js +96 -0
  498. package/src/api/UserTaskListsApi.js +142 -0
  499. package/src/api/UsersApi.js +299 -0
  500. package/src/api/WebhooksApi.js +294 -0
  501. package/src/api/WorkspaceMembershipsApi.js +192 -0
  502. package/src/api/WorkspacesApi.js +300 -0
  503. package/src/index.js +3183 -0
  504. package/src/model/AddCustomFieldSettingRequest.js +79 -0
  505. package/src/model/AddFollowersRequest.js +55 -0
  506. package/src/model/AddMembersRequest.js +55 -0
  507. package/src/model/AllOfProjectResponseOwner.js +45 -0
  508. package/src/model/AllOfProjectTemplateBaseOwner.js +45 -0
  509. package/src/model/AllOfProjectTemplateResponseOwner.js +45 -0
  510. package/src/model/AllOfStoryResponseNewDateValue.js +44 -0
  511. package/src/model/AllOfStoryResponseOldDateValue.js +44 -0
  512. package/src/model/AllOfUserTaskListBaseOwner.js +45 -0
  513. package/src/model/AllOfUserTaskListBaseWorkspace.js +45 -0
  514. package/src/model/AllOfUserTaskListCompactOwner.js +45 -0
  515. package/src/model/AllOfUserTaskListCompactWorkspace.js +45 -0
  516. package/src/model/AllOfUserTaskListRequestOwner.js +45 -0
  517. package/src/model/AllOfUserTaskListRequestWorkspace.js +45 -0
  518. package/src/model/AllOfUserTaskListResponseOwner.js +45 -0
  519. package/src/model/AllOfUserTaskListResponseWorkspace.js +45 -0
  520. package/src/model/AllOfWorkspaceMembershipResponseUserTaskListOwner.js +45 -0
  521. package/src/model/AllOfWorkspaceMembershipResponseUserTaskListWorkspace.js +45 -0
  522. package/src/model/AsanaNamedResource.js +70 -0
  523. package/src/model/AsanaNamedResourceArray.js +63 -0
  524. package/src/model/AsanaResource.js +62 -0
  525. package/src/model/AttachmentBase.js +78 -0
  526. package/src/model/AttachmentCompact.js +78 -0
  527. package/src/model/AttachmentRequest.js +143 -0
  528. package/src/model/AttachmentResponse.js +141 -0
  529. package/src/model/AttachmentResponseArray.js +63 -0
  530. package/src/model/AttachmentResponseData.js +55 -0
  531. package/src/model/AttachmentResponseParent.js +78 -0
  532. package/src/model/AuditLogEvent.js +110 -0
  533. package/src/model/AuditLogEventActor.js +114 -0
  534. package/src/model/AuditLogEventArray.js +63 -0
  535. package/src/model/AuditLogEventContext.js +164 -0
  536. package/src/model/AuditLogEventDetails.js +45 -0
  537. package/src/model/AuditLogEventResource.js +86 -0
  538. package/src/model/BatchBody.js +53 -0
  539. package/src/model/BatchRequest.js +54 -0
  540. package/src/model/BatchRequestAction.js +124 -0
  541. package/src/model/BatchRequestActions.js +124 -0
  542. package/src/model/BatchRequestOptions.js +70 -0
  543. package/src/model/BatchResponse.js +70 -0
  544. package/src/model/BatchResponseArray.js +63 -0
  545. package/src/model/CreateMembershipRequest.js +69 -0
  546. package/src/model/CreateTimeTrackingEntryRequest.js +61 -0
  547. package/src/model/CustomFieldBase.js +1209 -0
  548. package/src/model/CustomFieldBaseDateValue.js +62 -0
  549. package/src/model/CustomFieldBaseEnumOptions.js +86 -0
  550. package/src/model/CustomFieldBaseEnumValue.js +86 -0
  551. package/src/model/CustomFieldCompact.js +243 -0
  552. package/src/model/CustomFieldGidEnumOptionsBody.js +53 -0
  553. package/src/model/CustomFieldRequest.js +1235 -0
  554. package/src/model/CustomFieldResponse.js +1234 -0
  555. package/src/model/CustomFieldResponseArray.js +63 -0
  556. package/src/model/CustomFieldResponseCreatedBy.js +70 -0
  557. package/src/model/CustomFieldResponseData.js +55 -0
  558. package/src/model/CustomFieldResponsePeopleValue.js +70 -0
  559. package/src/model/CustomFieldSettingBase.js +62 -0
  560. package/src/model/CustomFieldSettingCompact.js +62 -0
  561. package/src/model/CustomFieldSettingResponse.js +94 -0
  562. package/src/model/CustomFieldSettingResponseArray.js +63 -0
  563. package/src/model/CustomFieldSettingResponseCustomField.js +1234 -0
  564. package/src/model/CustomFieldSettingResponseData.js +55 -0
  565. package/src/model/CustomFieldSettingResponseParent.js +70 -0
  566. package/src/model/CustomFieldSettingResponseProject.js +70 -0
  567. package/src/model/CustomFieldsBody.js +53 -0
  568. package/src/model/CustomFieldsCustomFieldGidBody.js +53 -0
  569. package/src/model/DateVariableCompact.js +69 -0
  570. package/src/model/DateVariableRequest.js +61 -0
  571. package/src/model/EmptyResponse.js +45 -0
  572. package/src/model/EmptyResponseData.js +55 -0
  573. package/src/model/EnumOption.js +86 -0
  574. package/src/model/EnumOptionBase.js +86 -0
  575. package/src/model/EnumOptionData.js +55 -0
  576. package/src/model/EnumOptionInsertRequest.js +71 -0
  577. package/src/model/EnumOptionRequest.js +102 -0
  578. package/src/model/EnumOptionsEnumOptionGidBody.js +53 -0
  579. package/src/model/EnumOptionsInsertBody.js +53 -0
  580. package/src/model/Error.js +69 -0
  581. package/src/model/ErrorResponse.js +54 -0
  582. package/src/model/ErrorResponseErrors.js +69 -0
  583. package/src/model/EventResponse.js +102 -0
  584. package/src/model/EventResponseArray.js +63 -0
  585. package/src/model/EventResponseChange.js +86 -0
  586. package/src/model/EventResponseParent.js +70 -0
  587. package/src/model/EventResponseResource.js +70 -0
  588. package/src/model/EventResponseUser.js +70 -0
  589. package/src/model/GoalAddSubgoalRequest.js +71 -0
  590. package/src/model/GoalAddSupportingRelationshipRequest.js +79 -0
  591. package/src/model/GoalAddSupportingWorkRequest.js +55 -0
  592. package/src/model/GoalBase.js +118 -0
  593. package/src/model/GoalCompact.js +78 -0
  594. package/src/model/GoalGidAddFollowersBody.js +53 -0
  595. package/src/model/GoalGidAddSupportingRelationshipBody.js +53 -0
  596. package/src/model/GoalGidRemoveFollowersBody.js +53 -0
  597. package/src/model/GoalGidRemoveSupportingRelationshipBody.js +53 -0
  598. package/src/model/GoalGidSetMetricBody.js +53 -0
  599. package/src/model/GoalGidSetMetricCurrentValueBody.js +53 -0
  600. package/src/model/GoalMembershipBase.js +94 -0
  601. package/src/model/GoalMembershipBaseGoal.js +78 -0
  602. package/src/model/GoalMembershipCompact.js +94 -0
  603. package/src/model/GoalMembershipResponse.js +94 -0
  604. package/src/model/GoalMetricBase.js +206 -0
  605. package/src/model/GoalMetricCurrentValueRequest.js +70 -0
  606. package/src/model/GoalMetricRequest.js +206 -0
  607. package/src/model/GoalRelationshipBase.js +112 -0
  608. package/src/model/GoalRelationshipBaseSupportedGoal.js +78 -0
  609. package/src/model/GoalRelationshipBaseSupportingResource.js +70 -0
  610. package/src/model/GoalRelationshipCompact.js +104 -0
  611. package/src/model/GoalRelationshipRequest.js +112 -0
  612. package/src/model/GoalRelationshipResponse.js +112 -0
  613. package/src/model/GoalRelationshipResponseArray.js +63 -0
  614. package/src/model/GoalRelationshipResponseData.js +55 -0
  615. package/src/model/GoalRelationshipsGoalRelationshipGidBody.js +53 -0
  616. package/src/model/GoalRemoveSubgoalRequest.js +55 -0
  617. package/src/model/GoalRemoveSupportingRelationshipRequest.js +55 -0
  618. package/src/model/GoalRequest.js +157 -0
  619. package/src/model/GoalRequestBase.js +150 -0
  620. package/src/model/GoalResponse.js +200 -0
  621. package/src/model/GoalResponseArray.js +63 -0
  622. package/src/model/GoalResponseCurrentStatusUpdate.js +102 -0
  623. package/src/model/GoalResponseData.js +55 -0
  624. package/src/model/GoalResponseLikes.js +62 -0
  625. package/src/model/GoalResponseMetric.js +214 -0
  626. package/src/model/GoalResponseTeam.js +70 -0
  627. package/src/model/GoalResponseTimePeriod.js +142 -0
  628. package/src/model/GoalResponseWorkspace.js +70 -0
  629. package/src/model/GoalUpdateRequest.js +158 -0
  630. package/src/model/GoalsBody.js +53 -0
  631. package/src/model/GoalsGoalGidBody.js +53 -0
  632. package/src/model/InlineResponse412.js +61 -0
  633. package/src/model/InlineResponse412Errors.js +53 -0
  634. package/src/model/JobBase.js +132 -0
  635. package/src/model/JobBaseNewProject.js +70 -0
  636. package/src/model/JobBaseNewProjectTemplate.js +70 -0
  637. package/src/model/JobBaseNewTask.js +108 -0
  638. package/src/model/JobCompact.js +132 -0
  639. package/src/model/JobResponse.js +132 -0
  640. package/src/model/JobResponseData.js +55 -0
  641. package/src/model/Like.js +62 -0
  642. package/src/model/MemberCompact.js +70 -0
  643. package/src/model/MembershipRequest.js +53 -0
  644. package/src/model/MembershipResponse.js +44 -0
  645. package/src/model/MembershipResponseArray.js +63 -0
  646. package/src/model/MembershipResponseData.js +55 -0
  647. package/src/model/MembershipsBody.js +53 -0
  648. package/src/model/ModifyDependenciesRequest.js +53 -0
  649. package/src/model/ModifyDependentsRequest.js +54 -0
  650. package/src/model/NextPage.js +70 -0
  651. package/src/model/OrganizationExportBase.js +124 -0
  652. package/src/model/OrganizationExportCompact.js +124 -0
  653. package/src/model/OrganizationExportRequest.js +54 -0
  654. package/src/model/OrganizationExportResponse.js +124 -0
  655. package/src/model/OrganizationExportResponseData.js +55 -0
  656. package/src/model/OrganizationExportsBody.js +53 -0
  657. package/src/model/PortfolioAddItemRequest.js +71 -0
  658. package/src/model/PortfolioBase.js +192 -0
  659. package/src/model/PortfolioCompact.js +70 -0
  660. package/src/model/PortfolioGidAddCustomFieldSettingBody.js +53 -0
  661. package/src/model/PortfolioGidAddItemBody.js +53 -0
  662. package/src/model/PortfolioGidAddMembersBody.js +53 -0
  663. package/src/model/PortfolioGidRemoveCustomFieldSettingBody.js +53 -0
  664. package/src/model/PortfolioGidRemoveItemBody.js +53 -0
  665. package/src/model/PortfolioGidRemoveMembersBody.js +53 -0
  666. package/src/model/PortfolioMembershipBase.js +78 -0
  667. package/src/model/PortfolioMembershipBasePortfolio.js +70 -0
  668. package/src/model/PortfolioMembershipCompact.js +78 -0
  669. package/src/model/PortfolioMembershipResponse.js +78 -0
  670. package/src/model/PortfolioMembershipResponseArray.js +63 -0
  671. package/src/model/PortfolioMembershipResponseData.js +55 -0
  672. package/src/model/PortfolioRemoveItemRequest.js +55 -0
  673. package/src/model/PortfolioRequest.js +216 -0
  674. package/src/model/PortfolioResponse.js +297 -0
  675. package/src/model/PortfolioResponseArray.js +63 -0
  676. package/src/model/PortfolioResponseCurrentStatusUpdate.js +102 -0
  677. package/src/model/PortfolioResponseCustomFieldSettings.js +94 -0
  678. package/src/model/PortfolioResponseCustomFields.js +243 -0
  679. package/src/model/PortfolioResponseData.js +55 -0
  680. package/src/model/PortfolioResponseWorkspace.js +70 -0
  681. package/src/model/PortfoliosBody.js +53 -0
  682. package/src/model/PortfoliosPortfolioGidBody.js +53 -0
  683. package/src/model/Preview.js +110 -0
  684. package/src/model/ProjectBase.js +356 -0
  685. package/src/model/ProjectBaseCurrentStatus.js +159 -0
  686. package/src/model/ProjectBaseCurrentStatusUpdate.js +102 -0
  687. package/src/model/ProjectBaseWorkspace.js +70 -0
  688. package/src/model/ProjectBriefBase.js +78 -0
  689. package/src/model/ProjectBriefCompact.js +62 -0
  690. package/src/model/ProjectBriefRequest.js +86 -0
  691. package/src/model/ProjectBriefResponse.js +102 -0
  692. package/src/model/ProjectBriefResponseData.js +55 -0
  693. package/src/model/ProjectBriefResponseProject.js +70 -0
  694. package/src/model/ProjectBriefsProjectBriefGidBody.js +53 -0
  695. package/src/model/ProjectCompact.js +70 -0
  696. package/src/model/ProjectDuplicateRequest.js +79 -0
  697. package/src/model/ProjectDuplicateRequestScheduleDates.js +72 -0
  698. package/src/model/ProjectGidAddCustomFieldSettingBody.js +53 -0
  699. package/src/model/ProjectGidAddFollowersBody.js +53 -0
  700. package/src/model/ProjectGidAddMembersBody.js +53 -0
  701. package/src/model/ProjectGidDuplicateBody.js +53 -0
  702. package/src/model/ProjectGidProjectBriefsBody.js +53 -0
  703. package/src/model/ProjectGidProjectStatusesBody.js +53 -0
  704. package/src/model/ProjectGidRemoveCustomFieldSettingBody.js +53 -0
  705. package/src/model/ProjectGidRemoveFollowersBody.js +53 -0
  706. package/src/model/ProjectGidRemoveMembersBody.js +53 -0
  707. package/src/model/ProjectGidSaveAsTemplateBody.js +53 -0
  708. package/src/model/ProjectGidSectionsBody.js +53 -0
  709. package/src/model/ProjectMembershipBase.js +70 -0
  710. package/src/model/ProjectMembershipCompact.js +70 -0
  711. package/src/model/ProjectMembershipResponse.js +150 -0
  712. package/src/model/ProjectMembershipResponseArray.js +63 -0
  713. package/src/model/ProjectMembershipResponseData.js +55 -0
  714. package/src/model/ProjectMembershipResponseMember.js +70 -0
  715. package/src/model/ProjectRequest.js +388 -0
  716. package/src/model/ProjectResponse.js +643 -0
  717. package/src/model/ProjectResponseArray.js +63 -0
  718. package/src/model/ProjectResponseCompletedBy.js +70 -0
  719. package/src/model/ProjectResponseCreatedFromTemplate.js +70 -0
  720. package/src/model/ProjectResponseData.js +55 -0
  721. package/src/model/ProjectResponseProjectBrief.js +62 -0
  722. package/src/model/ProjectResponseTeam.js +70 -0
  723. package/src/model/ProjectSaveAsTemplateRequest.js +81 -0
  724. package/src/model/ProjectSectionInsertRequest.js +71 -0
  725. package/src/model/ProjectStatusBase.js +128 -0
  726. package/src/model/ProjectStatusCompact.js +70 -0
  727. package/src/model/ProjectStatusRequest.js +128 -0
  728. package/src/model/ProjectStatusResponse.js +159 -0
  729. package/src/model/ProjectStatusResponseArray.js +63 -0
  730. package/src/model/ProjectStatusResponseData.js +55 -0
  731. package/src/model/ProjectTemplateBase.js +256 -0
  732. package/src/model/ProjectTemplateBaseRequestedDates.js +69 -0
  733. package/src/model/ProjectTemplateBaseRequestedRoles.js +70 -0
  734. package/src/model/ProjectTemplateBaseTeam.js +70 -0
  735. package/src/model/ProjectTemplateCompact.js +70 -0
  736. package/src/model/ProjectTemplateGidInstantiateProjectBody.js +53 -0
  737. package/src/model/ProjectTemplateInstantiateProjectRequest.js +97 -0
  738. package/src/model/ProjectTemplateInstantiateProjectRequestRequestedDates.js +61 -0
  739. package/src/model/ProjectTemplateInstantiateProjectRequestRequestedRoles.js +61 -0
  740. package/src/model/ProjectTemplateResponse.js +256 -0
  741. package/src/model/ProjectTemplateResponseArray.js +63 -0
  742. package/src/model/ProjectTemplateResponseData.js +55 -0
  743. package/src/model/ProjectsBody.js +53 -0
  744. package/src/model/ProjectsProjectGidBody.js +53 -0
  745. package/src/model/RemoveCustomFieldSettingRequest.js +55 -0
  746. package/src/model/RemoveFollowersRequest.js +55 -0
  747. package/src/model/RemoveMembersRequest.js +55 -0
  748. package/src/model/RequestedRoleRequest.js +61 -0
  749. package/src/model/RuleTriggerGidRunBody.js +53 -0
  750. package/src/model/RuleTriggerRequest.js +65 -0
  751. package/src/model/RuleTriggerResponse.js +53 -0
  752. package/src/model/RuleTriggerResponseData.js +55 -0
  753. package/src/model/SectionBase.js +70 -0
  754. package/src/model/SectionCompact.js +70 -0
  755. package/src/model/SectionGidAddTaskBody.js +53 -0
  756. package/src/model/SectionRequest.js +71 -0
  757. package/src/model/SectionResponse.js +94 -0
  758. package/src/model/SectionResponseArray.js +63 -0
  759. package/src/model/SectionResponseData.js +55 -0
  760. package/src/model/SectionTaskInsertRequest.js +71 -0
  761. package/src/model/SectionsInsertBody.js +53 -0
  762. package/src/model/SectionsSectionGidBody.js +53 -0
  763. package/src/model/StatusUpdateBase.js +190 -0
  764. package/src/model/StatusUpdateCompact.js +102 -0
  765. package/src/model/StatusUpdateRequest.js +200 -0
  766. package/src/model/StatusUpdateResponse.js +278 -0
  767. package/src/model/StatusUpdateResponseArray.js +63 -0
  768. package/src/model/StatusUpdateResponseData.js +55 -0
  769. package/src/model/StatusUpdateResponseParent.js +70 -0
  770. package/src/model/StatusUpdatesBody.js +53 -0
  771. package/src/model/StoriesStoryGidBody.js +53 -0
  772. package/src/model/StoryBase.js +188 -0
  773. package/src/model/StoryCompact.js +94 -0
  774. package/src/model/StoryRequest.js +188 -0
  775. package/src/model/StoryResponse.js +595 -0
  776. package/src/model/StoryResponseArray.js +63 -0
  777. package/src/model/StoryResponseAssignee.js +70 -0
  778. package/src/model/StoryResponseCustomField.js +243 -0
  779. package/src/model/StoryResponseData.js +55 -0
  780. package/src/model/StoryResponseDates.js +70 -0
  781. package/src/model/StoryResponseOldDates.js +70 -0
  782. package/src/model/StoryResponseOldEnumValue.js +86 -0
  783. package/src/model/StoryResponseOldSection.js +70 -0
  784. package/src/model/StoryResponsePreviews.js +110 -0
  785. package/src/model/StoryResponseProject.js +70 -0
  786. package/src/model/StoryResponseStory.js +94 -0
  787. package/src/model/StoryResponseTag.js +70 -0
  788. package/src/model/StoryResponseTarget.js +108 -0
  789. package/src/model/StoryResponseTask.js +108 -0
  790. package/src/model/TagBase.js +206 -0
  791. package/src/model/TagCompact.js +70 -0
  792. package/src/model/TagRequest.js +222 -0
  793. package/src/model/TagResponse.js +239 -0
  794. package/src/model/TagResponseArray.js +63 -0
  795. package/src/model/TagResponseData.js +55 -0
  796. package/src/model/TagsBody.js +53 -0
  797. package/src/model/TaskAddFollowersRequest.js +55 -0
  798. package/src/model/TaskAddProjectRequest.js +79 -0
  799. package/src/model/TaskAddTagRequest.js +55 -0
  800. package/src/model/TaskBase.js +385 -0
  801. package/src/model/TaskBaseCompletedBy.js +70 -0
  802. package/src/model/TaskBaseDependencies.js +62 -0
  803. package/src/model/TaskBaseExternal.js +60 -0
  804. package/src/model/TaskBaseMemberships.js +61 -0
  805. package/src/model/TaskBaseSection.js +70 -0
  806. package/src/model/TaskCompact.js +108 -0
  807. package/src/model/TaskCountResponse.js +94 -0
  808. package/src/model/TaskCountResponseData.js +55 -0
  809. package/src/model/TaskDuplicateRequest.js +61 -0
  810. package/src/model/TaskGidAddDependenciesBody.js +53 -0
  811. package/src/model/TaskGidAddDependentsBody.js +53 -0
  812. package/src/model/TaskGidAddFollowersBody.js +53 -0
  813. package/src/model/TaskGidAddProjectBody.js +53 -0
  814. package/src/model/TaskGidAddTagBody.js +53 -0
  815. package/src/model/TaskGidDuplicateBody.js +53 -0
  816. package/src/model/TaskGidRemoveDependenciesBody.js +53 -0
  817. package/src/model/TaskGidRemoveDependentsBody.js +53 -0
  818. package/src/model/TaskGidRemoveFollowersBody.js +53 -0
  819. package/src/model/TaskGidRemoveProjectBody.js +53 -0
  820. package/src/model/TaskGidRemoveTagBody.js +53 -0
  821. package/src/model/TaskGidSetParentBody.js +53 -0
  822. package/src/model/TaskGidStoriesBody.js +53 -0
  823. package/src/model/TaskGidSubtasksBody.js +53 -0
  824. package/src/model/TaskGidTimeTrackingEntriesBody.js +53 -0
  825. package/src/model/TaskRemoveFollowersRequest.js +55 -0
  826. package/src/model/TaskRemoveProjectRequest.js +55 -0
  827. package/src/model/TaskRemoveTagRequest.js +55 -0
  828. package/src/model/TaskRequest.js +449 -0
  829. package/src/model/TaskResponse.js +461 -0
  830. package/src/model/TaskResponseArray.js +63 -0
  831. package/src/model/TaskResponseAssigneeSection.js +70 -0
  832. package/src/model/TaskResponseCustomFields.js +1234 -0
  833. package/src/model/TaskResponseData.js +55 -0
  834. package/src/model/TaskResponseParent.js +108 -0
  835. package/src/model/TaskResponseTags.js +70 -0
  836. package/src/model/TaskResponseWorkspace.js +70 -0
  837. package/src/model/TaskSetParentRequest.js +71 -0
  838. package/src/model/TasksBody.js +53 -0
  839. package/src/model/TasksTaskGidBody.js +53 -0
  840. package/src/model/TeamAddUserRequest.js +54 -0
  841. package/src/model/TeamBase.js +70 -0
  842. package/src/model/TeamCompact.js +70 -0
  843. package/src/model/TeamGidAddUserBody.js +53 -0
  844. package/src/model/TeamGidProjectsBody.js +53 -0
  845. package/src/model/TeamGidRemoveUserBody.js +53 -0
  846. package/src/model/TeamMembershipBase.js +102 -0
  847. package/src/model/TeamMembershipCompact.js +102 -0
  848. package/src/model/TeamMembershipResponse.js +102 -0
  849. package/src/model/TeamMembershipResponseArray.js +63 -0
  850. package/src/model/TeamMembershipResponseData.js +55 -0
  851. package/src/model/TeamRemoveUserRequest.js +54 -0
  852. package/src/model/TeamRequest.js +282 -0
  853. package/src/model/TeamResponse.js +290 -0
  854. package/src/model/TeamResponseArray.js +63 -0
  855. package/src/model/TeamResponseData.js +55 -0
  856. package/src/model/TeamResponseOrganization.js +70 -0
  857. package/src/model/TeamsBody.js +53 -0
  858. package/src/model/TeamsTeamGidBody.js +53 -0
  859. package/src/model/TemplateRole.js +70 -0
  860. package/src/model/TimePeriodBase.js +150 -0
  861. package/src/model/TimePeriodCompact.js +142 -0
  862. package/src/model/TimePeriodResponse.js +150 -0
  863. package/src/model/TimePeriodResponseArray.js +63 -0
  864. package/src/model/TimePeriodResponseData.js +55 -0
  865. package/src/model/TimeTrackingEntriesTimeTrackingEntryGidBody.js +53 -0
  866. package/src/model/TimeTrackingEntryBase.js +102 -0
  867. package/src/model/TimeTrackingEntryBaseData.js +55 -0
  868. package/src/model/TimeTrackingEntryCompact.js +86 -0
  869. package/src/model/TimeTrackingEntryCompactArray.js +63 -0
  870. package/src/model/UpdateTimeTrackingEntryRequest.js +61 -0
  871. package/src/model/UserBase.js +70 -0
  872. package/src/model/UserBaseResponse.js +86 -0
  873. package/src/model/UserBaseResponseData.js +55 -0
  874. package/src/model/UserBaseResponsePhoto.js +88 -0
  875. package/src/model/UserCompact.js +70 -0
  876. package/src/model/UserRequest.js +70 -0
  877. package/src/model/UserResponse.js +95 -0
  878. package/src/model/UserResponseArray.js +63 -0
  879. package/src/model/UserResponseData.js +55 -0
  880. package/src/model/UserTaskListBase.js +86 -0
  881. package/src/model/UserTaskListCompact.js +86 -0
  882. package/src/model/UserTaskListRequest.js +86 -0
  883. package/src/model/UserTaskListResponse.js +86 -0
  884. package/src/model/UserTaskListResponseData.js +55 -0
  885. package/src/model/WebhookCompact.js +86 -0
  886. package/src/model/WebhookCompactResource.js +70 -0
  887. package/src/model/WebhookFilter.js +78 -0
  888. package/src/model/WebhookRequest.js +74 -0
  889. package/src/model/WebhookRequestFilters.js +78 -0
  890. package/src/model/WebhookResponse.js +127 -0
  891. package/src/model/WebhookResponseArray.js +63 -0
  892. package/src/model/WebhookResponseData.js +55 -0
  893. package/src/model/WebhookUpdateRequest.js +54 -0
  894. package/src/model/WebhooksBody.js +53 -0
  895. package/src/model/WebhooksWebhookGidBody.js +53 -0
  896. package/src/model/WorkspaceAddUserRequest.js +54 -0
  897. package/src/model/WorkspaceBase.js +70 -0
  898. package/src/model/WorkspaceCompact.js +70 -0
  899. package/src/model/WorkspaceGidAddUserBody.js +53 -0
  900. package/src/model/WorkspaceGidProjectsBody.js +53 -0
  901. package/src/model/WorkspaceGidRemoveUserBody.js +53 -0
  902. package/src/model/WorkspaceGidTagsBody.js +53 -0
  903. package/src/model/WorkspaceMembershipBase.js +78 -0
  904. package/src/model/WorkspaceMembershipCompact.js +78 -0
  905. package/src/model/WorkspaceMembershipRequest.js +78 -0
  906. package/src/model/WorkspaceMembershipResponse.js +126 -0
  907. package/src/model/WorkspaceMembershipResponseArray.js +63 -0
  908. package/src/model/WorkspaceMembershipResponseData.js +55 -0
  909. package/src/model/WorkspaceMembershipResponseUserTaskList.js +86 -0
  910. package/src/model/WorkspaceMembershipResponseVacationDates.js +62 -0
  911. package/src/model/WorkspaceRemoveUserRequest.js +54 -0
  912. package/src/model/WorkspaceRequest.js +70 -0
  913. package/src/model/WorkspaceResponse.js +86 -0
  914. package/src/model/WorkspaceResponseArray.js +63 -0
  915. package/src/model/WorkspaceResponseData.js +55 -0
  916. package/src/model/WorkspacesWorkspaceGidBody.js +53 -0
  917. package/.github/workflows/build.yml +0 -27
  918. package/.github/workflows/publish-to-github-releases.yml +0 -26
  919. package/.github/workflows/publish-to-npmjs.yml +0 -21
  920. package/VERSION +0 -1
  921. package/bower.json +0 -29
  922. package/gulpfile.js +0 -205
  923. package/index.js +0 -7
  924. package/lib/auth/app.js +0 -136
  925. package/lib/auth/authenticator.js +0 -41
  926. package/lib/auth/auto_detect.js +0 -36
  927. package/lib/auth/base_browser_flow.js +0 -97
  928. package/lib/auth/basic_authenticator.js +0 -33
  929. package/lib/auth/chrome_extension_flow.js +0 -94
  930. package/lib/auth/index.js +0 -9
  931. package/lib/auth/native_flow.js +0 -106
  932. package/lib/auth/oauth_authenticator.js +0 -125
  933. package/lib/auth/oauth_error.js +0 -24
  934. package/lib/auth/oauth_util.js +0 -52
  935. package/lib/auth/popup_flow.js +0 -135
  936. package/lib/auth/redirect_flow.js +0 -54
  937. package/lib/client.js +0 -250
  938. package/lib/default_environment.js +0 -21
  939. package/lib/dispatcher.js +0 -438
  940. package/lib/errors/error.js +0 -12
  941. package/lib/errors/forbidden.js +0 -12
  942. package/lib/errors/index.js +0 -7
  943. package/lib/errors/invalid_request.js +0 -12
  944. package/lib/errors/no_authorization.js +0 -12
  945. package/lib/errors/not_found.js +0 -12
  946. package/lib/errors/premium_only.js +0 -12
  947. package/lib/errors/rate_limit_enforced.js +0 -17
  948. package/lib/errors/server_error.js +0 -12
  949. package/lib/resources/attachments.js +0 -43
  950. package/lib/resources/audit_log_api.js +0 -6
  951. package/lib/resources/batch_api.js +0 -3
  952. package/lib/resources/custom_field_settings.js +0 -41
  953. package/lib/resources/custom_fields.js +0 -195
  954. package/lib/resources/events.js +0 -41
  955. package/lib/resources/gen/attachments.js +0 -78
  956. package/lib/resources/gen/audit_log_api.js +0 -45
  957. package/lib/resources/gen/batch_api.js +0 -35
  958. package/lib/resources/gen/custom_field_settings.js +0 -63
  959. package/lib/resources/gen/custom_fields.js +0 -167
  960. package/lib/resources/gen/events.js +0 -39
  961. package/lib/resources/gen/goals.js +0 -321
  962. package/lib/resources/gen/jobs.js +0 -39
  963. package/lib/resources/gen/organization_exports.js +0 -55
  964. package/lib/resources/gen/portfolio_memberships.js +0 -85
  965. package/lib/resources/gen/portfolios.js +0 -243
  966. package/lib/resources/gen/project_briefs.js +0 -93
  967. package/lib/resources/gen/project_memberships.js +0 -62
  968. package/lib/resources/gen/project_statuses.js +0 -97
  969. package/lib/resources/gen/project_templates.js +0 -101
  970. package/lib/resources/gen/projects.js +0 -384
  971. package/lib/resources/gen/sections.js +0 -151
  972. package/lib/resources/gen/status_updates.js +0 -95
  973. package/lib/resources/gen/stories.js +0 -117
  974. package/lib/resources/gen/tags.js +0 -176
  975. package/lib/resources/gen/tasks.js +0 -579
  976. package/lib/resources/gen/team_memberships.js +0 -107
  977. package/lib/resources/gen/teams.js +0 -138
  978. package/lib/resources/gen/time_periods.js +0 -62
  979. package/lib/resources/gen/typeahead.js +0 -43
  980. package/lib/resources/gen/user_task_lists.js +0 -60
  981. package/lib/resources/gen/users.js +0 -125
  982. package/lib/resources/gen/webhooks.js +0 -113
  983. package/lib/resources/gen/workspace_memberships.js +0 -84
  984. package/lib/resources/gen/workspaces.js +0 -113
  985. package/lib/resources/index.js +0 -26
  986. package/lib/resources/jobs.js +0 -23
  987. package/lib/resources/organization_exports.js +0 -41
  988. package/lib/resources/portfolio_memberships.js +0 -61
  989. package/lib/resources/portfolios.js +0 -263
  990. package/lib/resources/project_memberships.js +0 -51
  991. package/lib/resources/project_statuses.js +0 -83
  992. package/lib/resources/projects.js +0 -359
  993. package/lib/resources/resource.js +0 -118
  994. package/lib/resources/sections.js +0 -158
  995. package/lib/resources/stories.js +0 -99
  996. package/lib/resources/tags.js +0 -167
  997. package/lib/resources/tasks.js +0 -702
  998. package/lib/resources/teams.js +0 -122
  999. package/lib/resources/typeahead.js +0 -3
  1000. package/lib/resources/user_task_lists.js +0 -78
  1001. package/lib/resources/users.js +0 -98
  1002. package/lib/resources/webhooks.js +0 -100
  1003. package/lib/resources/workspace_memberships.js +0 -3
  1004. package/lib/resources/workspaces.js +0 -135
  1005. package/lib/util/buffered_readable.js +0 -59
  1006. package/lib/util/collection.js +0 -133
  1007. package/lib/util/event_stream.js +0 -71
  1008. package/lib/util/resource_stream.js +0 -80
  1009. package/samples/attachments_sample.yaml +0 -45
  1010. package/samples/audit_log_api_sample.yaml +0 -12
  1011. package/samples/batch_api_sample.yaml +0 -12
  1012. package/samples/custom_field_settings_sample.yaml +0 -23
  1013. package/samples/custom_fields_sample.yaml +0 -89
  1014. package/samples/events_sample.yaml +0 -12
  1015. package/samples/goals_sample.yaml +0 -177
  1016. package/samples/jobs_sample.yaml +0 -12
  1017. package/samples/organization_exports_sample.yaml +0 -23
  1018. package/samples/portfolio_memberships_sample.yaml +0 -34
  1019. package/samples/portfolios_sample.yaml +0 -133
  1020. package/samples/project_briefs_sample.yaml +0 -45
  1021. package/samples/project_memberships_sample.yaml +0 -23
  1022. package/samples/project_statuses_sample.yaml +0 -45
  1023. package/samples/project_templates_sample.yaml +0 -45
  1024. package/samples/projects_sample.yaml +0 -210
  1025. package/samples/sections_sample.yaml +0 -78
  1026. package/samples/status_updates_sample.yaml +0 -45
  1027. package/samples/stories_sample.yaml +0 -56
  1028. package/samples/tags_sample.yaml +0 -89
  1029. package/samples/tasks_sample.yaml +0 -287
  1030. package/samples/team_memberships_sample.yaml +0 -45
  1031. package/samples/teams_sample.yaml +0 -67
  1032. package/samples/time_periods_sample.yaml +0 -23
  1033. package/samples/typeahead_sample.yaml +0 -12
  1034. package/samples/user_task_lists_sample.yaml +0 -23
  1035. package/samples/users_sample.yaml +0 -56
  1036. package/samples/webhooks_sample.yaml +0 -56
  1037. package/samples/workspace_memberships_sample.yaml +0 -34
  1038. package/samples/workspaces_sample.yaml +0 -56
  1039. package/swagger_templates/api.mustache +0 -60
  1040. package/swagger_templates/api_doc.mustache +0 -13
  1041. package/swagger_templates/node-config.json +0 -7
package/lib/client.js DELETED
@@ -1,250 +0,0 @@
1
- var Dispatcher = require('./dispatcher');
2
- var resources = require('./resources');
3
- var BasicAuthenticator = require('./auth/basic_authenticator');
4
- var OauthAuthenticator = require('./auth/oauth_authenticator');
5
- var App = require('./auth/app');
6
- var autoDetect = require('./auth/auto_detect');
7
-
8
- /**
9
- * Constructs a Client with instances of all the resources using the dispatcher.
10
- * It also keeps a reference to the dispatcher so that way the end user can have
11
- * access to it.
12
- * @class
13
- * @classdesc A wrapper for the Asana API which is authenticated for one user
14
- * @param {Dispatcher} dispatcher The request dispatcher to use
15
- * @param {Object} options Options to configure the client
16
- * @param {String} [clientId] ID of the client, required for Oauth
17
- * @param {String} [clientSecret] Secret key, for some Oauth flows
18
- * @param {String} [redirectUri] Default redirect URI for this client
19
- * @param {String} [asanaBaseUrl] Base URL for Asana, for debugging
20
- */
21
- function Client(dispatcher, options) {
22
- options = options || {};
23
- /**
24
- * The internal dispatcher. This is mostly used by the resources but provided
25
- * for custom requests to the API or API features that have not yet been added
26
- * to the client.
27
- * @type {Dispatcher}
28
- */
29
- this.dispatcher = dispatcher;
30
- /**
31
- * An instance of the Attachments resource.
32
- * @type {Attachments}
33
- */
34
- this.attachments = new resources.Attachments(this.dispatcher);
35
- /**
36
- * An instance of the AuditLogAPI resource.
37
- * @type {AuditLogAPI}
38
- */
39
- this.auditLogAPI = new resources.AuditLogAPI(this.dispatcher);
40
- /**
41
- * An instance of the BatchAPI resource.
42
- * @type {BatchAPI}
43
- */
44
- this.batchAPI = new resources.BatchAPI(this.dispatcher);
45
- /**
46
- * An instance of the CustomFieldSettings resource.
47
- * @type {CustomFieldSettings}
48
- */
49
- this.customFieldSettings = new resources.CustomFieldSettings(this.dispatcher);
50
- /**
51
- * An instance of the CustomFields resource.
52
- * @type {CustomFields}
53
- */
54
- this.customFields = new resources.CustomFields(this.dispatcher);
55
- /**
56
- * An instance of the Events resource.
57
- * @type {Events}
58
- */
59
- this.events = new resources.Events(this.dispatcher);
60
- /**
61
- * An instance of the Jobs resource.
62
- * @type {Jobs}
63
- */
64
- this.jobs = new resources.Jobs(this.dispatcher);
65
- /**
66
- * An instance of the OrganizationExports resource.
67
- * @type {Events}
68
- */
69
- this.organizationExports = new resources.OrganizationExports(this.dispatcher);
70
- /**
71
- * An instance of the Portfolios resource.
72
- * @type {Portfolios}
73
- */
74
- this.portfolios = new resources.Portfolios(this.dispatcher);
75
- /**
76
- * An instance of the PortfolioMemberships resource.
77
- * @type {PortfolioMemberships}
78
- */
79
- this.portfolioMemberships =
80
- new resources.PortfolioMemberships(this.dispatcher);
81
- /**
82
- * An instance of the Projects resource.
83
- * @type {Projects}
84
- */
85
- this.projects = new resources.Projects(this.dispatcher);
86
- /**
87
- * An instance of the ProjectMemberships resource.
88
- * @type {ProjectMemberships}
89
- */
90
- this.projectMemberships = new resources.ProjectMemberships(this.dispatcher);
91
- /**
92
- * An instance of the ProjectStatuses resource.
93
- * @type {ProjectStatuses}
94
- */
95
- this.projectStatuses = new resources.ProjectStatuses(this.dispatcher);
96
- /**
97
- * An instance of the Sections resource.
98
- * @type {Sections}
99
- */
100
- this.sections = new resources.Sections(this.dispatcher);
101
- /**
102
- * An instance of the Stories resource.
103
- * @type {Stories}
104
- */
105
- this.stories = new resources.Stories(this.dispatcher);
106
- /**
107
- * An instance of the Tags resource.
108
- * @type {Tags}
109
- */
110
- this.tags = new resources.Tags(this.dispatcher);
111
- /**
112
- * An instance of the Tasks resource.
113
- * @type {Tasks}
114
- */
115
- this.tasks = new resources.Tasks(this.dispatcher);
116
- /**
117
- * An instance of the Teams resource.
118
- * @type {Teams}
119
- */
120
- this.teams = new resources.Teams(this.dispatcher);
121
- /**
122
- * An instance of the Typeahead resource.
123
- * @type {Teams}
124
- */
125
- this.typeahead = new resources.Typeahead(this.dispatcher);
126
- /**
127
- * An instance of the Users resource.
128
- * @type {Users}
129
- */
130
- this.users = new resources.Users(this.dispatcher);
131
- /**
132
- * An instance of the UserTaskLists resource.
133
- * @type {UserTaskLists}
134
- */
135
- this.userTaskLists = new resources.UserTaskLists(this.dispatcher);
136
- /**
137
- * An instance of the Workspaces resource.
138
- * @type {Workspaces}
139
- */
140
- this.workspaces = new resources.Workspaces(this.dispatcher);
141
- /**
142
- * An instance of the WorkspaceMemberships resource.
143
- * @type {Workspaces}
144
- */
145
- this.workspaceMemberships =
146
- new resources.WorkspaceMemberships(this.dispatcher);
147
- /**
148
- * An instance of the Webhooks resource.
149
- * @type {Webhooks}
150
- */
151
- this.webhooks = new resources.Webhooks(this.dispatcher);
152
-
153
- // Store off Oauth info.
154
- this.app = new App(options);
155
- }
156
-
157
- /**
158
- * Ensures the client is authorized to make requests. Kicks off the
159
- * configured Oauth flow, if any.
160
- *
161
- * @returns {Promise<Client>} A promise that resolves to this client when
162
- * authorization is complete.
163
- */
164
- Client.prototype.authorize = function() {
165
- var me = this;
166
- return me.dispatcher.authorize().then(function() {
167
- return me;
168
- });
169
- };
170
-
171
- /**
172
- * DEPRECATED: this only exists for backwards compatibility and
173
- * will be removed in a future version of the client library.
174
- * Configure the Client to use a user's PAT and then authenticate
175
- * through HTTP Basic Authentication.
176
- * @param {String} accessToken The Asana PAT of the user
177
- * @return {Client} this
178
- */
179
- Client.prototype.useBasicAuth = function(accessToken) {
180
- this.dispatcher.setAuthenticator(new BasicAuthenticator(accessToken));
181
- return this;
182
- };
183
-
184
- /**
185
- * Configure the client to authenticate using a Personal Access Token.
186
- * @param {String} accessToken The Personal Access Token to use for
187
- * authenticating requests.
188
- * @return {Client} this
189
- */
190
- Client.prototype.useAccessToken = function(accessToken) {
191
- var authenticator = new OauthAuthenticator({
192
- credentials: accessToken
193
- });
194
-
195
- this.dispatcher.setAuthenticator(authenticator);
196
- return this;
197
- };
198
-
199
- /**
200
- * Configure the client to authenticate via Oauth. Credentials can be
201
- * supplied, or they can be obtained by running an Oauth flow.
202
- * @param {Object} options Options for Oauth. Includes any options for
203
- * the selected flow.
204
- * @option {Function} [flowType] Type of OauthFlow to use to obtain user
205
- * authorization. Defaults to autodetect based on environment.
206
- * @option {Object} [credentials] Credentials to use; no flow required to
207
- * obtain authorization. This object should at a minimum contain an
208
- * `access_token` string field.
209
- * @option {Function} [refreshCredentialsCallback] An optional callback
210
- * function to execute once the authenticator auto refreshes
211
- * access credentials.
212
- * For Example:
213
- * function(credentials){
214
- * console.log("Your new credentials are:"+credentials)
215
- * }
216
- * @return {Client} this
217
- */
218
- Client.prototype.useOauth = function(options) {
219
- options = options || {};
220
- options.app = this.app;
221
-
222
- var FlowType = options.flowType || autoDetect();
223
- // If there are no credentials, then we can't proceed without a flow.
224
- if (!options.credentials && FlowType === null) {
225
- throw new Error('Could not autodetect Oauth flow type');
226
- }
227
- var flow = new FlowType(options);
228
- var authenticator = new OauthAuthenticator({
229
- app: this.app,
230
- credentials: options.credentials,
231
- flow: flow,
232
- refreshCredentialsCallback: options.refreshCredentialsCallback || null
233
- });
234
-
235
- this.dispatcher.setAuthenticator(authenticator);
236
- return this;
237
- };
238
-
239
- /**
240
- * Creates a new client.
241
- * @param {Object} options Options for specifying the client, see constructor.
242
- */
243
- Client.create = function(options) {
244
- options = options || {};
245
- return new Client(
246
- new Dispatcher(options),
247
- options);
248
- };
249
-
250
- module.exports = Client;
@@ -1,21 +0,0 @@
1
- /* jshint browser: true */
2
- /* global chrome */
3
-
4
- function defaultEnvironment() {
5
- var env = {};
6
- if (typeof(window) !== 'undefined') {
7
- // Browser
8
- env.window = window;
9
- }
10
- if (typeof(chrome) !== 'undefined') {
11
- // Chrome Extension
12
- env.chrome = chrome;
13
- }
14
- if (typeof(process) !== 'undefined') {
15
- // NodeJS script
16
- env.process = process;
17
- }
18
- return env;
19
- }
20
-
21
- module.exports = defaultEnvironment;
package/lib/dispatcher.js DELETED
@@ -1,438 +0,0 @@
1
- var errors = require('./errors');
2
- var Bluebird = require('bluebird');
3
- var request = require('request');
4
- var _ = require('lodash');
5
- var querystring = require('querystring');
6
-
7
- var VERSION = require('../package.json').version;
8
-
9
- var STATUS_MAP = Object.keys(errors).reduce(function(map, key) {
10
- var error = new errors[key](null);
11
- if (error.status) {
12
- map[error.status] = errors[key];
13
- }
14
- return map;
15
- }, {});
16
-
17
- // TODO: Provide same set of options for each request as for configuration,
18
- // so the config at construction time is just the "defaults"
19
-
20
- /**
21
- * Creates a dispatcher which will act as a basic wrapper for making HTTP
22
- * requests to the API, and handle authentication.
23
- * @class
24
- * @classdesc A HTTP wrapper for the Asana API
25
- * @param {Object} options for default behavior of the Dispatcher
26
- * @option {Authenticator} [authenticator] Object to use for authentication.
27
- * Can also be set later with `setAuthenticator`.
28
- * @option {String} [retryOnRateLimit] Automatically handle `RateLimitEnforced`
29
- * errors by sleeping and retrying after the waiting period.
30
- * @option {Function} [handleUnauthorized] Automatically handle
31
- * `NoAuthorization` with the callback. If the callback returns `true`
32
- * (or a promise resolving to `true), will retry the request.
33
- * @option {String} [asanaBaseUrl] Base URL for Asana, for debugging
34
- * @option {Number} [requestTimeout] Timeout (in milliseconds) to wait for the
35
- * request to finish.
36
- */
37
- function Dispatcher(options) {
38
- options = options || {};
39
- /**
40
- * The object to use to handle authentication.
41
- * @type {Authenticator}
42
- */
43
- this.authenticator = options.authenticator || null;
44
- /**
45
- * The base URL for Asana
46
- * @type {String}
47
- */
48
- this.asanaBaseUrl = options.asanaBaseUrl || 'https://app.asana.com/';
49
- /**
50
- * Whether requests should be automatically retried if rate limited.
51
- * @type {Boolean}
52
- */
53
- this.retryOnRateLimit = options.retryOnRateLimit || false;
54
- /**
55
- * What headers should be included by default in all requests, if any.
56
- * Can be overridden by individual requests.
57
- * @type {Object}
58
- */
59
- this.defaultHeaders = options.defaultHeaders || {};
60
- /**
61
- * Handler for unauthorized requests which may seek reauthorization.
62
- * Default behavior is available if configured with an Oauth authenticator
63
- * that has a refresh token, and will refresh the current access token.
64
- * @type {Function}
65
- */
66
- this.handleUnauthorized = (options.handleUnauthorized !== undefined) ?
67
- options.handleUnauthorized : Dispatcher.maybeReauthorize;
68
- /**
69
- * Version info gathered from the system, to send with the request.
70
- * @type {Object}
71
- */
72
- this._cachedVersionInfo = null;
73
-
74
- /**
75
- * The amount of time in milliseconds to wait for a request to finish.
76
- * @type {Number}
77
- */
78
- this.requestTimeout = options.requestTimeout || null;
79
-
80
- /**
81
- * What proxy should be used by default in all requests, if any.
82
- * Can be overridden by individual requests.
83
- * @type {String}
84
- */
85
- this.defaultProxy = options.defaultProxy || null;
86
- /**
87
- * Whether the dispatcher logs the AsanaChange header or not.
88
- * @type {boolean}
89
- */
90
- this.logAsanaChangeWarnings = options.logAsanaChangeWarnings !== false;
91
- }
92
-
93
- /**
94
- * The relative API path for the current version of the Asana API.
95
- * @type {String}
96
- */
97
- Dispatcher.API_PATH = 'api/1.0';
98
-
99
- /**
100
- * Default handler for requests that are considered unauthorized.
101
- * Requests that the authenticator try to refresh its credentials if
102
- * possible.
103
- * @return {Promise<boolean>} True iff refresh was successful, false if not.
104
- */
105
- Dispatcher.maybeReauthorize = function() {
106
- if (!this.authenticator) {
107
- return false;
108
- }
109
- return this.authenticator.refreshCredentials();
110
- };
111
-
112
- /**
113
- * Whether the request library should show debug logs
114
- */
115
- Dispatcher.prototype.debug = function(flag) {
116
- request.debug = flag;
117
- };
118
-
119
- /**
120
- * Creates an Asana API Url by concatenating the ROOT_URL with path provided.
121
- * @param {String} path The path
122
- * @return {String} The url
123
- */
124
- Dispatcher.prototype.url = function(path) {
125
- return this.asanaBaseUrl + Dispatcher.API_PATH + path;
126
- };
127
-
128
- /**
129
- * Configure the authentication mechanism to use.
130
- * @returns {Dispatcher} this
131
- */
132
- Dispatcher.prototype.setAuthenticator = function(authenticator) {
133
- this.authenticator = authenticator;
134
- return this;
135
- };
136
-
137
- /**
138
- * Ensure the dispatcher is authorized to make requests. Call this before
139
- * making any API requests.
140
- *
141
- * @returns {Promise} Resolves when the dispatcher is authorized, rejected if
142
- * there was a problem authorizing.
143
- */
144
- Dispatcher.prototype.authorize = function() {
145
- if (this.authenticator === null) {
146
- throw new Error('No authenticator configured for dispatcher');
147
- }
148
- return this.authenticator.establishCredentials();
149
- };
150
-
151
- /**
152
- * Logs the Asana-Change header if the request is affected and
153
- * has not Asana-Enabled the flag.
154
- * @param {Object} reqHeaders headers in the request
155
- * @param {Object} resHeaders headers in the response
156
- */
157
- Dispatcher.prototype.logAsanaChangeHeader = function(reqHeaders, resHeaders) {
158
- var changeHeaderKey = null;
159
-
160
- for (var key in resHeaders) {
161
- if (key.toLowerCase() === 'asana-change') {
162
- changeHeaderKey = key;
163
- }
164
- }
165
-
166
- if (changeHeaderKey !== null) {
167
- var accountedForFlags = [];
168
-
169
- var addFlag = function(flag) {
170
- accountedForFlags.push(flag.trim());
171
- };
172
-
173
- // Grab the request's asana-enable flags
174
- for (var reqHeader in reqHeaders) {
175
- if (!reqHeaders.hasOwnProperty(reqHeader)) {
176
- continue;
177
- }
178
-
179
- if (reqHeader.toLowerCase() === 'asana-enable') {
180
- reqHeaders[reqHeader].split(',').forEach(addFlag);
181
- } else if (reqHeader.toLowerCase() === 'asana-disable') {
182
- reqHeaders[reqHeader].split(',').forEach(addFlag);
183
- }
184
- }
185
-
186
- var changes = resHeaders[changeHeaderKey].split(',');
187
- changes.forEach(function(unsplitChange) {
188
- var change = unsplitChange.split(';');
189
-
190
- var name = null;
191
- var info = null;
192
- var affected = null;
193
-
194
- for (var j = 0; j < change.length; j++) {
195
- var field = change[j].split('=');
196
-
197
- field[0] = field[0].trim();
198
- if (field[0].trim() === 'name') {
199
- name = field[1].trim();
200
- }
201
- else if (field[0].trim() === 'info') {
202
- info = field[1].trim();
203
- }
204
- else if (field[0].trim() === 'affected') {
205
- affected = field[1].trim();
206
- }
207
- }
208
-
209
- // Only show the error if the flag was not in the request's
210
- // asana-enable header
211
- if (accountedForFlags.indexOf(name) === -1 && affected === 'true') {
212
- var message = 'This request is affected by the "' + name +
213
- '" deprecation. Please visit this url for more info: ' + info +
214
- '\n' + 'Adding "' + name + '" to your "Asana-Enable" or ' +
215
- '"Asana-Disable" header will opt in/out to this deprecation ' +
216
- 'and suppress this warning.';
217
-
218
- console.error(message);
219
- }
220
- });
221
- }
222
- };
223
-
224
- /**
225
- * Dispatches a request to the Asana API. The request parameters are passed to
226
- * the request module.
227
- * @param {Object} params The params for request
228
- * @param {Object} [dispatchOptions] Options for handling request/response
229
- * @return {Promise} The response for the request
230
- */
231
- Dispatcher.prototype.dispatch = function(params, dispatchOptions) {
232
- var me = this;
233
- // TODO: actually honor these options as overriding defaults
234
- dispatchOptions = dispatchOptions || {};
235
-
236
- if (this.requestTimeout) {
237
- params.timeout = this.requestTimeout;
238
- }
239
-
240
- if (this.defaultProxy) {
241
- params.proxy = this.defaultProxy;
242
- }
243
-
244
- return new Bluebird(function(resolve, reject) {
245
- function doRequest() {
246
- if (me.authenticator !== null) {
247
- me.authenticator.authenticateRequest(params);
248
- }
249
- params.headers = _.extend(
250
- {}, params.headers, me.defaultHeaders, dispatchOptions.headers || {});
251
- me._addVersionInfo(params);
252
- request(params, function(err, res, payload) {
253
- if (err) {
254
- return reject(err);
255
- }
256
-
257
- // Handle Asana-Change header logging
258
- if (me.logAsanaChangeWarnings) {
259
- me.logAsanaChangeHeader(params.headers, res.headers);
260
- }
261
-
262
- if (STATUS_MAP[res.statusCode]) {
263
- var error = new STATUS_MAP[res.statusCode](payload, res);
264
-
265
- if (me.retryOnRateLimit &&
266
- error instanceof (errors.RateLimitEnforced)) {
267
- // Maybe attempt retry for rate limiting.
268
- // Delay a half-second more in case of rounding error.
269
- // TODO: verify Asana is always being conservative with duration
270
- setTimeout(doRequest, error.retryAfterSeconds * 1000 + 500);
271
-
272
- } else if (me.handleUnauthorized &&
273
- error instanceof (errors.NoAuthorization)) {
274
- // Maybe attempt to retry unauthorized requests after getting
275
- // a new access token.
276
- Bluebird.resolve(me.handleUnauthorized()).then(function(reauth) {
277
- if (reauth) {
278
- doRequest();
279
- } else {
280
- reject(error);
281
- }
282
- })
283
- .catch(function() {
284
- reject(error);
285
- });
286
- } else {
287
- // Not an error we can handle.
288
- return reject(error);
289
- }
290
- } else {
291
- return resolve(payload);
292
- }
293
- });
294
- }
295
- doRequest();
296
- });
297
- };
298
-
299
- /**
300
- * Dispatches a GET request to the Asana API.
301
- * @param {String} path The path of the API
302
- * @param {Object} [query] The query params
303
- * @param {Object} [dispatchOptions] Options for handling the request and
304
- * response. See `dispatch`.
305
- * @return {Promise} The response for the request
306
- */
307
- Dispatcher.prototype.get = function(path, query, dispatchOptions) {
308
- var params = {
309
- method: 'GET',
310
- url: this.url(path),
311
- json: true
312
- };
313
- var options = this._parseApiOptions(query);
314
- if (options) {
315
- params.qs = options;
316
- }
317
-
318
- if (query) {
319
- params.qs = Object.assign(query, params.qs);
320
- }
321
- return this.dispatch(params, dispatchOptions);
322
- };
323
-
324
- /**
325
- * Dispatches a POST request to the Asana API.
326
- * @param {String} path The path of the API
327
- * @param {Object} data The data to be sent
328
- * @param {Object} [dispatchOptions] Options for handling the request and
329
- * response. See `dispatch`.
330
- * @return {Promise} The response for the request
331
- */
332
- Dispatcher.prototype.post = function(path, data, dispatchOptions) {
333
- var params = {
334
- method: 'POST',
335
- url: this.url(path),
336
- json: {
337
- data: data
338
- }
339
- };
340
- var options = this._parseApiOptions(data);
341
- if (options) {
342
- params.qs = options;
343
- }
344
-
345
- return this.dispatch(params, dispatchOptions);
346
- };
347
-
348
- /**
349
- * Dispatches a PUT request to the Asana API.
350
- * @param {String} path The path of the API
351
- * @param {Object} data The data to be sent
352
- * @param {Object} [dispatchOptions] Options for handling the request and
353
- * response. See `dispatch`.
354
- * @return {Promise} The response for the request
355
- */
356
- Dispatcher.prototype.put = function(path, data, dispatchOptions) {
357
- var params = {
358
- method: 'PUT',
359
- url: this.url(path),
360
- json: {
361
- data: data
362
- }
363
- };
364
- var options = this._parseApiOptions(data);
365
- if (options) {
366
- params.qs = options;
367
- }
368
-
369
- return this.dispatch(params, dispatchOptions);
370
- };
371
-
372
- /**
373
- * Dispatches a DELETE request to the Asana API.
374
- * @param {String} path The path of the API
375
- * @param {Object} [dispatchOptions] Options for handling the request and
376
- * response. See `dispatch`.
377
- * @return {Promise} The response for the request
378
- */
379
- Dispatcher.prototype.delete = function(path, dispatchOptions) {
380
- var params = {
381
- method: 'DELETE',
382
- url: this.url(path)
383
- };
384
-
385
- return this.dispatch(params, dispatchOptions);
386
- };
387
-
388
- /**
389
- * @param request {Object} Request to add version header to.
390
- * @private
391
- */
392
- Dispatcher.prototype._addVersionInfo = function(request) {
393
- if (!this._cachedVersionInfo) {
394
- this._cachedVersionInfo = this._generateVersionInfo();
395
- }
396
- request.headers = request.headers || {};
397
- request.headers['X-Asana-Client-Lib'] =
398
- querystring.stringify(this._cachedVersionInfo);
399
- };
400
-
401
- /**
402
- * @return {Object} Dictionary of key-value pairs indicating library version
403
- * @private
404
- */
405
- Dispatcher.prototype._generateVersionInfo = function() {
406
- if (typeof(navigator) === 'undefined' || typeof(window) === 'undefined') {
407
- return {
408
- 'version': VERSION,
409
- 'language': 'NodeJS',
410
- 'language_version': process.version,
411
- 'os': process.platform
412
- };
413
- } else {
414
- return {
415
- 'version': VERSION,
416
- 'language': 'BrowserJS'
417
- };
418
- }
419
- };
420
-
421
- Dispatcher.prototype._parseApiOptions = function(params) {
422
- if (!params) {
423
- return null;
424
- }
425
-
426
- var optionKeys = ['pretty', 'fields', 'expand'];
427
- var options = {};
428
-
429
- for (var i = 0; i < optionKeys.length; i++) {
430
- if (params.hasOwnProperty(optionKeys[i])) {
431
- options['opt_' + optionKeys[i]] = params[optionKeys[i]];
432
- }
433
- }
434
-
435
- return options;
436
- };
437
-
438
- module.exports = Dispatcher;