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.
- package/.babelrc +33 -0
- package/.github/workflows/publish.yaml +72 -0
- package/.swagger-codegen/VERSION +1 -0
- package/.swagger-codegen-ignore +21 -1
- package/README.md +885 -296
- package/codegen/swagger/README.md +74 -0
- package/codegen/swagger/pom.xml +129 -0
- package/codegen/swagger/src/main/java/com/asana/codegen/ExampleUtility.java +27 -0
- package/codegen/swagger/src/main/java/com/asana/codegen/JavascriptClientCodegenGenerator.java +79 -0
- package/codegen/swagger/src/main/java/com/asana/codegen/ReadMe.java +164 -0
- package/codegen/swagger/src/main/resources/META-INF/services/io.swagger.codegen.v3.CodegenConfig +1 -0
- package/codegen/templates/ApiClient.mustache +618 -0
- package/codegen/templates/README.mustache +439 -0
- package/codegen/templates/api_doc.mustache +51 -0
- package/codegen/templates/code_sample.mustache +47 -0
- package/codegen/templates/code_samples.mustache +11 -0
- package/dist/ApiClient.js +607 -0
- package/dist/api/AttachmentsApi.js +217 -0
- package/dist/api/AuditLogAPIApi.js +105 -0
- package/dist/api/BatchAPIApi.js +90 -0
- package/dist/api/CustomFieldSettingsApi.js +139 -0
- package/dist/api/CustomFieldsApi.js +376 -0
- package/dist/api/EventsApi.js +93 -0
- package/dist/api/GoalRelationshipsApi.js +271 -0
- package/dist/api/GoalsApi.js +486 -0
- package/dist/api/JobsApi.js +91 -0
- package/dist/api/MembershipsApi.js +161 -0
- package/dist/api/OrganizationExportsApi.js +130 -0
- package/dist/api/PortfolioMembershipsApi.js +181 -0
- package/dist/api/PortfoliosApi.js +560 -0
- package/dist/api/ProjectBriefsApi.js +219 -0
- package/dist/api/ProjectMembershipsApi.js +138 -0
- package/dist/api/ProjectStatusesApi.js +218 -0
- package/dist/api/ProjectTemplatesApi.js +256 -0
- package/dist/api/ProjectsApi.js +881 -0
- package/dist/api/RulesApi.js +92 -0
- package/dist/api/SectionsApi.js +334 -0
- package/dist/api/StatusUpdatesApi.js +216 -0
- package/dist/api/StoriesApi.js +264 -0
- package/dist/api/TagsApi.js +380 -0
- package/dist/api/TasksApi.js +1277 -0
- package/dist/api/TeamMembershipsApi.js +229 -0
- package/dist/api/TeamsApi.js +360 -0
- package/dist/api/TimePeriodsApi.js +139 -0
- package/dist/api/TimeTrackingEntriesApi.js +264 -0
- package/dist/api/TypeaheadApi.js +103 -0
- package/dist/api/UserTaskListsApi.js +137 -0
- package/dist/api/UsersApi.js +274 -0
- package/dist/api/WebhooksApi.js +258 -0
- package/dist/api/WorkspaceMembershipsApi.js +182 -0
- package/dist/api/WorkspacesApi.js +264 -0
- package/dist/index.js +3141 -0
- package/dist/model/AddCustomFieldSettingRequest.js +89 -0
- package/dist/model/AddFollowersRequest.js +68 -0
- package/dist/model/AddMembersRequest.js +68 -0
- package/dist/model/AllOfProjectResponseOwner.js +61 -0
- package/dist/model/AllOfProjectTemplateBaseOwner.js +61 -0
- package/dist/model/AllOfProjectTemplateResponseOwner.js +61 -0
- package/dist/model/AllOfStoryResponseNewDateValue.js +60 -0
- package/dist/model/AllOfStoryResponseOldDateValue.js +60 -0
- package/dist/model/AllOfUserTaskListBaseOwner.js +61 -0
- package/dist/model/AllOfUserTaskListBaseWorkspace.js +61 -0
- package/dist/model/AllOfUserTaskListCompactOwner.js +61 -0
- package/dist/model/AllOfUserTaskListCompactWorkspace.js +61 -0
- package/dist/model/AllOfUserTaskListRequestOwner.js +61 -0
- package/dist/model/AllOfUserTaskListRequestWorkspace.js +61 -0
- package/dist/model/AllOfUserTaskListResponseOwner.js +61 -0
- package/dist/model/AllOfUserTaskListResponseWorkspace.js +61 -0
- package/dist/model/AllOfWorkspaceMembershipResponseUserTaskListOwner.js +61 -0
- package/dist/model/AllOfWorkspaceMembershipResponseUserTaskListWorkspace.js +61 -0
- package/dist/model/AsanaNamedResource.js +81 -0
- package/dist/model/AsanaNamedResourceArray.js +75 -0
- package/dist/model/AsanaResource.js +74 -0
- package/dist/model/AttachmentBase.js +88 -0
- package/dist/model/AttachmentCompact.js +88 -0
- package/dist/model/AttachmentRequest.js +145 -0
- package/dist/model/AttachmentResponse.js +143 -0
- package/dist/model/AttachmentResponseArray.js +75 -0
- package/dist/model/AttachmentResponseData.js +68 -0
- package/dist/model/AttachmentResponseParent.js +88 -0
- package/dist/model/AuditLogEvent.js +116 -0
- package/dist/model/AuditLogEventActor.js +120 -0
- package/dist/model/AuditLogEventArray.js +75 -0
- package/dist/model/AuditLogEventContext.js +164 -0
- package/dist/model/AuditLogEventDetails.js +61 -0
- package/dist/model/AuditLogEventResource.js +95 -0
- package/dist/model/BatchBody.js +66 -0
- package/dist/model/BatchRequest.js +67 -0
- package/dist/model/BatchRequestAction.js +129 -0
- package/dist/model/BatchRequestActions.js +129 -0
- package/dist/model/BatchRequestOptions.js +81 -0
- package/dist/model/BatchResponse.js +81 -0
- package/dist/model/BatchResponseArray.js +75 -0
- package/dist/model/CreateMembershipRequest.js +80 -0
- package/dist/model/CreateTimeTrackingEntryRequest.js +73 -0
- package/dist/model/CustomFieldBase.js +1047 -0
- package/dist/model/CustomFieldBaseDateValue.js +74 -0
- package/dist/model/CustomFieldBaseEnumOptions.js +95 -0
- package/dist/model/CustomFieldBaseEnumValue.js +95 -0
- package/dist/model/CustomFieldCompact.js +233 -0
- package/dist/model/CustomFieldGidEnumOptionsBody.js +66 -0
- package/dist/model/CustomFieldRequest.js +1070 -0
- package/dist/model/CustomFieldResponse.js +1069 -0
- package/dist/model/CustomFieldResponseArray.js +75 -0
- package/dist/model/CustomFieldResponseCreatedBy.js +81 -0
- package/dist/model/CustomFieldResponseData.js +68 -0
- package/dist/model/CustomFieldResponsePeopleValue.js +81 -0
- package/dist/model/CustomFieldSettingBase.js +74 -0
- package/dist/model/CustomFieldSettingCompact.js +74 -0
- package/dist/model/CustomFieldSettingResponse.js +102 -0
- package/dist/model/CustomFieldSettingResponseArray.js +75 -0
- package/dist/model/CustomFieldSettingResponseCustomField.js +1069 -0
- package/dist/model/CustomFieldSettingResponseData.js +68 -0
- package/dist/model/CustomFieldSettingResponseParent.js +81 -0
- package/dist/model/CustomFieldSettingResponseProject.js +81 -0
- package/dist/model/CustomFieldsBody.js +66 -0
- package/dist/model/CustomFieldsCustomFieldGidBody.js +66 -0
- package/dist/model/DateVariableCompact.js +80 -0
- package/dist/model/DateVariableRequest.js +73 -0
- package/dist/model/EmptyResponse.js +61 -0
- package/dist/model/EmptyResponseData.js +68 -0
- package/dist/model/EnumOption.js +95 -0
- package/dist/model/EnumOptionBase.js +95 -0
- package/dist/model/EnumOptionData.js +68 -0
- package/dist/model/EnumOptionInsertRequest.js +82 -0
- package/dist/model/EnumOptionRequest.js +109 -0
- package/dist/model/EnumOptionsEnumOptionGidBody.js +66 -0
- package/dist/model/EnumOptionsInsertBody.js +66 -0
- package/dist/model/Error.js +80 -0
- package/dist/model/ErrorResponse.js +67 -0
- package/dist/model/ErrorResponseErrors.js +80 -0
- package/dist/model/EventResponse.js +109 -0
- package/dist/model/EventResponseArray.js +75 -0
- package/dist/model/EventResponseChange.js +95 -0
- package/dist/model/EventResponseParent.js +81 -0
- package/dist/model/EventResponseResource.js +81 -0
- package/dist/model/EventResponseUser.js +81 -0
- package/dist/model/GoalAddSubgoalRequest.js +82 -0
- package/dist/model/GoalAddSupportingRelationshipRequest.js +89 -0
- package/dist/model/GoalAddSupportingWorkRequest.js +68 -0
- package/dist/model/GoalBase.js +123 -0
- package/dist/model/GoalCompact.js +88 -0
- package/dist/model/GoalGidAddFollowersBody.js +66 -0
- package/dist/model/GoalGidAddSupportingRelationshipBody.js +66 -0
- package/dist/model/GoalGidRemoveFollowersBody.js +66 -0
- package/dist/model/GoalGidRemoveSupportingRelationshipBody.js +66 -0
- package/dist/model/GoalGidSetMetricBody.js +66 -0
- package/dist/model/GoalGidSetMetricCurrentValueBody.js +66 -0
- package/dist/model/GoalMembershipBase.js +102 -0
- package/dist/model/GoalMembershipBaseGoal.js +88 -0
- package/dist/model/GoalMembershipCompact.js +102 -0
- package/dist/model/GoalMembershipResponse.js +102 -0
- package/dist/model/GoalMetricBase.js +203 -0
- package/dist/model/GoalMetricCurrentValueRequest.js +81 -0
- package/dist/model/GoalMetricRequest.js +203 -0
- package/dist/model/GoalRelationshipBase.js +119 -0
- package/dist/model/GoalRelationshipBaseSupportedGoal.js +88 -0
- package/dist/model/GoalRelationshipBaseSupportingResource.js +81 -0
- package/dist/model/GoalRelationshipCompact.js +112 -0
- package/dist/model/GoalRelationshipRequest.js +119 -0
- package/dist/model/GoalRelationshipResponse.js +119 -0
- package/dist/model/GoalRelationshipResponseArray.js +75 -0
- package/dist/model/GoalRelationshipResponseData.js +68 -0
- package/dist/model/GoalRelationshipsGoalRelationshipGidBody.js +66 -0
- package/dist/model/GoalRemoveSubgoalRequest.js +68 -0
- package/dist/model/GoalRemoveSupportingRelationshipRequest.js +68 -0
- package/dist/model/GoalRequest.js +157 -0
- package/dist/model/GoalRequestBase.js +151 -0
- package/dist/model/GoalResponse.js +195 -0
- package/dist/model/GoalResponseArray.js +75 -0
- package/dist/model/GoalResponseCurrentStatusUpdate.js +110 -0
- package/dist/model/GoalResponseData.js +68 -0
- package/dist/model/GoalResponseLikes.js +74 -0
- package/dist/model/GoalResponseMetric.js +210 -0
- package/dist/model/GoalResponseTeam.js +81 -0
- package/dist/model/GoalResponseTimePeriod.js +144 -0
- package/dist/model/GoalResponseWorkspace.js +81 -0
- package/dist/model/GoalUpdateRequest.js +158 -0
- package/dist/model/GoalsBody.js +66 -0
- package/dist/model/GoalsGoalGidBody.js +66 -0
- package/dist/model/InlineResponse412.js +73 -0
- package/dist/model/InlineResponse412Errors.js +66 -0
- package/dist/model/JobBase.js +136 -0
- package/dist/model/JobBaseNewProject.js +81 -0
- package/dist/model/JobBaseNewProjectTemplate.js +81 -0
- package/dist/model/JobBaseNewTask.js +115 -0
- package/dist/model/JobCompact.js +136 -0
- package/dist/model/JobResponse.js +136 -0
- package/dist/model/JobResponseData.js +68 -0
- package/dist/model/Like.js +74 -0
- package/dist/model/MemberCompact.js +81 -0
- package/dist/model/MembershipRequest.js +66 -0
- package/dist/model/MembershipResponse.js +60 -0
- package/dist/model/MembershipResponseArray.js +75 -0
- package/dist/model/MembershipResponseData.js +68 -0
- package/dist/model/MembershipsBody.js +66 -0
- package/dist/model/ModifyDependenciesRequest.js +66 -0
- package/dist/model/ModifyDependentsRequest.js +67 -0
- package/dist/model/NextPage.js +81 -0
- package/dist/model/OrganizationExportBase.js +129 -0
- package/dist/model/OrganizationExportCompact.js +129 -0
- package/dist/model/OrganizationExportRequest.js +67 -0
- package/dist/model/OrganizationExportResponse.js +129 -0
- package/dist/model/OrganizationExportResponseData.js +68 -0
- package/dist/model/OrganizationExportsBody.js +66 -0
- package/dist/model/PortfolioAddItemRequest.js +82 -0
- package/dist/model/PortfolioBase.js +185 -0
- package/dist/model/PortfolioCompact.js +81 -0
- package/dist/model/PortfolioGidAddCustomFieldSettingBody.js +66 -0
- package/dist/model/PortfolioGidAddItemBody.js +66 -0
- package/dist/model/PortfolioGidAddMembersBody.js +66 -0
- package/dist/model/PortfolioGidRemoveCustomFieldSettingBody.js +66 -0
- package/dist/model/PortfolioGidRemoveItemBody.js +66 -0
- package/dist/model/PortfolioGidRemoveMembersBody.js +66 -0
- package/dist/model/PortfolioMembershipBase.js +88 -0
- package/dist/model/PortfolioMembershipBasePortfolio.js +81 -0
- package/dist/model/PortfolioMembershipCompact.js +88 -0
- package/dist/model/PortfolioMembershipResponse.js +88 -0
- package/dist/model/PortfolioMembershipResponseArray.js +75 -0
- package/dist/model/PortfolioMembershipResponseData.js +68 -0
- package/dist/model/PortfolioRemoveItemRequest.js +68 -0
- package/dist/model/PortfolioRequest.js +206 -0
- package/dist/model/PortfolioResponse.js +277 -0
- package/dist/model/PortfolioResponseArray.js +75 -0
- package/dist/model/PortfolioResponseCurrentStatusUpdate.js +110 -0
- package/dist/model/PortfolioResponseCustomFieldSettings.js +102 -0
- package/dist/model/PortfolioResponseCustomFields.js +233 -0
- package/dist/model/PortfolioResponseData.js +68 -0
- package/dist/model/PortfolioResponseWorkspace.js +81 -0
- package/dist/model/PortfoliosBody.js +66 -0
- package/dist/model/PortfoliosPortfolioGidBody.js +66 -0
- package/dist/model/Preview.js +116 -0
- package/dist/model/ProjectBase.js +329 -0
- package/dist/model/ProjectBaseCurrentStatus.js +160 -0
- package/dist/model/ProjectBaseCurrentStatusUpdate.js +110 -0
- package/dist/model/ProjectBaseWorkspace.js +81 -0
- package/dist/model/ProjectBriefBase.js +88 -0
- package/dist/model/ProjectBriefCompact.js +74 -0
- package/dist/model/ProjectBriefRequest.js +95 -0
- package/dist/model/ProjectBriefResponse.js +109 -0
- package/dist/model/ProjectBriefResponseData.js +68 -0
- package/dist/model/ProjectBriefResponseProject.js +81 -0
- package/dist/model/ProjectBriefsProjectBriefGidBody.js +66 -0
- package/dist/model/ProjectCompact.js +81 -0
- package/dist/model/ProjectDuplicateRequest.js +89 -0
- package/dist/model/ProjectDuplicateRequestScheduleDates.js +83 -0
- package/dist/model/ProjectGidAddCustomFieldSettingBody.js +66 -0
- package/dist/model/ProjectGidAddFollowersBody.js +66 -0
- package/dist/model/ProjectGidAddMembersBody.js +66 -0
- package/dist/model/ProjectGidDuplicateBody.js +66 -0
- package/dist/model/ProjectGidProjectBriefsBody.js +66 -0
- package/dist/model/ProjectGidProjectStatusesBody.js +66 -0
- package/dist/model/ProjectGidRemoveCustomFieldSettingBody.js +66 -0
- package/dist/model/ProjectGidRemoveFollowersBody.js +66 -0
- package/dist/model/ProjectGidRemoveMembersBody.js +66 -0
- package/dist/model/ProjectGidSaveAsTemplateBody.js +66 -0
- package/dist/model/ProjectGidSectionsBody.js +66 -0
- package/dist/model/ProjectMembershipBase.js +81 -0
- package/dist/model/ProjectMembershipCompact.js +81 -0
- package/dist/model/ProjectMembershipResponse.js +153 -0
- package/dist/model/ProjectMembershipResponseArray.js +75 -0
- package/dist/model/ProjectMembershipResponseData.js +68 -0
- package/dist/model/ProjectMembershipResponseMember.js +81 -0
- package/dist/model/ProjectRequest.js +359 -0
- package/dist/model/ProjectResponse.js +574 -0
- package/dist/model/ProjectResponseArray.js +75 -0
- package/dist/model/ProjectResponseCompletedBy.js +81 -0
- package/dist/model/ProjectResponseCreatedFromTemplate.js +81 -0
- package/dist/model/ProjectResponseData.js +68 -0
- package/dist/model/ProjectResponseProjectBrief.js +74 -0
- package/dist/model/ProjectResponseTeam.js +81 -0
- package/dist/model/ProjectSaveAsTemplateRequest.js +91 -0
- package/dist/model/ProjectSectionInsertRequest.js +82 -0
- package/dist/model/ProjectStatusBase.js +133 -0
- package/dist/model/ProjectStatusCompact.js +81 -0
- package/dist/model/ProjectStatusRequest.js +133 -0
- package/dist/model/ProjectStatusResponse.js +160 -0
- package/dist/model/ProjectStatusResponseArray.js +75 -0
- package/dist/model/ProjectStatusResponseData.js +68 -0
- package/dist/model/ProjectTemplateBase.js +241 -0
- package/dist/model/ProjectTemplateBaseRequestedDates.js +80 -0
- package/dist/model/ProjectTemplateBaseRequestedRoles.js +81 -0
- package/dist/model/ProjectTemplateBaseTeam.js +81 -0
- package/dist/model/ProjectTemplateCompact.js +81 -0
- package/dist/model/ProjectTemplateGidInstantiateProjectBody.js +66 -0
- package/dist/model/ProjectTemplateInstantiateProjectRequest.js +105 -0
- package/dist/model/ProjectTemplateInstantiateProjectRequestRequestedDates.js +73 -0
- package/dist/model/ProjectTemplateInstantiateProjectRequestRequestedRoles.js +73 -0
- package/dist/model/ProjectTemplateResponse.js +241 -0
- package/dist/model/ProjectTemplateResponseArray.js +75 -0
- package/dist/model/ProjectTemplateResponseData.js +68 -0
- package/dist/model/ProjectsBody.js +66 -0
- package/dist/model/ProjectsProjectGidBody.js +66 -0
- package/dist/model/RemoveCustomFieldSettingRequest.js +68 -0
- package/dist/model/RemoveFollowersRequest.js +68 -0
- package/dist/model/RemoveMembersRequest.js +68 -0
- package/dist/model/RequestedRoleRequest.js +73 -0
- package/dist/model/RuleTriggerGidRunBody.js +66 -0
- package/dist/model/RuleTriggerRequest.js +79 -0
- package/dist/model/RuleTriggerResponse.js +66 -0
- package/dist/model/RuleTriggerResponseData.js +68 -0
- package/dist/model/SectionBase.js +81 -0
- package/dist/model/SectionCompact.js +81 -0
- package/dist/model/SectionGidAddTaskBody.js +66 -0
- package/dist/model/SectionRequest.js +82 -0
- package/dist/model/SectionResponse.js +102 -0
- package/dist/model/SectionResponseArray.js +75 -0
- package/dist/model/SectionResponseData.js +68 -0
- package/dist/model/SectionTaskInsertRequest.js +82 -0
- package/dist/model/SectionsInsertBody.js +66 -0
- package/dist/model/SectionsSectionGidBody.js +66 -0
- package/dist/model/StatusUpdateBase.js +187 -0
- package/dist/model/StatusUpdateCompact.js +110 -0
- package/dist/model/StatusUpdateRequest.js +196 -0
- package/dist/model/StatusUpdateResponse.js +264 -0
- package/dist/model/StatusUpdateResponseArray.js +75 -0
- package/dist/model/StatusUpdateResponseData.js +68 -0
- package/dist/model/StatusUpdateResponseParent.js +81 -0
- package/dist/model/StatusUpdatesBody.js +66 -0
- package/dist/model/StoriesStoryGidBody.js +66 -0
- package/dist/model/StoryBase.js +183 -0
- package/dist/model/StoryCompact.js +102 -0
- package/dist/model/StoryRequest.js +183 -0
- package/dist/model/StoryResponse.js +540 -0
- package/dist/model/StoryResponseArray.js +75 -0
- package/dist/model/StoryResponseAssignee.js +81 -0
- package/dist/model/StoryResponseCustomField.js +233 -0
- package/dist/model/StoryResponseData.js +68 -0
- package/dist/model/StoryResponseDates.js +81 -0
- package/dist/model/StoryResponseOldDates.js +81 -0
- package/dist/model/StoryResponseOldEnumValue.js +95 -0
- package/dist/model/StoryResponseOldSection.js +81 -0
- package/dist/model/StoryResponsePreviews.js +116 -0
- package/dist/model/StoryResponseProject.js +81 -0
- package/dist/model/StoryResponseStory.js +102 -0
- package/dist/model/StoryResponseTag.js +81 -0
- package/dist/model/StoryResponseTarget.js +115 -0
- package/dist/model/StoryResponseTask.js +115 -0
- package/dist/model/TagBase.js +197 -0
- package/dist/model/TagCompact.js +81 -0
- package/dist/model/TagRequest.js +211 -0
- package/dist/model/TagResponse.js +226 -0
- package/dist/model/TagResponseArray.js +75 -0
- package/dist/model/TagResponseData.js +68 -0
- package/dist/model/TagsBody.js +66 -0
- package/dist/model/TaskAddFollowersRequest.js +68 -0
- package/dist/model/TaskAddProjectRequest.js +89 -0
- package/dist/model/TaskAddTagRequest.js +68 -0
- package/dist/model/TaskBase.js +359 -0
- package/dist/model/TaskBaseCompletedBy.js +81 -0
- package/dist/model/TaskBaseDependencies.js +74 -0
- package/dist/model/TaskBaseExternal.js +72 -0
- package/dist/model/TaskBaseMemberships.js +73 -0
- package/dist/model/TaskBaseSection.js +81 -0
- package/dist/model/TaskCompact.js +115 -0
- package/dist/model/TaskCountResponse.js +102 -0
- package/dist/model/TaskCountResponseData.js +68 -0
- package/dist/model/TaskDuplicateRequest.js +73 -0
- package/dist/model/TaskGidAddDependenciesBody.js +66 -0
- package/dist/model/TaskGidAddDependentsBody.js +66 -0
- package/dist/model/TaskGidAddFollowersBody.js +66 -0
- package/dist/model/TaskGidAddProjectBody.js +66 -0
- package/dist/model/TaskGidAddTagBody.js +66 -0
- package/dist/model/TaskGidDuplicateBody.js +66 -0
- package/dist/model/TaskGidRemoveDependenciesBody.js +66 -0
- package/dist/model/TaskGidRemoveDependentsBody.js +66 -0
- package/dist/model/TaskGidRemoveFollowersBody.js +66 -0
- package/dist/model/TaskGidRemoveProjectBody.js +66 -0
- package/dist/model/TaskGidRemoveTagBody.js +66 -0
- package/dist/model/TaskGidSetParentBody.js +66 -0
- package/dist/model/TaskGidStoriesBody.js +66 -0
- package/dist/model/TaskGidSubtasksBody.js +66 -0
- package/dist/model/TaskGidTimeTrackingEntriesBody.js +66 -0
- package/dist/model/TaskRemoveFollowersRequest.js +68 -0
- package/dist/model/TaskRemoveProjectRequest.js +68 -0
- package/dist/model/TaskRemoveTagRequest.js +68 -0
- package/dist/model/TaskRequest.js +417 -0
- package/dist/model/TaskResponse.js +426 -0
- package/dist/model/TaskResponseArray.js +75 -0
- package/dist/model/TaskResponseAssigneeSection.js +81 -0
- package/dist/model/TaskResponseCustomFields.js +1069 -0
- package/dist/model/TaskResponseData.js +68 -0
- package/dist/model/TaskResponseParent.js +115 -0
- package/dist/model/TaskResponseTags.js +81 -0
- package/dist/model/TaskResponseWorkspace.js +81 -0
- package/dist/model/TaskSetParentRequest.js +82 -0
- package/dist/model/TasksBody.js +66 -0
- package/dist/model/TasksTaskGidBody.js +66 -0
- package/dist/model/TeamAddUserRequest.js +67 -0
- package/dist/model/TeamBase.js +81 -0
- package/dist/model/TeamCompact.js +81 -0
- package/dist/model/TeamGidAddUserBody.js +66 -0
- package/dist/model/TeamGidProjectsBody.js +66 -0
- package/dist/model/TeamGidRemoveUserBody.js +66 -0
- package/dist/model/TeamMembershipBase.js +109 -0
- package/dist/model/TeamMembershipCompact.js +109 -0
- package/dist/model/TeamMembershipResponse.js +109 -0
- package/dist/model/TeamMembershipResponseArray.js +75 -0
- package/dist/model/TeamMembershipResponseData.js +68 -0
- package/dist/model/TeamRemoveUserRequest.js +67 -0
- package/dist/model/TeamRequest.js +275 -0
- package/dist/model/TeamResponse.js +282 -0
- package/dist/model/TeamResponseArray.js +75 -0
- package/dist/model/TeamResponseData.js +68 -0
- package/dist/model/TeamResponseOrganization.js +81 -0
- package/dist/model/TeamsBody.js +66 -0
- package/dist/model/TeamsTeamGidBody.js +66 -0
- package/dist/model/TemplateRole.js +81 -0
- package/dist/model/TimePeriodBase.js +151 -0
- package/dist/model/TimePeriodCompact.js +144 -0
- package/dist/model/TimePeriodResponse.js +151 -0
- package/dist/model/TimePeriodResponseArray.js +75 -0
- package/dist/model/TimePeriodResponseData.js +68 -0
- package/dist/model/TimeTrackingEntriesTimeTrackingEntryGidBody.js +66 -0
- package/dist/model/TimeTrackingEntryBase.js +109 -0
- package/dist/model/TimeTrackingEntryBaseData.js +68 -0
- package/dist/model/TimeTrackingEntryCompact.js +95 -0
- package/dist/model/TimeTrackingEntryCompactArray.js +75 -0
- package/dist/model/UpdateTimeTrackingEntryRequest.js +73 -0
- package/dist/model/UserBase.js +81 -0
- package/dist/model/UserBaseResponse.js +95 -0
- package/dist/model/UserBaseResponseData.js +68 -0
- package/dist/model/UserBaseResponsePhoto.js +96 -0
- package/dist/model/UserCompact.js +81 -0
- package/dist/model/UserRequest.js +81 -0
- package/dist/model/UserResponse.js +103 -0
- package/dist/model/UserResponseArray.js +75 -0
- package/dist/model/UserResponseData.js +68 -0
- package/dist/model/UserTaskListBase.js +95 -0
- package/dist/model/UserTaskListCompact.js +95 -0
- package/dist/model/UserTaskListRequest.js +95 -0
- package/dist/model/UserTaskListResponse.js +95 -0
- package/dist/model/UserTaskListResponseData.js +68 -0
- package/dist/model/WebhookCompact.js +95 -0
- package/dist/model/WebhookCompactResource.js +81 -0
- package/dist/model/WebhookFilter.js +88 -0
- package/dist/model/WebhookRequest.js +85 -0
- package/dist/model/WebhookRequestFilters.js +88 -0
- package/dist/model/WebhookResponse.js +131 -0
- package/dist/model/WebhookResponseArray.js +75 -0
- package/dist/model/WebhookResponseData.js +68 -0
- package/dist/model/WebhookUpdateRequest.js +67 -0
- package/dist/model/WebhooksBody.js +66 -0
- package/dist/model/WebhooksWebhookGidBody.js +66 -0
- package/dist/model/WorkspaceAddUserRequest.js +67 -0
- package/dist/model/WorkspaceBase.js +81 -0
- package/dist/model/WorkspaceCompact.js +81 -0
- package/dist/model/WorkspaceGidAddUserBody.js +66 -0
- package/dist/model/WorkspaceGidProjectsBody.js +66 -0
- package/dist/model/WorkspaceGidRemoveUserBody.js +66 -0
- package/dist/model/WorkspaceGidTagsBody.js +66 -0
- package/dist/model/WorkspaceMembershipBase.js +88 -0
- package/dist/model/WorkspaceMembershipCompact.js +88 -0
- package/dist/model/WorkspaceMembershipRequest.js +88 -0
- package/dist/model/WorkspaceMembershipResponse.js +130 -0
- package/dist/model/WorkspaceMembershipResponseArray.js +75 -0
- package/dist/model/WorkspaceMembershipResponseData.js +68 -0
- package/dist/model/WorkspaceMembershipResponseUserTaskList.js +95 -0
- package/dist/model/WorkspaceMembershipResponseVacationDates.js +74 -0
- package/dist/model/WorkspaceRemoveUserRequest.js +67 -0
- package/dist/model/WorkspaceRequest.js +81 -0
- package/dist/model/WorkspaceResponse.js +95 -0
- package/dist/model/WorkspaceResponseArray.js +75 -0
- package/dist/model/WorkspaceResponseData.js +68 -0
- package/dist/model/WorkspacesWorkspaceGidBody.js +66 -0
- package/mocha.opts +1 -0
- package/package.json +33 -44
- package/src/ApiClient.js +600 -0
- package/src/api/AttachmentsApi.js +238 -0
- package/src/api/AuditLogAPIApi.js +95 -0
- package/src/api/BatchAPIApi.js +89 -0
- package/src/api/CustomFieldSettingsApi.js +141 -0
- package/src/api/CustomFieldsApi.js +439 -0
- package/src/api/EventsApi.js +90 -0
- package/src/api/GoalRelationshipsApi.js +305 -0
- package/src/api/GoalsApi.js +563 -0
- package/src/api/JobsApi.js +88 -0
- package/src/api/MembershipsApi.js +181 -0
- package/src/api/OrganizationExportsApi.js +138 -0
- package/src/api/PortfolioMembershipsApi.js +190 -0
- package/src/api/PortfoliosApi.js +669 -0
- package/src/api/ProjectBriefsApi.js +246 -0
- package/src/api/ProjectMembershipsApi.js +141 -0
- package/src/api/ProjectStatusesApi.js +243 -0
- package/src/api/ProjectTemplatesApi.js +288 -0
- package/src/api/ProjectsApi.js +1040 -0
- package/src/api/RulesApi.js +92 -0
- package/src/api/SectionsApi.js +390 -0
- package/src/api/StatusUpdatesApi.js +241 -0
- package/src/api/StoriesApi.js +298 -0
- package/src/api/TagsApi.js +440 -0
- package/src/api/TasksApi.js +1454 -0
- package/src/api/TeamMembershipsApi.js +245 -0
- package/src/api/TeamsApi.js +411 -0
- package/src/api/TimePeriodsApi.js +142 -0
- package/src/api/TimeTrackingEntriesApi.js +298 -0
- package/src/api/TypeaheadApi.js +96 -0
- package/src/api/UserTaskListsApi.js +142 -0
- package/src/api/UsersApi.js +299 -0
- package/src/api/WebhooksApi.js +294 -0
- package/src/api/WorkspaceMembershipsApi.js +192 -0
- package/src/api/WorkspacesApi.js +300 -0
- package/src/index.js +3183 -0
- package/src/model/AddCustomFieldSettingRequest.js +79 -0
- package/src/model/AddFollowersRequest.js +55 -0
- package/src/model/AddMembersRequest.js +55 -0
- package/src/model/AllOfProjectResponseOwner.js +45 -0
- package/src/model/AllOfProjectTemplateBaseOwner.js +45 -0
- package/src/model/AllOfProjectTemplateResponseOwner.js +45 -0
- package/src/model/AllOfStoryResponseNewDateValue.js +44 -0
- package/src/model/AllOfStoryResponseOldDateValue.js +44 -0
- package/src/model/AllOfUserTaskListBaseOwner.js +45 -0
- package/src/model/AllOfUserTaskListBaseWorkspace.js +45 -0
- package/src/model/AllOfUserTaskListCompactOwner.js +45 -0
- package/src/model/AllOfUserTaskListCompactWorkspace.js +45 -0
- package/src/model/AllOfUserTaskListRequestOwner.js +45 -0
- package/src/model/AllOfUserTaskListRequestWorkspace.js +45 -0
- package/src/model/AllOfUserTaskListResponseOwner.js +45 -0
- package/src/model/AllOfUserTaskListResponseWorkspace.js +45 -0
- package/src/model/AllOfWorkspaceMembershipResponseUserTaskListOwner.js +45 -0
- package/src/model/AllOfWorkspaceMembershipResponseUserTaskListWorkspace.js +45 -0
- package/src/model/AsanaNamedResource.js +70 -0
- package/src/model/AsanaNamedResourceArray.js +63 -0
- package/src/model/AsanaResource.js +62 -0
- package/src/model/AttachmentBase.js +78 -0
- package/src/model/AttachmentCompact.js +78 -0
- package/src/model/AttachmentRequest.js +143 -0
- package/src/model/AttachmentResponse.js +141 -0
- package/src/model/AttachmentResponseArray.js +63 -0
- package/src/model/AttachmentResponseData.js +55 -0
- package/src/model/AttachmentResponseParent.js +78 -0
- package/src/model/AuditLogEvent.js +110 -0
- package/src/model/AuditLogEventActor.js +114 -0
- package/src/model/AuditLogEventArray.js +63 -0
- package/src/model/AuditLogEventContext.js +164 -0
- package/src/model/AuditLogEventDetails.js +45 -0
- package/src/model/AuditLogEventResource.js +86 -0
- package/src/model/BatchBody.js +53 -0
- package/src/model/BatchRequest.js +54 -0
- package/src/model/BatchRequestAction.js +124 -0
- package/src/model/BatchRequestActions.js +124 -0
- package/src/model/BatchRequestOptions.js +70 -0
- package/src/model/BatchResponse.js +70 -0
- package/src/model/BatchResponseArray.js +63 -0
- package/src/model/CreateMembershipRequest.js +69 -0
- package/src/model/CreateTimeTrackingEntryRequest.js +61 -0
- package/src/model/CustomFieldBase.js +1209 -0
- package/src/model/CustomFieldBaseDateValue.js +62 -0
- package/src/model/CustomFieldBaseEnumOptions.js +86 -0
- package/src/model/CustomFieldBaseEnumValue.js +86 -0
- package/src/model/CustomFieldCompact.js +243 -0
- package/src/model/CustomFieldGidEnumOptionsBody.js +53 -0
- package/src/model/CustomFieldRequest.js +1235 -0
- package/src/model/CustomFieldResponse.js +1234 -0
- package/src/model/CustomFieldResponseArray.js +63 -0
- package/src/model/CustomFieldResponseCreatedBy.js +70 -0
- package/src/model/CustomFieldResponseData.js +55 -0
- package/src/model/CustomFieldResponsePeopleValue.js +70 -0
- package/src/model/CustomFieldSettingBase.js +62 -0
- package/src/model/CustomFieldSettingCompact.js +62 -0
- package/src/model/CustomFieldSettingResponse.js +94 -0
- package/src/model/CustomFieldSettingResponseArray.js +63 -0
- package/src/model/CustomFieldSettingResponseCustomField.js +1234 -0
- package/src/model/CustomFieldSettingResponseData.js +55 -0
- package/src/model/CustomFieldSettingResponseParent.js +70 -0
- package/src/model/CustomFieldSettingResponseProject.js +70 -0
- package/src/model/CustomFieldsBody.js +53 -0
- package/src/model/CustomFieldsCustomFieldGidBody.js +53 -0
- package/src/model/DateVariableCompact.js +69 -0
- package/src/model/DateVariableRequest.js +61 -0
- package/src/model/EmptyResponse.js +45 -0
- package/src/model/EmptyResponseData.js +55 -0
- package/src/model/EnumOption.js +86 -0
- package/src/model/EnumOptionBase.js +86 -0
- package/src/model/EnumOptionData.js +55 -0
- package/src/model/EnumOptionInsertRequest.js +71 -0
- package/src/model/EnumOptionRequest.js +102 -0
- package/src/model/EnumOptionsEnumOptionGidBody.js +53 -0
- package/src/model/EnumOptionsInsertBody.js +53 -0
- package/src/model/Error.js +69 -0
- package/src/model/ErrorResponse.js +54 -0
- package/src/model/ErrorResponseErrors.js +69 -0
- package/src/model/EventResponse.js +102 -0
- package/src/model/EventResponseArray.js +63 -0
- package/src/model/EventResponseChange.js +86 -0
- package/src/model/EventResponseParent.js +70 -0
- package/src/model/EventResponseResource.js +70 -0
- package/src/model/EventResponseUser.js +70 -0
- package/src/model/GoalAddSubgoalRequest.js +71 -0
- package/src/model/GoalAddSupportingRelationshipRequest.js +79 -0
- package/src/model/GoalAddSupportingWorkRequest.js +55 -0
- package/src/model/GoalBase.js +118 -0
- package/src/model/GoalCompact.js +78 -0
- package/src/model/GoalGidAddFollowersBody.js +53 -0
- package/src/model/GoalGidAddSupportingRelationshipBody.js +53 -0
- package/src/model/GoalGidRemoveFollowersBody.js +53 -0
- package/src/model/GoalGidRemoveSupportingRelationshipBody.js +53 -0
- package/src/model/GoalGidSetMetricBody.js +53 -0
- package/src/model/GoalGidSetMetricCurrentValueBody.js +53 -0
- package/src/model/GoalMembershipBase.js +94 -0
- package/src/model/GoalMembershipBaseGoal.js +78 -0
- package/src/model/GoalMembershipCompact.js +94 -0
- package/src/model/GoalMembershipResponse.js +94 -0
- package/src/model/GoalMetricBase.js +206 -0
- package/src/model/GoalMetricCurrentValueRequest.js +70 -0
- package/src/model/GoalMetricRequest.js +206 -0
- package/src/model/GoalRelationshipBase.js +112 -0
- package/src/model/GoalRelationshipBaseSupportedGoal.js +78 -0
- package/src/model/GoalRelationshipBaseSupportingResource.js +70 -0
- package/src/model/GoalRelationshipCompact.js +104 -0
- package/src/model/GoalRelationshipRequest.js +112 -0
- package/src/model/GoalRelationshipResponse.js +112 -0
- package/src/model/GoalRelationshipResponseArray.js +63 -0
- package/src/model/GoalRelationshipResponseData.js +55 -0
- package/src/model/GoalRelationshipsGoalRelationshipGidBody.js +53 -0
- package/src/model/GoalRemoveSubgoalRequest.js +55 -0
- package/src/model/GoalRemoveSupportingRelationshipRequest.js +55 -0
- package/src/model/GoalRequest.js +157 -0
- package/src/model/GoalRequestBase.js +150 -0
- package/src/model/GoalResponse.js +200 -0
- package/src/model/GoalResponseArray.js +63 -0
- package/src/model/GoalResponseCurrentStatusUpdate.js +102 -0
- package/src/model/GoalResponseData.js +55 -0
- package/src/model/GoalResponseLikes.js +62 -0
- package/src/model/GoalResponseMetric.js +214 -0
- package/src/model/GoalResponseTeam.js +70 -0
- package/src/model/GoalResponseTimePeriod.js +142 -0
- package/src/model/GoalResponseWorkspace.js +70 -0
- package/src/model/GoalUpdateRequest.js +158 -0
- package/src/model/GoalsBody.js +53 -0
- package/src/model/GoalsGoalGidBody.js +53 -0
- package/src/model/InlineResponse412.js +61 -0
- package/src/model/InlineResponse412Errors.js +53 -0
- package/src/model/JobBase.js +132 -0
- package/src/model/JobBaseNewProject.js +70 -0
- package/src/model/JobBaseNewProjectTemplate.js +70 -0
- package/src/model/JobBaseNewTask.js +108 -0
- package/src/model/JobCompact.js +132 -0
- package/src/model/JobResponse.js +132 -0
- package/src/model/JobResponseData.js +55 -0
- package/src/model/Like.js +62 -0
- package/src/model/MemberCompact.js +70 -0
- package/src/model/MembershipRequest.js +53 -0
- package/src/model/MembershipResponse.js +44 -0
- package/src/model/MembershipResponseArray.js +63 -0
- package/src/model/MembershipResponseData.js +55 -0
- package/src/model/MembershipsBody.js +53 -0
- package/src/model/ModifyDependenciesRequest.js +53 -0
- package/src/model/ModifyDependentsRequest.js +54 -0
- package/src/model/NextPage.js +70 -0
- package/src/model/OrganizationExportBase.js +124 -0
- package/src/model/OrganizationExportCompact.js +124 -0
- package/src/model/OrganizationExportRequest.js +54 -0
- package/src/model/OrganizationExportResponse.js +124 -0
- package/src/model/OrganizationExportResponseData.js +55 -0
- package/src/model/OrganizationExportsBody.js +53 -0
- package/src/model/PortfolioAddItemRequest.js +71 -0
- package/src/model/PortfolioBase.js +192 -0
- package/src/model/PortfolioCompact.js +70 -0
- package/src/model/PortfolioGidAddCustomFieldSettingBody.js +53 -0
- package/src/model/PortfolioGidAddItemBody.js +53 -0
- package/src/model/PortfolioGidAddMembersBody.js +53 -0
- package/src/model/PortfolioGidRemoveCustomFieldSettingBody.js +53 -0
- package/src/model/PortfolioGidRemoveItemBody.js +53 -0
- package/src/model/PortfolioGidRemoveMembersBody.js +53 -0
- package/src/model/PortfolioMembershipBase.js +78 -0
- package/src/model/PortfolioMembershipBasePortfolio.js +70 -0
- package/src/model/PortfolioMembershipCompact.js +78 -0
- package/src/model/PortfolioMembershipResponse.js +78 -0
- package/src/model/PortfolioMembershipResponseArray.js +63 -0
- package/src/model/PortfolioMembershipResponseData.js +55 -0
- package/src/model/PortfolioRemoveItemRequest.js +55 -0
- package/src/model/PortfolioRequest.js +216 -0
- package/src/model/PortfolioResponse.js +297 -0
- package/src/model/PortfolioResponseArray.js +63 -0
- package/src/model/PortfolioResponseCurrentStatusUpdate.js +102 -0
- package/src/model/PortfolioResponseCustomFieldSettings.js +94 -0
- package/src/model/PortfolioResponseCustomFields.js +243 -0
- package/src/model/PortfolioResponseData.js +55 -0
- package/src/model/PortfolioResponseWorkspace.js +70 -0
- package/src/model/PortfoliosBody.js +53 -0
- package/src/model/PortfoliosPortfolioGidBody.js +53 -0
- package/src/model/Preview.js +110 -0
- package/src/model/ProjectBase.js +356 -0
- package/src/model/ProjectBaseCurrentStatus.js +159 -0
- package/src/model/ProjectBaseCurrentStatusUpdate.js +102 -0
- package/src/model/ProjectBaseWorkspace.js +70 -0
- package/src/model/ProjectBriefBase.js +78 -0
- package/src/model/ProjectBriefCompact.js +62 -0
- package/src/model/ProjectBriefRequest.js +86 -0
- package/src/model/ProjectBriefResponse.js +102 -0
- package/src/model/ProjectBriefResponseData.js +55 -0
- package/src/model/ProjectBriefResponseProject.js +70 -0
- package/src/model/ProjectBriefsProjectBriefGidBody.js +53 -0
- package/src/model/ProjectCompact.js +70 -0
- package/src/model/ProjectDuplicateRequest.js +79 -0
- package/src/model/ProjectDuplicateRequestScheduleDates.js +72 -0
- package/src/model/ProjectGidAddCustomFieldSettingBody.js +53 -0
- package/src/model/ProjectGidAddFollowersBody.js +53 -0
- package/src/model/ProjectGidAddMembersBody.js +53 -0
- package/src/model/ProjectGidDuplicateBody.js +53 -0
- package/src/model/ProjectGidProjectBriefsBody.js +53 -0
- package/src/model/ProjectGidProjectStatusesBody.js +53 -0
- package/src/model/ProjectGidRemoveCustomFieldSettingBody.js +53 -0
- package/src/model/ProjectGidRemoveFollowersBody.js +53 -0
- package/src/model/ProjectGidRemoveMembersBody.js +53 -0
- package/src/model/ProjectGidSaveAsTemplateBody.js +53 -0
- package/src/model/ProjectGidSectionsBody.js +53 -0
- package/src/model/ProjectMembershipBase.js +70 -0
- package/src/model/ProjectMembershipCompact.js +70 -0
- package/src/model/ProjectMembershipResponse.js +150 -0
- package/src/model/ProjectMembershipResponseArray.js +63 -0
- package/src/model/ProjectMembershipResponseData.js +55 -0
- package/src/model/ProjectMembershipResponseMember.js +70 -0
- package/src/model/ProjectRequest.js +388 -0
- package/src/model/ProjectResponse.js +643 -0
- package/src/model/ProjectResponseArray.js +63 -0
- package/src/model/ProjectResponseCompletedBy.js +70 -0
- package/src/model/ProjectResponseCreatedFromTemplate.js +70 -0
- package/src/model/ProjectResponseData.js +55 -0
- package/src/model/ProjectResponseProjectBrief.js +62 -0
- package/src/model/ProjectResponseTeam.js +70 -0
- package/src/model/ProjectSaveAsTemplateRequest.js +81 -0
- package/src/model/ProjectSectionInsertRequest.js +71 -0
- package/src/model/ProjectStatusBase.js +128 -0
- package/src/model/ProjectStatusCompact.js +70 -0
- package/src/model/ProjectStatusRequest.js +128 -0
- package/src/model/ProjectStatusResponse.js +159 -0
- package/src/model/ProjectStatusResponseArray.js +63 -0
- package/src/model/ProjectStatusResponseData.js +55 -0
- package/src/model/ProjectTemplateBase.js +256 -0
- package/src/model/ProjectTemplateBaseRequestedDates.js +69 -0
- package/src/model/ProjectTemplateBaseRequestedRoles.js +70 -0
- package/src/model/ProjectTemplateBaseTeam.js +70 -0
- package/src/model/ProjectTemplateCompact.js +70 -0
- package/src/model/ProjectTemplateGidInstantiateProjectBody.js +53 -0
- package/src/model/ProjectTemplateInstantiateProjectRequest.js +97 -0
- package/src/model/ProjectTemplateInstantiateProjectRequestRequestedDates.js +61 -0
- package/src/model/ProjectTemplateInstantiateProjectRequestRequestedRoles.js +61 -0
- package/src/model/ProjectTemplateResponse.js +256 -0
- package/src/model/ProjectTemplateResponseArray.js +63 -0
- package/src/model/ProjectTemplateResponseData.js +55 -0
- package/src/model/ProjectsBody.js +53 -0
- package/src/model/ProjectsProjectGidBody.js +53 -0
- package/src/model/RemoveCustomFieldSettingRequest.js +55 -0
- package/src/model/RemoveFollowersRequest.js +55 -0
- package/src/model/RemoveMembersRequest.js +55 -0
- package/src/model/RequestedRoleRequest.js +61 -0
- package/src/model/RuleTriggerGidRunBody.js +53 -0
- package/src/model/RuleTriggerRequest.js +65 -0
- package/src/model/RuleTriggerResponse.js +53 -0
- package/src/model/RuleTriggerResponseData.js +55 -0
- package/src/model/SectionBase.js +70 -0
- package/src/model/SectionCompact.js +70 -0
- package/src/model/SectionGidAddTaskBody.js +53 -0
- package/src/model/SectionRequest.js +71 -0
- package/src/model/SectionResponse.js +94 -0
- package/src/model/SectionResponseArray.js +63 -0
- package/src/model/SectionResponseData.js +55 -0
- package/src/model/SectionTaskInsertRequest.js +71 -0
- package/src/model/SectionsInsertBody.js +53 -0
- package/src/model/SectionsSectionGidBody.js +53 -0
- package/src/model/StatusUpdateBase.js +190 -0
- package/src/model/StatusUpdateCompact.js +102 -0
- package/src/model/StatusUpdateRequest.js +200 -0
- package/src/model/StatusUpdateResponse.js +278 -0
- package/src/model/StatusUpdateResponseArray.js +63 -0
- package/src/model/StatusUpdateResponseData.js +55 -0
- package/src/model/StatusUpdateResponseParent.js +70 -0
- package/src/model/StatusUpdatesBody.js +53 -0
- package/src/model/StoriesStoryGidBody.js +53 -0
- package/src/model/StoryBase.js +188 -0
- package/src/model/StoryCompact.js +94 -0
- package/src/model/StoryRequest.js +188 -0
- package/src/model/StoryResponse.js +595 -0
- package/src/model/StoryResponseArray.js +63 -0
- package/src/model/StoryResponseAssignee.js +70 -0
- package/src/model/StoryResponseCustomField.js +243 -0
- package/src/model/StoryResponseData.js +55 -0
- package/src/model/StoryResponseDates.js +70 -0
- package/src/model/StoryResponseOldDates.js +70 -0
- package/src/model/StoryResponseOldEnumValue.js +86 -0
- package/src/model/StoryResponseOldSection.js +70 -0
- package/src/model/StoryResponsePreviews.js +110 -0
- package/src/model/StoryResponseProject.js +70 -0
- package/src/model/StoryResponseStory.js +94 -0
- package/src/model/StoryResponseTag.js +70 -0
- package/src/model/StoryResponseTarget.js +108 -0
- package/src/model/StoryResponseTask.js +108 -0
- package/src/model/TagBase.js +206 -0
- package/src/model/TagCompact.js +70 -0
- package/src/model/TagRequest.js +222 -0
- package/src/model/TagResponse.js +239 -0
- package/src/model/TagResponseArray.js +63 -0
- package/src/model/TagResponseData.js +55 -0
- package/src/model/TagsBody.js +53 -0
- package/src/model/TaskAddFollowersRequest.js +55 -0
- package/src/model/TaskAddProjectRequest.js +79 -0
- package/src/model/TaskAddTagRequest.js +55 -0
- package/src/model/TaskBase.js +385 -0
- package/src/model/TaskBaseCompletedBy.js +70 -0
- package/src/model/TaskBaseDependencies.js +62 -0
- package/src/model/TaskBaseExternal.js +60 -0
- package/src/model/TaskBaseMemberships.js +61 -0
- package/src/model/TaskBaseSection.js +70 -0
- package/src/model/TaskCompact.js +108 -0
- package/src/model/TaskCountResponse.js +94 -0
- package/src/model/TaskCountResponseData.js +55 -0
- package/src/model/TaskDuplicateRequest.js +61 -0
- package/src/model/TaskGidAddDependenciesBody.js +53 -0
- package/src/model/TaskGidAddDependentsBody.js +53 -0
- package/src/model/TaskGidAddFollowersBody.js +53 -0
- package/src/model/TaskGidAddProjectBody.js +53 -0
- package/src/model/TaskGidAddTagBody.js +53 -0
- package/src/model/TaskGidDuplicateBody.js +53 -0
- package/src/model/TaskGidRemoveDependenciesBody.js +53 -0
- package/src/model/TaskGidRemoveDependentsBody.js +53 -0
- package/src/model/TaskGidRemoveFollowersBody.js +53 -0
- package/src/model/TaskGidRemoveProjectBody.js +53 -0
- package/src/model/TaskGidRemoveTagBody.js +53 -0
- package/src/model/TaskGidSetParentBody.js +53 -0
- package/src/model/TaskGidStoriesBody.js +53 -0
- package/src/model/TaskGidSubtasksBody.js +53 -0
- package/src/model/TaskGidTimeTrackingEntriesBody.js +53 -0
- package/src/model/TaskRemoveFollowersRequest.js +55 -0
- package/src/model/TaskRemoveProjectRequest.js +55 -0
- package/src/model/TaskRemoveTagRequest.js +55 -0
- package/src/model/TaskRequest.js +449 -0
- package/src/model/TaskResponse.js +461 -0
- package/src/model/TaskResponseArray.js +63 -0
- package/src/model/TaskResponseAssigneeSection.js +70 -0
- package/src/model/TaskResponseCustomFields.js +1234 -0
- package/src/model/TaskResponseData.js +55 -0
- package/src/model/TaskResponseParent.js +108 -0
- package/src/model/TaskResponseTags.js +70 -0
- package/src/model/TaskResponseWorkspace.js +70 -0
- package/src/model/TaskSetParentRequest.js +71 -0
- package/src/model/TasksBody.js +53 -0
- package/src/model/TasksTaskGidBody.js +53 -0
- package/src/model/TeamAddUserRequest.js +54 -0
- package/src/model/TeamBase.js +70 -0
- package/src/model/TeamCompact.js +70 -0
- package/src/model/TeamGidAddUserBody.js +53 -0
- package/src/model/TeamGidProjectsBody.js +53 -0
- package/src/model/TeamGidRemoveUserBody.js +53 -0
- package/src/model/TeamMembershipBase.js +102 -0
- package/src/model/TeamMembershipCompact.js +102 -0
- package/src/model/TeamMembershipResponse.js +102 -0
- package/src/model/TeamMembershipResponseArray.js +63 -0
- package/src/model/TeamMembershipResponseData.js +55 -0
- package/src/model/TeamRemoveUserRequest.js +54 -0
- package/src/model/TeamRequest.js +282 -0
- package/src/model/TeamResponse.js +290 -0
- package/src/model/TeamResponseArray.js +63 -0
- package/src/model/TeamResponseData.js +55 -0
- package/src/model/TeamResponseOrganization.js +70 -0
- package/src/model/TeamsBody.js +53 -0
- package/src/model/TeamsTeamGidBody.js +53 -0
- package/src/model/TemplateRole.js +70 -0
- package/src/model/TimePeriodBase.js +150 -0
- package/src/model/TimePeriodCompact.js +142 -0
- package/src/model/TimePeriodResponse.js +150 -0
- package/src/model/TimePeriodResponseArray.js +63 -0
- package/src/model/TimePeriodResponseData.js +55 -0
- package/src/model/TimeTrackingEntriesTimeTrackingEntryGidBody.js +53 -0
- package/src/model/TimeTrackingEntryBase.js +102 -0
- package/src/model/TimeTrackingEntryBaseData.js +55 -0
- package/src/model/TimeTrackingEntryCompact.js +86 -0
- package/src/model/TimeTrackingEntryCompactArray.js +63 -0
- package/src/model/UpdateTimeTrackingEntryRequest.js +61 -0
- package/src/model/UserBase.js +70 -0
- package/src/model/UserBaseResponse.js +86 -0
- package/src/model/UserBaseResponseData.js +55 -0
- package/src/model/UserBaseResponsePhoto.js +88 -0
- package/src/model/UserCompact.js +70 -0
- package/src/model/UserRequest.js +70 -0
- package/src/model/UserResponse.js +95 -0
- package/src/model/UserResponseArray.js +63 -0
- package/src/model/UserResponseData.js +55 -0
- package/src/model/UserTaskListBase.js +86 -0
- package/src/model/UserTaskListCompact.js +86 -0
- package/src/model/UserTaskListRequest.js +86 -0
- package/src/model/UserTaskListResponse.js +86 -0
- package/src/model/UserTaskListResponseData.js +55 -0
- package/src/model/WebhookCompact.js +86 -0
- package/src/model/WebhookCompactResource.js +70 -0
- package/src/model/WebhookFilter.js +78 -0
- package/src/model/WebhookRequest.js +74 -0
- package/src/model/WebhookRequestFilters.js +78 -0
- package/src/model/WebhookResponse.js +127 -0
- package/src/model/WebhookResponseArray.js +63 -0
- package/src/model/WebhookResponseData.js +55 -0
- package/src/model/WebhookUpdateRequest.js +54 -0
- package/src/model/WebhooksBody.js +53 -0
- package/src/model/WebhooksWebhookGidBody.js +53 -0
- package/src/model/WorkspaceAddUserRequest.js +54 -0
- package/src/model/WorkspaceBase.js +70 -0
- package/src/model/WorkspaceCompact.js +70 -0
- package/src/model/WorkspaceGidAddUserBody.js +53 -0
- package/src/model/WorkspaceGidProjectsBody.js +53 -0
- package/src/model/WorkspaceGidRemoveUserBody.js +53 -0
- package/src/model/WorkspaceGidTagsBody.js +53 -0
- package/src/model/WorkspaceMembershipBase.js +78 -0
- package/src/model/WorkspaceMembershipCompact.js +78 -0
- package/src/model/WorkspaceMembershipRequest.js +78 -0
- package/src/model/WorkspaceMembershipResponse.js +126 -0
- package/src/model/WorkspaceMembershipResponseArray.js +63 -0
- package/src/model/WorkspaceMembershipResponseData.js +55 -0
- package/src/model/WorkspaceMembershipResponseUserTaskList.js +86 -0
- package/src/model/WorkspaceMembershipResponseVacationDates.js +62 -0
- package/src/model/WorkspaceRemoveUserRequest.js +54 -0
- package/src/model/WorkspaceRequest.js +70 -0
- package/src/model/WorkspaceResponse.js +86 -0
- package/src/model/WorkspaceResponseArray.js +63 -0
- package/src/model/WorkspaceResponseData.js +55 -0
- package/src/model/WorkspacesWorkspaceGidBody.js +53 -0
- package/.github/workflows/build.yml +0 -27
- package/.github/workflows/publish-to-github-releases.yml +0 -26
- package/.github/workflows/publish-to-npmjs.yml +0 -21
- package/VERSION +0 -1
- package/bower.json +0 -29
- package/gulpfile.js +0 -205
- package/index.js +0 -7
- package/lib/auth/app.js +0 -136
- package/lib/auth/authenticator.js +0 -41
- package/lib/auth/auto_detect.js +0 -36
- package/lib/auth/base_browser_flow.js +0 -97
- package/lib/auth/basic_authenticator.js +0 -33
- package/lib/auth/chrome_extension_flow.js +0 -94
- package/lib/auth/index.js +0 -9
- package/lib/auth/native_flow.js +0 -106
- package/lib/auth/oauth_authenticator.js +0 -125
- package/lib/auth/oauth_error.js +0 -24
- package/lib/auth/oauth_util.js +0 -52
- package/lib/auth/popup_flow.js +0 -135
- package/lib/auth/redirect_flow.js +0 -54
- package/lib/client.js +0 -250
- package/lib/default_environment.js +0 -21
- package/lib/dispatcher.js +0 -438
- package/lib/errors/error.js +0 -12
- package/lib/errors/forbidden.js +0 -12
- package/lib/errors/index.js +0 -7
- package/lib/errors/invalid_request.js +0 -12
- package/lib/errors/no_authorization.js +0 -12
- package/lib/errors/not_found.js +0 -12
- package/lib/errors/premium_only.js +0 -12
- package/lib/errors/rate_limit_enforced.js +0 -17
- package/lib/errors/server_error.js +0 -12
- package/lib/resources/attachments.js +0 -43
- package/lib/resources/audit_log_api.js +0 -6
- package/lib/resources/batch_api.js +0 -3
- package/lib/resources/custom_field_settings.js +0 -41
- package/lib/resources/custom_fields.js +0 -195
- package/lib/resources/events.js +0 -41
- package/lib/resources/gen/attachments.js +0 -78
- package/lib/resources/gen/audit_log_api.js +0 -45
- package/lib/resources/gen/batch_api.js +0 -35
- package/lib/resources/gen/custom_field_settings.js +0 -63
- package/lib/resources/gen/custom_fields.js +0 -167
- package/lib/resources/gen/events.js +0 -39
- package/lib/resources/gen/goals.js +0 -321
- package/lib/resources/gen/jobs.js +0 -39
- package/lib/resources/gen/organization_exports.js +0 -55
- package/lib/resources/gen/portfolio_memberships.js +0 -85
- package/lib/resources/gen/portfolios.js +0 -243
- package/lib/resources/gen/project_briefs.js +0 -93
- package/lib/resources/gen/project_memberships.js +0 -62
- package/lib/resources/gen/project_statuses.js +0 -97
- package/lib/resources/gen/project_templates.js +0 -101
- package/lib/resources/gen/projects.js +0 -384
- package/lib/resources/gen/sections.js +0 -151
- package/lib/resources/gen/status_updates.js +0 -95
- package/lib/resources/gen/stories.js +0 -117
- package/lib/resources/gen/tags.js +0 -176
- package/lib/resources/gen/tasks.js +0 -579
- package/lib/resources/gen/team_memberships.js +0 -107
- package/lib/resources/gen/teams.js +0 -138
- package/lib/resources/gen/time_periods.js +0 -62
- package/lib/resources/gen/typeahead.js +0 -43
- package/lib/resources/gen/user_task_lists.js +0 -60
- package/lib/resources/gen/users.js +0 -125
- package/lib/resources/gen/webhooks.js +0 -113
- package/lib/resources/gen/workspace_memberships.js +0 -84
- package/lib/resources/gen/workspaces.js +0 -113
- package/lib/resources/index.js +0 -26
- package/lib/resources/jobs.js +0 -23
- package/lib/resources/organization_exports.js +0 -41
- package/lib/resources/portfolio_memberships.js +0 -61
- package/lib/resources/portfolios.js +0 -263
- package/lib/resources/project_memberships.js +0 -51
- package/lib/resources/project_statuses.js +0 -83
- package/lib/resources/projects.js +0 -359
- package/lib/resources/resource.js +0 -118
- package/lib/resources/sections.js +0 -158
- package/lib/resources/stories.js +0 -99
- package/lib/resources/tags.js +0 -167
- package/lib/resources/tasks.js +0 -702
- package/lib/resources/teams.js +0 -122
- package/lib/resources/typeahead.js +0 -3
- package/lib/resources/user_task_lists.js +0 -78
- package/lib/resources/users.js +0 -98
- package/lib/resources/webhooks.js +0 -100
- package/lib/resources/workspace_memberships.js +0 -3
- package/lib/resources/workspaces.js +0 -135
- package/lib/util/buffered_readable.js +0 -59
- package/lib/util/collection.js +0 -133
- package/lib/util/event_stream.js +0 -71
- package/lib/util/resource_stream.js +0 -80
- package/samples/attachments_sample.yaml +0 -45
- package/samples/audit_log_api_sample.yaml +0 -12
- package/samples/batch_api_sample.yaml +0 -12
- package/samples/custom_field_settings_sample.yaml +0 -23
- package/samples/custom_fields_sample.yaml +0 -89
- package/samples/events_sample.yaml +0 -12
- package/samples/goals_sample.yaml +0 -177
- package/samples/jobs_sample.yaml +0 -12
- package/samples/organization_exports_sample.yaml +0 -23
- package/samples/portfolio_memberships_sample.yaml +0 -34
- package/samples/portfolios_sample.yaml +0 -133
- package/samples/project_briefs_sample.yaml +0 -45
- package/samples/project_memberships_sample.yaml +0 -23
- package/samples/project_statuses_sample.yaml +0 -45
- package/samples/project_templates_sample.yaml +0 -45
- package/samples/projects_sample.yaml +0 -210
- package/samples/sections_sample.yaml +0 -78
- package/samples/status_updates_sample.yaml +0 -45
- package/samples/stories_sample.yaml +0 -56
- package/samples/tags_sample.yaml +0 -89
- package/samples/tasks_sample.yaml +0 -287
- package/samples/team_memberships_sample.yaml +0 -45
- package/samples/teams_sample.yaml +0 -67
- package/samples/time_periods_sample.yaml +0 -23
- package/samples/typeahead_sample.yaml +0 -12
- package/samples/user_task_lists_sample.yaml +0 -23
- package/samples/users_sample.yaml +0 -56
- package/samples/webhooks_sample.yaml +0 -56
- package/samples/workspace_memberships_sample.yaml +0 -34
- package/samples/workspaces_sample.yaml +0 -56
- package/swagger_templates/api.mustache +0 -60
- package/swagger_templates/api_doc.mustache +0 -13
- package/swagger_templates/node-config.json +0 -7
package/lib/auth/native_flow.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
var readline = require('readline');
|
|
2
|
-
var Bluebird = require('bluebird');
|
|
3
|
-
var oauthUtil = require('./oauth_util');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Default function to return instructions for the user to authorize the app.
|
|
7
|
-
* Written to stdout during `run`.
|
|
8
|
-
* @param {String} url The authorization URL
|
|
9
|
-
* @returns {String} Instructions for the user
|
|
10
|
-
*/
|
|
11
|
-
function defaultInstructions(url) {
|
|
12
|
-
return [
|
|
13
|
-
'* * * * * * * * * * * * * * * * * * * * * * * * * * *',
|
|
14
|
-
'Please open a browser to the url:',
|
|
15
|
-
'',
|
|
16
|
-
url,
|
|
17
|
-
'',
|
|
18
|
-
'and follow the prompts to authorize this application.',
|
|
19
|
-
'* * * * * * * * * * * * * * * * * * * * * * * * * * *'
|
|
20
|
-
].join('\n');
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Default function to return the prompt for the user to enter the
|
|
25
|
-
* authorization code. Written to stdout immediately preceding keyboard input
|
|
26
|
-
* during `run`.
|
|
27
|
-
* @returns {String} A message to prompt the user to enter the code.
|
|
28
|
-
*/
|
|
29
|
-
function defaultPrompt() {
|
|
30
|
-
return 'Enter the code here: ';
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* An Oauth flow that can be run from the console or an app that does
|
|
35
|
-
* not have the ability to open and manage a browser on its own.
|
|
36
|
-
* @param {Object} options
|
|
37
|
-
* @option {App} app App to authenticate for
|
|
38
|
-
* @option {String function(String)} [instructions] Function returning the
|
|
39
|
-
* instructions to output to the user. Passed the authorize url.
|
|
40
|
-
* @option {String function()} [prompt] String to output immediately before
|
|
41
|
-
* waiting for a line from stdin.
|
|
42
|
-
* @constructor
|
|
43
|
-
*/
|
|
44
|
-
function NativeFlow(options) {
|
|
45
|
-
this.app = options.app;
|
|
46
|
-
this.instructions = options.instructions || defaultInstructions;
|
|
47
|
-
this.prompt = options.prompt || defaultPrompt;
|
|
48
|
-
this.redirectUri = oauthUtil.NATIVE_REDIRECT_URI;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Run the Oauth flow, prompting the user to go to the authorization URL
|
|
53
|
-
* and enter the code it displays when finished.
|
|
54
|
-
*
|
|
55
|
-
* @return {Promise<Object>} The access token object, which will include
|
|
56
|
-
* `access_token` and `refresh_token`.
|
|
57
|
-
*/
|
|
58
|
-
NativeFlow.prototype.run = function() {
|
|
59
|
-
var me = this;
|
|
60
|
-
return me.promptForCode(me.authorizeUrl()).then(function(code) {
|
|
61
|
-
return me.accessToken(code);
|
|
62
|
-
});
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* @returns {String} The URL used to authorize the user for the app.
|
|
67
|
-
*/
|
|
68
|
-
NativeFlow.prototype.authorizeUrl = function() {
|
|
69
|
-
return this.app.asanaAuthorizeUrl({
|
|
70
|
-
redirectUri: this.redirectUri
|
|
71
|
-
});
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* @param {String} code An authorization code obtained via `asanaAuthorizeUrl`.
|
|
76
|
-
* @return {Promise<Object>} The token, which will include the `access_token`
|
|
77
|
-
* used for API access, as well as a `refresh_token` which can be stored
|
|
78
|
-
* to get a new access token without going through the flow again.
|
|
79
|
-
*/
|
|
80
|
-
NativeFlow.prototype.accessToken = function(code) {
|
|
81
|
-
return this.app.accessTokenFromCode(code, {
|
|
82
|
-
redirectUri: this.redirectUri
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* @return {Promise} The access token, which will include a refresh token
|
|
88
|
-
* that can be stored in the future to create a client without going
|
|
89
|
-
* through the Oauth flow.
|
|
90
|
-
*/
|
|
91
|
-
NativeFlow.prototype.promptForCode = function(url) {
|
|
92
|
-
var me = this;
|
|
93
|
-
var rl = readline.createInterface({
|
|
94
|
-
input: process.stdin,
|
|
95
|
-
output: process.stdout
|
|
96
|
-
});
|
|
97
|
-
return new Bluebird(function(resolve) {
|
|
98
|
-
console.log(me.instructions(url));
|
|
99
|
-
rl.question(me.prompt(), function(code) {
|
|
100
|
-
rl.close();
|
|
101
|
-
return resolve(code);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
module.exports = NativeFlow;
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
var util = require('util');
|
|
2
|
-
var Bluebird = require('bluebird');
|
|
3
|
-
var Authenticator = require('./authenticator');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Creates an authenticator that uses Oauth for authentication.
|
|
7
|
-
*
|
|
8
|
-
* @param {Object} options Configure the authenticator; must specify one
|
|
9
|
-
* of `flow` or `credentials`.
|
|
10
|
-
* @option {App} app The app being authenticated for.
|
|
11
|
-
* @option {OauthFlow} [flow] The flow to use to get credentials
|
|
12
|
-
* when needed.
|
|
13
|
-
* @option {String|Object} [credentials] Initial credentials to use. This can
|
|
14
|
-
* be either the object returned from an access token request (which
|
|
15
|
-
* contains the token and some other metadata) or just the `access_token`
|
|
16
|
-
* field.
|
|
17
|
-
* @constructor
|
|
18
|
-
*/
|
|
19
|
-
function OauthAuthenticator(options) {
|
|
20
|
-
Authenticator.call(this);
|
|
21
|
-
if (typeof(options.credentials) === 'string') {
|
|
22
|
-
this.credentials = {
|
|
23
|
-
'access_token': options.credentials
|
|
24
|
-
};
|
|
25
|
-
} else {
|
|
26
|
-
this.credentials = options.credentials || null;
|
|
27
|
-
}
|
|
28
|
-
this.flow = options.flow || null;
|
|
29
|
-
this.app = options.app;
|
|
30
|
-
this.refreshCredentialsCallback = options.refreshCredentialsCallback || null;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
util.inherits(OauthAuthenticator, Authenticator);
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* @param {Object} request The request to modify, for the `request` library.
|
|
37
|
-
* @return {Object} The `request` parameter, modified to include authentication
|
|
38
|
-
* information using the stored credentials.
|
|
39
|
-
*/
|
|
40
|
-
OauthAuthenticator.prototype.authenticateRequest = function(request) {
|
|
41
|
-
/* jshint camelcase: false */
|
|
42
|
-
if (this.credentials === null) {
|
|
43
|
-
throw new Error(
|
|
44
|
-
'Cannot authenticate a request without first obtaining credentials');
|
|
45
|
-
}
|
|
46
|
-
// When browserify-d, the `auth` component of the `request` library
|
|
47
|
-
// doesn't work so well, so we just manually set the bearer token instead.
|
|
48
|
-
request.headers = request.headers || {};
|
|
49
|
-
request.headers.Authorization = 'Bearer ' + this.credentials.access_token;
|
|
50
|
-
return request;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Requests new credentials, discarding any that it may already have.
|
|
55
|
-
* @return {Promise} Resolves when credentials have been successfully
|
|
56
|
-
* established and `authenticateRequests` can expect to succeed.
|
|
57
|
-
*/
|
|
58
|
-
OauthAuthenticator.prototype.establishCredentials = function() {
|
|
59
|
-
/* jshint camelcase: false */
|
|
60
|
-
var me = this;
|
|
61
|
-
if (me.flow) {
|
|
62
|
-
// Request new credentials
|
|
63
|
-
me.credentials = null;
|
|
64
|
-
return me.flow.run().then(function(credentials) {
|
|
65
|
-
me.credentials = credentials;
|
|
66
|
-
});
|
|
67
|
-
} else {
|
|
68
|
-
if (me.credentials.access_token) {
|
|
69
|
-
// Assume what we have is ok.
|
|
70
|
-
return Bluebird.resolve();
|
|
71
|
-
} else if (me.credentials.refresh_token) {
|
|
72
|
-
// We were given a refresh token but NOT an access token. Get access.
|
|
73
|
-
return me.refreshCredentials();
|
|
74
|
-
} else {
|
|
75
|
-
// What kind of credentials did we get anyway?
|
|
76
|
-
return Bluebird.reject(new Error('Invalid credentials'));
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Attempts to refresh credentials, if possible, given the current credentials.
|
|
83
|
-
* @return {Promise} Resolves to `true` if credentials have been successfully
|
|
84
|
-
* established and `authenticateRequests` can expect to succeed, else
|
|
85
|
-
* resolves to `false`.
|
|
86
|
-
*/
|
|
87
|
-
OauthAuthenticator.prototype.refreshCredentials = function() {
|
|
88
|
-
/* jshint camelcase: false */
|
|
89
|
-
var me = this;
|
|
90
|
-
if (me.credentials && me.credentials.refresh_token) {
|
|
91
|
-
// We have a refresh token. Use it to get a new access token.
|
|
92
|
-
// Only have one outstanding request, any simultaneous requests waiting on
|
|
93
|
-
// refresh should gate on this promise.
|
|
94
|
-
if (!me.refreshPromise) {
|
|
95
|
-
var refreshToken = me.credentials.refresh_token;
|
|
96
|
-
me.refreshPromise = me.app.accessTokenFromRefreshToken(refreshToken).then(
|
|
97
|
-
function(credentials) {
|
|
98
|
-
|
|
99
|
-
// Update credentials, but hang on to refresh token.
|
|
100
|
-
if (!credentials.refresh_token) {
|
|
101
|
-
credentials.refresh_token = refreshToken;
|
|
102
|
-
}
|
|
103
|
-
me.credentials = credentials;
|
|
104
|
-
me.refreshPromise = null;
|
|
105
|
-
|
|
106
|
-
if (me.refreshCredentialsCallback !== null) {
|
|
107
|
-
me.refreshCredentialsCallback(me.credentials);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return true;
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
return me.refreshPromise;
|
|
114
|
-
} else if (me.flow) {
|
|
115
|
-
// Try running the flow again to get credentials.
|
|
116
|
-
return this.establishCredentials().then(function(credentials) {
|
|
117
|
-
return credentials !== null;
|
|
118
|
-
});
|
|
119
|
-
} else {
|
|
120
|
-
// We are unable to refresh credentials automatically.
|
|
121
|
-
return Bluebird.resolve(false);
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
module.exports = OauthAuthenticator;
|
package/lib/auth/oauth_error.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
var util = require('util');
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @param options {Object} A data blob parsed from a query string or JSON
|
|
5
|
-
* response from the Asana API
|
|
6
|
-
* @option {String} error The string code identifying the error.
|
|
7
|
-
* @option {String} [error_uri] A link to help and information about the error.
|
|
8
|
-
* @option {String} [error_description] A description of the error.
|
|
9
|
-
* @constructor
|
|
10
|
-
*/
|
|
11
|
-
function OauthError(options) {
|
|
12
|
-
/* jshint camelcase:false */
|
|
13
|
-
Error.call(this);
|
|
14
|
-
if (typeof(options) !== 'object' || !options.error) {
|
|
15
|
-
throw new Error('Invalid Oauth error: ' + options);
|
|
16
|
-
}
|
|
17
|
-
this.code = options.error;
|
|
18
|
-
this.description = options.error_description || null;
|
|
19
|
-
this.uri = options.error_uri || null;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
util.inherits(OauthError, Error);
|
|
23
|
-
|
|
24
|
-
module.exports = OauthError;
|
package/lib/auth/oauth_util.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/* jshint browser:true */
|
|
2
|
-
var querystring = require('querystring');
|
|
3
|
-
var url = require('url');
|
|
4
|
-
|
|
5
|
-
var NATIVE_REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob';
|
|
6
|
-
var NATIVE_AUTO_REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob:auto';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @returns {String} A unique parameter to use as a CSRF token to pass in
|
|
10
|
-
* the `state` parameter of an Oauth request.
|
|
11
|
-
*/
|
|
12
|
-
function randomState() {
|
|
13
|
-
return 'asana_' +
|
|
14
|
-
Math.random().toString(36) +
|
|
15
|
-
Date.now().toString(36);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Parses a URL and returns any Oauth result that may be encoded therein.
|
|
20
|
-
* @param currentUrl {String} Complete URL of a page.
|
|
21
|
-
* @returns {Object|null} Oauth fields found in the hash of the URL, or null
|
|
22
|
-
* if the URL does not contain a valid hash.
|
|
23
|
-
*/
|
|
24
|
-
function parseOauthResultFromUrl(currentUrl) {
|
|
25
|
-
var oauthUrl = url.parse(currentUrl);
|
|
26
|
-
return oauthUrl.hash ? querystring.parse(oauthUrl.hash.substr(1)) : null;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Clean Oauth results out of the current browser URL, for security and
|
|
31
|
-
* cleanliness purposes.
|
|
32
|
-
* @returns {Object|null} Oauth fields found in the hash of the URL, or null
|
|
33
|
-
* if the URL does not contain a valid hash.
|
|
34
|
-
*/
|
|
35
|
-
function removeOauthResultFromCurrentUrl() {
|
|
36
|
-
if (window.history && window.history.replaceState) {
|
|
37
|
-
var url = window.location.href;
|
|
38
|
-
var hashIndex = url.indexOf('#');
|
|
39
|
-
window.history.replaceState({},
|
|
40
|
-
document.title, url.substring(0, hashIndex));
|
|
41
|
-
} else {
|
|
42
|
-
window.location.hash = '';
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
module.exports = {
|
|
47
|
-
NATIVE_REDIRECT_URI: NATIVE_REDIRECT_URI,
|
|
48
|
-
NATIVE_AUTO_REDIRECT_URI: NATIVE_AUTO_REDIRECT_URI,
|
|
49
|
-
randomState: randomState,
|
|
50
|
-
parseOauthResultFromUrl: parseOauthResultFromUrl,
|
|
51
|
-
removeOauthResultFromCurrentUrl: removeOauthResultFromCurrentUrl
|
|
52
|
-
};
|
package/lib/auth/popup_flow.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
/* jshint browser:true */
|
|
2
|
-
var util = require('util');
|
|
3
|
-
var oauthUtil = require('./oauth_util');
|
|
4
|
-
var Bluebird = require('bluebird');
|
|
5
|
-
var BaseBrowserFlow = require('./base_browser_flow');
|
|
6
|
-
var OauthError = require('./oauth_error');
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* An Oauth flow that runs in the browser and requests user authorization by
|
|
10
|
-
* popping up a window and prompting the user.
|
|
11
|
-
* @param {Object} options See `BaseBrowserFlow` for options.
|
|
12
|
-
* @constructor
|
|
13
|
-
*/
|
|
14
|
-
function PopupFlow(options) {
|
|
15
|
-
BaseBrowserFlow.call(this, options);
|
|
16
|
-
this._authorizationPromise = null;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
util.inherits(PopupFlow, BaseBrowserFlow);
|
|
20
|
-
|
|
21
|
-
PopupFlow.prototype.startAuthorization = function(authUrl, state) {
|
|
22
|
-
var me = this;
|
|
23
|
-
|
|
24
|
-
var popup, popupTimer, listener;
|
|
25
|
-
function cleanup() {
|
|
26
|
-
if (popup && popupTimer) {
|
|
27
|
-
clearInterval(popupTimer);
|
|
28
|
-
popupTimer = null;
|
|
29
|
-
}
|
|
30
|
-
if (listener) {
|
|
31
|
-
window.removeEventListener('message', listener, false);
|
|
32
|
-
listener = null;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
me._authorizationPromise = new Bluebird(function(resolve, reject) {
|
|
37
|
-
listener = function(event) {
|
|
38
|
-
var receivedUrl;
|
|
39
|
-
try {
|
|
40
|
-
receivedUrl = event.data.receivedUrl;
|
|
41
|
-
} catch (e) {}
|
|
42
|
-
if (receivedUrl) {
|
|
43
|
-
// Every request should have a unique `state` parameter.
|
|
44
|
-
// We can key off of that to determine whether this request was
|
|
45
|
-
// intended for this window.
|
|
46
|
-
var params = oauthUtil.parseOauthResultFromUrl(receivedUrl);
|
|
47
|
-
if (params.state === state) {
|
|
48
|
-
state = null; // don't ever respond to again
|
|
49
|
-
cleanup();
|
|
50
|
-
if (params.error) {
|
|
51
|
-
reject(new OauthError(params));
|
|
52
|
-
} else {
|
|
53
|
-
resolve(params);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
window.addEventListener('message', listener, false);
|
|
59
|
-
popup = window.open(authUrl, 'asana_oauth', me._popupParams(800, 600));
|
|
60
|
-
|
|
61
|
-
// Detect popup blocking and fail.
|
|
62
|
-
if (!popup) {
|
|
63
|
-
cleanup();
|
|
64
|
-
reject(new OauthError({
|
|
65
|
-
'error': 'access_denied',
|
|
66
|
-
'error_description': 'The popup window containing the ' +
|
|
67
|
-
'authorization UI was blocked by the browser.'
|
|
68
|
-
}));
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
// Detect popup closure (which may not be handled by the content, because
|
|
73
|
-
// it may never load) and fail. If the popup posts a message to us, we
|
|
74
|
-
// SHOULD get that message before it closes and this interval fires,
|
|
75
|
-
// but just in case we wait for two successive intervals.
|
|
76
|
-
var seenClosed = false;
|
|
77
|
-
popupTimer = setInterval(function() {
|
|
78
|
-
if (popup.closed) {
|
|
79
|
-
if (seenClosed) {
|
|
80
|
-
cleanup();
|
|
81
|
-
reject(new OauthError({
|
|
82
|
-
'error': 'access_denied',
|
|
83
|
-
'error_description': 'The popup window containing the ' +
|
|
84
|
-
'authorization UI was closed by the user.'
|
|
85
|
-
}));
|
|
86
|
-
} else {
|
|
87
|
-
seenClosed = true;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}, 500);
|
|
91
|
-
});
|
|
92
|
-
return Bluebird.resolve();
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
PopupFlow.prototype.finishAuthorization = function() {
|
|
96
|
-
return this._authorizationPromise;
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
PopupFlow.prototype._popupParams = function(popupWidth, popupHeight) {
|
|
100
|
-
var left = window.screenX || window.screenLeft || 0;
|
|
101
|
-
var top = window.screenY || window.screenTop || 0;
|
|
102
|
-
var width = window.outerWidth || document.documentElement.clientWidth;
|
|
103
|
-
var height = window.outerHeight || document.documentElement.clientHeight;
|
|
104
|
-
|
|
105
|
-
var popupLeft = Math.max(left, Math.round(left + (width - popupWidth) / 2));
|
|
106
|
-
var popupTop = Math.max(top, Math.round(top + (height - popupHeight) / 2.5));
|
|
107
|
-
|
|
108
|
-
return util.format(
|
|
109
|
-
'left=%d,top=%d,' +
|
|
110
|
-
'width=%d,height=%d,' +
|
|
111
|
-
'dialog=yes,dependent=yes,scrollbars=yes,location=yes',
|
|
112
|
-
popupLeft, popupTop, popupWidth, popupHeight);
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
PopupFlow.runReceiver = function() {
|
|
116
|
-
window.addEventListener('load', function() {
|
|
117
|
-
var currentUrl = window.location.href;
|
|
118
|
-
oauthUtil.removeOauthResultFromCurrentUrl();
|
|
119
|
-
var opener = window.opener;
|
|
120
|
-
if (window.parent !== window.top) {
|
|
121
|
-
opener = opener || window.parent;
|
|
122
|
-
}
|
|
123
|
-
if (window.opener) {
|
|
124
|
-
console.log('Posting message', currentUrl, window.location.origin);
|
|
125
|
-
opener.postMessage({
|
|
126
|
-
receivedUrl: currentUrl
|
|
127
|
-
}, window.location.origin);
|
|
128
|
-
window.close();
|
|
129
|
-
} else {
|
|
130
|
-
console.log('No opener found for this window, not sending message');
|
|
131
|
-
}
|
|
132
|
-
}, false);
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
module.exports = PopupFlow;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/* jshint browser:true */
|
|
2
|
-
var util = require('util');
|
|
3
|
-
var oauthUtil = require('./oauth_util');
|
|
4
|
-
var BaseBrowserFlow = require('./base_browser_flow');
|
|
5
|
-
var OauthError = require('./oauth_error');
|
|
6
|
-
var Bluebird = require('bluebird');
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* An Oauth flow that runs in the browser and requests user authorization by
|
|
10
|
-
* redirecting to an authorization page on Asana, and redirecting back with
|
|
11
|
-
* the credentials.
|
|
12
|
-
* @param {Object} options See `BaseBrowserFlow` for options.
|
|
13
|
-
* @constructor
|
|
14
|
-
*/
|
|
15
|
-
function RedirectFlow(options) {
|
|
16
|
-
BaseBrowserFlow.call(this, options);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
util.inherits(RedirectFlow, BaseBrowserFlow);
|
|
20
|
-
|
|
21
|
-
RedirectFlow.prototype.getStateParam = function() {
|
|
22
|
-
// If we're coming off the redirect, then we should use the state passed
|
|
23
|
-
// back from the URL.
|
|
24
|
-
var oauthResult = oauthUtil.parseOauthResultFromUrl(window.location.href);
|
|
25
|
-
if (oauthResult !== null && oauthResult.state) {
|
|
26
|
-
return oauthResult.state;
|
|
27
|
-
}
|
|
28
|
-
return BaseBrowserFlow.prototype.getStateParam.call(this);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
RedirectFlow.prototype.startAuthorization = function(authUrl) {
|
|
32
|
-
// If we're coming off the redirect, then move directly to finish auth
|
|
33
|
-
var result = oauthUtil.parseOauthResultFromUrl(window.location.href);
|
|
34
|
-
if (result !== null) {
|
|
35
|
-
return Bluebird.resolve();
|
|
36
|
-
}
|
|
37
|
-
window.location.href = authUrl;
|
|
38
|
-
return new Bluebird(function() {
|
|
39
|
-
// This promise will never resolve - we should leave the page first.
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
RedirectFlow.prototype.finishAuthorization = function() {
|
|
44
|
-
var currentUrl = window.location.href;
|
|
45
|
-
oauthUtil.removeOauthResultFromCurrentUrl();
|
|
46
|
-
var result = oauthUtil.parseOauthResultFromUrl(currentUrl);
|
|
47
|
-
if (result.error) {
|
|
48
|
-
return Bluebird.reject(new OauthError(result));
|
|
49
|
-
} else {
|
|
50
|
-
return Bluebird.resolve(result);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
module.exports = RedirectFlow;
|