@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
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
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; }
|
|
3
|
+
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) { _defineProperty(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; }
|
|
4
|
+
import { formatInTimeZone } from 'date-fns-tz';
|
|
5
|
+
// Key (left-side) is field name which is used in our app.
|
|
6
|
+
// Value (right-side) is field name which is used by data in services
|
|
7
|
+
var PROFILE_PROPS_MAP = new Map([['id', 'account_id'], ['fullName', 'name'], ['nickname', 'nickname'], ['timezone', 'zoneinfo'], ['locale', 'locale'], ['avatarUrl', 'picture'], ['email', 'email']]);
|
|
8
|
+
|
|
9
|
+
// Key (left-side) is field name which is used in our app.
|
|
10
|
+
// Value (right-side) is field name which is used by data in services
|
|
11
|
+
var EXTENDED_PROFILE_PROPS_MAP = new Map([['title', 'job_title'], ['department', 'department'], ['companyName', 'organization'], ['location', 'location'], ['phoneNumber', 'phone_number']]);
|
|
12
|
+
export var fromManageAPIResponse = function fromManageAPIResponse(res) {
|
|
13
|
+
var data = res.account;
|
|
14
|
+
var extendedData = data && data.extended_profile || {};
|
|
15
|
+
if (!data) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
var timeZone = data.zoneinfo;
|
|
19
|
+
var localTime = function localTime(_ref) {
|
|
20
|
+
var format = _ref.format;
|
|
21
|
+
if (!timeZone) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
return formatInTimeZone(new Date(), timeZone, format);
|
|
26
|
+
} catch (error) {
|
|
27
|
+
// TODO: PTC-4908 send error to sentry for reporting
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
var profileProps = Array.from(PROFILE_PROPS_MAP.keys()).reduce(function (acc, key) {
|
|
32
|
+
if (PROFILE_PROPS_MAP.has(key)) {
|
|
33
|
+
acc[key] = data[PROFILE_PROPS_MAP.get(key)];
|
|
34
|
+
}
|
|
35
|
+
return acc;
|
|
36
|
+
}, {});
|
|
37
|
+
var extendedProfileProps = Array.from(EXTENDED_PROFILE_PROPS_MAP.keys()).reduce(function (acc, key) {
|
|
38
|
+
if (EXTENDED_PROFILE_PROPS_MAP.has(key)) {
|
|
39
|
+
acc[key] = extendedData[EXTENDED_PROFILE_PROPS_MAP.get(key)];
|
|
40
|
+
}
|
|
41
|
+
return acc;
|
|
42
|
+
}, {});
|
|
43
|
+
return _objectSpread(_objectSpread(_objectSpread({}, profileProps), extendedProfileProps), {}, {
|
|
44
|
+
localTime: localTime
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// Copied from ptc-common/user type to not messing up dependency
|
|
49
|
+
export var FieldType = /*#__PURE__*/function (FieldType) {
|
|
50
|
+
FieldType["FullName"] = "fullName";
|
|
51
|
+
FieldType["Nickname"] = "nickname";
|
|
52
|
+
// aka `Public name`
|
|
53
|
+
FieldType["Title"] = "title";
|
|
54
|
+
FieldType["Department"] = "department";
|
|
55
|
+
FieldType["CompanyName"] = "companyName";
|
|
56
|
+
FieldType["Location"] = "location";
|
|
57
|
+
FieldType["Timezone"] = "timezone";
|
|
58
|
+
FieldType["Email"] = "email";
|
|
59
|
+
FieldType["PhoneNumber"] = "phoneNumber";
|
|
60
|
+
FieldType["Avatar"] = "picture";
|
|
61
|
+
FieldType["Language"] = "language";
|
|
62
|
+
FieldType["LocalTime"] = "localTime";
|
|
63
|
+
FieldType["RemoteWeekdayIndex"] = "remoteWeekdayIndex";
|
|
64
|
+
FieldType["RemoteWeekdayString"] = "remoteWeekdayString";
|
|
65
|
+
FieldType["RemoteTimeString"] = "remoteTimeString";
|
|
66
|
+
return FieldType;
|
|
67
|
+
}({});
|
|
68
|
+
export var MUTABILITY_DETAILS_MAP = {
|
|
69
|
+
fullName: 'name',
|
|
70
|
+
nickname: 'nickname',
|
|
71
|
+
timezone: 'zoneinfo',
|
|
72
|
+
locale: 'locale',
|
|
73
|
+
email: 'email',
|
|
74
|
+
// extended profile
|
|
75
|
+
title: 'extended_profile.job_title',
|
|
76
|
+
phoneNumber: 'extended_profile.phone_number',
|
|
77
|
+
companyName: 'extended_profile.organization',
|
|
78
|
+
department: 'extended_profile.department',
|
|
79
|
+
location: 'extended_profile.location'
|
|
80
|
+
};
|
|
81
|
+
export var CUSTOM_FIELD_PLACE = {
|
|
82
|
+
email: 'email.initiateChange',
|
|
83
|
+
picture: 'avatar'
|
|
84
|
+
};
|
|
85
|
+
var getFieldConfig = function getFieldConfig(data, field) {
|
|
86
|
+
if ((field === 'email' || field === 'picture') && CUSTOM_FIELD_PLACE[field]) {
|
|
87
|
+
return data[CUSTOM_FIELD_PLACE[field]];
|
|
88
|
+
}
|
|
89
|
+
var mappedFieldKey = field in MUTABILITY_DETAILS_MAP ? MUTABILITY_DETAILS_MAP[field] : undefined;
|
|
90
|
+
if (!mappedFieldKey) {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
var profileWrite = data['profile.write'];
|
|
94
|
+
return profileWrite[mappedFieldKey];
|
|
95
|
+
};
|
|
96
|
+
var convertFieldKeyToFieldType = function 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
|
+
var getMutabilityConstraintFor = function getMutabilityConstraintFor(data, field) {
|
|
104
|
+
var fieldConfig = getFieldConfig(data, field);
|
|
105
|
+
if (!fieldConfig || fieldConfig.allowed) {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
var convertedField = convertFieldKeyToFieldType(field);
|
|
109
|
+
if (!convertedField) {
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
var reason = fieldConfig.reason;
|
|
113
|
+
return {
|
|
114
|
+
field: convertedField,
|
|
115
|
+
reason: reason && reason.key || null
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
export var transformUserManageConfig = function transformUserManageConfig(data) {
|
|
119
|
+
return {
|
|
120
|
+
mutabilityConstraints: Object.keys(MUTABILITY_DETAILS_MAP).map(function (field) {
|
|
121
|
+
return getMutabilityConstraintFor(data, field);
|
|
122
|
+
}).filter(function (constraint) {
|
|
123
|
+
return constraint !== undefined;
|
|
124
|
+
})
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
export var toManageAPIInput = function toManageAPIInput(input) {
|
|
128
|
+
var output = {
|
|
129
|
+
extended_profile: {}
|
|
130
|
+
};
|
|
131
|
+
Object.keys(input).forEach(function (key) {
|
|
132
|
+
if (PROFILE_PROPS_MAP.has(key)) {
|
|
133
|
+
output[PROFILE_PROPS_MAP.get(key)] = input[key];
|
|
134
|
+
}
|
|
135
|
+
if (EXTENDED_PROFILE_PROPS_MAP.has(key)) {
|
|
136
|
+
output.extended_profile[EXTENDED_PROFILE_PROPS_MAP.get(key)] = input[key];
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
return output;
|
|
140
|
+
};
|
|
141
|
+
export function dataURItoFile(dataURI) {
|
|
142
|
+
var filename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'untitled';
|
|
143
|
+
if (dataURI.length === 0) {
|
|
144
|
+
throw new Error('dataURI not found');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// convert base64/URLEncoded data component to raw binary data held in a string
|
|
148
|
+
var byteString = dataURI.split(',')[0].includes('base64') ? atob(dataURI.split(',')[1]) : decodeURIComponent(dataURI.split(',')[1]);
|
|
149
|
+
|
|
150
|
+
// separate out the mime component
|
|
151
|
+
var mimeString;
|
|
152
|
+
try {
|
|
153
|
+
mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
|
|
154
|
+
} catch (e) {
|
|
155
|
+
mimeString = 'unknown';
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// write the bytes of the string to a typed array
|
|
159
|
+
var intArray = new Uint8Array(byteString.length);
|
|
160
|
+
for (var i = 0; i < byteString.length; i++) {
|
|
161
|
+
intArray[i] = byteString.charCodeAt(i);
|
|
162
|
+
}
|
|
163
|
+
var blob = new Blob([intArray], {
|
|
164
|
+
type: mimeString
|
|
165
|
+
});
|
|
166
|
+
try {
|
|
167
|
+
return new File([blob], filename, {
|
|
168
|
+
type: mimeString
|
|
169
|
+
});
|
|
170
|
+
} catch (e) {
|
|
171
|
+
// IE11 and Safari does not support the File constructor.
|
|
172
|
+
return blob;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { teamsClient, TeamsClient } from './main';
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
5
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
6
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
7
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
8
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
9
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
10
|
+
import { DEFAULT_CONFIG } from '../constants';
|
|
11
|
+
import { RestClient } from '../rest-client';
|
|
12
|
+
import { logException } from '../sentry/main';
|
|
13
|
+
import { removeDuplicateRecommendations } from './utils';
|
|
14
|
+
var PRODUCT_RECCOMENDATIONS = '/v1/product-recommendations';
|
|
15
|
+
var PRODUCT_JOIN_OR_REQUEST_BULK = '/v1/access-requests/bulk/request';
|
|
16
|
+
var ALL_SUPPORTED_PRODUCTS = ['confluence', 'jira', 'jira-core', 'jira-servicedesk', 'jira-software', 'jira-incident-manager', 'jira-product-discovery', 'opsgenie', 'statuspage', 'avocado', 'townsquare', 'compass', 'avp', 'beacon', 'mercury'];
|
|
17
|
+
export var InvitationsClient = /*#__PURE__*/function (_RestClient) {
|
|
18
|
+
function InvitationsClient(serviceUrl, config) {
|
|
19
|
+
_classCallCheck(this, InvitationsClient);
|
|
20
|
+
return _callSuper(this, InvitationsClient, [{
|
|
21
|
+
serviceUrl: serviceUrl,
|
|
22
|
+
config: config
|
|
23
|
+
}]);
|
|
24
|
+
}
|
|
25
|
+
_inherits(InvitationsClient, _RestClient);
|
|
26
|
+
return _createClass(InvitationsClient, [{
|
|
27
|
+
key: "getProductRecommendationsInner",
|
|
28
|
+
value: function () {
|
|
29
|
+
var _getProductRecommendationsInner = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
30
|
+
var supportedProducts,
|
|
31
|
+
capabilities,
|
|
32
|
+
orgId,
|
|
33
|
+
queryProducts,
|
|
34
|
+
productQueryParams,
|
|
35
|
+
capabilityQueryParams,
|
|
36
|
+
url,
|
|
37
|
+
_args = arguments;
|
|
38
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
39
|
+
while (1) switch (_context.prev = _context.next) {
|
|
40
|
+
case 0:
|
|
41
|
+
supportedProducts = _args.length > 0 && _args[0] !== undefined ? _args[0] : ALL_SUPPORTED_PRODUCTS;
|
|
42
|
+
capabilities = _args.length > 1 ? _args[1] : undefined;
|
|
43
|
+
_context.prev = 2;
|
|
44
|
+
orgId = this.getOrgId();
|
|
45
|
+
queryProducts = supportedProducts && supportedProducts.length > 0 ? supportedProducts : ALL_SUPPORTED_PRODUCTS;
|
|
46
|
+
productQueryParams = queryProducts.map(function (product) {
|
|
47
|
+
return "product=".concat(product);
|
|
48
|
+
}).join('&');
|
|
49
|
+
capabilityQueryParams = capabilities && capabilities.length > 0 ? '&' + capabilities.map(function (capability) {
|
|
50
|
+
return "capability=".concat(capability);
|
|
51
|
+
}).join('&') : '';
|
|
52
|
+
url = "".concat(PRODUCT_RECCOMENDATIONS, "?orgId=").concat(orgId, "&").concat(productQueryParams).concat(capabilityQueryParams);
|
|
53
|
+
_context.next = 10;
|
|
54
|
+
return this.getResource(url);
|
|
55
|
+
case 10:
|
|
56
|
+
return _context.abrupt("return", _context.sent);
|
|
57
|
+
case 13:
|
|
58
|
+
_context.prev = 13;
|
|
59
|
+
_context.t0 = _context["catch"](2);
|
|
60
|
+
this.logException(_context.t0, 'An error occurred while getting product recommendations.');
|
|
61
|
+
throw _context.t0;
|
|
62
|
+
case 17:
|
|
63
|
+
case "end":
|
|
64
|
+
return _context.stop();
|
|
65
|
+
}
|
|
66
|
+
}, _callee, this, [[2, 13]]);
|
|
67
|
+
}));
|
|
68
|
+
function getProductRecommendationsInner() {
|
|
69
|
+
return _getProductRecommendationsInner.apply(this, arguments);
|
|
70
|
+
}
|
|
71
|
+
return getProductRecommendationsInner;
|
|
72
|
+
}()
|
|
73
|
+
}, {
|
|
74
|
+
key: "getProductRecommendations",
|
|
75
|
+
value: function () {
|
|
76
|
+
var _getProductRecommendations = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
77
|
+
var supportedProducts,
|
|
78
|
+
capabilities,
|
|
79
|
+
result,
|
|
80
|
+
deduplicatedResult,
|
|
81
|
+
_args2 = arguments;
|
|
82
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
83
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
84
|
+
case 0:
|
|
85
|
+
supportedProducts = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : ALL_SUPPORTED_PRODUCTS;
|
|
86
|
+
capabilities = _args2.length > 1 ? _args2[1] : undefined;
|
|
87
|
+
_context2.next = 4;
|
|
88
|
+
return this.getProductRecommendationsInner(supportedProducts, capabilities);
|
|
89
|
+
case 4:
|
|
90
|
+
result = _context2.sent;
|
|
91
|
+
_context2.prev = 5;
|
|
92
|
+
deduplicatedResult = removeDuplicateRecommendations(result);
|
|
93
|
+
return _context2.abrupt("return", deduplicatedResult);
|
|
94
|
+
case 10:
|
|
95
|
+
_context2.prev = 10;
|
|
96
|
+
_context2.t0 = _context2["catch"](5);
|
|
97
|
+
this.logException(_context2.t0, 'An error occurred while deduplicating product recommendations.');
|
|
98
|
+
throw _context2.t0;
|
|
99
|
+
case 14:
|
|
100
|
+
case "end":
|
|
101
|
+
return _context2.stop();
|
|
102
|
+
}
|
|
103
|
+
}, _callee2, this, [[5, 10]]);
|
|
104
|
+
}));
|
|
105
|
+
function getProductRecommendations() {
|
|
106
|
+
return _getProductRecommendations.apply(this, arguments);
|
|
107
|
+
}
|
|
108
|
+
return getProductRecommendations;
|
|
109
|
+
}()
|
|
110
|
+
}, {
|
|
111
|
+
key: "joinOrRequestDefaultAccessToProductsBulk",
|
|
112
|
+
value: function () {
|
|
113
|
+
var _joinOrRequestDefaultAccessToProductsBulk = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(simplifiedRequest) {
|
|
114
|
+
var resources, request;
|
|
115
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
116
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
117
|
+
case 0:
|
|
118
|
+
if (!(simplifiedRequest.productAris.length === 0)) {
|
|
119
|
+
_context3.next = 2;
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
return _context3.abrupt("return", Promise.resolve([]));
|
|
123
|
+
case 2:
|
|
124
|
+
_context3.prev = 2;
|
|
125
|
+
resources = simplifiedRequest.productAris.map(function (ari) {
|
|
126
|
+
return {
|
|
127
|
+
ari: ari,
|
|
128
|
+
role: 'product/member'
|
|
129
|
+
};
|
|
130
|
+
});
|
|
131
|
+
request = {
|
|
132
|
+
resources: resources,
|
|
133
|
+
note: simplifiedRequest.note,
|
|
134
|
+
accessMode: simplifiedRequest.accessMode,
|
|
135
|
+
source: simplifiedRequest.source
|
|
136
|
+
};
|
|
137
|
+
_context3.next = 7;
|
|
138
|
+
return this.postResource(PRODUCT_JOIN_OR_REQUEST_BULK, request);
|
|
139
|
+
case 7:
|
|
140
|
+
return _context3.abrupt("return", _context3.sent);
|
|
141
|
+
case 10:
|
|
142
|
+
_context3.prev = 10;
|
|
143
|
+
_context3.t0 = _context3["catch"](2);
|
|
144
|
+
this.logException(_context3.t0, 'An error occurred while joining or requesting access to products.');
|
|
145
|
+
throw _context3.t0;
|
|
146
|
+
case 14:
|
|
147
|
+
case "end":
|
|
148
|
+
return _context3.stop();
|
|
149
|
+
}
|
|
150
|
+
}, _callee3, this, [[2, 10]]);
|
|
151
|
+
}));
|
|
152
|
+
function joinOrRequestDefaultAccessToProductsBulk(_x) {
|
|
153
|
+
return _joinOrRequestDefaultAccessToProductsBulk.apply(this, arguments);
|
|
154
|
+
}
|
|
155
|
+
return joinOrRequestDefaultAccessToProductsBulk;
|
|
156
|
+
}()
|
|
157
|
+
}]);
|
|
158
|
+
}(RestClient);
|
|
159
|
+
|
|
160
|
+
// eslint-disable-next-line import/no-anonymous-default-export
|
|
161
|
+
export default new InvitationsClient(DEFAULT_CONFIG.invitationsServiceUrl, {
|
|
162
|
+
logException: logException
|
|
163
|
+
});
|
|
File without changes
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["capability"];
|
|
5
|
+
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; }
|
|
6
|
+
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) { _defineProperty(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; }
|
|
7
|
+
/**
|
|
8
|
+
* Determines which capability is more desirable.
|
|
9
|
+
* Users desire direct access over request access since it's instant.
|
|
10
|
+
* @returns 0 if equal, -1 if a is more desirable, 1 if b is more desirable.
|
|
11
|
+
*/
|
|
12
|
+
var compareCapability = function compareCapability(a, b) {
|
|
13
|
+
if (a === b) {
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
return a === 'DIRECT_ACCESS' ? -1 : 1;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Determines which mode is more desirable.
|
|
21
|
+
* Atlassian prefers to provide open access over domain restricted access.
|
|
22
|
+
* Both of these modes have already been enabled by an admin.
|
|
23
|
+
* If mode is undefined, it is deemed least desirable.
|
|
24
|
+
* @returns 0 if equal, -1 if a is more open, 1 if b is more open.
|
|
25
|
+
*/
|
|
26
|
+
var compareMode = function compareMode(a, b) {
|
|
27
|
+
if (a === b) {
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
if (!a) {
|
|
31
|
+
return 1;
|
|
32
|
+
}
|
|
33
|
+
if (!b) {
|
|
34
|
+
return -1;
|
|
35
|
+
}
|
|
36
|
+
return a === 'OPEN' ? -1 : 1;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Determine if a recommendation is more desirable than another.
|
|
41
|
+
* Atlassian prefers a better capability over any mode setting.
|
|
42
|
+
* The mode will only be compared if the capabilities are equal.
|
|
43
|
+
* If both capability and mode are equal, the recommendations are considered the same.
|
|
44
|
+
*
|
|
45
|
+
* Assumes recommendations have the same resource ID.
|
|
46
|
+
* Do not compare recommendations with different resource IDs, as it does not make sense.
|
|
47
|
+
*
|
|
48
|
+
* @returns 0 if capability and mode are equal, -1 if a is more desirable, 1 if b is more desirable.
|
|
49
|
+
*/
|
|
50
|
+
var compareRecommendations = function compareRecommendations(a, b) {
|
|
51
|
+
if (a.resourceId !== b.resourceId) {
|
|
52
|
+
throw new Error('Recommendations must have the same resource ID');
|
|
53
|
+
}
|
|
54
|
+
if (compareCapability(a.capability, b.capability) < 0) {
|
|
55
|
+
return -1;
|
|
56
|
+
} else if (compareCapability(a.capability, b.capability) > 0) {
|
|
57
|
+
return 1;
|
|
58
|
+
} else if (compareMode(a.mode, b.mode) < 0) {
|
|
59
|
+
return -1;
|
|
60
|
+
} else if (compareMode(a.mode, b.mode) > 0) {
|
|
61
|
+
return 1;
|
|
62
|
+
}
|
|
63
|
+
return 0;
|
|
64
|
+
};
|
|
65
|
+
var toRecommendation = function toRecommendation(recommendation) {
|
|
66
|
+
var capability = recommendation.capability,
|
|
67
|
+
rest = _objectWithoutProperties(recommendation, _excluded);
|
|
68
|
+
return _objectSpread({}, rest);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Removes duplicate recommendations with the same resource ARI.
|
|
73
|
+
* When a collision occurs, select the recommendation with the most desirable capability and mode.
|
|
74
|
+
* @returns a recommendation response with unique resource ARIs.
|
|
75
|
+
*/
|
|
76
|
+
export var removeDuplicateRecommendations = function removeDuplicateRecommendations(recommendations) {
|
|
77
|
+
var _recommendations$capa = recommendations.capability,
|
|
78
|
+
DIRECT_ACCESS = _recommendations$capa.DIRECT_ACCESS,
|
|
79
|
+
REQUEST_ACCESS = _recommendations$capa.REQUEST_ACCESS;
|
|
80
|
+
var uniqueRecommendations = {};
|
|
81
|
+
var allRecommendations = [].concat(_toConsumableArray(DIRECT_ACCESS.map(function (recommendation) {
|
|
82
|
+
return _objectSpread(_objectSpread({}, recommendation), {}, {
|
|
83
|
+
capability: 'DIRECT_ACCESS'
|
|
84
|
+
});
|
|
85
|
+
})), _toConsumableArray(REQUEST_ACCESS.map(function (recommendation) {
|
|
86
|
+
return _objectSpread(_objectSpread({}, recommendation), {}, {
|
|
87
|
+
capability: 'REQUEST_ACCESS'
|
|
88
|
+
});
|
|
89
|
+
})));
|
|
90
|
+
allRecommendations.forEach(function (recommendation) {
|
|
91
|
+
var existing = uniqueRecommendations[recommendation.resourceId];
|
|
92
|
+
if (existing && compareRecommendations(existing, recommendation) <= 0) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
uniqueRecommendations[recommendation.resourceId] = recommendation;
|
|
96
|
+
});
|
|
97
|
+
var allUniqueRecommendations = Object.values(uniqueRecommendations);
|
|
98
|
+
return {
|
|
99
|
+
capability: {
|
|
100
|
+
DIRECT_ACCESS: allUniqueRecommendations.filter(function (recommendation) {
|
|
101
|
+
return recommendation.capability === 'DIRECT_ACCESS';
|
|
102
|
+
}).map(toRecommendation),
|
|
103
|
+
REQUEST_ACCESS: allUniqueRecommendations.filter(function (recommendation) {
|
|
104
|
+
return recommendation.capability === 'REQUEST_ACCESS';
|
|
105
|
+
}).map(toRecommendation)
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|