@atlaskit/teams-client 5.1.1 → 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 +79 -0
- package/actual-graph-ql-error/package.json +8 -0
- package/add-breadcrumb/package.json +8 -0
- package/client/package.json +4 -4
- package/compass.yml +1 -1
- 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/types.d.ts +2 -2
- 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/types.d.ts +1 -1
- 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/constants.d.ts +1 -1
- 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 +3 -34
- 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/dist/types/types/links.d.ts +3 -3
- package/dist/types/types/user.d.ts +1 -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 +5 -5
- 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
|
@@ -1,58 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_CONFIG } from '../constants';
|
|
2
|
-
import {
|
|
3
|
-
var CONTAINER_TYPE = /*#__PURE__*/function (CONTAINER_TYPE) {
|
|
4
|
-
CONTAINER_TYPE["JIRA_PROJECT"] = "jiraProject";
|
|
5
|
-
CONTAINER_TYPE["CONFLUENCE_SPACE"] = "confluenceSpace";
|
|
6
|
-
return CONTAINER_TYPE;
|
|
7
|
-
}(CONTAINER_TYPE || {});
|
|
8
|
-
var ENTITY_TYPE = /*#__PURE__*/function (ENTITY_TYPE) {
|
|
9
|
-
ENTITY_TYPE["CONTAINER"] = "CONTAINER";
|
|
10
|
-
ENTITY_TYPE["USER"] = "USER";
|
|
11
|
-
return ENTITY_TYPE;
|
|
12
|
-
}(ENTITY_TYPE || {});
|
|
13
|
-
export class CollaborationGraphClient extends RestClient {
|
|
14
|
-
getUserContainers({
|
|
15
|
-
userId,
|
|
16
|
-
principalId,
|
|
17
|
-
siteId,
|
|
18
|
-
sessionId,
|
|
19
|
-
maxNumberOfResults
|
|
20
|
-
}) {
|
|
21
|
-
return this.postResource('/v1/collaborationgraph/user/container', {
|
|
22
|
-
context: {
|
|
23
|
-
contextType: 'atlassianDirectory',
|
|
24
|
-
principalId,
|
|
25
|
-
siteId,
|
|
26
|
-
sessionId
|
|
27
|
-
},
|
|
28
|
-
containerTypes: ['confluenceSpace', 'jiraProject'],
|
|
29
|
-
maxNumberOfResults,
|
|
30
|
-
userId,
|
|
31
|
-
expanded: true
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
getRecommendedUsers({
|
|
35
|
-
accountId,
|
|
36
|
-
cloudId,
|
|
37
|
-
maxNumberOfResults = 12,
|
|
38
|
-
filter = 'account_status:"active" AND (NOT email_domain:"connect.atlassian.com") AND (NOT account_type:"app")'
|
|
39
|
-
}) {
|
|
40
|
-
return this.postResource('/v2/recommend/user', {
|
|
41
|
-
context: {
|
|
42
|
-
userId: accountId,
|
|
43
|
-
tenantId: cloudId
|
|
44
|
-
},
|
|
45
|
-
modelRequestParams: {
|
|
46
|
-
experience: 'CgUserNearbyUser',
|
|
47
|
-
caller: 'atlas'
|
|
48
|
-
},
|
|
49
|
-
requestingUserId: accountId,
|
|
50
|
-
expand: 'existing',
|
|
51
|
-
maxNumberOfResults,
|
|
52
|
-
filter
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
2
|
+
import { CollaborationGraphClient } from './CollaborationGraphClient';
|
|
56
3
|
const _default_1 = new CollaborationGraphClient({
|
|
57
4
|
serviceUrl: DEFAULT_CONFIG.collaborationGraphUrl
|
|
58
5
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DEFAULT_CONFIG } from '../constants';
|
|
2
|
-
import { BaseGraphQlClient } from '../graphql-client';
|
|
3
|
-
import { logException } from '../sentry/
|
|
2
|
+
import { BaseGraphQlClient } from '../graphql-client/main';
|
|
3
|
+
import { logException } from '../sentry/logException';
|
|
4
4
|
export const BROWSE_USER_SETTINGS_KEY = 'internal.browse-users-allowed';
|
|
5
5
|
const buildTeamMembershipQuery = (teamId, membershipState) => ({
|
|
6
6
|
query: `query TeamMembership($teamId: String!, $membershipState: [TeamMembershipStatus]) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { DefaultError
|
|
1
|
+
import { DefaultError } from '../../common/utils/error/DefaultError';
|
|
2
|
+
import { GraphQLError } from '../../common/utils/error/GraphQLError';
|
|
2
3
|
import { BaseClient } from '../base-client';
|
|
3
|
-
import { handleGraphQLRequest } from './utils';
|
|
4
|
+
import { handleGraphQLRequest } from './utils/handleGraphQLRequest';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Validates that a siteId (cloudId) conforms to the format expected by
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { HttpError } from '../../../common/utils/error/HttpError';
|
|
2
|
+
import { EXPONENTIAL_BACKOFF_RETRY_POLICY } from '../../../common/utils/http';
|
|
3
|
+
import { isFetchResponse } from '../../../common/utils/is-fetch-response';
|
|
4
|
+
import { is5xx } from '../../../common/utils/is5xx';
|
|
5
|
+
import { handleResponse } from '../../../common/utils/status-code-handlers-provider';
|
|
6
|
+
import { withExponentialBackoff } from '../../../common/utils/with-exponential-backoff';
|
|
7
|
+
import { makeGraphQLRequestWithoutRetries } from './makeGraphQLRequestWithoutRetries';
|
|
8
|
+
export async function handleGraphQLRequest(serviceUrl, body, options = {}) {
|
|
9
|
+
const makeGraphQLRequestWithRetries = withExponentialBackoff(makeGraphQLRequestWithoutRetries, {
|
|
10
|
+
initial: EXPONENTIAL_BACKOFF_RETRY_POLICY.INITIAL_DELAY,
|
|
11
|
+
jitter: EXPONENTIAL_BACKOFF_RETRY_POLICY.JITTER,
|
|
12
|
+
max: EXPONENTIAL_BACKOFF_RETRY_POLICY.MAX_RETRIES,
|
|
13
|
+
retryIf: data => {
|
|
14
|
+
return isFetchResponse(data) && is5xx(data.response.status);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const result = await makeGraphQLRequestWithRetries(serviceUrl, body, options);
|
|
18
|
+
const response = result === null || result === void 0 ? void 0 : result.response;
|
|
19
|
+
if (response) {
|
|
20
|
+
const status = response.status;
|
|
21
|
+
const statusText = response.statusText;
|
|
22
|
+
const traceId = response.headers.get('atl-traceid');
|
|
23
|
+
handleResponse(response);
|
|
24
|
+
if (status > 400 && status <= 599) {
|
|
25
|
+
throw new HttpError({
|
|
26
|
+
message: statusText,
|
|
27
|
+
status,
|
|
28
|
+
traceId: traceId !== null && traceId !== void 0 ? traceId : undefined
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
}
|
package/dist/es2019/services/graphql-client/utils/{index.js → makeGraphQLRequestWithoutRetries.js}
RENAMED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { GraphQLError
|
|
2
|
-
import { EXPONENTIAL_BACKOFF_RETRY_POLICY, is5xx, isFetchResponse, withExponentialBackoff } from '../../../common/utils/http';
|
|
3
|
-
import { handleResponse } from '../../../common/utils/status-code-handlers-provider';
|
|
1
|
+
import { GraphQLError } from '../../../common/utils/error/GraphQLError';
|
|
4
2
|
export async function makeGraphQLRequestWithoutRetries(serviceUrl, body, options = {}) {
|
|
5
3
|
const operationNameQuery = options.operationName ? `?q=${options.operationName}` : '';
|
|
6
4
|
const errorPolicy = options.errorPolicy || 'none';
|
|
@@ -48,30 +46,4 @@ export async function makeGraphQLRequestWithoutRetries(serviceUrl, body, options
|
|
|
48
46
|
}
|
|
49
47
|
return error;
|
|
50
48
|
}
|
|
51
|
-
}
|
|
52
|
-
export async function handleGraphQLRequest(serviceUrl, body, options = {}) {
|
|
53
|
-
const makeGraphQLRequestWithRetries = withExponentialBackoff(makeGraphQLRequestWithoutRetries, {
|
|
54
|
-
initial: EXPONENTIAL_BACKOFF_RETRY_POLICY.INITIAL_DELAY,
|
|
55
|
-
jitter: EXPONENTIAL_BACKOFF_RETRY_POLICY.JITTER,
|
|
56
|
-
max: EXPONENTIAL_BACKOFF_RETRY_POLICY.MAX_RETRIES,
|
|
57
|
-
retryIf: data => {
|
|
58
|
-
return isFetchResponse(data) && is5xx(data.response.status);
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
const result = await makeGraphQLRequestWithRetries(serviceUrl, body, options);
|
|
62
|
-
const response = result === null || result === void 0 ? void 0 : result.response;
|
|
63
|
-
if (response) {
|
|
64
|
-
const status = response.status;
|
|
65
|
-
const statusText = response.statusText;
|
|
66
|
-
const traceId = response.headers.get('atl-traceid');
|
|
67
|
-
handleResponse(response);
|
|
68
|
-
if (status > 400 && status <= 599) {
|
|
69
|
-
throw new HttpError({
|
|
70
|
-
message: statusText,
|
|
71
|
-
status,
|
|
72
|
-
traceId: traceId !== null && traceId !== void 0 ? traceId : undefined
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return result;
|
|
77
49
|
}
|
|
File without changes
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { teamsClient } from '../main';
|
|
3
|
+
import { logInfoMessage } from '../sentry/logInfoMessage';
|
|
4
|
+
export const useTeamsClientSetupNext = ({
|
|
5
|
+
stargateRoot,
|
|
6
|
+
cloudId,
|
|
7
|
+
orgId,
|
|
8
|
+
principalUserId
|
|
9
|
+
}) => {
|
|
10
|
+
const [isClientReady, setIsClientReady] = useState(false);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!stargateRoot) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
teamsClient.setBaseUrl(stargateRoot);
|
|
16
|
+
}, [stargateRoot]);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
teamsClient.setContext({
|
|
19
|
+
cloudId,
|
|
20
|
+
orgId,
|
|
21
|
+
userId: principalUserId
|
|
22
|
+
});
|
|
23
|
+
if (!orgId) {
|
|
24
|
+
logInfoMessage(`No orgId set - useTeamsClientSetup`, {
|
|
25
|
+
cloudId
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Mark client as ready after context is set
|
|
30
|
+
setIsClientReady(true);
|
|
31
|
+
}, [cloudId, orgId, principalUserId]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!stargateRoot) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
teamsClient.setTeamCentralContext(stargateRoot, {
|
|
37
|
+
cloudId,
|
|
38
|
+
orgId,
|
|
39
|
+
userId: principalUserId
|
|
40
|
+
});
|
|
41
|
+
}, [cloudId, orgId, principalUserId, stargateRoot]);
|
|
42
|
+
return {
|
|
43
|
+
isClientReady
|
|
44
|
+
};
|
|
45
|
+
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import { logInfoMessage } from '../sentry/main';
|
|
1
|
+
/* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
|
|
2
|
+
import { useTeamsClientSetupNext } from './use-teams-client-setup-next';
|
|
4
3
|
|
|
5
4
|
/**
|
|
6
5
|
* @deprecated use useTeamsClientSetupNext for named parameters
|
|
@@ -13,45 +12,8 @@ export const useTeamsClientSetup = (stargateRoot, cloudId, orgId, principalUserI
|
|
|
13
12
|
principalUserId
|
|
14
13
|
});
|
|
15
14
|
};
|
|
16
|
-
export const useTeamsClientSetupNext = ({
|
|
17
|
-
stargateRoot,
|
|
18
|
-
cloudId,
|
|
19
|
-
orgId,
|
|
20
|
-
principalUserId
|
|
21
|
-
}) => {
|
|
22
|
-
const [isClientReady, setIsClientReady] = useState(false);
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
if (!stargateRoot) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
teamsClient.setBaseUrl(stargateRoot);
|
|
28
|
-
}, [stargateRoot]);
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
teamsClient.setContext({
|
|
31
|
-
cloudId,
|
|
32
|
-
orgId,
|
|
33
|
-
userId: principalUserId
|
|
34
|
-
});
|
|
35
|
-
if (!orgId) {
|
|
36
|
-
logInfoMessage(`No orgId set - useTeamsClientSetup`, {
|
|
37
|
-
cloudId
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
15
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (!stargateRoot) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
teamsClient.setTeamCentralContext(stargateRoot, {
|
|
49
|
-
cloudId,
|
|
50
|
-
orgId,
|
|
51
|
-
userId: principalUserId
|
|
52
|
-
});
|
|
53
|
-
}, [cloudId, orgId, principalUserId, stargateRoot]);
|
|
54
|
-
return {
|
|
55
|
-
isClientReady
|
|
56
|
-
};
|
|
57
|
-
};
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated Use `import { useTeamsClientSetupNext } from '@atlaskit/teams-client/use-teams-client-setup-next'` instead.
|
|
18
|
+
*/
|
|
19
|
+
export { useTeamsClientSetupNext } from './use-teams-client-setup-next';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { DEFAULT_CONFIG } from '../constants';
|
|
2
|
+
import { RestClient } from '../rest-client';
|
|
3
|
+
import { dataURItoFile } from './dataURItoFile';
|
|
4
|
+
import { toManageAPIInput } from './toManageAPIInput'; // eslint-disable-line @typescript-eslint/consistent-type-imports
|
|
5
|
+
import { transformUserManageConfig } from './transformUserManageConfig';
|
|
6
|
+
const defaultConfig = {
|
|
7
|
+
serviceUrl: `${DEFAULT_CONFIG.stargateRoot}/users`
|
|
8
|
+
};
|
|
9
|
+
export class IdentityClient extends RestClient {
|
|
10
|
+
constructor(config = {}) {
|
|
11
|
+
super({
|
|
12
|
+
...defaultConfig,
|
|
13
|
+
...config
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async getUserManageConfig(userId) {
|
|
17
|
+
return this.getResourceCached(`/${userId}/manage`).then(resp => {
|
|
18
|
+
return transformUserManageConfig(resp);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated
|
|
24
|
+
* User fetchUserAvatarInfo instead
|
|
25
|
+
*/
|
|
26
|
+
async getMyAvatarUploadedStatus(userId) {
|
|
27
|
+
return this.fetchUserAvatarInfo(userId);
|
|
28
|
+
}
|
|
29
|
+
async deleteAvatar(userId) {
|
|
30
|
+
return this.deleteResource(`/${userId}/manage/avatar`);
|
|
31
|
+
}
|
|
32
|
+
async fetchUserAvatarInfo(userId) {
|
|
33
|
+
return this.getResource(`/${userId}/manage/avatar`);
|
|
34
|
+
}
|
|
35
|
+
async updateUser({
|
|
36
|
+
id,
|
|
37
|
+
...user
|
|
38
|
+
}) {
|
|
39
|
+
return this.patchResource(`/${id}/manage/profile`, toManageAPIInput(user));
|
|
40
|
+
}
|
|
41
|
+
async updateUserAvatar({
|
|
42
|
+
id,
|
|
43
|
+
fileURI
|
|
44
|
+
}) {
|
|
45
|
+
const fileObject = dataURItoFile(fileURI);
|
|
46
|
+
const formData = new FormData();
|
|
47
|
+
formData.append('file', fileObject);
|
|
48
|
+
const response = await this.makeRequest(`/${id}/manage/avatar`, {
|
|
49
|
+
method: 'PUT',
|
|
50
|
+
body: formData
|
|
51
|
+
});
|
|
52
|
+
return response.url;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export function dataURItoFile(dataURI, filename = 'untitled') {
|
|
2
|
+
if (dataURI.length === 0) {
|
|
3
|
+
throw new Error('dataURI not found');
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
// convert base64/URLEncoded data component to raw binary data held in a string
|
|
7
|
+
const byteString = dataURI.split(',')[0].includes('base64') ? atob(dataURI.split(',')[1]) : decodeURIComponent(dataURI.split(',')[1]);
|
|
8
|
+
|
|
9
|
+
// separate out the mime component
|
|
10
|
+
let mimeString;
|
|
11
|
+
try {
|
|
12
|
+
mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
|
|
13
|
+
} catch (e) {
|
|
14
|
+
mimeString = 'unknown';
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// write the bytes of the string to a typed array
|
|
18
|
+
const intArray = new Uint8Array(byteString.length);
|
|
19
|
+
for (let i = 0; i < byteString.length; i++) {
|
|
20
|
+
intArray[i] = byteString.charCodeAt(i);
|
|
21
|
+
}
|
|
22
|
+
const blob = new Blob([intArray], {
|
|
23
|
+
type: mimeString
|
|
24
|
+
});
|
|
25
|
+
try {
|
|
26
|
+
return new File([blob], filename, {
|
|
27
|
+
type: mimeString
|
|
28
|
+
});
|
|
29
|
+
} catch (e) {
|
|
30
|
+
// IE11 and Safari does not support the File constructor.
|
|
31
|
+
return blob;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// Key (left-side) is field name which is used in our app.
|
|
2
|
+
// Value (right-side) is field name which is used by data in services
|
|
3
|
+
export const EXTENDED_PROFILE_PROPS_MAP = new Map([['title', 'job_title'], ['department', 'department'], ['companyName', 'organization'], ['location', 'location'], ['phoneNumber', 'phone_number'], ['aboutMe', 'about_me'], ['pronouns', 'pronouns']]);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { formatInTimeZone } from 'date-fns-tz';
|
|
2
|
+
import { EXTENDED_PROFILE_PROPS_MAP } from './extended-profile-props-map';
|
|
3
|
+
import { PROFILE_PROPS_MAP } from './profile-props-map';
|
|
4
|
+
export const fromManageAPIResponse = res => {
|
|
5
|
+
const data = res.account;
|
|
6
|
+
const extendedData = data && data.extended_profile || {};
|
|
7
|
+
if (!data) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const timeZone = data.zoneinfo;
|
|
11
|
+
const localTime = ({
|
|
12
|
+
format
|
|
13
|
+
}) => {
|
|
14
|
+
if (!timeZone) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
try {
|
|
18
|
+
return formatInTimeZone(new Date(), timeZone, format);
|
|
19
|
+
} catch (error) {
|
|
20
|
+
// TODO: PTC-4908 send error to sentry for reporting
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const profileProps = Array.from(PROFILE_PROPS_MAP.keys()).reduce((acc, key) => {
|
|
25
|
+
if (PROFILE_PROPS_MAP.has(key)) {
|
|
26
|
+
acc[key] = data[PROFILE_PROPS_MAP.get(key)];
|
|
27
|
+
}
|
|
28
|
+
return acc;
|
|
29
|
+
}, {});
|
|
30
|
+
const extendedProfileProps = Array.from(EXTENDED_PROFILE_PROPS_MAP.keys()).reduce((acc, key) => {
|
|
31
|
+
if (EXTENDED_PROFILE_PROPS_MAP.has(key)) {
|
|
32
|
+
acc[key] = extendedData[EXTENDED_PROFILE_PROPS_MAP.get(key)];
|
|
33
|
+
}
|
|
34
|
+
return acc;
|
|
35
|
+
}, {});
|
|
36
|
+
return {
|
|
37
|
+
...profileProps,
|
|
38
|
+
...extendedProfileProps,
|
|
39
|
+
localTime
|
|
40
|
+
};
|
|
41
|
+
};
|
|
@@ -1,56 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { RestClient } from '../rest-client';
|
|
3
|
-
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
|
|
5
|
-
import { dataURItoFile, toManageAPIInput, transformUserManageConfig } from './utils';
|
|
6
|
-
const defaultConfig = {
|
|
7
|
-
serviceUrl: `${DEFAULT_CONFIG.stargateRoot}/users`
|
|
8
|
-
};
|
|
9
|
-
export class IdentityClient extends RestClient {
|
|
10
|
-
constructor(config = {}) {
|
|
11
|
-
super({
|
|
12
|
-
...defaultConfig,
|
|
13
|
-
...config
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
async getUserManageConfig(userId) {
|
|
17
|
-
return this.getResourceCached(`/${userId}/manage`).then(resp => {
|
|
18
|
-
return transformUserManageConfig(resp);
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @deprecated
|
|
24
|
-
* User fetchUserAvatarInfo instead
|
|
25
|
-
*/
|
|
26
|
-
async getMyAvatarUploadedStatus(userId) {
|
|
27
|
-
return this.fetchUserAvatarInfo(userId);
|
|
28
|
-
}
|
|
29
|
-
async deleteAvatar(userId) {
|
|
30
|
-
return this.deleteResource(`/${userId}/manage/avatar`);
|
|
31
|
-
}
|
|
32
|
-
async fetchUserAvatarInfo(userId) {
|
|
33
|
-
return this.getResource(`/${userId}/manage/avatar`);
|
|
34
|
-
}
|
|
35
|
-
async updateUser({
|
|
36
|
-
id,
|
|
37
|
-
...user
|
|
38
|
-
}) {
|
|
39
|
-
return this.patchResource(`/${id}/manage/profile`, toManageAPIInput(user));
|
|
40
|
-
}
|
|
41
|
-
async updateUserAvatar({
|
|
42
|
-
id,
|
|
43
|
-
fileURI
|
|
44
|
-
}) {
|
|
45
|
-
const fileObject = dataURItoFile(fileURI);
|
|
46
|
-
const formData = new FormData();
|
|
47
|
-
formData.append('file', fileObject);
|
|
48
|
-
const response = await this.makeRequest(`/${id}/manage/avatar`, {
|
|
49
|
-
method: 'PUT',
|
|
50
|
-
body: formData
|
|
51
|
-
});
|
|
52
|
-
return response.url;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
1
|
+
import { IdentityClient } from './IdentityClient';
|
|
55
2
|
const _default_1 = new IdentityClient();
|
|
56
3
|
export default _default_1;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// Key (left-side) is field name which is used in our app.
|
|
2
|
+
// Value (right-side) is field name which is used by data in services
|
|
3
|
+
export const PROFILE_PROPS_MAP = new Map([['id', 'account_id'], ['fullName', 'name'], ['nickname', 'nickname'], ['timezone', 'zoneinfo'], ['locale', 'locale'], ['avatarUrl', 'picture'], ['email', 'email']]);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EXTENDED_PROFILE_PROPS_MAP } from './extended-profile-props-map';
|
|
2
|
+
import { PROFILE_PROPS_MAP } from './profile-props-map';
|
|
3
|
+
export const toManageAPIInput = input => {
|
|
4
|
+
const output = {
|
|
5
|
+
extended_profile: {}
|
|
6
|
+
};
|
|
7
|
+
Object.keys(input).forEach(key => {
|
|
8
|
+
if (PROFILE_PROPS_MAP.has(key)) {
|
|
9
|
+
output[PROFILE_PROPS_MAP.get(key)] = input[key];
|
|
10
|
+
}
|
|
11
|
+
if (EXTENDED_PROFILE_PROPS_MAP.has(key)) {
|
|
12
|
+
output.extended_profile[EXTENDED_PROFILE_PROPS_MAP.get(key)] = input[key];
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
return output;
|
|
16
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CUSTOM_FIELD_PLACE, FieldType, MUTABILITY_DETAILS_MAP } from './utils';
|
|
2
|
+
const getFieldConfig = (data, field) => {
|
|
3
|
+
if ((field === 'email' || field === 'picture') && CUSTOM_FIELD_PLACE[field]) {
|
|
4
|
+
return data[CUSTOM_FIELD_PLACE[field]];
|
|
5
|
+
}
|
|
6
|
+
const mappedFieldKey = field in MUTABILITY_DETAILS_MAP ? MUTABILITY_DETAILS_MAP[field] : undefined;
|
|
7
|
+
if (!mappedFieldKey) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const profileWrite = data['profile.write'];
|
|
11
|
+
return profileWrite[mappedFieldKey];
|
|
12
|
+
};
|
|
13
|
+
const convertFieldKeyToFieldType = key => {
|
|
14
|
+
// Check if the key can be mapped to a FieldType value
|
|
15
|
+
if (Object.values(FieldType).includes(key)) {
|
|
16
|
+
return key;
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
};
|
|
20
|
+
const getMutabilityConstraintFor = (data, field) => {
|
|
21
|
+
const fieldConfig = getFieldConfig(data, field);
|
|
22
|
+
if (!fieldConfig || fieldConfig.allowed) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const convertedField = convertFieldKeyToFieldType(field);
|
|
26
|
+
if (!convertedField) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
const reason = fieldConfig.reason;
|
|
30
|
+
return {
|
|
31
|
+
field: convertedField,
|
|
32
|
+
reason: reason && reason.key || null
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export const transformUserManageConfig = data => ({
|
|
36
|
+
mutabilityConstraints: Object.keys(MUTABILITY_DETAILS_MAP).map(field => getMutabilityConstraintFor(data, field)).filter(constraint => constraint !== undefined)
|
|
37
|
+
});
|
|
@@ -1,50 +1,3 @@
|
|
|
1
|
-
import { formatInTimeZone } from 'date-fns-tz';
|
|
2
|
-
// Key (left-side) is field name which is used in our app.
|
|
3
|
-
// Value (right-side) is field name which is used by data in services
|
|
4
|
-
const PROFILE_PROPS_MAP = new Map([['id', 'account_id'], ['fullName', 'name'], ['nickname', 'nickname'], ['timezone', 'zoneinfo'], ['locale', 'locale'], ['avatarUrl', 'picture'], ['email', 'email']]);
|
|
5
|
-
|
|
6
|
-
// Key (left-side) is field name which is used in our app.
|
|
7
|
-
// Value (right-side) is field name which is used by data in services
|
|
8
|
-
const EXTENDED_PROFILE_PROPS_MAP = new Map([['title', 'job_title'], ['department', 'department'], ['companyName', 'organization'], ['location', 'location'], ['phoneNumber', 'phone_number'], ['aboutMe', 'about_me'], ['pronouns', 'pronouns']]);
|
|
9
|
-
export const fromManageAPIResponse = res => {
|
|
10
|
-
const data = res.account;
|
|
11
|
-
const extendedData = data && data.extended_profile || {};
|
|
12
|
-
if (!data) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
const timeZone = data.zoneinfo;
|
|
16
|
-
const localTime = ({
|
|
17
|
-
format
|
|
18
|
-
}) => {
|
|
19
|
-
if (!timeZone) {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
try {
|
|
23
|
-
return formatInTimeZone(new Date(), timeZone, format);
|
|
24
|
-
} catch (error) {
|
|
25
|
-
// TODO: PTC-4908 send error to sentry for reporting
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
const profileProps = Array.from(PROFILE_PROPS_MAP.keys()).reduce((acc, key) => {
|
|
30
|
-
if (PROFILE_PROPS_MAP.has(key)) {
|
|
31
|
-
acc[key] = data[PROFILE_PROPS_MAP.get(key)];
|
|
32
|
-
}
|
|
33
|
-
return acc;
|
|
34
|
-
}, {});
|
|
35
|
-
const extendedProfileProps = Array.from(EXTENDED_PROFILE_PROPS_MAP.keys()).reduce((acc, key) => {
|
|
36
|
-
if (EXTENDED_PROFILE_PROPS_MAP.has(key)) {
|
|
37
|
-
acc[key] = extendedData[EXTENDED_PROFILE_PROPS_MAP.get(key)];
|
|
38
|
-
}
|
|
39
|
-
return acc;
|
|
40
|
-
}, {});
|
|
41
|
-
return {
|
|
42
|
-
...profileProps,
|
|
43
|
-
...extendedProfileProps,
|
|
44
|
-
localTime
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
|
|
48
1
|
// Copied from ptc-common/user type to not messing up dependency
|
|
49
2
|
export let FieldType = /*#__PURE__*/function (FieldType) {
|
|
50
3
|
FieldType["FullName"] = "fullName";
|
|
@@ -81,87 +34,4 @@ export const MUTABILITY_DETAILS_MAP = {
|
|
|
81
34
|
export const CUSTOM_FIELD_PLACE = {
|
|
82
35
|
email: 'email.initiateChange',
|
|
83
36
|
picture: 'avatar'
|
|
84
|
-
};
|
|
85
|
-
const getFieldConfig = (data, field) => {
|
|
86
|
-
if ((field === 'email' || field === 'picture') && CUSTOM_FIELD_PLACE[field]) {
|
|
87
|
-
return data[CUSTOM_FIELD_PLACE[field]];
|
|
88
|
-
}
|
|
89
|
-
const mappedFieldKey = field in MUTABILITY_DETAILS_MAP ? MUTABILITY_DETAILS_MAP[field] : undefined;
|
|
90
|
-
if (!mappedFieldKey) {
|
|
91
|
-
return undefined;
|
|
92
|
-
}
|
|
93
|
-
const profileWrite = data['profile.write'];
|
|
94
|
-
return profileWrite[mappedFieldKey];
|
|
95
|
-
};
|
|
96
|
-
const convertFieldKeyToFieldType = key => {
|
|
97
|
-
// Check if the key can be mapped to a FieldType value
|
|
98
|
-
if (Object.values(FieldType).includes(key)) {
|
|
99
|
-
return key;
|
|
100
|
-
}
|
|
101
|
-
return undefined;
|
|
102
|
-
};
|
|
103
|
-
const getMutabilityConstraintFor = (data, field) => {
|
|
104
|
-
const fieldConfig = getFieldConfig(data, field);
|
|
105
|
-
if (!fieldConfig || fieldConfig.allowed) {
|
|
106
|
-
return undefined;
|
|
107
|
-
}
|
|
108
|
-
const convertedField = convertFieldKeyToFieldType(field);
|
|
109
|
-
if (!convertedField) {
|
|
110
|
-
return undefined;
|
|
111
|
-
}
|
|
112
|
-
const reason = fieldConfig.reason;
|
|
113
|
-
return {
|
|
114
|
-
field: convertedField,
|
|
115
|
-
reason: reason && reason.key || null
|
|
116
|
-
};
|
|
117
|
-
};
|
|
118
|
-
export const transformUserManageConfig = data => ({
|
|
119
|
-
mutabilityConstraints: Object.keys(MUTABILITY_DETAILS_MAP).map(field => getMutabilityConstraintFor(data, field)).filter(constraint => constraint !== undefined)
|
|
120
|
-
});
|
|
121
|
-
export const toManageAPIInput = input => {
|
|
122
|
-
const output = {
|
|
123
|
-
extended_profile: {}
|
|
124
|
-
};
|
|
125
|
-
Object.keys(input).forEach(key => {
|
|
126
|
-
if (PROFILE_PROPS_MAP.has(key)) {
|
|
127
|
-
output[PROFILE_PROPS_MAP.get(key)] = input[key];
|
|
128
|
-
}
|
|
129
|
-
if (EXTENDED_PROFILE_PROPS_MAP.has(key)) {
|
|
130
|
-
output.extended_profile[EXTENDED_PROFILE_PROPS_MAP.get(key)] = input[key];
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
return output;
|
|
134
|
-
};
|
|
135
|
-
export function dataURItoFile(dataURI, filename = 'untitled') {
|
|
136
|
-
if (dataURI.length === 0) {
|
|
137
|
-
throw new Error('dataURI not found');
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
// convert base64/URLEncoded data component to raw binary data held in a string
|
|
141
|
-
const byteString = dataURI.split(',')[0].includes('base64') ? atob(dataURI.split(',')[1]) : decodeURIComponent(dataURI.split(',')[1]);
|
|
142
|
-
|
|
143
|
-
// separate out the mime component
|
|
144
|
-
let mimeString;
|
|
145
|
-
try {
|
|
146
|
-
mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
|
|
147
|
-
} catch (e) {
|
|
148
|
-
mimeString = 'unknown';
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// write the bytes of the string to a typed array
|
|
152
|
-
const intArray = new Uint8Array(byteString.length);
|
|
153
|
-
for (let i = 0; i < byteString.length; i++) {
|
|
154
|
-
intArray[i] = byteString.charCodeAt(i);
|
|
155
|
-
}
|
|
156
|
-
const blob = new Blob([intArray], {
|
|
157
|
-
type: mimeString
|
|
158
|
-
});
|
|
159
|
-
try {
|
|
160
|
-
return new File([blob], filename, {
|
|
161
|
-
type: mimeString
|
|
162
|
-
});
|
|
163
|
-
} catch (e) {
|
|
164
|
-
// IE11 and Safari does not support the File constructor.
|
|
165
|
-
return blob;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
37
|
+
};
|