@atlaskit/teams-client 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1061 -0
- package/LICENSE.md +11 -0
- package/README.md +9 -0
- package/client/package.json +15 -0
- package/dist/cjs/common/types.js +8 -0
- package/dist/cjs/common/utils/ari.js +31 -0
- package/dist/cjs/common/utils/error/index.js +182 -0
- package/dist/cjs/common/utils/filter-null.js +9 -0
- package/dist/cjs/common/utils/http.js +119 -0
- package/dist/cjs/common/utils/index.js +37 -0
- package/dist/cjs/common/utils/permissions/constants.js +68 -0
- package/dist/cjs/common/utils/permissions/has-permission.js +42 -0
- package/dist/cjs/common/utils/permissions/index.js +31 -0
- package/dist/cjs/common/utils/permissions/types.js +11 -0
- package/dist/cjs/common/utils/sort-teams.js +52 -0
- package/dist/cjs/common/utils/status-code-handlers-provider.js +30 -0
- package/dist/cjs/common/utils/team.js +19 -0
- package/dist/cjs/common/utils/ufo/constants.js +22 -0
- package/dist/cjs/common/utils/ufo/index.js +69 -0
- package/dist/cjs/common/utils/ufo/utils.js +26 -0
- package/dist/cjs/index.js +166 -0
- package/dist/cjs/mocks/endpoints.js +267 -0
- package/dist/cjs/mocks/generate-data.js +115 -0
- package/dist/cjs/mocks/index.js +61 -0
- package/dist/cjs/mocks/invitations.js +21 -0
- package/dist/cjs/mocks/responses.js +480 -0
- package/dist/cjs/mocks/team-link.js +26 -0
- package/dist/cjs/mocks/team.js +150 -0
- package/dist/cjs/mocks/user.js +102 -0
- package/dist/cjs/mocks/with-faker.js +16 -0
- package/dist/cjs/services/agg-client/index.js +137 -0
- package/dist/cjs/services/agg-client/mocks/index.js +71 -0
- package/dist/cjs/services/agg-client/types.js +10 -0
- package/dist/cjs/services/agg-client/utils/queries/team-membership-query.js +8 -0
- package/dist/cjs/services/agg-client/utils/queries/user-query.js +12 -0
- package/dist/cjs/services/agg-client/utils/user-type.js +18 -0
- package/dist/cjs/services/base-client/index.js +94 -0
- package/dist/cjs/services/collaborationgraph-client/index.js +58 -0
- package/dist/cjs/services/constants.js +13 -0
- package/dist/cjs/services/directory-client/index.js +241 -0
- package/dist/cjs/services/graphql-client/index.js +12 -0
- package/dist/cjs/services/graphql-client/main.js +69 -0
- package/dist/cjs/services/graphql-client/types.js +5 -0
- package/dist/cjs/services/graphql-client/utils/index.js +157 -0
- package/dist/cjs/services/hooks/use-teams-client-setup.js +44 -0
- package/dist/cjs/services/identity-client/index.js +171 -0
- package/dist/cjs/services/identity-client/utils.js +183 -0
- package/dist/cjs/services/index.js +18 -0
- package/dist/cjs/services/invitations-client/index.js +168 -0
- package/dist/cjs/services/invitations-client/types.js +1 -0
- package/dist/cjs/services/invitations-client/utils/index.js +115 -0
- package/dist/cjs/services/invitations-client/utils/types.js +5 -0
- package/dist/cjs/services/legion-client/index.js +1160 -0
- package/dist/cjs/services/legion-client/types.js +5 -0
- package/dist/cjs/services/main.js +1941 -0
- package/dist/cjs/services/mutability-client/index.js +97 -0
- package/dist/cjs/services/mutability-client/types.js +1 -0
- package/dist/cjs/services/object-resolver-client/index.js +60 -0
- package/dist/cjs/services/object-resolver-client/types.js +17 -0
- package/dist/cjs/services/object-resolver-client/utils.js +67 -0
- package/dist/cjs/services/perms-client/index.js +48 -0
- package/dist/cjs/services/public-api-client/generated/data-contracts.js +1 -0
- package/dist/cjs/services/public-api-client/index.js +264 -0
- package/dist/cjs/services/rest-client/index.js +381 -0
- package/dist/cjs/services/rest-client/utils/cookie.js +23 -0
- package/dist/cjs/services/rest-client/utils/parse-error-message.js +62 -0
- package/dist/cjs/services/rest-client/utils/parse-response.js +20 -0
- package/dist/cjs/services/rest-client/utils/strip-uuid.js +10 -0
- package/dist/cjs/services/sentry/constants.js +15 -0
- package/dist/cjs/services/sentry/index.js +67 -0
- package/dist/cjs/services/sentry/main.js +196 -0
- package/dist/cjs/services/sentry/types.js +5 -0
- package/dist/cjs/services/sentry/utils/get-sentry-config.js +45 -0
- package/dist/cjs/services/sentry/utils/initialise-sentry.js +55 -0
- package/dist/cjs/services/sentry/utils/sentry-client.js +121 -0
- package/dist/cjs/services/sentry/utils/use-teams-sentry-client-setup.js +40 -0
- package/dist/cjs/services/teams-in-slack-client/index.js +103 -0
- package/dist/cjs/services/types.js +1 -0
- package/dist/cjs/services/use-query-light/index.js +25 -0
- package/dist/cjs/services/use-query-light/main.js +232 -0
- package/dist/cjs/services/use-query-light/types.js +52 -0
- package/dist/cjs/services/user-info-provider/index.js +18 -0
- package/dist/cjs/services/user-info-provider/main.js +72 -0
- package/dist/cjs/services/user-preferences-client/index.js +98 -0
- package/dist/cjs/types/config.js +1 -0
- package/dist/cjs/types/index.js +19 -0
- package/dist/cjs/types/links.js +22 -0
- package/dist/cjs/types/media.js +1 -0
- package/dist/cjs/types/membership.js +24 -0
- package/dist/cjs/types/slack.js +1 -0
- package/dist/cjs/types/team.js +5 -0
- package/dist/cjs/types/user.js +10 -0
- package/dist/es2019/common/types.js +2 -0
- package/dist/es2019/common/utils/ari.js +21 -0
- package/dist/es2019/common/utils/error/index.js +142 -0
- package/dist/es2019/common/utils/filter-null.js +3 -0
- package/dist/es2019/common/utils/http.js +82 -0
- package/dist/es2019/common/utils/index.js +2 -0
- package/dist/es2019/common/utils/permissions/constants.js +59 -0
- package/dist/es2019/common/utils/permissions/has-permission.js +33 -0
- package/dist/es2019/common/utils/permissions/index.js +2 -0
- package/dist/es2019/common/utils/permissions/types.js +5 -0
- package/dist/es2019/common/utils/sort-teams.js +45 -0
- package/dist/es2019/common/utils/status-code-handlers-provider.js +25 -0
- package/dist/es2019/common/utils/team.js +6 -0
- package/dist/es2019/common/utils/ufo/constants.js +12 -0
- package/dist/es2019/common/utils/ufo/index.js +43 -0
- package/dist/es2019/common/utils/ufo/utils.js +18 -0
- package/dist/es2019/index.js +19 -0
- package/dist/es2019/mocks/endpoints.js +250 -0
- package/dist/es2019/mocks/generate-data.js +96 -0
- package/dist/es2019/mocks/index.js +2 -0
- package/dist/es2019/mocks/invitations.js +11 -0
- package/dist/es2019/mocks/responses.js +478 -0
- package/dist/es2019/mocks/team-link.js +14 -0
- package/dist/es2019/mocks/team.js +127 -0
- package/dist/es2019/mocks/user.js +79 -0
- package/dist/es2019/mocks/with-faker.js +8 -0
- package/dist/es2019/services/agg-client/index.js +70 -0
- package/dist/es2019/services/agg-client/mocks/index.js +64 -0
- package/dist/es2019/services/agg-client/types.js +4 -0
- package/dist/es2019/services/agg-client/utils/queries/team-membership-query.js +36 -0
- package/dist/es2019/services/agg-client/utils/queries/user-query.js +39 -0
- package/dist/es2019/services/agg-client/utils/user-type.js +13 -0
- package/dist/es2019/services/base-client/index.js +66 -0
- package/dist/es2019/services/collaborationgraph-client/index.js +37 -0
- package/dist/es2019/services/constants.js +7 -0
- package/dist/es2019/services/directory-client/index.js +155 -0
- package/dist/es2019/services/graphql-client/index.js +1 -0
- package/dist/es2019/services/graphql-client/main.js +23 -0
- package/dist/es2019/services/graphql-client/types.js +1 -0
- package/dist/es2019/services/graphql-client/utils/index.js +76 -0
- package/dist/es2019/services/hooks/use-teams-client-setup.js +40 -0
- package/dist/es2019/services/identity-client/index.js +53 -0
- package/dist/es2019/services/identity-client/utils.js +167 -0
- package/dist/es2019/services/index.js +1 -0
- package/dist/es2019/services/invitations-client/index.js +65 -0
- package/dist/es2019/services/invitations-client/types.js +0 -0
- package/dist/es2019/services/invitations-client/utils/index.js +101 -0
- package/dist/es2019/services/invitations-client/utils/types.js +1 -0
- package/dist/es2019/services/legion-client/index.js +484 -0
- package/dist/es2019/services/legion-client/types.js +1 -0
- package/dist/es2019/services/main.js +541 -0
- package/dist/es2019/services/mutability-client/index.js +49 -0
- package/dist/es2019/services/mutability-client/types.js +0 -0
- package/dist/es2019/services/object-resolver-client/index.js +21 -0
- package/dist/es2019/services/object-resolver-client/types.js +12 -0
- package/dist/es2019/services/object-resolver-client/utils.js +53 -0
- package/dist/es2019/services/perms-client/index.js +25 -0
- package/dist/es2019/services/public-api-client/generated/data-contracts.js +0 -0
- package/dist/es2019/services/public-api-client/index.js +120 -0
- package/dist/es2019/services/rest-client/index.js +177 -0
- package/dist/es2019/services/rest-client/utils/cookie.js +13 -0
- package/dist/es2019/services/rest-client/utils/parse-error-message.js +20 -0
- package/dist/es2019/services/rest-client/utils/parse-response.js +14 -0
- package/dist/es2019/services/rest-client/utils/strip-uuid.js +4 -0
- package/dist/es2019/services/sentry/constants.js +10 -0
- package/dist/es2019/services/sentry/index.js +2 -0
- package/dist/es2019/services/sentry/main.js +107 -0
- package/dist/es2019/services/sentry/types.js +1 -0
- package/dist/es2019/services/sentry/utils/get-sentry-config.js +37 -0
- package/dist/es2019/services/sentry/utils/initialise-sentry.js +23 -0
- package/dist/es2019/services/sentry/utils/sentry-client.js +57 -0
- package/dist/es2019/services/sentry/utils/use-teams-sentry-client-setup.js +14 -0
- package/dist/es2019/services/teams-in-slack-client/index.js +32 -0
- package/dist/es2019/services/types.js +0 -0
- package/dist/es2019/services/use-query-light/index.js +2 -0
- package/dist/es2019/services/use-query-light/main.js +162 -0
- package/dist/es2019/services/use-query-light/types.js +27 -0
- package/dist/es2019/services/user-info-provider/index.js +1 -0
- package/dist/es2019/services/user-info-provider/main.js +44 -0
- package/dist/es2019/services/user-preferences-client/index.js +19 -0
- package/dist/es2019/types/config.js +0 -0
- package/dist/es2019/types/index.js +2 -0
- package/dist/es2019/types/links.js +16 -0
- package/dist/es2019/types/media.js +0 -0
- package/dist/es2019/types/membership.js +16 -0
- package/dist/es2019/types/slack.js +0 -0
- package/dist/es2019/types/team.js +1 -0
- package/dist/es2019/types/user.js +4 -0
- package/dist/esm/common/types.js +2 -0
- package/dist/esm/common/utils/ari.js +25 -0
- package/dist/esm/common/utils/error/index.js +176 -0
- package/dist/esm/common/utils/filter-null.js +3 -0
- package/dist/esm/common/utils/http.js +109 -0
- package/dist/esm/common/utils/index.js +2 -0
- package/dist/esm/common/utils/permissions/constants.js +61 -0
- package/dist/esm/common/utils/permissions/has-permission.js +34 -0
- package/dist/esm/common/utils/permissions/index.js +2 -0
- package/dist/esm/common/utils/permissions/types.js +5 -0
- package/dist/esm/common/utils/sort-teams.js +46 -0
- package/dist/esm/common/utils/status-code-handlers-provider.js +23 -0
- package/dist/esm/common/utils/team.js +12 -0
- package/dist/esm/common/utils/ufo/constants.js +15 -0
- package/dist/esm/common/utils/ufo/index.js +62 -0
- package/dist/esm/common/utils/ufo/utils.js +20 -0
- package/dist/esm/index.js +19 -0
- package/dist/esm/mocks/endpoints.js +261 -0
- package/dist/esm/mocks/generate-data.js +106 -0
- package/dist/esm/mocks/index.js +2 -0
- package/dist/esm/mocks/invitations.js +14 -0
- package/dist/esm/mocks/responses.js +473 -0
- package/dist/esm/mocks/team-link.js +19 -0
- package/dist/esm/mocks/team.js +143 -0
- package/dist/esm/mocks/user.js +95 -0
- package/dist/esm/mocks/with-faker.js +10 -0
- package/dist/esm/services/agg-client/index.js +130 -0
- package/dist/esm/services/agg-client/mocks/index.js +64 -0
- package/dist/esm/services/agg-client/types.js +4 -0
- package/dist/esm/services/agg-client/utils/queries/team-membership-query.js +2 -0
- package/dist/esm/services/agg-client/utils/queries/user-query.js +5 -0
- package/dist/esm/services/agg-client/utils/user-type.js +12 -0
- package/dist/esm/services/base-client/index.js +87 -0
- package/dist/esm/services/collaborationgraph-client/index.js +51 -0
- package/dist/esm/services/constants.js +7 -0
- package/dist/esm/services/directory-client/index.js +234 -0
- package/dist/esm/services/graphql-client/index.js +1 -0
- package/dist/esm/services/graphql-client/main.js +62 -0
- package/dist/esm/services/graphql-client/types.js +1 -0
- package/dist/esm/services/graphql-client/utils/index.js +149 -0
- package/dist/esm/services/hooks/use-teams-client-setup.js +39 -0
- package/dist/esm/services/identity-client/index.js +164 -0
- package/dist/esm/services/identity-client/utils.js +174 -0
- package/dist/esm/services/index.js +1 -0
- package/dist/esm/services/invitations-client/index.js +163 -0
- package/dist/esm/services/invitations-client/types.js +0 -0
- package/dist/esm/services/invitations-client/utils/index.js +108 -0
- package/dist/esm/services/invitations-client/utils/types.js +1 -0
- package/dist/esm/services/legion-client/index.js +1154 -0
- package/dist/esm/services/legion-client/types.js +1 -0
- package/dist/esm/services/main.js +1936 -0
- package/dist/esm/services/mutability-client/index.js +90 -0
- package/dist/esm/services/mutability-client/types.js +0 -0
- package/dist/esm/services/object-resolver-client/index.js +53 -0
- package/dist/esm/services/object-resolver-client/types.js +12 -0
- package/dist/esm/services/object-resolver-client/utils.js +61 -0
- package/dist/esm/services/perms-client/index.js +42 -0
- package/dist/esm/services/public-api-client/generated/data-contracts.js +0 -0
- package/dist/esm/services/public-api-client/index.js +260 -0
- package/dist/esm/services/rest-client/index.js +373 -0
- package/dist/esm/services/rest-client/utils/cookie.js +14 -0
- package/dist/esm/services/rest-client/utils/parse-error-message.js +55 -0
- package/dist/esm/services/rest-client/utils/parse-response.js +14 -0
- package/dist/esm/services/rest-client/utils/strip-uuid.js +4 -0
- package/dist/esm/services/sentry/constants.js +10 -0
- package/dist/esm/services/sentry/index.js +2 -0
- package/dist/esm/services/sentry/main.js +186 -0
- package/dist/esm/services/sentry/types.js +1 -0
- package/dist/esm/services/sentry/utils/get-sentry-config.js +38 -0
- package/dist/esm/services/sentry/utils/initialise-sentry.js +48 -0
- package/dist/esm/services/sentry/utils/sentry-client.js +108 -0
- package/dist/esm/services/sentry/utils/use-teams-sentry-client-setup.js +33 -0
- package/dist/esm/services/teams-in-slack-client/index.js +96 -0
- package/dist/esm/services/types.js +0 -0
- package/dist/esm/services/use-query-light/index.js +2 -0
- package/dist/esm/services/use-query-light/main.js +225 -0
- package/dist/esm/services/use-query-light/types.js +45 -0
- package/dist/esm/services/user-info-provider/index.js +1 -0
- package/dist/esm/services/user-info-provider/main.js +66 -0
- package/dist/esm/services/user-preferences-client/index.js +91 -0
- package/dist/esm/types/config.js +0 -0
- package/dist/esm/types/index.js +2 -0
- package/dist/esm/types/links.js +16 -0
- package/dist/esm/types/media.js +0 -0
- package/dist/esm/types/membership.js +17 -0
- package/dist/esm/types/slack.js +0 -0
- package/dist/esm/types/team.js +1 -0
- package/dist/esm/types/user.js +4 -0
- package/dist/types/common/types.d.ts +4 -0
- package/dist/types/common/utils/ari.d.ts +7 -0
- package/dist/types/common/utils/error/index.d.ts +91 -0
- package/dist/types/common/utils/filter-null.d.ts +1 -0
- package/dist/types/common/utils/http.d.ts +31 -0
- package/dist/types/common/utils/index.d.ts +2 -0
- package/dist/types/common/utils/permissions/constants.d.ts +23 -0
- package/dist/types/common/utils/permissions/has-permission.d.ts +31 -0
- package/dist/types/common/utils/permissions/index.d.ts +3 -0
- package/dist/types/common/utils/permissions/types.d.ts +7 -0
- package/dist/types/common/utils/sort-teams.d.ts +2 -0
- package/dist/types/common/utils/status-code-handlers-provider.d.ts +17 -0
- package/dist/types/common/utils/team.d.ts +5 -0
- package/dist/types/common/utils/ufo/constants.d.ts +5 -0
- package/dist/types/common/utils/ufo/index.d.ts +6 -0
- package/dist/types/common/utils/ufo/utils.d.ts +11 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/mocks/endpoints.d.ts +22 -0
- package/dist/types/mocks/generate-data.d.ts +16 -0
- package/dist/types/mocks/index.d.ts +2 -0
- package/dist/types/mocks/invitations.d.ts +11 -0
- package/dist/types/mocks/responses.d.ts +75 -0
- package/dist/types/mocks/team-link.d.ts +7 -0
- package/dist/types/mocks/team.d.ts +14 -0
- package/dist/types/mocks/user.d.ts +15 -0
- package/dist/types/mocks/with-faker.d.ts +11 -0
- package/dist/types/services/agg-client/index.d.ts +12 -0
- package/dist/types/services/agg-client/mocks/index.d.ts +49 -0
- package/dist/types/services/agg-client/types.d.ts +13 -0
- package/dist/types/services/agg-client/utils/queries/team-membership-query.d.ts +33 -0
- package/dist/types/services/agg-client/utils/queries/user-query.d.ts +31 -0
- package/dist/types/services/agg-client/utils/user-type.d.ts +7 -0
- package/dist/types/services/base-client/index.d.ts +37 -0
- package/dist/types/services/collaborationgraph-client/index.d.ts +37 -0
- package/dist/types/services/constants.d.ts +2 -0
- package/dist/types/services/directory-client/index.d.ts +53 -0
- package/dist/types/services/graphql-client/index.d.ts +1 -0
- package/dist/types/services/graphql-client/main.d.ts +8 -0
- package/dist/types/services/graphql-client/types.d.ts +19 -0
- package/dist/types/services/graphql-client/utils/index.d.ts +3 -0
- package/dist/types/services/hooks/use-teams-client-setup.d.ts +12 -0
- package/dist/types/services/identity-client/index.d.ts +33 -0
- package/dist/types/services/identity-client/utils.d.ts +81 -0
- package/dist/types/services/index.d.ts +1 -0
- package/dist/types/services/invitations-client/index.d.ts +11 -0
- package/dist/types/services/invitations-client/types.d.ts +67 -0
- package/dist/types/services/invitations-client/utils/index.d.ts +7 -0
- package/dist/types/services/invitations-client/utils/types.d.ts +7 -0
- package/dist/types/services/legion-client/index.d.ts +133 -0
- package/dist/types/services/legion-client/types.d.ts +107 -0
- package/dist/types/services/main.d.ts +316 -0
- package/dist/types/services/mutability-client/index.d.ts +8 -0
- package/dist/types/services/mutability-client/types.d.ts +5 -0
- package/dist/types/services/object-resolver-client/index.d.ts +8 -0
- package/dist/types/services/object-resolver-client/types.d.ts +38 -0
- package/dist/types/services/object-resolver-client/utils.d.ts +18 -0
- package/dist/types/services/perms-client/index.d.ts +16 -0
- package/dist/types/services/public-api-client/generated/data-contracts.d.ts +112 -0
- package/dist/types/services/public-api-client/index.d.ts +41 -0
- package/dist/types/services/rest-client/index.d.ts +40 -0
- package/dist/types/services/rest-client/utils/cookie.d.ts +5 -0
- package/dist/types/services/rest-client/utils/parse-error-message.d.ts +1 -0
- package/dist/types/services/rest-client/utils/parse-response.d.ts +1 -0
- package/dist/types/services/rest-client/utils/strip-uuid.d.ts +1 -0
- package/dist/types/services/sentry/constants.d.ts +5 -0
- package/dist/types/services/sentry/index.d.ts +3 -0
- package/dist/types/services/sentry/main.d.ts +36 -0
- package/dist/types/services/sentry/types.d.ts +36 -0
- package/dist/types/services/sentry/utils/get-sentry-config.d.ts +2 -0
- package/dist/types/services/sentry/utils/initialise-sentry.d.ts +2 -0
- package/dist/types/services/sentry/utils/sentry-client.d.ts +9 -0
- package/dist/types/services/sentry/utils/use-teams-sentry-client-setup.d.ts +2 -0
- package/dist/types/services/teams-in-slack-client/index.d.ts +27 -0
- package/dist/types/services/types.d.ts +10 -0
- package/dist/types/services/use-query-light/index.d.ts +3 -0
- package/dist/types/services/use-query-light/main.d.ts +4 -0
- package/dist/types/services/use-query-light/types.d.ts +57 -0
- package/dist/types/services/user-info-provider/index.d.ts +1 -0
- package/dist/types/services/user-info-provider/main.d.ts +14 -0
- package/dist/types/services/user-preferences-client/index.d.ts +9 -0
- package/dist/types/types/config.d.ts +7 -0
- package/dist/types/types/index.d.ts +10 -0
- package/dist/types/types/links.d.ts +31 -0
- package/dist/types/types/media.d.ts +6 -0
- package/dist/types/types/membership.d.ts +35 -0
- package/dist/types/types/slack.d.ts +7 -0
- package/dist/types/types/team.d.ts +117 -0
- package/dist/types/types/user.d.ts +41 -0
- package/dist/types-ts4.5/common/types.d.ts +4 -0
- package/dist/types-ts4.5/common/utils/ari.d.ts +7 -0
- package/dist/types-ts4.5/common/utils/error/index.d.ts +91 -0
- package/dist/types-ts4.5/common/utils/filter-null.d.ts +1 -0
- package/dist/types-ts4.5/common/utils/http.d.ts +31 -0
- package/dist/types-ts4.5/common/utils/index.d.ts +2 -0
- package/dist/types-ts4.5/common/utils/permissions/constants.d.ts +23 -0
- package/dist/types-ts4.5/common/utils/permissions/has-permission.d.ts +31 -0
- package/dist/types-ts4.5/common/utils/permissions/index.d.ts +3 -0
- package/dist/types-ts4.5/common/utils/permissions/types.d.ts +26 -0
- package/dist/types-ts4.5/common/utils/sort-teams.d.ts +2 -0
- package/dist/types-ts4.5/common/utils/status-code-handlers-provider.d.ts +17 -0
- package/dist/types-ts4.5/common/utils/team.d.ts +5 -0
- package/dist/types-ts4.5/common/utils/ufo/constants.d.ts +64 -0
- package/dist/types-ts4.5/common/utils/ufo/index.d.ts +6 -0
- package/dist/types-ts4.5/common/utils/ufo/utils.d.ts +11 -0
- package/dist/types-ts4.5/index.d.ts +15 -0
- package/dist/types-ts4.5/mocks/endpoints.d.ts +22 -0
- package/dist/types-ts4.5/mocks/generate-data.d.ts +16 -0
- package/dist/types-ts4.5/mocks/index.d.ts +2 -0
- package/dist/types-ts4.5/mocks/invitations.d.ts +11 -0
- package/dist/types-ts4.5/mocks/responses.d.ts +75 -0
- package/dist/types-ts4.5/mocks/team-link.d.ts +7 -0
- package/dist/types-ts4.5/mocks/team.d.ts +14 -0
- package/dist/types-ts4.5/mocks/user.d.ts +15 -0
- package/dist/types-ts4.5/mocks/with-faker.d.ts +11 -0
- package/dist/types-ts4.5/services/agg-client/index.d.ts +12 -0
- package/dist/types-ts4.5/services/agg-client/mocks/index.d.ts +49 -0
- package/dist/types-ts4.5/services/agg-client/types.d.ts +13 -0
- package/dist/types-ts4.5/services/agg-client/utils/queries/team-membership-query.d.ts +33 -0
- package/dist/types-ts4.5/services/agg-client/utils/queries/user-query.d.ts +31 -0
- package/dist/types-ts4.5/services/agg-client/utils/user-type.d.ts +7 -0
- package/dist/types-ts4.5/services/base-client/index.d.ts +37 -0
- package/dist/types-ts4.5/services/collaborationgraph-client/index.d.ts +37 -0
- package/dist/types-ts4.5/services/constants.d.ts +2 -0
- package/dist/types-ts4.5/services/directory-client/index.d.ts +53 -0
- package/dist/types-ts4.5/services/graphql-client/index.d.ts +1 -0
- package/dist/types-ts4.5/services/graphql-client/main.d.ts +8 -0
- package/dist/types-ts4.5/services/graphql-client/types.d.ts +19 -0
- package/dist/types-ts4.5/services/graphql-client/utils/index.d.ts +3 -0
- package/dist/types-ts4.5/services/hooks/use-teams-client-setup.d.ts +12 -0
- package/dist/types-ts4.5/services/identity-client/index.d.ts +33 -0
- package/dist/types-ts4.5/services/identity-client/utils.d.ts +81 -0
- package/dist/types-ts4.5/services/index.d.ts +1 -0
- package/dist/types-ts4.5/services/invitations-client/index.d.ts +11 -0
- package/dist/types-ts4.5/services/invitations-client/types.d.ts +67 -0
- package/dist/types-ts4.5/services/invitations-client/utils/index.d.ts +7 -0
- package/dist/types-ts4.5/services/invitations-client/utils/types.d.ts +7 -0
- package/dist/types-ts4.5/services/legion-client/index.d.ts +133 -0
- package/dist/types-ts4.5/services/legion-client/types.d.ts +107 -0
- package/dist/types-ts4.5/services/main.d.ts +316 -0
- package/dist/types-ts4.5/services/mutability-client/index.d.ts +8 -0
- package/dist/types-ts4.5/services/mutability-client/types.d.ts +5 -0
- package/dist/types-ts4.5/services/object-resolver-client/index.d.ts +8 -0
- package/dist/types-ts4.5/services/object-resolver-client/types.d.ts +38 -0
- package/dist/types-ts4.5/services/object-resolver-client/utils.d.ts +18 -0
- package/dist/types-ts4.5/services/perms-client/index.d.ts +16 -0
- package/dist/types-ts4.5/services/public-api-client/generated/data-contracts.d.ts +112 -0
- package/dist/types-ts4.5/services/public-api-client/index.d.ts +41 -0
- package/dist/types-ts4.5/services/rest-client/index.d.ts +40 -0
- package/dist/types-ts4.5/services/rest-client/utils/cookie.d.ts +5 -0
- package/dist/types-ts4.5/services/rest-client/utils/parse-error-message.d.ts +1 -0
- package/dist/types-ts4.5/services/rest-client/utils/parse-response.d.ts +1 -0
- package/dist/types-ts4.5/services/rest-client/utils/strip-uuid.d.ts +1 -0
- package/dist/types-ts4.5/services/sentry/constants.d.ts +5 -0
- package/dist/types-ts4.5/services/sentry/index.d.ts +3 -0
- package/dist/types-ts4.5/services/sentry/main.d.ts +36 -0
- package/dist/types-ts4.5/services/sentry/types.d.ts +36 -0
- package/dist/types-ts4.5/services/sentry/utils/get-sentry-config.d.ts +2 -0
- package/dist/types-ts4.5/services/sentry/utils/initialise-sentry.d.ts +2 -0
- package/dist/types-ts4.5/services/sentry/utils/sentry-client.d.ts +9 -0
- package/dist/types-ts4.5/services/sentry/utils/use-teams-sentry-client-setup.d.ts +2 -0
- package/dist/types-ts4.5/services/teams-in-slack-client/index.d.ts +27 -0
- package/dist/types-ts4.5/services/types.d.ts +10 -0
- package/dist/types-ts4.5/services/use-query-light/index.d.ts +3 -0
- package/dist/types-ts4.5/services/use-query-light/main.d.ts +7 -0
- package/dist/types-ts4.5/services/use-query-light/types.d.ts +57 -0
- package/dist/types-ts4.5/services/user-info-provider/index.d.ts +1 -0
- package/dist/types-ts4.5/services/user-info-provider/main.d.ts +14 -0
- package/dist/types-ts4.5/services/user-preferences-client/index.d.ts +9 -0
- package/dist/types-ts4.5/types/config.d.ts +7 -0
- package/dist/types-ts4.5/types/index.d.ts +10 -0
- package/dist/types-ts4.5/types/links.d.ts +31 -0
- package/dist/types-ts4.5/types/media.d.ts +6 -0
- package/dist/types-ts4.5/types/membership.d.ts +35 -0
- package/dist/types-ts4.5/types/slack.d.ts +7 -0
- package/dist/types-ts4.5/types/team.d.ts +117 -0
- package/dist/types-ts4.5/types/user.d.ts +51 -0
- package/mocks/package.json +15 -0
- package/package.json +111 -0
- package/permissions/package.json +15 -0
- package/public/package.json +15 -0
- package/report.api.md +1210 -0
- package/scripts/generate-docs.ts +31 -0
- package/scripts/utils.ts +269 -0
- package/sentry/package.json +15 -0
- package/types/package.json +15 -0
- package/ufo/package.json +15 -0
- package/use-query-light/package.json +15 -0
- package/user-info-provider/package.json +15 -0
- package/utils/package.json +15 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Copyright 2023 Atlassian Pty Ltd
|
|
2
|
+
|
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
|
|
4
|
+
compliance with the License. You may obtain a copy of the License at
|
|
5
|
+
|
|
6
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
|
|
8
|
+
Unless required by applicable law or agreed to in writing, software distributed under the License is
|
|
9
|
+
distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
10
|
+
implied. See the License for the specific language governing permissions and limitations under the
|
|
11
|
+
License.
|
package/README.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# TeamsClient
|
|
2
|
+
|
|
3
|
+
A client to retrieve team related data
|
|
4
|
+
|
|
5
|
+
**Note:** This component is designed for internal Atlassian development. External contributors will
|
|
6
|
+
be able to use this component but will not be able to submit issues.
|
|
7
|
+
|
|
8
|
+
# Usage
|
|
9
|
+
`import { teamsClient } from '@atlaskit/teams-client';`
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@atlaskit/teams-client/client",
|
|
3
|
+
"main": "../dist/cjs/services/index.js",
|
|
4
|
+
"module": "../dist/esm/services/index.js",
|
|
5
|
+
"module:es2019": "../dist/es2019/services/index.js",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"types": "../dist/types/services/index.d.ts",
|
|
8
|
+
"typesVersions": {
|
|
9
|
+
">=4.5 <5.4": {
|
|
10
|
+
"*": [
|
|
11
|
+
"../dist/types-ts4.5/services/index.d.ts"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.USER_ARI_PREFIX = exports.TEAM_ARI_PREFIX = void 0;
|
|
7
|
+
var USER_ARI_PREFIX = exports.USER_ARI_PREFIX = 'ari:cloud:identity::user/';
|
|
8
|
+
var TEAM_ARI_PREFIX = exports.TEAM_ARI_PREFIX = 'ari:cloud:identity::team/';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.toUserId = exports.toUserARI = exports.toTeamId = exports.toTeamARI = exports.isUserARI = exports.isTeamARI = void 0;
|
|
7
|
+
var _types = require("../types");
|
|
8
|
+
var isUserARI = exports.isUserARI = function isUserARI(ari) {
|
|
9
|
+
return ari.startsWith(_types.USER_ARI_PREFIX);
|
|
10
|
+
};
|
|
11
|
+
var toUserId = exports.toUserId = function toUserId(ari) {
|
|
12
|
+
if (isUserARI(ari)) {
|
|
13
|
+
return ari.replace(_types.USER_ARI_PREFIX, '');
|
|
14
|
+
}
|
|
15
|
+
throw new Error('Invalid UserARI');
|
|
16
|
+
};
|
|
17
|
+
var toUserARI = exports.toUserARI = function toUserARI(userId) {
|
|
18
|
+
return isUserARI(userId) ? userId : "".concat(_types.USER_ARI_PREFIX).concat(userId);
|
|
19
|
+
};
|
|
20
|
+
var isTeamARI = exports.isTeamARI = function isTeamARI(ari) {
|
|
21
|
+
return ari.startsWith(_types.TEAM_ARI_PREFIX);
|
|
22
|
+
};
|
|
23
|
+
var toTeamId = exports.toTeamId = function toTeamId(ari) {
|
|
24
|
+
if (isTeamARI(ari)) {
|
|
25
|
+
return ari.replace(_types.TEAM_ARI_PREFIX, '');
|
|
26
|
+
}
|
|
27
|
+
throw new Error('Invalid TeamARI');
|
|
28
|
+
};
|
|
29
|
+
var toTeamARI = exports.toTeamARI = function toTeamARI(teamId) {
|
|
30
|
+
return isTeamARI(teamId) ? teamId : "".concat(_types.TEAM_ARI_PREFIX).concat(teamId);
|
|
31
|
+
};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TeamErrorType = exports.StatusCode = exports.SLOIgnoreHttpError = exports.SLOIgnoreError = exports.HttpError = exports.GraphQLError = exports.ErrorCategory = exports.DefaultError = void 0;
|
|
8
|
+
exports.doesErrorContainStatus = doesErrorContainStatus;
|
|
9
|
+
exports.isAuthError = isAuthError;
|
|
10
|
+
exports.isErrorStatusCode = isErrorStatusCode;
|
|
11
|
+
exports.isNetworkError = isNetworkError;
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
16
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
17
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
18
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
19
|
+
var _GraphQLError;
|
|
20
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
21
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
22
|
+
var ErrorCategory = exports.ErrorCategory = /*#__PURE__*/function (ErrorCategory) {
|
|
23
|
+
ErrorCategory["NotFound"] = "NotFound";
|
|
24
|
+
ErrorCategory["NotPermitted"] = "NotPermitted";
|
|
25
|
+
ErrorCategory["MalformedInput"] = "MalformedInput";
|
|
26
|
+
ErrorCategory["Internal"] = "Internal";
|
|
27
|
+
return ErrorCategory;
|
|
28
|
+
}({});
|
|
29
|
+
var StatusCode = exports.StatusCode = /*#__PURE__*/function (StatusCode) {
|
|
30
|
+
StatusCode[StatusCode["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
|
|
31
|
+
StatusCode[StatusCode["FORBIDDEN"] = 403] = "FORBIDDEN";
|
|
32
|
+
StatusCode[StatusCode["TIMEOUT"] = 408] = "TIMEOUT";
|
|
33
|
+
StatusCode[StatusCode["GONE"] = 410] = "GONE";
|
|
34
|
+
StatusCode[StatusCode["PAYLOAD_TOO_LARGE"] = 413] = "PAYLOAD_TOO_LARGE";
|
|
35
|
+
return StatusCode;
|
|
36
|
+
}({});
|
|
37
|
+
function isAuthError(error) {
|
|
38
|
+
return isErrorStatusCode(StatusCode.UNAUTHORIZED, error) || isErrorStatusCode(StatusCode.FORBIDDEN, error);
|
|
39
|
+
}
|
|
40
|
+
function isErrorStatusCode(statusCode, error) {
|
|
41
|
+
var _error$message;
|
|
42
|
+
if (!error) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
if (error['status'] === statusCode ||
|
|
46
|
+
// error can be `ProperNetworkError` from `packages/graphql-client/src/links/error.ts`
|
|
47
|
+
error['statusCode'] === statusCode) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
var reg = new RegExp("status (code)?.*(".concat(statusCode, ")"));
|
|
51
|
+
return !!(error !== null && error !== void 0 && (_error$message = error.message) !== null && _error$message !== void 0 && _error$message.match(reg));
|
|
52
|
+
}
|
|
53
|
+
function doesErrorContainStatus(statusCode, message) {
|
|
54
|
+
var reg = new RegExp("status .*(".concat(statusCode, ")"));
|
|
55
|
+
return reg.test(message);
|
|
56
|
+
}
|
|
57
|
+
var TeamErrorType = exports.TeamErrorType = /*#__PURE__*/function (TeamErrorType) {
|
|
58
|
+
TeamErrorType["TEAM_NOT_ACTIVE"] = "Team must be active";
|
|
59
|
+
return TeamErrorType;
|
|
60
|
+
}({});
|
|
61
|
+
// Extending new custom Error types with `Object.setPrototypeOf`
|
|
62
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf
|
|
63
|
+
var CommonError = /*#__PURE__*/function (_Error) {
|
|
64
|
+
function CommonError(message) {
|
|
65
|
+
var _this;
|
|
66
|
+
(0, _classCallCheck2.default)(this, CommonError);
|
|
67
|
+
_this = _callSuper(this, CommonError, [message]);
|
|
68
|
+
_this.name = _this.constructor.name;
|
|
69
|
+
_this.message = message || 'UnknownError';
|
|
70
|
+
_this.stack = new Error(message).stack || '';
|
|
71
|
+
return _this;
|
|
72
|
+
}
|
|
73
|
+
(0, _inherits2.default)(CommonError, _Error);
|
|
74
|
+
return (0, _createClass2.default)(CommonError);
|
|
75
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
76
|
+
var DefaultError = exports.DefaultError = /*#__PURE__*/function (_CommonError) {
|
|
77
|
+
function DefaultError(_ref) {
|
|
78
|
+
var _this2;
|
|
79
|
+
var message = _ref.message;
|
|
80
|
+
(0, _classCallCheck2.default)(this, DefaultError);
|
|
81
|
+
_this2 = _callSuper(this, DefaultError, [message || 'UnknownError']);
|
|
82
|
+
Object.setPrototypeOf(_this2, DefaultError.prototype);
|
|
83
|
+
return _this2;
|
|
84
|
+
}
|
|
85
|
+
(0, _inherits2.default)(DefaultError, _CommonError);
|
|
86
|
+
return (0, _createClass2.default)(DefaultError);
|
|
87
|
+
}(CommonError);
|
|
88
|
+
/**
|
|
89
|
+
* These errors will not fail UFO experiences
|
|
90
|
+
*/
|
|
91
|
+
var SLOIgnoreError = exports.SLOIgnoreError = /*#__PURE__*/function (_CommonError2) {
|
|
92
|
+
function SLOIgnoreError(_ref2) {
|
|
93
|
+
var _this3;
|
|
94
|
+
var message = _ref2.message;
|
|
95
|
+
(0, _classCallCheck2.default)(this, SLOIgnoreError);
|
|
96
|
+
_this3 = _callSuper(this, SLOIgnoreError, ["SentryIgnore: ".concat(message || 'UnknownError')]);
|
|
97
|
+
Object.setPrototypeOf(_this3, SLOIgnoreError.prototype);
|
|
98
|
+
return _this3;
|
|
99
|
+
}
|
|
100
|
+
(0, _inherits2.default)(SLOIgnoreError, _CommonError2);
|
|
101
|
+
return (0, _createClass2.default)(SLOIgnoreError);
|
|
102
|
+
}(CommonError);
|
|
103
|
+
// Http Errors
|
|
104
|
+
var HttpError = exports.HttpError = /*#__PURE__*/function (_CommonError3) {
|
|
105
|
+
function HttpError(_ref3) {
|
|
106
|
+
var _this4;
|
|
107
|
+
var message = _ref3.message,
|
|
108
|
+
status = _ref3.status,
|
|
109
|
+
traceId = _ref3.traceId,
|
|
110
|
+
path = _ref3.path;
|
|
111
|
+
(0, _classCallCheck2.default)(this, HttpError);
|
|
112
|
+
_this4 = _callSuper(this, HttpError, [message]);
|
|
113
|
+
Object.setPrototypeOf(_this4, HttpError.prototype);
|
|
114
|
+
_this4.status = status;
|
|
115
|
+
_this4.traceId = traceId;
|
|
116
|
+
_this4.path = path;
|
|
117
|
+
return _this4;
|
|
118
|
+
}
|
|
119
|
+
(0, _inherits2.default)(HttpError, _CommonError3);
|
|
120
|
+
return (0, _createClass2.default)(HttpError);
|
|
121
|
+
}(CommonError);
|
|
122
|
+
/**
|
|
123
|
+
* These errors will not fail UFO experiences
|
|
124
|
+
*/
|
|
125
|
+
var SLOIgnoreHttpError = exports.SLOIgnoreHttpError = /*#__PURE__*/function (_HttpError) {
|
|
126
|
+
function SLOIgnoreHttpError(props) {
|
|
127
|
+
var _this5;
|
|
128
|
+
(0, _classCallCheck2.default)(this, SLOIgnoreHttpError);
|
|
129
|
+
_this5 = _callSuper(this, SLOIgnoreHttpError, [props]);
|
|
130
|
+
Object.setPrototypeOf(_this5, SLOIgnoreHttpError.prototype);
|
|
131
|
+
return _this5;
|
|
132
|
+
}
|
|
133
|
+
(0, _inherits2.default)(SLOIgnoreHttpError, _HttpError);
|
|
134
|
+
return (0, _createClass2.default)(SLOIgnoreHttpError);
|
|
135
|
+
}(HttpError); // Graphql Errors
|
|
136
|
+
var GraphQLError = exports.GraphQLError = /*#__PURE__*/function (_CommonError4) {
|
|
137
|
+
// tslint:disable-line no-any
|
|
138
|
+
|
|
139
|
+
function GraphQLError(_ref4) {
|
|
140
|
+
var _this6;
|
|
141
|
+
var message = _ref4.message,
|
|
142
|
+
_ref4$category = _ref4.category,
|
|
143
|
+
category = _ref4$category === void 0 ? 'default' : _ref4$category,
|
|
144
|
+
fields = _ref4.fields;
|
|
145
|
+
(0, _classCallCheck2.default)(this, GraphQLError);
|
|
146
|
+
_this6 = _callSuper(this, GraphQLError, [message]);
|
|
147
|
+
Object.setPrototypeOf(_this6, GraphQLError.prototype);
|
|
148
|
+
_this6.category = category;
|
|
149
|
+
if (fields) {
|
|
150
|
+
_this6.fields = fields;
|
|
151
|
+
}
|
|
152
|
+
return _this6;
|
|
153
|
+
}
|
|
154
|
+
(0, _inherits2.default)(GraphQLError, _CommonError4);
|
|
155
|
+
return (0, _createClass2.default)(GraphQLError);
|
|
156
|
+
}(CommonError);
|
|
157
|
+
_GraphQLError = GraphQLError;
|
|
158
|
+
(0, _defineProperty2.default)(GraphQLError, "from", function (rawErrors) {
|
|
159
|
+
var firstError = rawErrors[0];
|
|
160
|
+
var errorData = {
|
|
161
|
+
category: firstError.category,
|
|
162
|
+
message: firstError.message
|
|
163
|
+
};
|
|
164
|
+
if (firstError.fields) {
|
|
165
|
+
errorData.fields = firstError.fields.reduce(function (obj, item) {
|
|
166
|
+
obj[item.field] = item.message;
|
|
167
|
+
return obj;
|
|
168
|
+
}, {});
|
|
169
|
+
}
|
|
170
|
+
return new _GraphQLError(errorData);
|
|
171
|
+
});
|
|
172
|
+
function isNetworkError(error) {
|
|
173
|
+
return error && !!error.message && (
|
|
174
|
+
// Firefox
|
|
175
|
+
error.message.includes('NetworkError') ||
|
|
176
|
+
// Chrome
|
|
177
|
+
error.message.startsWith('Failed to fetch') || error.message.includes('GraphQL error: Failed to fetch') ||
|
|
178
|
+
// cancel by users or unknown reason
|
|
179
|
+
error.message.includes('GraphQL error: The operation was aborted') || error.message.includes('GraphQL error: cancelled') || error.message.includes('Abgebrochen') || error.message.includes('отменено') || error.message.includes('Сетевое соединение потеряно.') || error.message.includes('anulowane') || error.message.includes('annulé') || error.message.includes('已取消') || error.message.includes('cancelado') || error.message.includes('キャンセルしました') || error.message.includes('cancelled') || error.message.includes('Network error') ||
|
|
180
|
+
// GraphQL-wrapping network error
|
|
181
|
+
!!(error['graphQLErrors'] && error['networkError']));
|
|
182
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.fetchWithExponentialBackoff = exports.EXPONENTIAL_BACKOFF_RETRY_POLICY = void 0;
|
|
8
|
+
exports.is5xx = is5xx;
|
|
9
|
+
exports.isFetchResponse = isFetchResponse;
|
|
10
|
+
exports.withExponentialBackoff = withExponentialBackoff;
|
|
11
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
var EXPONENTIAL_BACKOFF_RETRY_POLICY = exports.EXPONENTIAL_BACKOFF_RETRY_POLICY = {
|
|
14
|
+
INITIAL_DELAY: 200,
|
|
15
|
+
MAX_RETRIES: 5,
|
|
16
|
+
JITTER: true
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Checks whether a status code is a 5xx HTTP code.
|
|
21
|
+
* @param {number} status HTTP status code
|
|
22
|
+
*/
|
|
23
|
+
function is5xx(status) {
|
|
24
|
+
return 500 <= status && status <= 599;
|
|
25
|
+
}
|
|
26
|
+
function isFetchResponse(data) {
|
|
27
|
+
if (!data || !data.hasOwnProperty('response')) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
return data.response instanceof Response;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// tslint:disable-next-line no-any
|
|
34
|
+
|
|
35
|
+
// tslint:disable-next-line no-any
|
|
36
|
+
var defaultRetryIfCallback = function defaultRetryIfCallback(a) {
|
|
37
|
+
return !a;
|
|
38
|
+
};
|
|
39
|
+
var defaultOptions = {
|
|
40
|
+
initial: 200,
|
|
41
|
+
jitter: false,
|
|
42
|
+
max: 5,
|
|
43
|
+
retryIf: defaultRetryIfCallback
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Transparently wrap a function so that it is retried until it succeeds or reaches a max retry limit.
|
|
47
|
+
* The returned function has the same signature as the wrapped function.
|
|
48
|
+
*
|
|
49
|
+
* Modified from https://jsfiddle.net/pajtai/pLka0ow9/
|
|
50
|
+
*/
|
|
51
|
+
function withExponentialBackoff(toTry) {
|
|
52
|
+
var hofOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultOptions;
|
|
53
|
+
var initial = hofOptions.initial,
|
|
54
|
+
jitter = hofOptions.jitter,
|
|
55
|
+
max = hofOptions.max,
|
|
56
|
+
retryIf = hofOptions.retryIf;
|
|
57
|
+
|
|
58
|
+
// Initialize max retry decrementing counter (range of max...0)
|
|
59
|
+
var attemptsRemaining = max;
|
|
60
|
+
|
|
61
|
+
// Initialize delay. This will exponentially increase each retry (delay = intial * 2^n)
|
|
62
|
+
var delay = initial;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* This function calls itself recursively until `retryIf` evaluates false or the retry limit is reached.
|
|
66
|
+
* The functioned-to-be-retried is called on each recursion.
|
|
67
|
+
*/
|
|
68
|
+
return /*#__PURE__*/function () {
|
|
69
|
+
var _tryWithExponentialBackoff = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
70
|
+
var result,
|
|
71
|
+
_args = arguments;
|
|
72
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
73
|
+
while (1) switch (_context.prev = _context.next) {
|
|
74
|
+
case 0:
|
|
75
|
+
_context.next = 2;
|
|
76
|
+
return toTry.apply(void 0, _args);
|
|
77
|
+
case 2:
|
|
78
|
+
result = _context.sent;
|
|
79
|
+
--attemptsRemaining;
|
|
80
|
+
|
|
81
|
+
// If tried function was unsuccessful and there are still retries remaining, retry!
|
|
82
|
+
if (!(retryIf && retryIf(result) && attemptsRemaining > 0)) {
|
|
83
|
+
_context.next = 9;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
_context.next = 7;
|
|
87
|
+
return new Promise(function (resolve) {
|
|
88
|
+
return setTimeout(resolve, jitter ? Math.random() * delay : delay);
|
|
89
|
+
});
|
|
90
|
+
case 7:
|
|
91
|
+
// Exponentially increase delay
|
|
92
|
+
delay *= 2;
|
|
93
|
+
|
|
94
|
+
// Initiate retry
|
|
95
|
+
return _context.abrupt("return", tryWithExponentialBackoff.apply(void 0, _args));
|
|
96
|
+
case 9:
|
|
97
|
+
return _context.abrupt("return", result);
|
|
98
|
+
case 10:
|
|
99
|
+
case "end":
|
|
100
|
+
return _context.stop();
|
|
101
|
+
}
|
|
102
|
+
}, _callee);
|
|
103
|
+
}));
|
|
104
|
+
function tryWithExponentialBackoff() {
|
|
105
|
+
return _tryWithExponentialBackoff.apply(this, arguments);
|
|
106
|
+
}
|
|
107
|
+
return tryWithExponentialBackoff;
|
|
108
|
+
}();
|
|
109
|
+
}
|
|
110
|
+
var fetchWithExponentialBackoff = exports.fetchWithExponentialBackoff = withExponentialBackoff(function (url, init) {
|
|
111
|
+
return fetch(url, init);
|
|
112
|
+
}, {
|
|
113
|
+
initial: EXPONENTIAL_BACKOFF_RETRY_POLICY.INITIAL_DELAY,
|
|
114
|
+
jitter: EXPONENTIAL_BACKOFF_RETRY_POLICY.JITTER,
|
|
115
|
+
max: EXPONENTIAL_BACKOFF_RETRY_POLICY.MAX_RETRIES,
|
|
116
|
+
retryIf: function retryIf(response) {
|
|
117
|
+
return is5xx(response.status);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "isInvited", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _team.isInvited;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "isMember", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _team.isMember;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "isNonMember", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _team.isNonMember;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "isRequestingJoin", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _team.isRequestingJoin;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "sortMembersByType", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _sortTeams.sortMembersByType;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
var _sortTeams = require("./sort-teams");
|
|
37
|
+
var _team = require("./team");
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.vanityActions = exports.openPermissions = exports.inviteOnlyPermissions = exports.getPermissionMap = exports.allPermissions = exports.SCIMSyncTeamPermissions = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
var allPermissions = exports.allPermissions = function allPermissions(defaultPermission, isMember) {
|
|
13
|
+
return {
|
|
14
|
+
ADD_MEMBER_TO_TEAM: defaultPermission,
|
|
15
|
+
JOIN_TEAM: defaultPermission,
|
|
16
|
+
REQUEST_TO_JOIN: defaultPermission,
|
|
17
|
+
CANCEL_JOIN_REQUEST: defaultPermission,
|
|
18
|
+
APPROVE_JOIN_REQUEST: defaultPermission,
|
|
19
|
+
REJECT_JOIN_REQUEST: defaultPermission,
|
|
20
|
+
REMOVE_MEMBER_FROM_TEAM: defaultPermission,
|
|
21
|
+
CANCEL_INVITE: defaultPermission,
|
|
22
|
+
LEAVE_TEAM: defaultPermission && isMember,
|
|
23
|
+
EDIT_DESCRIPTION: defaultPermission,
|
|
24
|
+
EDIT_TEAM_NAME: defaultPermission,
|
|
25
|
+
EDIT_PROFILE_HEADER: defaultPermission,
|
|
26
|
+
EDIT_TEAM_LINK: defaultPermission,
|
|
27
|
+
DELETE_TEAM: defaultPermission,
|
|
28
|
+
EDIT_TEAM_SETTINGS: defaultPermission,
|
|
29
|
+
EDIT_TEAM_MEMBERSHIP: defaultPermission,
|
|
30
|
+
REMOVE_AGENT_FROM_TEAM: defaultPermission,
|
|
31
|
+
ADD_AGENT_TO_TEAM: defaultPermission
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
var vanityActions = exports.vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
|
|
35
|
+
var openPermissions = exports.openPermissions = function openPermissions(permission) {
|
|
36
|
+
return {
|
|
37
|
+
JOIN_TEAM: permission === 'FULL_READ' || permission === 'FULL_WRITE',
|
|
38
|
+
REQUEST_TO_JOIN: false,
|
|
39
|
+
CANCEL_JOIN_REQUEST: false,
|
|
40
|
+
APPROVE_JOIN_REQUEST: false,
|
|
41
|
+
REJECT_JOIN_REQUEST: false
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
var inviteOnlyPermissions = exports.inviteOnlyPermissions = function inviteOnlyPermissions(permission) {
|
|
45
|
+
return {
|
|
46
|
+
REQUEST_TO_JOIN: permission === 'FULL_READ',
|
|
47
|
+
CANCEL_JOIN_REQUEST: permission === 'FULL_READ'
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
var SCIMSyncTeamPermissions = exports.SCIMSyncTeamPermissions = function SCIMSyncTeamPermissions(isMember, isOrgAdmin) {
|
|
51
|
+
return {
|
|
52
|
+
EDIT_DESCRIPTION: isMember || isOrgAdmin,
|
|
53
|
+
EDIT_TEAM_SETTINGS: isMember || isOrgAdmin,
|
|
54
|
+
EDIT_TEAM_LINK: isMember || isOrgAdmin,
|
|
55
|
+
EDIT_TEAM_NAME: (isMember || isOrgAdmin) && (0, _platformFeatureFlags.fg)('enable_edit_team_name_external_type_teams')
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
var getPermissionMap = exports.getPermissionMap = function getPermissionMap(settings, permission, isMember, isOrgAdmin) {
|
|
59
|
+
if (settings === 'OPEN') {
|
|
60
|
+
return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), openPermissions(permission));
|
|
61
|
+
}
|
|
62
|
+
if (settings === 'MEMBER_INVITE') {
|
|
63
|
+
return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), inviteOnlyPermissions(permission));
|
|
64
|
+
} else if (settings === 'EXTERNAL') {
|
|
65
|
+
return _objectSpread(_objectSpread({}, allPermissions(false, isMember)), SCIMSyncTeamPermissions(isMember, isOrgAdmin));
|
|
66
|
+
}
|
|
67
|
+
return allPermissions(false, false);
|
|
68
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.hasPermission = hasPermission;
|
|
7
|
+
exports.hasPermissionForAction = hasPermissionForAction;
|
|
8
|
+
exports.userCan = userCan;
|
|
9
|
+
var _team = require("../team");
|
|
10
|
+
var _constants = require("./constants");
|
|
11
|
+
function hasPermission(action, settings, permission, isPeopleBrowseEnabled, currentUserMembership, teamVisibilityPermissions) {
|
|
12
|
+
if (!isPeopleBrowseEnabled && !_constants.vanityActions.includes(action)) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
var isMemberOfTeam = (0, _team.isMember)(currentUserMembership);
|
|
16
|
+
var isOrgAdmin = Boolean(teamVisibilityPermissions === null || teamVisibilityPermissions === void 0 ? void 0 : teamVisibilityPermissions.canAdminTeams);
|
|
17
|
+
return userCan(action, {
|
|
18
|
+
membershipSettings: settings,
|
|
19
|
+
teamPermission: permission,
|
|
20
|
+
isMemberOfTeam: isMemberOfTeam,
|
|
21
|
+
isOrgAdmin: isOrgAdmin
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Determines if a user has permission perform a given action on a team
|
|
26
|
+
*/
|
|
27
|
+
function userCan(action, options) {
|
|
28
|
+
return (0, _constants.getPermissionMap)(options.membershipSettings, options.teamPermission, options.isMemberOfTeam, options.isOrgAdmin)[action];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Use `userCan` instead, it gives better visibility into the option mappings
|
|
33
|
+
*/
|
|
34
|
+
function hasPermissionForAction(action, settings, permission, isMemberOfTeam) {
|
|
35
|
+
var isOrgAdmin = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
36
|
+
return userCan(action, {
|
|
37
|
+
membershipSettings: settings,
|
|
38
|
+
teamPermission: permission,
|
|
39
|
+
isMemberOfTeam: isMemberOfTeam,
|
|
40
|
+
isOrgAdmin: isOrgAdmin
|
|
41
|
+
});
|
|
42
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "AllTeamActions", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _types.AllTeamActions;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "hasPermission", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _hasPermission.hasPermission;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "hasPermissionForAction", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _hasPermission.hasPermissionForAction;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "userCan", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _hasPermission.userCan;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
var _hasPermission = require("./has-permission");
|
|
31
|
+
var _types = require("./types");
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AllTeamActions = void 0;
|
|
7
|
+
var AllTeamActions = exports.AllTeamActions = ['ADD_MEMBER_TO_TEAM', 'JOIN_TEAM', 'REQUEST_TO_JOIN', 'CANCEL_JOIN_REQUEST', 'APPROVE_JOIN_REQUEST', 'REJECT_JOIN_REQUEST', 'REMOVE_MEMBER_FROM_TEAM', 'CANCEL_INVITE', 'LEAVE_TEAM', 'REMOVE_AGENT_FROM_TEAM', 'ADD_AGENT_TO_TEAM',
|
|
8
|
+
// Visual
|
|
9
|
+
'EDIT_TEAM_NAME', 'EDIT_DESCRIPTION', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK', 'EDIT_TEAM_SETTINGS', 'EDIT_TEAM_MEMBERSHIP',
|
|
10
|
+
// Serious
|
|
11
|
+
'DELETE_TEAM'];
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.sortMembersByType = void 0;
|
|
7
|
+
var MemberType = /*#__PURE__*/function (MemberType) {
|
|
8
|
+
MemberType[MemberType["CURRENT_USER"] = 0] = "CURRENT_USER";
|
|
9
|
+
MemberType[MemberType["MEMBER"] = 1] = "MEMBER";
|
|
10
|
+
MemberType[MemberType["INVITED"] = 2] = "INVITED";
|
|
11
|
+
MemberType[MemberType["INACTIVE"] = 3] = "INACTIVE";
|
|
12
|
+
MemberType[MemberType["DELETED"] = 4] = "DELETED";
|
|
13
|
+
return MemberType;
|
|
14
|
+
}(MemberType || {});
|
|
15
|
+
var checkType = function checkType(member, currentAccountId) {
|
|
16
|
+
var _member$user, _member$user2;
|
|
17
|
+
if (member.membershipId.memberId === currentAccountId) {
|
|
18
|
+
return MemberType.CURRENT_USER;
|
|
19
|
+
} else if (member && member.state === 'INVITED') {
|
|
20
|
+
return MemberType.INVITED;
|
|
21
|
+
} else if (((_member$user = member.user) === null || _member$user === void 0 ? void 0 : _member$user.status) === 'inactive') {
|
|
22
|
+
return MemberType.INACTIVE;
|
|
23
|
+
} else if (((_member$user2 = member.user) === null || _member$user2 === void 0 ? void 0 : _member$user2.status) === 'closed') {
|
|
24
|
+
return MemberType.DELETED;
|
|
25
|
+
} else {
|
|
26
|
+
return MemberType.MEMBER;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var sortMembersByType = exports.sortMembersByType = function sortMembersByType(members, currentAccountId) {
|
|
30
|
+
var newMembers = members.map(function (member) {
|
|
31
|
+
return {
|
|
32
|
+
member: member,
|
|
33
|
+
type: checkType(member, currentAccountId)
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
newMembers.sort(function (_ref, _ref2) {
|
|
37
|
+
var memberA = _ref.member,
|
|
38
|
+
typeA = _ref.type;
|
|
39
|
+
var memberB = _ref2.member,
|
|
40
|
+
typeB = _ref2.type;
|
|
41
|
+
if (typeA === typeB) {
|
|
42
|
+
var _memberA$user, _memberB$user;
|
|
43
|
+
return ((_memberA$user = memberA.user) === null || _memberA$user === void 0 ? void 0 : _memberA$user.fullName.localeCompare(((_memberB$user = memberB.user) === null || _memberB$user === void 0 ? void 0 : _memberB$user.fullName) || '')) || 0;
|
|
44
|
+
} else {
|
|
45
|
+
return typeA - typeB;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
return newMembers.map(function (_ref3) {
|
|
49
|
+
var member = _ref3.member;
|
|
50
|
+
return member;
|
|
51
|
+
});
|
|
52
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.handleResponse = handleResponse;
|
|
7
|
+
exports.statusCodeHandlersProvider = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* Our REST clients are initialised when their module loads which makes it tricky for them to consume the `statusCodeHandlers` prop passed to App from the host application.
|
|
10
|
+
* This is a temporary measure to enable the clients to consume `statusCodeHandlers`.
|
|
11
|
+
* The long term solution is to replace our REST clients with Apollo client custom resolvers
|
|
12
|
+
* This will unify all remote data handling under the apollo-client module which is able to easily receive `statusCodeHandlers` as it is initialised within the React portion of our app.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
var statusCodeHandlersProvider = exports.statusCodeHandlersProvider = {
|
|
16
|
+
handlers: {},
|
|
17
|
+
get: function get() {
|
|
18
|
+
return statusCodeHandlersProvider.handlers;
|
|
19
|
+
},
|
|
20
|
+
setHandlers: function setHandlers(handlers) {
|
|
21
|
+
statusCodeHandlersProvider.handlers = handlers;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
function handleResponse(response) {
|
|
25
|
+
var status = response.status;
|
|
26
|
+
var handler = statusCodeHandlersProvider.get()[status];
|
|
27
|
+
if (typeof handler === 'function') {
|
|
28
|
+
handler(response);
|
|
29
|
+
}
|
|
30
|
+
}
|