@atlaskit/teams-client 5.2.0 → 5.3.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/CHANGELOG.md +72 -0
- package/actual-graph-ql-error/package.json +8 -0
- package/add-breadcrumb/package.json +8 -0
- package/client/package.json +4 -4
- package/create-error-handler/package.json +8 -0
- package/create-error-handler-with-package-context/package.json +8 -0
- package/default-error/package.json +8 -0
- package/dist/cjs/common/utils/ari.js +40 -24
- package/dist/cjs/common/utils/error/CommonError.js +30 -0
- package/dist/cjs/common/utils/error/DefaultError.js +27 -0
- package/dist/cjs/common/utils/error/GraphQLError.js +54 -0
- package/dist/cjs/common/utils/error/HttpError.js +34 -0
- package/dist/cjs/common/utils/error/HttpErrorArguments.js +1 -0
- package/dist/cjs/common/utils/error/SLOIgnoreError.js +30 -0
- package/dist/cjs/common/utils/error/SLOIgnoreHttpError.js +29 -0
- package/dist/cjs/common/utils/error/doesErrorContainStatus.js +10 -0
- package/dist/cjs/common/utils/error/index.js +89 -154
- package/dist/cjs/common/utils/error/isAuthError.js +11 -0
- package/dist/cjs/common/utils/error/isErrorStatusCode.js +19 -0
- package/dist/cjs/common/utils/error/isNetworkError.js +17 -0
- package/dist/cjs/common/utils/http.js +8 -100
- package/dist/cjs/common/utils/index.js +8 -5
- package/dist/cjs/common/utils/is-fetch-response.js +12 -0
- package/dist/cjs/common/utils/is-invited.js +9 -0
- package/dist/cjs/common/utils/is-member.js +9 -0
- package/dist/cjs/common/utils/is-non-member.js +9 -0
- package/dist/cjs/common/utils/is-requesting-join.js +9 -0
- package/dist/cjs/common/utils/is-team-ari.js +10 -0
- package/dist/cjs/common/utils/is-user-ari.js +10 -0
- package/dist/cjs/common/utils/is5xx.js +13 -0
- package/dist/cjs/common/utils/permissions/all-permissions.js +34 -0
- package/dist/cjs/common/utils/permissions/constants.js +2 -162
- package/dist/cjs/common/utils/permissions/get-permission-map.js +109 -0
- package/dist/cjs/common/utils/permissions/has-permission-for-action.js +19 -0
- package/dist/cjs/common/utils/permissions/has-permission.js +23 -21
- package/dist/cjs/common/utils/permissions/index.js +4 -2
- package/dist/cjs/common/utils/permissions/invite-only-permissions.js +15 -0
- package/dist/cjs/common/utils/permissions/open-permissions.js +18 -0
- package/dist/cjs/common/utils/permissions/scim-sync-team-permissions.js +17 -0
- package/dist/cjs/common/utils/permissions/user-can.js +14 -0
- package/dist/cjs/common/utils/team.js +28 -14
- package/dist/cjs/common/utils/to-team-ari.js +11 -0
- package/dist/cjs/common/utils/to-team-id.js +14 -0
- package/dist/cjs/common/utils/to-user-ari.js +11 -0
- package/dist/cjs/common/utils/to-user-id.js +14 -0
- package/dist/cjs/common/utils/ufo/constants.js +3 -3
- package/dist/cjs/common/utils/ufo/createErrorMetadata.js +18 -0
- package/dist/cjs/common/utils/ufo/index.js +15 -11
- package/dist/cjs/common/utils/ufo/isIgnoredError.js +14 -0
- package/dist/cjs/common/utils/with-exponential-backoff.js +87 -0
- package/dist/cjs/index.js +22 -17
- package/dist/cjs/mocks/create-user.js +21 -0
- package/dist/cjs/mocks/endpoint-regexes.js +18 -0
- package/dist/cjs/mocks/endpoints.js +30 -257
- package/dist/cjs/mocks/fixed-team-memberships.js +29 -0
- package/dist/cjs/mocks/fixed-users.js +21 -0
- package/dist/cjs/mocks/generate-data.js +35 -110
- package/dist/cjs/mocks/index.js +18 -11
- package/dist/cjs/mocks/mock-catch-all.js +13 -0
- package/dist/cjs/mocks/mock-config-2.js +5 -0
- package/dist/cjs/mocks/mock-config.js +5 -0
- package/dist/cjs/mocks/mock-invite-only-team-endpoint.js +19 -0
- package/dist/cjs/mocks/mock-join-or-request-default-access-to-products-bulk-endpoint.js +23 -0
- package/dist/cjs/mocks/mock-me-endpoint.js +19 -0
- package/dist/cjs/mocks/mock-members-me-full-member-endpoint.js +19 -0
- package/dist/cjs/mocks/mock-members-me-not-member-endpoint.js +16 -0
- package/dist/cjs/mocks/mock-members-me-requesting-to-join-endpoint.js +19 -0
- package/dist/cjs/mocks/mock-open-team-write-permission-endpoint.js +19 -0
- package/dist/cjs/mocks/mock-product-recommendations-endpoint.js +19 -0
- package/dist/cjs/mocks/mock-profile-with-mutability-endpoint.js +19 -0
- package/dist/cjs/mocks/mock-team-membership-config.js +1 -0
- package/dist/cjs/mocks/mock-team-membership-endpoint.js +28 -0
- package/dist/cjs/mocks/mock-team-membership-response-with-n-edges.js +47 -0
- package/dist/cjs/mocks/mock-teams-client-admin-endpoints.js +39 -0
- package/dist/cjs/mocks/mock-teams-client-endpoints.js +56 -0
- package/dist/cjs/mocks/mock-teams-client-invite-only-member-endpoints.js +39 -0
- package/dist/cjs/mocks/mock-teams-client-not-member-endpoints.js +39 -0
- package/dist/cjs/mocks/mock-teams-client-requesting-to-join-endpoints.js +27 -0
- package/dist/cjs/mocks/random-basic-team.js +24 -0
- package/dist/cjs/mocks/random-full-team.js +40 -0
- package/dist/cjs/mocks/random-header-image.js +17 -0
- package/dist/cjs/mocks/random-returned-new-team-data.js +28 -0
- package/dist/cjs/mocks/random-team-images.js +21 -0
- package/dist/cjs/mocks/random-team-membership-2.js +29 -0
- package/dist/cjs/mocks/random-team-membership.js +27 -0
- package/dist/cjs/mocks/random-team-memberships-2.js +21 -0
- package/dist/cjs/mocks/random-team-memberships.js +19 -0
- package/dist/cjs/mocks/random-team-with-memberships.js +56 -0
- package/dist/cjs/mocks/random-user.js +25 -0
- package/dist/cjs/mocks/random-users.js +16 -0
- package/dist/cjs/mocks/team.js +1 -146
- package/dist/cjs/mocks/user.js +1 -52
- package/dist/cjs/mocks/with-faker.js +6 -4
- package/dist/cjs/services/agg-client/TeamContainers.js +1 -0
- package/dist/cjs/services/agg-client/index.js +19 -15
- package/dist/cjs/services/collaborationgraph-client/CollaborationGraphClient.js +78 -0
- package/dist/cjs/services/collaborationgraph-client/index.js +3 -74
- package/dist/cjs/services/directory-client/index.js +4 -4
- package/dist/cjs/services/graphql-client/main.js +6 -5
- package/dist/cjs/services/graphql-client/utils/handleGraphQLRequest.js +73 -0
- package/dist/cjs/services/graphql-client/utils/{index.js → makeGraphQLRequestWithoutRetries.js} +3 -63
- package/dist/cjs/services/hooks/teams-client-setup-props.js +1 -0
- package/dist/cjs/services/hooks/use-teams-client-setup-next.js +55 -0
- package/dist/cjs/services/hooks/use-teams-client-setup.js +14 -50
- package/dist/cjs/services/identity-client/ExtendedProfileMapKey.js +5 -0
- package/dist/cjs/services/identity-client/ExtendedProfileMapKeys.js +5 -0
- package/dist/cjs/services/identity-client/IdentityClient.js +172 -0
- package/dist/cjs/services/identity-client/IdentityProfileData.js +1 -0
- package/dist/cjs/services/identity-client/ProfileMapKey.js +5 -0
- package/dist/cjs/services/identity-client/ProfileMapKeys.js +5 -0
- package/dist/cjs/services/identity-client/dataURItoFile.js +40 -0
- package/dist/cjs/services/identity-client/extended-profile-props-map.js +9 -0
- package/dist/cjs/services/identity-client/fromManageAPIResponse.js +48 -0
- package/dist/cjs/services/identity-client/index.js +3 -166
- package/dist/cjs/services/identity-client/profile-props-map.js +9 -0
- package/dist/cjs/services/identity-client/toManageAPIInput.js +22 -0
- package/dist/cjs/services/identity-client/transformUserManageConfig.js +49 -0
- package/dist/cjs/services/identity-client/utils.js +1 -141
- package/dist/cjs/services/invitations-client/InvitationsClient.js +164 -0
- package/dist/cjs/services/invitations-client/index.js +9 -163
- package/dist/cjs/services/mutability-client/MutabilityClient.js +92 -0
- package/dist/cjs/services/mutability-client/index.js +6 -90
- package/dist/cjs/services/object-resolver-client/ObjectResolverClient.js +135 -0
- package/dist/cjs/services/object-resolver-client/{utils.js → formatLinkIconData.js} +8 -23
- package/dist/cjs/services/object-resolver-client/index.js +3 -131
- package/dist/cjs/services/object-resolver-client/transformIconData.js +23 -0
- package/dist/cjs/services/perms-client/PermsClient.js +38 -0
- package/dist/cjs/services/perms-client/index.js +3 -34
- package/dist/cjs/services/public-api-client/AddMembershipReponse.js +5 -0
- package/dist/cjs/services/public-api-client/Member.js +1 -0
- package/dist/cjs/services/public-api-client/PublicApiClient.js +252 -0
- package/dist/cjs/services/public-api-client/RemoveMembershipReponse.js +1 -0
- package/dist/cjs/services/public-api-client/V1_URL.js +8 -0
- package/dist/cjs/services/public-api-client/index.js +14 -258
- package/dist/cjs/services/replines-client/ReplinesClient.js +60 -0
- package/dist/cjs/services/replines-client/index.js +3 -56
- package/dist/cjs/services/reporting-lines-client/ReportingLinesClient.js +59 -0
- package/dist/cjs/services/reporting-lines-client/index.js +5 -57
- package/dist/cjs/services/rest-client/index.js +7 -21
- package/dist/cjs/services/rest-client/utils/clear-cookie.js +9 -0
- package/dist/cjs/services/rest-client/utils/cookie.js +1 -16
- package/dist/cjs/services/rest-client/utils/get-cookie-as-integer.js +12 -0
- package/dist/cjs/services/rest-client/utils/redirect-count.js +48 -0
- package/dist/cjs/services/rest-client/utils/set-cookie.js +9 -0
- package/dist/cjs/services/sentry/Context.js +5 -0
- package/dist/cjs/services/sentry/addBreadcrumb.js +37 -0
- package/dist/cjs/services/sentry/createErrorHandler.js +19 -0
- package/dist/cjs/services/sentry/createErrorHandlerWithPackageContext.js +19 -0
- package/dist/cjs/services/sentry/decorateScope.js +22 -0
- package/dist/cjs/services/sentry/index.js +18 -10
- package/dist/cjs/services/sentry/logErrorMessage.js +13 -0
- package/dist/cjs/services/sentry/logErrorMessageWithPackageContext.js +20 -0
- package/dist/cjs/services/sentry/logException.js +57 -0
- package/dist/cjs/services/sentry/logExceptionWithPackageContext.js +20 -0
- package/dist/cjs/services/sentry/logInfoMessage.js +13 -0
- package/dist/cjs/services/sentry/logInfoMessageWithPackageContext.js +20 -0
- package/dist/cjs/services/sentry/logMessage.js +52 -0
- package/dist/cjs/services/sentry/main.js +61 -192
- package/dist/cjs/services/sentry/utils/get-sentry-client.js +34 -0
- package/dist/cjs/services/sentry/utils/get-sentry-config.js +1 -1
- package/dist/cjs/services/sentry/utils/initialise-sentry.js +5 -4
- package/dist/cjs/services/sentry/utils/sentry-client-ref.js +16 -0
- package/dist/cjs/services/sentry/utils/sentry-client.js +1 -122
- package/dist/cjs/services/sentry/utils/set-sentry-client.js +10 -0
- package/dist/cjs/services/sentry/utils/setup-sentry-client.js +94 -0
- package/dist/cjs/services/sentry/utils/use-teams-sentry-client-setup.js +5 -4
- package/dist/cjs/services/team-central-client/TeamCentralClient.js +316 -0
- package/dist/cjs/services/team-central-client/getTeamCentralGraphqlUrl.js +9 -0
- package/dist/cjs/services/team-central-client/getUnshardedTeamCentralGraphqlUrl.js +9 -0
- package/dist/cjs/services/team-central-client/index.js +5 -313
- package/dist/cjs/services/teams-in-slack-client/TeamsInSlackClient.js +102 -0
- package/dist/cjs/services/teams-in-slack-client/index.js +3 -98
- package/dist/cjs/services/use-query-light/ActualGraphQLError.js +28 -0
- package/dist/cjs/services/use-query-light/UseQueryLightError.js +32 -0
- package/dist/cjs/services/use-query-light/UseQueryLightErrorExtensions.js +1 -0
- package/dist/cjs/services/use-query-light/index.js +6 -5
- package/dist/cjs/services/use-query-light/main.js +13 -226
- package/dist/cjs/services/use-query-light/types.js +22 -40
- package/dist/cjs/services/use-query-light/useLazyQueryLight.js +37 -0
- package/dist/cjs/services/use-query-light/useQueryLight.js +208 -0
- package/dist/cjs/services/user-preferences-client/UserPreferencesClient.js +94 -0
- package/dist/cjs/services/user-preferences-client/index.js +3 -90
- package/dist/es2019/common/utils/ari.js +25 -21
- package/dist/es2019/common/utils/error/CommonError.js +10 -0
- package/dist/es2019/common/utils/error/DefaultError.js +9 -0
- package/dist/es2019/common/utils/error/GraphQLError.js +37 -0
- package/dist/es2019/common/utils/error/HttpError.js +16 -0
- package/dist/es2019/common/utils/error/HttpErrorArguments.js +0 -0
- package/dist/es2019/common/utils/error/SLOIgnoreError.js +13 -0
- package/dist/es2019/common/utils/error/SLOIgnoreHttpError.js +10 -0
- package/dist/es2019/common/utils/error/doesErrorContainStatus.js +4 -0
- package/dist/es2019/common/utils/error/index.js +33 -119
- package/dist/es2019/common/utils/error/isAuthError.js +5 -0
- package/dist/es2019/common/utils/error/isErrorStatusCode.js +13 -0
- package/dist/es2019/common/utils/error/isNetworkError.js +11 -0
- package/dist/es2019/common/utils/http.js +7 -71
- package/dist/es2019/common/utils/index.js +20 -1
- package/dist/es2019/common/utils/is-fetch-response.js +6 -0
- package/dist/es2019/common/utils/is-invited.js +3 -0
- package/dist/es2019/common/utils/is-member.js +1 -0
- package/dist/es2019/common/utils/is-non-member.js +1 -0
- package/dist/es2019/common/utils/is-requesting-join.js +1 -0
- package/dist/es2019/common/utils/is-team-ari.js +2 -0
- package/dist/es2019/common/utils/is-user-ari.js +2 -0
- package/dist/es2019/common/utils/is5xx.js +7 -0
- package/dist/es2019/common/utils/permissions/all-permissions.js +26 -0
- package/dist/es2019/common/utils/permissions/constants.js +1 -160
- package/dist/es2019/common/utils/permissions/get-permission-map.js +111 -0
- package/dist/es2019/common/utils/permissions/has-permission-for-action.js +13 -0
- package/dist/es2019/common/utils/permissions/has-permission.js +11 -17
- package/dist/es2019/common/utils/permissions/index.js +20 -2
- package/dist/es2019/common/utils/permissions/invite-only-permissions.js +7 -0
- package/dist/es2019/common/utils/permissions/open-permissions.js +10 -0
- package/dist/es2019/common/utils/permissions/scim-sync-team-permissions.js +9 -0
- package/dist/es2019/common/utils/permissions/user-can.js +8 -0
- package/dist/es2019/common/utils/team.js +17 -6
- package/dist/es2019/common/utils/to-team-ari.js +5 -0
- package/dist/es2019/common/utils/to-team-id.js +8 -0
- package/dist/es2019/common/utils/to-user-ari.js +5 -0
- package/dist/es2019/common/utils/to-user-id.js +8 -0
- package/dist/es2019/common/utils/ufo/constants.js +1 -1
- package/dist/es2019/common/utils/ufo/createErrorMetadata.js +10 -0
- package/dist/es2019/common/utils/ufo/index.js +9 -5
- package/dist/es2019/common/utils/ufo/isIgnoredError.js +8 -0
- package/dist/es2019/common/utils/with-exponential-backoff.js +57 -0
- package/dist/es2019/index.js +11 -6
- package/dist/es2019/mocks/create-user.js +9 -0
- package/dist/es2019/mocks/endpoint-regexes.js +12 -0
- package/dist/es2019/mocks/endpoints.js +21 -249
- package/dist/es2019/mocks/fixed-team-memberships.js +18 -0
- package/dist/es2019/mocks/fixed-users.js +10 -0
- package/dist/es2019/mocks/generate-data.js +22 -96
- package/dist/es2019/mocks/index.js +38 -2
- package/dist/es2019/mocks/mock-catch-all.js +8 -0
- package/dist/es2019/mocks/mock-config-2.js +1 -0
- package/dist/es2019/mocks/mock-config.js +1 -0
- package/dist/es2019/mocks/mock-invite-only-team-endpoint.js +12 -0
- package/dist/es2019/mocks/mock-join-or-request-default-access-to-products-bulk-endpoint.js +16 -0
- package/dist/es2019/mocks/mock-me-endpoint.js +12 -0
- package/dist/es2019/mocks/mock-members-me-full-member-endpoint.js +12 -0
- package/dist/es2019/mocks/mock-members-me-not-member-endpoint.js +11 -0
- package/dist/es2019/mocks/mock-members-me-requesting-to-join-endpoint.js +12 -0
- package/dist/es2019/mocks/mock-open-team-write-permission-endpoint.js +12 -0
- package/dist/es2019/mocks/mock-product-recommendations-endpoint.js +12 -0
- package/dist/es2019/mocks/mock-profile-with-mutability-endpoint.js +12 -0
- package/dist/es2019/mocks/mock-team-membership-config.js +0 -0
- package/dist/es2019/mocks/mock-team-membership-endpoint.js +21 -0
- package/dist/es2019/mocks/mock-team-membership-response-with-n-edges.js +36 -0
- package/dist/es2019/mocks/mock-teams-client-admin-endpoints.js +32 -0
- package/dist/es2019/mocks/mock-teams-client-endpoints.js +49 -0
- package/dist/es2019/mocks/mock-teams-client-invite-only-member-endpoints.js +32 -0
- package/dist/es2019/mocks/mock-teams-client-not-member-endpoints.js +32 -0
- package/dist/es2019/mocks/mock-teams-client-requesting-to-join-endpoints.js +21 -0
- package/dist/es2019/mocks/random-basic-team.js +11 -0
- package/dist/es2019/mocks/random-full-team.js +30 -0
- package/dist/es2019/mocks/random-header-image.js +10 -0
- package/dist/es2019/mocks/random-returned-new-team-data.js +19 -0
- package/dist/es2019/mocks/random-team-images.js +14 -0
- package/dist/es2019/mocks/random-team-membership-2.js +18 -0
- package/dist/es2019/mocks/random-team-membership.js +18 -0
- package/dist/es2019/mocks/random-team-memberships-2.js +7 -0
- package/dist/es2019/mocks/random-team-memberships.js +6 -0
- package/dist/es2019/mocks/random-team-with-memberships.js +43 -0
- package/dist/es2019/mocks/random-user.js +14 -0
- package/dist/es2019/mocks/random-users.js +2 -0
- package/dist/es2019/mocks/team.js +1 -127
- package/dist/es2019/mocks/user.js +0 -34
- package/dist/es2019/mocks/with-faker.js +3 -1
- package/dist/es2019/services/agg-client/TeamContainers.js +0 -0
- package/dist/es2019/services/agg-client/index.js +10 -7
- package/dist/es2019/services/collaborationgraph-client/CollaborationGraphClient.js +54 -0
- package/dist/es2019/services/collaborationgraph-client/index.js +1 -54
- package/dist/es2019/services/directory-client/index.js +2 -2
- package/dist/es2019/services/graphql-client/main.js +3 -2
- package/dist/es2019/services/graphql-client/utils/handleGraphQLRequest.js +33 -0
- package/dist/es2019/services/graphql-client/utils/{index.js → makeGraphQLRequestWithoutRetries.js} +1 -29
- package/dist/es2019/services/hooks/teams-client-setup-props.js +0 -0
- package/dist/es2019/services/hooks/use-teams-client-setup-next.js +45 -0
- package/dist/es2019/services/hooks/use-teams-client-setup.js +6 -44
- package/dist/es2019/services/identity-client/ExtendedProfileMapKey.js +1 -0
- package/dist/es2019/services/identity-client/ExtendedProfileMapKeys.js +1 -0
- package/dist/es2019/services/identity-client/IdentityClient.js +54 -0
- package/dist/es2019/services/identity-client/IdentityProfileData.js +0 -0
- package/dist/es2019/services/identity-client/ProfileMapKey.js +1 -0
- package/dist/es2019/services/identity-client/ProfileMapKeys.js +1 -0
- package/dist/es2019/services/identity-client/dataURItoFile.js +33 -0
- package/dist/es2019/services/identity-client/extended-profile-props-map.js +3 -0
- package/dist/es2019/services/identity-client/fromManageAPIResponse.js +41 -0
- package/dist/es2019/services/identity-client/index.js +1 -54
- package/dist/es2019/services/identity-client/profile-props-map.js +3 -0
- package/dist/es2019/services/identity-client/toManageAPIInput.js +16 -0
- package/dist/es2019/services/identity-client/transformUserManageConfig.js +37 -0
- package/dist/es2019/services/identity-client/utils.js +1 -131
- package/dist/es2019/services/invitations-client/InvitationsClient.js +57 -0
- package/dist/es2019/services/invitations-client/index.js +4 -59
- package/dist/es2019/services/mutability-client/MutabilityClient.js +44 -0
- package/dist/es2019/services/mutability-client/index.js +4 -46
- package/dist/es2019/services/object-resolver-client/ObjectResolverClient.js +52 -0
- package/dist/es2019/services/object-resolver-client/{utils.js → formatLinkIconData.js} +3 -13
- package/dist/es2019/services/object-resolver-client/index.js +1 -52
- package/dist/es2019/services/object-resolver-client/transformIconData.js +11 -0
- package/dist/es2019/services/perms-client/PermsClient.js +14 -0
- package/dist/es2019/services/perms-client/index.js +1 -14
- package/dist/es2019/services/public-api-client/AddMembershipReponse.js +1 -0
- package/dist/es2019/services/public-api-client/Member.js +0 -0
- package/dist/es2019/services/public-api-client/PublicApiClient.js +104 -0
- package/dist/es2019/services/public-api-client/RemoveMembershipReponse.js +0 -0
- package/dist/es2019/services/public-api-client/V1_URL.js +2 -0
- package/dist/es2019/services/public-api-client/index.js +7 -116
- package/dist/es2019/services/replines-client/ReplinesClient.js +22 -0
- package/dist/es2019/services/replines-client/index.js +1 -22
- package/dist/es2019/services/reporting-lines-client/ReportingLinesClient.js +20 -0
- package/dist/es2019/services/reporting-lines-client/index.js +2 -21
- package/dist/es2019/services/rest-client/index.js +5 -14
- package/dist/es2019/services/rest-client/utils/clear-cookie.js +3 -0
- package/dist/es2019/services/rest-client/utils/cookie.js +1 -12
- package/dist/es2019/services/rest-client/utils/get-cookie-as-integer.js +5 -0
- package/dist/es2019/services/rest-client/utils/redirect-count.js +33 -0
- package/dist/es2019/services/rest-client/utils/set-cookie.js +3 -0
- package/dist/es2019/services/sentry/Context.js +1 -0
- package/dist/es2019/services/sentry/addBreadcrumb.js +11 -0
- package/dist/es2019/services/sentry/createErrorHandler.js +13 -0
- package/dist/es2019/services/sentry/createErrorHandlerWithPackageContext.js +8 -0
- package/dist/es2019/services/sentry/decorateScope.js +15 -0
- package/dist/es2019/services/sentry/index.js +46 -2
- package/dist/es2019/services/sentry/logErrorMessage.js +6 -0
- package/dist/es2019/services/sentry/logErrorMessageWithPackageContext.js +11 -0
- package/dist/es2019/services/sentry/logException.js +22 -0
- package/dist/es2019/services/sentry/logExceptionWithPackageContext.js +11 -0
- package/dist/es2019/services/sentry/logInfoMessage.js +6 -0
- package/dist/es2019/services/sentry/logInfoMessageWithPackageContext.js +11 -0
- package/dist/es2019/services/sentry/logMessage.js +21 -0
- package/dist/es2019/services/sentry/main.js +37 -107
- package/dist/es2019/services/sentry/utils/get-sentry-client.js +8 -0
- package/dist/es2019/services/sentry/utils/get-sentry-config.js +1 -1
- package/dist/es2019/services/sentry/utils/initialise-sentry.js +4 -3
- package/dist/es2019/services/sentry/utils/sentry-client-ref.js +10 -0
- package/dist/es2019/services/sentry/utils/sentry-client.js +0 -58
- package/dist/es2019/services/sentry/utils/set-sentry-client.js +4 -0
- package/dist/es2019/services/sentry/utils/setup-sentry-client.js +48 -0
- package/dist/es2019/services/sentry/utils/use-teams-sentry-client-setup.js +4 -3
- package/dist/es2019/services/team-central-client/TeamCentralClient.js +115 -0
- package/dist/es2019/services/team-central-client/getTeamCentralGraphqlUrl.js +1 -0
- package/dist/es2019/services/team-central-client/getUnshardedTeamCentralGraphqlUrl.js +1 -0
- package/dist/es2019/services/team-central-client/index.js +2 -115
- package/dist/es2019/services/teams-in-slack-client/TeamsInSlackClient.js +31 -0
- package/dist/es2019/services/teams-in-slack-client/index.js +1 -31
- package/dist/es2019/services/use-query-light/ActualGraphQLError.js +8 -0
- package/dist/es2019/services/use-query-light/UseQueryLightError.js +12 -0
- package/dist/es2019/services/use-query-light/UseQueryLightErrorExtensions.js +0 -0
- package/dist/es2019/services/use-query-light/index.js +21 -2
- package/dist/es2019/services/use-query-light/main.js +10 -162
- package/dist/es2019/services/use-query-light/types.js +10 -20
- package/dist/es2019/services/use-query-light/useLazyQueryLight.js +25 -0
- package/dist/es2019/services/use-query-light/useQueryLight.js +139 -0
- package/dist/es2019/services/user-preferences-client/UserPreferencesClient.js +15 -0
- package/dist/es2019/services/user-preferences-client/index.js +1 -15
- package/dist/es2019/types/index.js +64 -1
- package/dist/esm/common/utils/ari.js +25 -25
- package/dist/esm/common/utils/error/CommonError.js +23 -0
- package/dist/esm/common/utils/error/DefaultError.js +20 -0
- package/dist/esm/common/utils/error/GraphQLError.js +49 -0
- package/dist/esm/common/utils/error/HttpError.js +27 -0
- package/dist/esm/common/utils/error/HttpErrorArguments.js +0 -0
- package/dist/esm/common/utils/error/SLOIgnoreError.js +24 -0
- package/dist/esm/common/utils/error/SLOIgnoreHttpError.js +22 -0
- package/dist/esm/common/utils/error/doesErrorContainStatus.js +4 -0
- package/dist/esm/common/utils/error/index.js +33 -153
- package/dist/esm/common/utils/error/isAuthError.js +5 -0
- package/dist/esm/common/utils/error/isErrorStatusCode.js +13 -0
- package/dist/esm/common/utils/error/isNetworkError.js +11 -0
- package/dist/esm/common/utils/http.js +7 -94
- package/dist/esm/common/utils/index.js +20 -1
- package/dist/esm/common/utils/is-fetch-response.js +6 -0
- package/dist/esm/common/utils/is-invited.js +3 -0
- package/dist/esm/common/utils/is-member.js +3 -0
- package/dist/esm/common/utils/is-non-member.js +3 -0
- package/dist/esm/common/utils/is-requesting-join.js +3 -0
- package/dist/esm/common/utils/is-team-ari.js +4 -0
- package/dist/esm/common/utils/is-user-ari.js +4 -0
- package/dist/esm/common/utils/is5xx.js +7 -0
- package/dist/esm/common/utils/permissions/all-permissions.js +28 -0
- package/dist/esm/common/utils/permissions/constants.js +1 -160
- package/dist/esm/common/utils/permissions/get-permission-map.js +103 -0
- package/dist/esm/common/utils/permissions/has-permission-for-action.js +14 -0
- package/dist/esm/common/utils/permissions/has-permission.js +11 -18
- package/dist/esm/common/utils/permissions/index.js +20 -2
- package/dist/esm/common/utils/permissions/invite-only-permissions.js +9 -0
- package/dist/esm/common/utils/permissions/open-permissions.js +12 -0
- package/dist/esm/common/utils/permissions/scim-sync-team-permissions.js +11 -0
- package/dist/esm/common/utils/permissions/user-can.js +8 -0
- package/dist/esm/common/utils/team.js +17 -12
- package/dist/esm/common/utils/to-team-ari.js +5 -0
- package/dist/esm/common/utils/to-team-id.js +8 -0
- package/dist/esm/common/utils/to-user-ari.js +5 -0
- package/dist/esm/common/utils/to-user-id.js +8 -0
- package/dist/esm/common/utils/ufo/constants.js +1 -1
- package/dist/esm/common/utils/ufo/createErrorMetadata.js +12 -0
- package/dist/esm/common/utils/ufo/index.js +9 -5
- package/dist/esm/common/utils/ufo/isIgnoredError.js +8 -0
- package/dist/esm/common/utils/with-exponential-backoff.js +80 -0
- package/dist/esm/index.js +11 -6
- package/dist/esm/mocks/create-user.js +14 -0
- package/dist/esm/mocks/endpoint-regexes.js +12 -0
- package/dist/esm/mocks/endpoints.js +21 -260
- package/dist/esm/mocks/fixed-team-memberships.js +22 -0
- package/dist/esm/mocks/fixed-users.js +14 -0
- package/dist/esm/mocks/generate-data.js +22 -106
- package/dist/esm/mocks/index.js +38 -2
- package/dist/esm/mocks/mock-catch-all.js +7 -0
- package/dist/esm/mocks/mock-config-2.js +1 -0
- package/dist/esm/mocks/mock-config.js +1 -0
- package/dist/esm/mocks/mock-invite-only-team-endpoint.js +13 -0
- package/dist/esm/mocks/mock-join-or-request-default-access-to-products-bulk-endpoint.js +17 -0
- package/dist/esm/mocks/mock-me-endpoint.js +13 -0
- package/dist/esm/mocks/mock-members-me-full-member-endpoint.js +13 -0
- package/dist/esm/mocks/mock-members-me-not-member-endpoint.js +10 -0
- package/dist/esm/mocks/mock-members-me-requesting-to-join-endpoint.js +13 -0
- package/dist/esm/mocks/mock-open-team-write-permission-endpoint.js +13 -0
- package/dist/esm/mocks/mock-product-recommendations-endpoint.js +13 -0
- package/dist/esm/mocks/mock-profile-with-mutability-endpoint.js +13 -0
- package/dist/esm/mocks/mock-team-membership-config.js +0 -0
- package/dist/esm/mocks/mock-team-membership-endpoint.js +22 -0
- package/dist/esm/mocks/mock-team-membership-response-with-n-edges.js +40 -0
- package/dist/esm/mocks/mock-teams-client-admin-endpoints.js +33 -0
- package/dist/esm/mocks/mock-teams-client-endpoints.js +50 -0
- package/dist/esm/mocks/mock-teams-client-invite-only-member-endpoints.js +33 -0
- package/dist/esm/mocks/mock-teams-client-not-member-endpoints.js +33 -0
- package/dist/esm/mocks/mock-teams-client-requesting-to-join-endpoints.js +21 -0
- package/dist/esm/mocks/random-basic-team.js +17 -0
- package/dist/esm/mocks/random-full-team.js +33 -0
- package/dist/esm/mocks/random-header-image.js +11 -0
- package/dist/esm/mocks/random-returned-new-team-data.js +21 -0
- package/dist/esm/mocks/random-team-images.js +15 -0
- package/dist/esm/mocks/random-team-membership-2.js +22 -0
- package/dist/esm/mocks/random-team-membership.js +20 -0
- package/dist/esm/mocks/random-team-memberships-2.js +14 -0
- package/dist/esm/mocks/random-team-memberships.js +12 -0
- package/dist/esm/mocks/random-team-with-memberships.js +49 -0
- package/dist/esm/mocks/random-user.js +18 -0
- package/dist/esm/mocks/random-users.js +9 -0
- package/dist/esm/mocks/team.js +1 -143
- package/dist/esm/mocks/user.js +0 -50
- package/dist/esm/mocks/with-faker.js +3 -1
- package/dist/esm/services/agg-client/TeamContainers.js +0 -0
- package/dist/esm/services/agg-client/index.js +10 -7
- package/dist/esm/services/collaborationgraph-client/CollaborationGraphClient.js +71 -0
- package/dist/esm/services/collaborationgraph-client/index.js +1 -71
- package/dist/esm/services/directory-client/index.js +2 -2
- package/dist/esm/services/graphql-client/main.js +3 -2
- package/dist/esm/services/graphql-client/utils/handleGraphQLRequest.js +66 -0
- package/dist/esm/services/graphql-client/utils/{index.js → makeGraphQLRequestWithoutRetries.js} +1 -60
- package/dist/esm/services/hooks/teams-client-setup-props.js +0 -0
- package/dist/esm/services/hooks/use-teams-client-setup-next.js +48 -0
- package/dist/esm/services/hooks/use-teams-client-setup.js +6 -47
- package/dist/esm/services/identity-client/ExtendedProfileMapKey.js +1 -0
- package/dist/esm/services/identity-client/ExtendedProfileMapKeys.js +1 -0
- package/dist/esm/services/identity-client/IdentityClient.js +165 -0
- package/dist/esm/services/identity-client/IdentityProfileData.js +0 -0
- package/dist/esm/services/identity-client/ProfileMapKey.js +1 -0
- package/dist/esm/services/identity-client/ProfileMapKeys.js +1 -0
- package/dist/esm/services/identity-client/dataURItoFile.js +34 -0
- package/dist/esm/services/identity-client/extended-profile-props-map.js +3 -0
- package/dist/esm/services/identity-client/fromManageAPIResponse.js +41 -0
- package/dist/esm/services/identity-client/index.js +1 -165
- package/dist/esm/services/identity-client/profile-props-map.js +3 -0
- package/dist/esm/services/identity-client/toManageAPIInput.js +16 -0
- package/dist/esm/services/identity-client/transformUserManageConfig.js +43 -0
- package/dist/esm/services/identity-client/utils.js +1 -138
- package/dist/esm/services/invitations-client/InvitationsClient.js +157 -0
- package/dist/esm/services/invitations-client/index.js +4 -159
- package/dist/esm/services/mutability-client/MutabilityClient.js +85 -0
- package/dist/esm/services/mutability-client/index.js +4 -87
- package/dist/esm/services/object-resolver-client/ObjectResolverClient.js +128 -0
- package/dist/esm/services/object-resolver-client/{utils.js → formatLinkIconData.js} +6 -22
- package/dist/esm/services/object-resolver-client/index.js +1 -128
- package/dist/esm/services/object-resolver-client/transformIconData.js +17 -0
- package/dist/esm/services/perms-client/PermsClient.js +31 -0
- package/dist/esm/services/perms-client/index.js +1 -31
- package/dist/esm/services/public-api-client/AddMembershipReponse.js +1 -0
- package/dist/esm/services/public-api-client/Member.js +0 -0
- package/dist/esm/services/public-api-client/PublicApiClient.js +245 -0
- package/dist/esm/services/public-api-client/RemoveMembershipReponse.js +0 -0
- package/dist/esm/services/public-api-client/V1_URL.js +2 -0
- package/dist/esm/services/public-api-client/index.js +7 -257
- package/dist/esm/services/replines-client/ReplinesClient.js +53 -0
- package/dist/esm/services/replines-client/index.js +1 -53
- package/dist/esm/services/reporting-lines-client/ReportingLinesClient.js +52 -0
- package/dist/esm/services/reporting-lines-client/index.js +2 -53
- package/dist/esm/services/rest-client/index.js +5 -18
- package/dist/esm/services/rest-client/utils/clear-cookie.js +3 -0
- package/dist/esm/services/rest-client/utils/cookie.js +1 -13
- package/dist/esm/services/rest-client/utils/get-cookie-as-integer.js +6 -0
- package/dist/esm/services/rest-client/utils/redirect-count.js +41 -0
- package/dist/esm/services/rest-client/utils/set-cookie.js +3 -0
- package/dist/esm/services/sentry/Context.js +1 -0
- package/dist/esm/services/sentry/addBreadcrumb.js +31 -0
- package/dist/esm/services/sentry/createErrorHandler.js +14 -0
- package/dist/esm/services/sentry/createErrorHandlerWithPackageContext.js +14 -0
- package/dist/esm/services/sentry/decorateScope.js +15 -0
- package/dist/esm/services/sentry/index.js +46 -2
- package/dist/esm/services/sentry/logErrorMessage.js +7 -0
- package/dist/esm/services/sentry/logErrorMessageWithPackageContext.js +15 -0
- package/dist/esm/services/sentry/logException.js +51 -0
- package/dist/esm/services/sentry/logExceptionWithPackageContext.js +15 -0
- package/dist/esm/services/sentry/logInfoMessage.js +7 -0
- package/dist/esm/services/sentry/logInfoMessageWithPackageContext.js +15 -0
- package/dist/esm/services/sentry/logMessage.js +47 -0
- package/dist/esm/services/sentry/main.js +37 -187
- package/dist/esm/services/sentry/utils/get-sentry-client.js +27 -0
- package/dist/esm/services/sentry/utils/get-sentry-config.js +1 -1
- package/dist/esm/services/sentry/utils/initialise-sentry.js +4 -3
- package/dist/esm/services/sentry/utils/sentry-client-ref.js +10 -0
- package/dist/esm/services/sentry/utils/sentry-client.js +0 -110
- package/dist/esm/services/sentry/utils/set-sentry-client.js +4 -0
- package/dist/esm/services/sentry/utils/setup-sentry-client.js +83 -0
- package/dist/esm/services/sentry/utils/use-teams-sentry-client-setup.js +4 -3
- package/dist/esm/services/team-central-client/TeamCentralClient.js +309 -0
- package/dist/esm/services/team-central-client/{utils.js → getTeamCentralGraphqlUrl.js} +0 -3
- package/dist/esm/services/team-central-client/getUnshardedTeamCentralGraphqlUrl.js +3 -0
- package/dist/esm/services/team-central-client/index.js +2 -309
- package/dist/esm/services/teams-in-slack-client/TeamsInSlackClient.js +95 -0
- package/dist/esm/services/teams-in-slack-client/index.js +1 -95
- package/dist/esm/services/use-query-light/ActualGraphQLError.js +21 -0
- package/dist/esm/services/use-query-light/UseQueryLightError.js +25 -0
- package/dist/esm/services/use-query-light/UseQueryLightErrorExtensions.js +0 -0
- package/dist/esm/services/use-query-light/index.js +21 -2
- package/dist/esm/services/use-query-light/main.js +10 -225
- package/dist/esm/services/use-query-light/types.js +10 -38
- package/dist/esm/services/use-query-light/useLazyQueryLight.js +30 -0
- package/dist/esm/services/use-query-light/useQueryLight.js +201 -0
- package/dist/esm/services/user-preferences-client/UserPreferencesClient.js +87 -0
- package/dist/esm/services/user-preferences-client/index.js +1 -87
- package/dist/esm/types/index.js +64 -1
- package/dist/types/common/utils/ari.d.ts +24 -7
- package/dist/types/common/utils/error/CommonError.d.ts +6 -0
- package/dist/types/common/utils/error/DefaultError.d.ts +6 -0
- package/dist/types/common/utils/error/GraphQLError.d.ts +14 -0
- package/dist/types/common/utils/error/HttpError.d.ts +8 -0
- package/dist/types/common/utils/error/HttpErrorArguments.d.ts +6 -0
- package/dist/types/common/utils/error/SLOIgnoreError.d.ts +9 -0
- package/dist/types/common/utils/error/SLOIgnoreHttpError.d.ts +8 -0
- package/dist/types/common/utils/error/doesErrorContainStatus.d.ts +1 -0
- package/dist/types/common/utils/error/index.d.ts +36 -53
- package/dist/types/common/utils/error/isAuthError.d.ts +2 -0
- package/dist/types/common/utils/error/isErrorStatusCode.d.ts +2 -0
- package/dist/types/common/utils/error/isNetworkError.d.ts +1 -0
- package/dist/types/common/utils/http.d.ts +1 -24
- package/dist/types/common/utils/index.d.ts +19 -1
- package/dist/types/common/utils/is-fetch-response.d.ts +3 -0
- package/dist/types/common/utils/is-invited.d.ts +2 -0
- package/dist/types/common/utils/is-member.d.ts +2 -0
- package/dist/types/common/utils/is-non-member.d.ts +2 -0
- package/dist/types/common/utils/is-requesting-join.d.ts +2 -0
- package/dist/types/common/utils/is-team-ari.d.ts +2 -0
- package/dist/types/common/utils/is-user-ari.d.ts +2 -0
- package/dist/types/common/utils/is5xx.d.ts +5 -0
- package/dist/types/common/utils/permissions/all-permissions.d.ts +2 -0
- package/dist/types/common/utils/permissions/constants.d.ts +0 -27
- package/dist/types/common/utils/permissions/get-permission-map.d.ts +3 -0
- package/dist/types/common/utils/permissions/has-permission-for-action.d.ts +6 -0
- package/dist/types/common/utils/permissions/has-permission.d.ts +4 -29
- package/dist/types/common/utils/permissions/index.d.ts +18 -1
- package/dist/types/common/utils/permissions/invite-only-permissions.d.ts +8 -0
- package/dist/types/common/utils/permissions/open-permissions.d.ts +11 -0
- package/dist/types/common/utils/permissions/scim-sync-team-permissions.d.ts +8 -0
- package/dist/types/common/utils/permissions/user-can.d.ts +31 -0
- package/dist/types/common/utils/team.d.ts +16 -5
- package/dist/types/common/utils/to-team-ari.d.ts +2 -0
- package/dist/types/common/utils/to-team-id.d.ts +2 -0
- package/dist/types/common/utils/to-user-ari.d.ts +2 -0
- package/dist/types/common/utils/to-user-id.d.ts +2 -0
- package/dist/types/common/utils/ufo/{utils.d.ts → createErrorMetadata.d.ts} +1 -2
- package/dist/types/common/utils/ufo/index.d.ts +2 -2
- package/dist/types/common/utils/ufo/isIgnoredError.d.ts +1 -0
- package/dist/types/common/utils/with-exponential-backoff.d.ts +17 -0
- package/dist/types/index.d.ts +11 -6
- package/dist/types/mocks/create-user.d.ts +2 -0
- package/dist/types/mocks/endpoint-regexes.d.ts +7 -0
- package/dist/types/mocks/endpoints.d.ts +20 -22
- package/dist/types/mocks/fixed-team-memberships.d.ts +2 -0
- package/dist/types/mocks/fixed-users.d.ts +2 -0
- package/dist/types/mocks/generate-data.d.ts +20 -16
- package/dist/types/mocks/index.d.ts +36 -2
- package/dist/types/mocks/mock-catch-all.d.ts +1 -0
- package/dist/types/mocks/mock-config-2.d.ts +14 -0
- package/dist/types/mocks/mock-config.d.ts +4 -0
- package/dist/types/mocks/mock-invite-only-team-endpoint.d.ts +1 -0
- package/dist/types/mocks/mock-join-or-request-default-access-to-products-bulk-endpoint.d.ts +1 -0
- package/dist/types/mocks/mock-me-endpoint.d.ts +1 -0
- package/dist/types/mocks/mock-members-me-full-member-endpoint.d.ts +1 -0
- package/dist/types/mocks/mock-members-me-not-member-endpoint.d.ts +1 -0
- package/dist/types/mocks/mock-members-me-requesting-to-join-endpoint.d.ts +1 -0
- package/dist/types/mocks/mock-open-team-write-permission-endpoint.d.ts +1 -0
- package/dist/types/mocks/mock-product-recommendations-endpoint.d.ts +1 -0
- package/dist/types/mocks/mock-profile-with-mutability-endpoint.d.ts +1 -0
- package/dist/types/mocks/mock-team-membership-config.d.ts +3 -0
- package/dist/types/mocks/mock-team-membership-endpoint.d.ts +1 -0
- package/dist/types/mocks/mock-team-membership-response-with-n-edges.d.ts +7 -0
- package/dist/types/mocks/mock-teams-client-admin-endpoints.d.ts +2 -0
- package/dist/types/mocks/mock-teams-client-endpoints.d.ts +2 -0
- package/dist/types/mocks/mock-teams-client-invite-only-member-endpoints.d.ts +2 -0
- package/dist/types/mocks/mock-teams-client-not-member-endpoints.d.ts +2 -0
- package/dist/types/mocks/mock-teams-client-requesting-to-join-endpoints.d.ts +2 -0
- package/dist/types/mocks/random-basic-team.d.ts +3 -0
- package/dist/types/mocks/random-full-team.d.ts +3 -0
- package/dist/types/mocks/random-header-image.d.ts +2 -0
- package/dist/types/mocks/random-returned-new-team-data.d.ts +3 -0
- package/dist/types/mocks/random-team-images.d.ts +3 -0
- package/dist/types/mocks/random-team-membership-2.d.ts +3 -0
- package/dist/types/mocks/random-team-membership.d.ts +3 -0
- package/dist/types/mocks/random-team-memberships-2.d.ts +3 -0
- package/dist/types/mocks/random-team-memberships.d.ts +3 -0
- package/dist/types/mocks/random-team-with-memberships.d.ts +4 -0
- package/dist/types/mocks/random-user.d.ts +3 -0
- package/dist/types/mocks/random-users.d.ts +3 -0
- package/dist/types/mocks/team.d.ts +1 -11
- package/dist/types/mocks/user.d.ts +1 -6
- package/dist/types/services/agg-client/TeamContainers.d.ts +16 -0
- package/dist/types/services/agg-client/index.d.ts +6 -17
- package/dist/types/services/collaborationgraph-client/CollaborationGraphClient.d.ts +31 -0
- package/dist/types/services/collaborationgraph-client/index.d.ts +1 -29
- package/dist/types/services/directory-client/index.d.ts +1 -1
- package/dist/types/services/graphql-client/utils/handleGraphQLRequest.d.ts +2 -0
- package/dist/types/services/graphql-client/utils/{index.d.ts → makeGraphQLRequestWithoutRetries.d.ts} +1 -2
- package/dist/types/services/hooks/teams-client-setup-props.d.ts +6 -0
- package/dist/types/services/hooks/use-teams-client-setup-next.d.ts +4 -0
- package/dist/types/services/hooks/use-teams-client-setup.d.ts +4 -10
- package/dist/types/services/identity-client/ExtendedProfileMapKey.d.ts +2 -0
- package/dist/types/services/identity-client/ExtendedProfileMapKeys.d.ts +2 -0
- package/dist/types/services/identity-client/IdentityClient.d.ts +32 -0
- package/dist/types/services/identity-client/IdentityProfileData.d.ts +18 -0
- package/dist/types/services/identity-client/ProfileMapKey.d.ts +2 -0
- package/dist/types/services/identity-client/ProfileMapKeys.d.ts +2 -0
- package/dist/types/services/identity-client/dataURItoFile.d.ts +1 -0
- package/dist/types/services/identity-client/extended-profile-props-map.d.ts +3 -0
- package/dist/types/services/identity-client/fromManageAPIResponse.d.ts +7 -0
- package/dist/types/services/identity-client/index.d.ts +1 -32
- package/dist/types/services/identity-client/profile-props-map.d.ts +3 -0
- package/dist/types/services/identity-client/toManageAPIInput.d.ts +2 -0
- package/dist/types/services/identity-client/transformUserManageConfig.d.ts +8 -0
- package/dist/types/services/identity-client/utils.d.ts +1 -32
- package/dist/types/services/invitations-client/InvitationsClient.d.ts +9 -0
- package/dist/types/services/invitations-client/index.d.ts +3 -9
- package/dist/types/services/mutability-client/MutabilityClient.d.ts +6 -0
- package/dist/types/services/mutability-client/index.d.ts +4 -6
- package/dist/types/services/object-resolver-client/ObjectResolverClient.d.ts +8 -0
- package/dist/types/services/object-resolver-client/{utils.d.ts → formatLinkIconData.d.ts} +1 -7
- package/dist/types/services/object-resolver-client/index.d.ts +1 -8
- package/dist/types/services/object-resolver-client/transformIconData.d.ts +7 -0
- package/dist/types/services/perms-client/PermsClient.d.ts +9 -0
- package/dist/types/services/perms-client/index.d.ts +1 -9
- package/dist/types/services/public-api-client/AddMembershipReponse.d.ts +11 -0
- package/dist/types/services/public-api-client/Member.d.ts +5 -0
- package/dist/types/services/public-api-client/PublicApiClient.d.ts +13 -0
- package/dist/types/services/public-api-client/RemoveMembershipReponse.d.ts +9 -0
- package/dist/types/services/public-api-client/V1_URL.d.ts +1 -0
- package/dist/types/services/public-api-client/index.d.ts +5 -39
- package/dist/types/services/replines-client/ReplinesClient.d.ts +9 -0
- package/dist/types/services/replines-client/index.d.ts +1 -9
- package/dist/types/services/reporting-lines-client/ReportingLinesClient.d.ts +9 -0
- package/dist/types/services/reporting-lines-client/index.d.ts +1 -9
- package/dist/types/services/rest-client/index.d.ts +1 -2
- package/dist/types/services/rest-client/utils/clear-cookie.d.ts +1 -0
- package/dist/types/services/rest-client/utils/cookie.d.ts +0 -3
- package/dist/types/services/rest-client/utils/get-cookie-as-integer.d.ts +1 -0
- package/dist/types/services/rest-client/utils/redirect-count.d.ts +18 -0
- package/dist/types/services/rest-client/utils/set-cookie.d.ts +1 -0
- package/dist/types/services/sentry/Context.d.ts +9 -0
- package/dist/types/services/sentry/addBreadcrumb.d.ts +2 -0
- package/dist/types/services/sentry/createErrorHandler.d.ts +2 -0
- package/dist/types/services/sentry/createErrorHandlerWithPackageContext.d.ts +6 -0
- package/dist/types/services/sentry/decorateScope.d.ts +3 -0
- package/dist/types/services/sentry/index.d.ts +42 -1
- package/dist/types/services/sentry/logErrorMessage.d.ts +2 -0
- package/dist/types/services/sentry/logErrorMessageWithPackageContext.d.ts +5 -0
- package/dist/types/services/sentry/logException.d.ts +2 -0
- package/dist/types/services/sentry/logExceptionWithPackageContext.d.ts +5 -0
- package/dist/types/services/sentry/logInfoMessage.d.ts +2 -0
- package/dist/types/services/sentry/logInfoMessageWithPackageContext.d.ts +5 -0
- package/dist/types/services/sentry/logMessage.d.ts +3 -0
- package/dist/types/services/sentry/main.d.ts +36 -32
- package/dist/types/services/sentry/utils/get-sentry-client.d.ts +2 -0
- package/dist/types/services/sentry/utils/sentry-client-ref.d.ts +11 -0
- package/dist/types/services/sentry/utils/sentry-client.d.ts +0 -5
- package/dist/types/services/sentry/utils/set-sentry-client.d.ts +2 -0
- package/dist/types/services/sentry/utils/setup-sentry-client.d.ts +2 -0
- package/dist/types/services/team-central-client/TeamCentralClient.d.ts +24 -0
- package/dist/types/services/team-central-client/getTeamCentralGraphqlUrl.d.ts +1 -0
- package/dist/types/services/team-central-client/getUnshardedTeamCentralGraphqlUrl.d.ts +1 -0
- package/dist/types/services/team-central-client/index.d.ts +1 -24
- package/dist/types/services/teams-in-slack-client/TeamsInSlackClient.d.ts +25 -0
- package/dist/types/services/teams-in-slack-client/index.d.ts +1 -25
- package/dist/types/services/use-query-light/ActualGraphQLError.d.ts +10 -0
- package/dist/types/services/use-query-light/UseQueryLightError.d.ts +9 -0
- package/dist/types/services/use-query-light/UseQueryLightErrorExtensions.d.ts +4 -0
- package/dist/types/services/use-query-light/index.d.ts +20 -3
- package/dist/types/services/use-query-light/main.d.ts +8 -4
- package/dist/types/services/use-query-light/types.d.ts +9 -20
- package/dist/types/services/use-query-light/useLazyQueryLight.d.ts +3 -0
- package/dist/types/services/use-query-light/useQueryLight.d.ts +3 -0
- package/dist/types/services/user-preferences-client/UserPreferencesClient.d.ts +7 -0
- package/dist/types/services/user-preferences-client/index.d.ts +1 -7
- package/dist/types/types/index.d.ts +49 -1
- package/does-error-contain-status/package.json +8 -0
- package/fixed-team-memberships/package.json +8 -0
- package/graph-ql-error/package.json +8 -0
- package/has-permission-for-action/package.json +8 -0
- package/http-error/package.json +8 -0
- package/is-auth-error/package.json +8 -0
- package/is-error-status-code/package.json +8 -0
- package/is-invited/package.json +8 -0
- package/is-member/package.json +8 -0
- package/is-network-error/package.json +8 -0
- package/is-non-member/package.json +8 -0
- package/is-requesting-join/package.json +8 -0
- package/is-team-ari/package.json +8 -0
- package/is-user-ari/package.json +8 -0
- package/log-error-message/package.json +8 -0
- package/log-error-message-with-package-context/package.json +8 -0
- package/log-exception/package.json +8 -0
- package/log-exception-with-package-context/package.json +8 -0
- package/log-info-message/package.json +8 -0
- package/log-info-message-with-package-context/package.json +8 -0
- package/mock-team-membership-response-with-n-edges/package.json +8 -0
- package/mock-teams-client-admin-endpoints/package.json +8 -0
- package/mock-teams-client-endpoints/package.json +8 -0
- package/mock-teams-client-invite-only-member-endpoints/package.json +8 -0
- package/mock-teams-client-not-member-endpoints/package.json +8 -0
- package/mock-teams-client-requesting-to-join-endpoints/package.json +8 -0
- package/package.json +1 -1
- package/public-api-client/package.json +8 -0
- package/random-returned-new-team-data/package.json +8 -0
- package/random-team-membership/package.json +8 -0
- package/random-team-memberships/package.json +8 -0
- package/scripts/docs-to-string.ts +10 -0
- package/scripts/docs-to-tags-string.ts +12 -0
- package/scripts/generate-docs.ts +2 -1
- package/scripts/get-method-parameters.ts +18 -0
- package/scripts/get-prop-docs.ts +24 -0
- package/scripts/indent.ts +5 -0
- package/scripts/method-to-markdown.ts +14 -0
- package/scripts/params-to-markdown.ts +14 -0
- package/scripts/parse-file.ts +26 -0
- package/scripts/parse-method.ts +23 -0
- package/scripts/parsed-info.ts +8 -0
- package/scripts/parsed-method.ts +9 -0
- package/scripts/parsed-param.ts +6 -0
- package/scripts/strip-import-path.ts +3 -0
- package/scripts/table-of-contents.ts +14 -0
- package/scripts/tag-to-string.ts +10 -0
- package/scripts/to-markdown.ts +19 -0
- package/scripts/type-to-text.ts +80 -0
- package/scripts/utils.ts +1 -269
- package/slo-ignore-error/package.json +8 -0
- package/slo-ignore-http-error/package.json +8 -0
- package/team-containers/package.json +8 -0
- package/to-team-ari/package.json +8 -0
- package/to-team-id/package.json +8 -0
- package/to-user-ari/package.json +8 -0
- package/to-user-id/package.json +8 -0
- package/use-query-light/use-lazy-query-light/package.json +8 -0
- package/use-query-light/use-query-light/package.json +8 -0
- package/use-query-light-error/package.json +8 -0
- package/use-teams-client-setup-next/package.json +8 -0
- package/user-can/package.json +8 -0
- package/user-info-provider/package.json +4 -4
- package/dist/cjs/common/utils/ufo/utils.js +0 -26
- package/dist/cjs/services/graphql-client/index.js +0 -12
- package/dist/cjs/services/index.js +0 -18
- package/dist/cjs/services/team-central-client/utils.js +0 -12
- package/dist/cjs/services/user-info-provider/index.js +0 -18
- package/dist/es2019/common/utils/ufo/utils.js +0 -18
- package/dist/es2019/services/graphql-client/index.js +0 -1
- package/dist/es2019/services/index.js +0 -1
- package/dist/es2019/services/team-central-client/utils.js +0 -2
- package/dist/es2019/services/user-info-provider/index.js +0 -1
- package/dist/esm/common/utils/ufo/utils.js +0 -20
- package/dist/esm/services/graphql-client/index.js +0 -1
- package/dist/esm/services/index.js +0 -1
- package/dist/esm/services/user-info-provider/index.js +0 -1
- package/dist/types/services/graphql-client/index.d.ts +0 -1
- package/dist/types/services/index.d.ts +0 -1
- package/dist/types/services/team-central-client/utils.d.ts +0 -2
- package/dist/types/services/user-info-provider/index.d.ts +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { RestClient } from '../rest-client';
|
|
2
|
+
import { removeDuplicateRecommendations } from './utils';
|
|
3
|
+
import { PRODUCT_JOIN_OR_REQUEST_BULK, PRODUCT_RECCOMENDATIONS } from './index';
|
|
4
|
+
const ALL_SUPPORTED_PRODUCTS = ['confluence', 'jira', 'jira-core', 'jira-servicedesk', 'jira-software', 'jira-incident-manager', 'jira-product-discovery', 'opsgenie', 'statuspage', 'avocado', 'townsquare', 'compass', 'avp', 'beacon', 'mercury'];
|
|
5
|
+
export class InvitationsClient extends RestClient {
|
|
6
|
+
constructor(serviceUrl, config) {
|
|
7
|
+
super({
|
|
8
|
+
serviceUrl,
|
|
9
|
+
config
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
async getProductRecommendationsInner(supportedProducts = ALL_SUPPORTED_PRODUCTS, capabilities) {
|
|
13
|
+
try {
|
|
14
|
+
const orgId = this.getOrgId();
|
|
15
|
+
const queryProducts = supportedProducts && supportedProducts.length > 0 ? supportedProducts : ALL_SUPPORTED_PRODUCTS;
|
|
16
|
+
const productQueryParams = queryProducts.map(product => `product=${product}`).join('&');
|
|
17
|
+
const capabilityQueryParams = capabilities && capabilities.length > 0 ? '&' + capabilities.map(capability => `capability=${capability}`).join('&') : '';
|
|
18
|
+
const url = `${PRODUCT_RECCOMENDATIONS}?orgId=${orgId}&${productQueryParams}${capabilityQueryParams}`;
|
|
19
|
+
return await this.getResource(url);
|
|
20
|
+
} catch (error) {
|
|
21
|
+
this.logException(error, 'An error occurred while getting product recommendations.');
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async getProductRecommendations(supportedProducts = ALL_SUPPORTED_PRODUCTS, capabilities) {
|
|
26
|
+
// This endpoint may return duplicate resource ARIs with a different mode.
|
|
27
|
+
const result = await this.getProductRecommendationsInner(supportedProducts, capabilities);
|
|
28
|
+
try {
|
|
29
|
+
const deduplicatedResult = removeDuplicateRecommendations(result);
|
|
30
|
+
return deduplicatedResult;
|
|
31
|
+
} catch (error) {
|
|
32
|
+
this.logException(error, 'An error occurred while deduplicating product recommendations.');
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
async joinOrRequestDefaultAccessToProductsBulk(simplifiedRequest) {
|
|
37
|
+
if (simplifiedRequest.productAris.length === 0) {
|
|
38
|
+
return Promise.resolve([]);
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
const resources = simplifiedRequest.productAris.map(ari => ({
|
|
42
|
+
ari,
|
|
43
|
+
role: 'product/member'
|
|
44
|
+
}));
|
|
45
|
+
const request = {
|
|
46
|
+
resources,
|
|
47
|
+
note: simplifiedRequest.note,
|
|
48
|
+
accessMode: simplifiedRequest.accessMode,
|
|
49
|
+
source: simplifiedRequest.source
|
|
50
|
+
};
|
|
51
|
+
return await this.postResource(PRODUCT_JOIN_OR_REQUEST_BULK, request);
|
|
52
|
+
} catch (error) {
|
|
53
|
+
this.logException(error, 'An error occurred while joining or requesting access to products.');
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -1,63 +1,8 @@
|
|
|
1
1
|
import { DEFAULT_CONFIG } from '../constants';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const PRODUCT_JOIN_OR_REQUEST_BULK = '/v1/access-requests/bulk/request';
|
|
7
|
-
const ALL_SUPPORTED_PRODUCTS = ['confluence', 'jira', 'jira-core', 'jira-servicedesk', 'jira-software', 'jira-incident-manager', 'jira-product-discovery', 'opsgenie', 'statuspage', 'avocado', 'townsquare', 'compass', 'avp', 'beacon', 'mercury'];
|
|
8
|
-
export class InvitationsClient extends RestClient {
|
|
9
|
-
constructor(serviceUrl, config) {
|
|
10
|
-
super({
|
|
11
|
-
serviceUrl,
|
|
12
|
-
config
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
async getProductRecommendationsInner(supportedProducts = ALL_SUPPORTED_PRODUCTS, capabilities) {
|
|
16
|
-
try {
|
|
17
|
-
const orgId = this.getOrgId();
|
|
18
|
-
const queryProducts = supportedProducts && supportedProducts.length > 0 ? supportedProducts : ALL_SUPPORTED_PRODUCTS;
|
|
19
|
-
const productQueryParams = queryProducts.map(product => `product=${product}`).join('&');
|
|
20
|
-
const capabilityQueryParams = capabilities && capabilities.length > 0 ? '&' + capabilities.map(capability => `capability=${capability}`).join('&') : '';
|
|
21
|
-
const url = `${PRODUCT_RECCOMENDATIONS}?orgId=${orgId}&${productQueryParams}${capabilityQueryParams}`;
|
|
22
|
-
return await this.getResource(url);
|
|
23
|
-
} catch (error) {
|
|
24
|
-
this.logException(error, 'An error occurred while getting product recommendations.');
|
|
25
|
-
throw error;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
async getProductRecommendations(supportedProducts = ALL_SUPPORTED_PRODUCTS, capabilities) {
|
|
29
|
-
// This endpoint may return duplicate resource ARIs with a different mode.
|
|
30
|
-
const result = await this.getProductRecommendationsInner(supportedProducts, capabilities);
|
|
31
|
-
try {
|
|
32
|
-
const deduplicatedResult = removeDuplicateRecommendations(result);
|
|
33
|
-
return deduplicatedResult;
|
|
34
|
-
} catch (error) {
|
|
35
|
-
this.logException(error, 'An error occurred while deduplicating product recommendations.');
|
|
36
|
-
throw error;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
async joinOrRequestDefaultAccessToProductsBulk(simplifiedRequest) {
|
|
40
|
-
if (simplifiedRequest.productAris.length === 0) {
|
|
41
|
-
return Promise.resolve([]);
|
|
42
|
-
}
|
|
43
|
-
try {
|
|
44
|
-
const resources = simplifiedRequest.productAris.map(ari => ({
|
|
45
|
-
ari,
|
|
46
|
-
role: 'product/member'
|
|
47
|
-
}));
|
|
48
|
-
const request = {
|
|
49
|
-
resources,
|
|
50
|
-
note: simplifiedRequest.note,
|
|
51
|
-
accessMode: simplifiedRequest.accessMode,
|
|
52
|
-
source: simplifiedRequest.source
|
|
53
|
-
};
|
|
54
|
-
return await this.postResource(PRODUCT_JOIN_OR_REQUEST_BULK, request);
|
|
55
|
-
} catch (error) {
|
|
56
|
-
this.logException(error, 'An error occurred while joining or requesting access to products.');
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
2
|
+
import { logException } from '../sentry/logException';
|
|
3
|
+
import { InvitationsClient } from './InvitationsClient';
|
|
4
|
+
export const PRODUCT_RECCOMENDATIONS = '/v1/product-recommendations';
|
|
5
|
+
export const PRODUCT_JOIN_OR_REQUEST_BULK = '/v1/access-requests/bulk/request';
|
|
61
6
|
|
|
62
7
|
// eslint-disable-next-line import/no-anonymous-default-export
|
|
63
8
|
const _default_1 = new InvitationsClient(DEFAULT_CONFIG.invitationsServiceUrl, {
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { DefaultError } from '../../common/utils/error/DefaultError';
|
|
2
|
+
import { DEFAULT_CONFIG } from '../constants';
|
|
3
|
+
import { RestClient } from '../rest-client';
|
|
4
|
+
import { NOT_EDITABLE, NOT_EDITABLE_FIELD, NOT_EDITABLE_REASON } from './index';
|
|
5
|
+
const defaultConfig = {
|
|
6
|
+
serviceUrl: `${DEFAULT_CONFIG.stargateRoot}/users/manage`
|
|
7
|
+
};
|
|
8
|
+
function mapToMutabilityConstraints(json) {
|
|
9
|
+
let constraints = [];
|
|
10
|
+
if (json[NOT_EDITABLE] != null) {
|
|
11
|
+
for (const value of json[NOT_EDITABLE]) {
|
|
12
|
+
constraints = constraints.concat({
|
|
13
|
+
field: value[NOT_EDITABLE_FIELD],
|
|
14
|
+
reason: determineReason(value[NOT_EDITABLE_REASON])
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return constraints;
|
|
19
|
+
}
|
|
20
|
+
function determineReason(value) {
|
|
21
|
+
switch (value) {
|
|
22
|
+
case 'managed':
|
|
23
|
+
case 'ext.dir.scim':
|
|
24
|
+
case 'ext.dir.google':
|
|
25
|
+
return value;
|
|
26
|
+
default:
|
|
27
|
+
throw new DefaultError({
|
|
28
|
+
message: `Unknown mutability constraint reason: ${value}`
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class MutabilityClient extends RestClient {
|
|
33
|
+
constructor(config = {}) {
|
|
34
|
+
super({
|
|
35
|
+
...defaultConfig,
|
|
36
|
+
...config
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async getProfileWithMutability(userId) {
|
|
40
|
+
return this.getResource(`/${userId}/profile`).then(resp => {
|
|
41
|
+
return mapToMutabilityConstraints(resp);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -1,49 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
serviceUrl: `${DEFAULT_CONFIG.stargateRoot}/users/manage`
|
|
6
|
-
};
|
|
7
|
-
const NOT_EDITABLE = 'not_editable';
|
|
8
|
-
const NOT_EDITABLE_FIELD = 'field';
|
|
9
|
-
const NOT_EDITABLE_REASON = 'reason';
|
|
10
|
-
export class MutabilityClient extends RestClient {
|
|
11
|
-
constructor(config = {}) {
|
|
12
|
-
super({
|
|
13
|
-
...defaultConfig,
|
|
14
|
-
...config
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
async getProfileWithMutability(userId) {
|
|
18
|
-
return this.getResource(`/${userId}/profile`).then(resp => {
|
|
19
|
-
return mapToMutabilityConstraints(resp);
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function mapToMutabilityConstraints(json) {
|
|
24
|
-
let constraints = [];
|
|
25
|
-
if (json[NOT_EDITABLE] != null) {
|
|
26
|
-
for (const value of json[NOT_EDITABLE]) {
|
|
27
|
-
constraints = constraints.concat({
|
|
28
|
-
field: value[NOT_EDITABLE_FIELD],
|
|
29
|
-
reason: determineReason(value[NOT_EDITABLE_REASON])
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return constraints;
|
|
34
|
-
}
|
|
35
|
-
function determineReason(value) {
|
|
36
|
-
switch (value) {
|
|
37
|
-
case 'managed':
|
|
38
|
-
case 'ext.dir.scim':
|
|
39
|
-
case 'ext.dir.google':
|
|
40
|
-
return value;
|
|
41
|
-
default:
|
|
42
|
-
throw new DefaultError({
|
|
43
|
-
message: `Unknown mutability constraint reason: ${value}`
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
1
|
+
import { MutabilityClient } from './MutabilityClient';
|
|
2
|
+
export const NOT_EDITABLE = 'not_editable';
|
|
3
|
+
export const NOT_EDITABLE_FIELD = 'field';
|
|
4
|
+
export const NOT_EDITABLE_REASON = 'reason';
|
|
47
5
|
|
|
48
6
|
// eslint-disable-next-line import/no-anonymous-default-export
|
|
49
7
|
const _default_1 = new MutabilityClient();
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { DEFAULT_CONFIG } from '../constants';
|
|
2
|
+
import { RestClient } from '../rest-client';
|
|
3
|
+
import { transformIconData } from './transformIconData';
|
|
4
|
+
const defaultConfig = {
|
|
5
|
+
serviceUrl: `${DEFAULT_CONFIG.stargateRoot}`
|
|
6
|
+
};
|
|
7
|
+
export class ObjectResolverClient extends RestClient {
|
|
8
|
+
constructor(config = {}) {
|
|
9
|
+
super({
|
|
10
|
+
...defaultConfig,
|
|
11
|
+
...config
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async getTeamLinkIcons(teamLinkUrls) {
|
|
15
|
+
const requestBody = teamLinkUrls.map(url => ({
|
|
16
|
+
resourceUrl: url
|
|
17
|
+
}));
|
|
18
|
+
return this.postResourceRaw(`/object-resolver/resolve/batch`, JSON.stringify(requestBody)).then(transformIconData);
|
|
19
|
+
}
|
|
20
|
+
async getAriFromUrl(url) {
|
|
21
|
+
return this.postResourceRaw(`/object-resolver/converter/toAri`, JSON.stringify({
|
|
22
|
+
resourceUrl: url
|
|
23
|
+
})).then(response => {
|
|
24
|
+
var _response$data;
|
|
25
|
+
return response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.ari;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async getWebLinkTitle(webLinkUrl) {
|
|
29
|
+
try {
|
|
30
|
+
var _response$meta, _response$meta2;
|
|
31
|
+
const response = await this.postResourceRaw('/object-resolver/resolve', JSON.stringify({
|
|
32
|
+
resourceUrl: webLinkUrl
|
|
33
|
+
}));
|
|
34
|
+
if (response && 'data' in response) {
|
|
35
|
+
var _response$data2;
|
|
36
|
+
if ((_response$data2 = response.data) !== null && _response$data2 !== void 0 && _response$data2.name) {
|
|
37
|
+
return response.data.name;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (response && 'meta' in response && (((_response$meta = response.meta) === null || _response$meta === void 0 ? void 0 : _response$meta.visibility) === 'restricted' || ((_response$meta2 = response.meta) === null || _response$meta2 === void 0 ? void 0 : _response$meta2.visibility) === 'unauthorized')) {
|
|
41
|
+
var _response$meta$auth;
|
|
42
|
+
const auth = (_response$meta$auth = response.meta.auth) === null || _response$meta$auth === void 0 ? void 0 : _response$meta$auth[0];
|
|
43
|
+
if (auth !== null && auth !== void 0 && auth.displayName) {
|
|
44
|
+
return auth.displayName;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return;
|
|
48
|
+
} catch (error) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ProviderNames } from './types';
|
|
2
|
+
const getConfluenceFavicon = url => `https://${new URL(url).hostname}/wiki/favicon.ico`;
|
|
3
|
+
const getJiraFavicon = url => `https://${new URL(url).hostname}/favicon.ico`;
|
|
2
4
|
|
|
3
5
|
/**
|
|
4
6
|
* Formats data into LinkIconData with appropriate Jira/Confluence favicon urls.
|
|
@@ -38,16 +40,4 @@ export const formatLinkIconData = jsonLd => {
|
|
|
38
40
|
productName: name
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
|
-
};
|
|
42
|
-
const isIconItemSuccess = response => {
|
|
43
|
-
return response.status === 200;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Converts batched list of json-ld responses into list of formatted LinkIconData { url, icon_url }
|
|
48
|
-
*
|
|
49
|
-
* @param batchResp - list of json-ld responses { body, status }
|
|
50
|
-
*/
|
|
51
|
-
export const transformIconData = batchResp => batchResp.filter(isIconItemSuccess).map(resp => resp.body.data).map(formatLinkIconData).filter(linkIconData => linkIconData.iconUrl !== undefined);
|
|
52
|
-
const getConfluenceFavicon = url => `https://${new URL(url).hostname}/wiki/favicon.ico`;
|
|
53
|
-
const getJiraFavicon = url => `https://${new URL(url).hostname}/favicon.ico`;
|
|
43
|
+
};
|
|
@@ -1,54 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RestClient } from '../rest-client';
|
|
3
|
-
import { transformIconData } from './utils';
|
|
4
|
-
const defaultConfig = {
|
|
5
|
-
serviceUrl: `${DEFAULT_CONFIG.stargateRoot}`
|
|
6
|
-
};
|
|
7
|
-
export class ObjectResolverClient extends RestClient {
|
|
8
|
-
constructor(config = {}) {
|
|
9
|
-
super({
|
|
10
|
-
...defaultConfig,
|
|
11
|
-
...config
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
async getTeamLinkIcons(teamLinkUrls) {
|
|
15
|
-
const requestBody = teamLinkUrls.map(url => ({
|
|
16
|
-
resourceUrl: url
|
|
17
|
-
}));
|
|
18
|
-
return this.postResourceRaw(`/object-resolver/resolve/batch`, JSON.stringify(requestBody)).then(transformIconData);
|
|
19
|
-
}
|
|
20
|
-
async getAriFromUrl(url) {
|
|
21
|
-
return this.postResourceRaw(`/object-resolver/converter/toAri`, JSON.stringify({
|
|
22
|
-
resourceUrl: url
|
|
23
|
-
})).then(response => {
|
|
24
|
-
var _response$data;
|
|
25
|
-
return response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.ari;
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
async getWebLinkTitle(webLinkUrl) {
|
|
29
|
-
try {
|
|
30
|
-
var _response$meta, _response$meta2;
|
|
31
|
-
const response = await this.postResourceRaw('/object-resolver/resolve', JSON.stringify({
|
|
32
|
-
resourceUrl: webLinkUrl
|
|
33
|
-
}));
|
|
34
|
-
if (response && 'data' in response) {
|
|
35
|
-
var _response$data2;
|
|
36
|
-
if ((_response$data2 = response.data) !== null && _response$data2 !== void 0 && _response$data2.name) {
|
|
37
|
-
return response.data.name;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
if (response && 'meta' in response && (((_response$meta = response.meta) === null || _response$meta === void 0 ? void 0 : _response$meta.visibility) === 'restricted' || ((_response$meta2 = response.meta) === null || _response$meta2 === void 0 ? void 0 : _response$meta2.visibility) === 'unauthorized')) {
|
|
41
|
-
var _response$meta$auth;
|
|
42
|
-
const auth = (_response$meta$auth = response.meta.auth) === null || _response$meta$auth === void 0 ? void 0 : _response$meta$auth[0];
|
|
43
|
-
if (auth !== null && auth !== void 0 && auth.displayName) {
|
|
44
|
-
return auth.displayName;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return;
|
|
48
|
-
} catch (error) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
1
|
+
import { ObjectResolverClient } from './ObjectResolverClient';
|
|
53
2
|
const _default_1 = new ObjectResolverClient();
|
|
54
3
|
export default _default_1;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { formatLinkIconData } from './formatLinkIconData';
|
|
2
|
+
const isIconItemSuccess = response => {
|
|
3
|
+
return response.status === 200;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Converts batched list of json-ld responses into list of formatted LinkIconData { url, icon_url }
|
|
8
|
+
*
|
|
9
|
+
* @param batchResp - list of json-ld responses { body, status }
|
|
10
|
+
*/
|
|
11
|
+
export const transformIconData = batchResp => batchResp.filter(isIconItemSuccess).map(resp => resp.body.data).map(formatLinkIconData).filter(linkIconData => linkIconData.iconUrl !== undefined);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RestClient } from '../rest-client';
|
|
2
|
+
export class PermsClient extends RestClient {
|
|
3
|
+
getIsSiteAdmin(
|
|
4
|
+
/**
|
|
5
|
+
* @private
|
|
6
|
+
* @deprecated don't need to pass param, value is taken from `this.getCloudId()` instead
|
|
7
|
+
*/
|
|
8
|
+
cloudId) {
|
|
9
|
+
return this.postResource('/permitted', {
|
|
10
|
+
permissionId: 'manage',
|
|
11
|
+
resourceId: `ari:cloud:platform::site/${this.getCloudId(cloudId)}`
|
|
12
|
+
}).then(response => response.permitted);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_CONFIG } from '../constants';
|
|
2
|
-
import {
|
|
3
|
-
export class PermsClient extends RestClient {
|
|
4
|
-
getIsSiteAdmin(
|
|
5
|
-
/**
|
|
6
|
-
* @private
|
|
7
|
-
* @deprecated don't need to pass param, value is taken from `this.getCloudId()` instead
|
|
8
|
-
*/
|
|
9
|
-
cloudId) {
|
|
10
|
-
return this.postResource('/permitted', {
|
|
11
|
-
permissionId: 'manage',
|
|
12
|
-
resourceId: `ari:cloud:platform::site/${this.getCloudId(cloudId)}`
|
|
13
|
-
}).then(response => response.permitted);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
2
|
+
import { PermsClient } from './PermsClient';
|
|
16
3
|
|
|
17
4
|
/**
|
|
18
5
|
* REST Client to make calls to resources on the activity service.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
File without changes
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { HttpError } from '../../common/utils/error/HttpError';
|
|
2
|
+
import { SLOIgnoreHttpError } from '../../common/utils/error/SLOIgnoreHttpError';
|
|
3
|
+
import { RestClient } from '../rest-client';
|
|
4
|
+
import { V1_URL } from './V1_URL';
|
|
5
|
+
const SENTRY_IGNORED_ERROR_MESSAGES_CREATE = ['TEAM_NOT_FOUND'];
|
|
6
|
+
export class PublicApiClient extends RestClient {
|
|
7
|
+
constructor(serviceUrlRoot) {
|
|
8
|
+
super({
|
|
9
|
+
serviceUrl: serviceUrlRoot
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
async addUsersToTeam(teamId, members) {
|
|
13
|
+
if (!members || members.length === 0) {
|
|
14
|
+
const missingMembersError = new Error('Missing members to add');
|
|
15
|
+
this.logException(missingMembersError, 'addUsersToTeam');
|
|
16
|
+
throw missingMembersError;
|
|
17
|
+
}
|
|
18
|
+
const membersWithIds = members.filter(member => !!member.accountId);
|
|
19
|
+
if (membersWithIds.length !== members.length) {
|
|
20
|
+
this.logException(new Error('Missing accountIds for some members'), 'addUsersToTeam');
|
|
21
|
+
}
|
|
22
|
+
if (membersWithIds.length === 0) {
|
|
23
|
+
const missingMembersError = new Error('Missing accountIds for all members');
|
|
24
|
+
this.logException(missingMembersError, 'addUsersToTeam');
|
|
25
|
+
throw missingMembersError;
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
const orgId = this.getOrgId();
|
|
29
|
+
const url = `${V1_URL}/org/${orgId}/teams/${teamId}/members/add`;
|
|
30
|
+
const response = await this.postResource(url, {
|
|
31
|
+
members: membersWithIds
|
|
32
|
+
});
|
|
33
|
+
return response;
|
|
34
|
+
} catch (e) {
|
|
35
|
+
this.logException(e, 'addUsersToTeam');
|
|
36
|
+
if (e instanceof HttpError && SENTRY_IGNORED_ERROR_MESSAGES_CREATE.includes(e.message)) {
|
|
37
|
+
throw new SLOIgnoreHttpError(e);
|
|
38
|
+
}
|
|
39
|
+
throw e;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async removeTeamMemberships(teamId, members) {
|
|
43
|
+
if (!members || members.length === 0) {
|
|
44
|
+
const missingMembersError = new Error('Missing members to remove');
|
|
45
|
+
this.logException(missingMembersError, 'removeTeamMemberships');
|
|
46
|
+
throw missingMembersError;
|
|
47
|
+
}
|
|
48
|
+
const membersWithIds = members.filter(member => !!member.accountId);
|
|
49
|
+
if (membersWithIds.length !== members.length) {
|
|
50
|
+
this.logException(new Error('Missing accountIds for some members'), 'addUsersToTeam');
|
|
51
|
+
}
|
|
52
|
+
if (membersWithIds.length === 0) {
|
|
53
|
+
const missingMembersError = new Error('Missing accountIds for all members');
|
|
54
|
+
this.logException(missingMembersError, 'removeTeamMemberships');
|
|
55
|
+
throw missingMembersError;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const orgId = this.getOrgId();
|
|
59
|
+
const url = `${V1_URL}/org/${orgId}/teams/${teamId}/members/remove`;
|
|
60
|
+
const response = await this.postResource(url, {
|
|
61
|
+
members: membersWithIds
|
|
62
|
+
});
|
|
63
|
+
return response;
|
|
64
|
+
} catch (e) {
|
|
65
|
+
this.logException(e, 'removeTeamMemberships');
|
|
66
|
+
throw e;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async getTeamDetails(teamId) {
|
|
70
|
+
try {
|
|
71
|
+
const orgId = this.getOrgId();
|
|
72
|
+
const url = `${V1_URL}/org/${orgId}/teams/${teamId}`;
|
|
73
|
+
const response = await this.getResource(url);
|
|
74
|
+
return response;
|
|
75
|
+
} catch (e) {
|
|
76
|
+
this.logException(e, 'getTeamDetails');
|
|
77
|
+
throw e;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async getTeamMembers(teamId, first = 50, after) {
|
|
81
|
+
try {
|
|
82
|
+
const orgId = this.getOrgId();
|
|
83
|
+
const url = `${V1_URL}/org/${orgId}/teams/${teamId}/members`;
|
|
84
|
+
const response = await this.postResource(url, {
|
|
85
|
+
after,
|
|
86
|
+
first
|
|
87
|
+
});
|
|
88
|
+
return response;
|
|
89
|
+
} catch (e) {
|
|
90
|
+
this.logException(e, 'getTeamMembers');
|
|
91
|
+
throw e;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async restoreTeam(teamId) {
|
|
95
|
+
try {
|
|
96
|
+
const orgId = this.getOrgId();
|
|
97
|
+
const url = `${V1_URL}/org/${orgId}/teams/${teamId}/restore`;
|
|
98
|
+
return this.postResource(url);
|
|
99
|
+
} catch (e) {
|
|
100
|
+
this.logException(e, 'restoreTeam');
|
|
101
|
+
throw e;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
File without changes
|
|
@@ -1,121 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
|
|
2
2
|
import { DEFAULT_CONFIG } from '../constants';
|
|
3
|
-
import {
|
|
3
|
+
import { PublicApiClient } from './PublicApiClient';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @deprecated migrate to generated types
|
|
11
|
-
*/
|
|
5
|
+
// eslint-disable-next-line import/no-anonymous-default-export
|
|
6
|
+
const _default_1 = new PublicApiClient(DEFAULT_CONFIG.publicApiRoot);
|
|
7
|
+
export default _default_1;
|
|
12
8
|
|
|
13
9
|
/**
|
|
14
|
-
* @deprecated
|
|
10
|
+
* @deprecated Use `import { PublicApiClient } from '@atlaskit/teams-client/public-api-client'` instead.
|
|
15
11
|
*/
|
|
16
|
-
|
|
17
|
-
const V1_URL = '/teams/v1';
|
|
18
|
-
const SENTRY_IGNORED_ERROR_MESSAGES_CREATE = ['TEAM_NOT_FOUND'];
|
|
19
|
-
export class PublicApiClient extends RestClient {
|
|
20
|
-
constructor(serviceUrlRoot) {
|
|
21
|
-
super({
|
|
22
|
-
serviceUrl: serviceUrlRoot
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
async addUsersToTeam(teamId, members) {
|
|
26
|
-
if (!members || members.length === 0) {
|
|
27
|
-
const missingMembersError = new Error('Missing members to add');
|
|
28
|
-
this.logException(missingMembersError, 'addUsersToTeam');
|
|
29
|
-
throw missingMembersError;
|
|
30
|
-
}
|
|
31
|
-
const membersWithIds = members.filter(member => !!member.accountId);
|
|
32
|
-
if (membersWithIds.length !== members.length) {
|
|
33
|
-
this.logException(new Error('Missing accountIds for some members'), 'addUsersToTeam');
|
|
34
|
-
}
|
|
35
|
-
if (membersWithIds.length === 0) {
|
|
36
|
-
const missingMembersError = new Error('Missing accountIds for all members');
|
|
37
|
-
this.logException(missingMembersError, 'addUsersToTeam');
|
|
38
|
-
throw missingMembersError;
|
|
39
|
-
}
|
|
40
|
-
try {
|
|
41
|
-
const orgId = this.getOrgId();
|
|
42
|
-
const url = `${V1_URL}/org/${orgId}/teams/${teamId}/members/add`;
|
|
43
|
-
const response = await this.postResource(url, {
|
|
44
|
-
members: membersWithIds
|
|
45
|
-
});
|
|
46
|
-
return response;
|
|
47
|
-
} catch (e) {
|
|
48
|
-
this.logException(e, 'addUsersToTeam');
|
|
49
|
-
if (e instanceof HttpError && SENTRY_IGNORED_ERROR_MESSAGES_CREATE.includes(e.message)) {
|
|
50
|
-
throw new SLOIgnoreHttpError(e);
|
|
51
|
-
}
|
|
52
|
-
throw e;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
async removeTeamMemberships(teamId, members) {
|
|
56
|
-
if (!members || members.length === 0) {
|
|
57
|
-
const missingMembersError = new Error('Missing members to remove');
|
|
58
|
-
this.logException(missingMembersError, 'removeTeamMemberships');
|
|
59
|
-
throw missingMembersError;
|
|
60
|
-
}
|
|
61
|
-
const membersWithIds = members.filter(member => !!member.accountId);
|
|
62
|
-
if (membersWithIds.length !== members.length) {
|
|
63
|
-
this.logException(new Error('Missing accountIds for some members'), 'addUsersToTeam');
|
|
64
|
-
}
|
|
65
|
-
if (membersWithIds.length === 0) {
|
|
66
|
-
const missingMembersError = new Error('Missing accountIds for all members');
|
|
67
|
-
this.logException(missingMembersError, 'removeTeamMemberships');
|
|
68
|
-
throw missingMembersError;
|
|
69
|
-
}
|
|
70
|
-
try {
|
|
71
|
-
const orgId = this.getOrgId();
|
|
72
|
-
const url = `${V1_URL}/org/${orgId}/teams/${teamId}/members/remove`;
|
|
73
|
-
const response = await this.postResource(url, {
|
|
74
|
-
members: membersWithIds
|
|
75
|
-
});
|
|
76
|
-
return response;
|
|
77
|
-
} catch (e) {
|
|
78
|
-
this.logException(e, 'removeTeamMemberships');
|
|
79
|
-
throw e;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
async getTeamDetails(teamId) {
|
|
83
|
-
try {
|
|
84
|
-
const orgId = this.getOrgId();
|
|
85
|
-
const url = `${V1_URL}/org/${orgId}/teams/${teamId}`;
|
|
86
|
-
const response = await this.getResource(url);
|
|
87
|
-
return response;
|
|
88
|
-
} catch (e) {
|
|
89
|
-
this.logException(e, 'getTeamDetails');
|
|
90
|
-
throw e;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
async getTeamMembers(teamId, first = 50, after) {
|
|
94
|
-
try {
|
|
95
|
-
const orgId = this.getOrgId();
|
|
96
|
-
const url = `${V1_URL}/org/${orgId}/teams/${teamId}/members`;
|
|
97
|
-
const response = await this.postResource(url, {
|
|
98
|
-
after,
|
|
99
|
-
first
|
|
100
|
-
});
|
|
101
|
-
return response;
|
|
102
|
-
} catch (e) {
|
|
103
|
-
this.logException(e, 'getTeamMembers');
|
|
104
|
-
throw e;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
async restoreTeam(teamId) {
|
|
108
|
-
try {
|
|
109
|
-
const orgId = this.getOrgId();
|
|
110
|
-
const url = `${V1_URL}/org/${orgId}/teams/${teamId}/restore`;
|
|
111
|
-
return this.postResource(url);
|
|
112
|
-
} catch (e) {
|
|
113
|
-
this.logException(e, 'restoreTeam');
|
|
114
|
-
throw e;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// eslint-disable-next-line import/no-anonymous-default-export
|
|
120
|
-
const _default_1 = new PublicApiClient(DEFAULT_CONFIG.publicApiRoot);
|
|
121
|
-
export default _default_1;
|
|
12
|
+
export { PublicApiClient } from './PublicApiClient';
|