@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,541 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { TEAMS_CLIENT_EXPERIENCES } from '../common/utils/ufo/constants';
|
|
3
|
+
import { aggClient } from './agg-client';
|
|
4
|
+
import collaborationGraphClient from './collaborationgraph-client';
|
|
5
|
+
import { directoryClient } from './directory-client';
|
|
6
|
+
import identityClient from './identity-client';
|
|
7
|
+
import invitationsClient from './invitations-client';
|
|
8
|
+
import { defaultLegionClient } from './legion-client';
|
|
9
|
+
import mutabilityClient from './mutability-client';
|
|
10
|
+
import objectResolverClient from './object-resolver-client';
|
|
11
|
+
import permsClient from './perms-client';
|
|
12
|
+
import publicApiClient from './public-api-client';
|
|
13
|
+
import teamsInSlackClient from './teams-in-slack-client';
|
|
14
|
+
import userPreferencesClient from './user-preferences-client';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* This solves error TS1055:
|
|
18
|
+
* Type 'ReturnType' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The Teams Client is an used for fetching data related to Atlas teams.
|
|
23
|
+
* It is an abstraction over the various clients that are used to fetch data related to teams.
|
|
24
|
+
* Find out more about the APIs here - [https://developer.atlassian.com/platform/teams-internal/](https://developer.atlassian.com/platform/teams-internal/)
|
|
25
|
+
*/
|
|
26
|
+
export class TeamsClient {
|
|
27
|
+
constructor(
|
|
28
|
+
/**
|
|
29
|
+
* @param {ClientContextProps} context - Context including CloudId & OrgId to be used for all requests
|
|
30
|
+
*/
|
|
31
|
+
context) {
|
|
32
|
+
_defineProperty(this, "_aggClient", aggClient);
|
|
33
|
+
_defineProperty(this, "_directoryClient", directoryClient);
|
|
34
|
+
_defineProperty(this, "_legionClient", defaultLegionClient);
|
|
35
|
+
_defineProperty(this, "_mutabilityClient", mutabilityClient);
|
|
36
|
+
_defineProperty(this, "_permsClient", permsClient);
|
|
37
|
+
_defineProperty(this, "_publicApiClient", publicApiClient);
|
|
38
|
+
_defineProperty(this, "_invitationsClient", invitationsClient);
|
|
39
|
+
_defineProperty(this, "_userPreferencesClient", userPreferencesClient);
|
|
40
|
+
_defineProperty(this, "_objectResolverClient", objectResolverClient);
|
|
41
|
+
_defineProperty(this, "_teamsInSlackClient", teamsInSlackClient);
|
|
42
|
+
_defineProperty(this, "_collaborationGraphClient", collaborationGraphClient);
|
|
43
|
+
_defineProperty(this, "_identityClient", identityClient);
|
|
44
|
+
if (context) {
|
|
45
|
+
this.setContext(context);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async measurePerformance(name, fn) {
|
|
49
|
+
const exp = TEAMS_CLIENT_EXPERIENCES.get(name);
|
|
50
|
+
if (!exp) {
|
|
51
|
+
return fn();
|
|
52
|
+
}
|
|
53
|
+
exp.start();
|
|
54
|
+
try {
|
|
55
|
+
const result = await fn();
|
|
56
|
+
exp.success();
|
|
57
|
+
return result;
|
|
58
|
+
} catch (e) {
|
|
59
|
+
exp.failWithError(e);
|
|
60
|
+
throw e;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Sets the base URL to be used in the client requests
|
|
66
|
+
* @param {string} baseUrl - The new base URL
|
|
67
|
+
*/
|
|
68
|
+
setBaseUrl(baseUrl) {
|
|
69
|
+
this._aggClient.setBaseUrl(baseUrl);
|
|
70
|
+
this._directoryClient.setBaseUrl(baseUrl);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Sets context including CloudId & OrgId to be used for all requests
|
|
75
|
+
*/
|
|
76
|
+
setContext(context) {
|
|
77
|
+
this._aggClient.setContext(context);
|
|
78
|
+
this._directoryClient.setContext(context);
|
|
79
|
+
this._legionClient.setContext(context);
|
|
80
|
+
this._permsClient.setContext(context);
|
|
81
|
+
this._mutabilityClient.setContext(context);
|
|
82
|
+
this._publicApiClient.setContext(context);
|
|
83
|
+
this._invitationsClient.setContext(context);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* @private
|
|
88
|
+
* @deprecated use setBaseUrl instead
|
|
89
|
+
*/
|
|
90
|
+
setDirectoryBaseUrl(baseUrl) {
|
|
91
|
+
// eslint-disable-next-line no-console
|
|
92
|
+
console.warn('setDirectoryBaseUrl is deprecated, use setBaseUrl instead');
|
|
93
|
+
return this._directoryClient.setBaseUrl(baseUrl);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Fetches Browse user settings
|
|
98
|
+
*/
|
|
99
|
+
async querySettings(cloudId, product) {
|
|
100
|
+
if (cloudId) {
|
|
101
|
+
this.setContext({
|
|
102
|
+
cloudId
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return this.measurePerformance('querySettings', async () => {
|
|
106
|
+
if (!product) {
|
|
107
|
+
throw new Error('Product is required');
|
|
108
|
+
}
|
|
109
|
+
const response = await this._legionClient.retrieveBrowseUserPermission(product);
|
|
110
|
+
return {
|
|
111
|
+
'internal.browse-users-allowed': response.canSearchUsers
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* This will return all of the teams-related permissions that your user has for the org and site in the client context.
|
|
118
|
+
*/
|
|
119
|
+
async getPermissions() {
|
|
120
|
+
return this.measurePerformance('getPermissions', () => this._legionClient.getPermissions());
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Fetches feature flags from Directory
|
|
125
|
+
* @deprecated As part of decommisioning pf-directoy
|
|
126
|
+
*/
|
|
127
|
+
async queryFeatureFlags(...args) {
|
|
128
|
+
return this.measurePerformance('queryFeatureFlags', () => this._directoryClient.queryFeatureFlags(...args));
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Get user information of members of a team, paginated
|
|
133
|
+
* @param {string} teamId
|
|
134
|
+
* @returns {Promise}
|
|
135
|
+
*/
|
|
136
|
+
async queryTeamMemberships(teamId, membershipState = ['FULL_MEMBER'], pageInfo = {
|
|
137
|
+
first: 100
|
|
138
|
+
}) {
|
|
139
|
+
return this._aggClient.queryTeamMemberships(teamId, membershipState, pageInfo);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Get user information given an user id
|
|
144
|
+
* @param {string} userId
|
|
145
|
+
* @returns {Promise}
|
|
146
|
+
*/
|
|
147
|
+
async queryAGGUser(userId) {
|
|
148
|
+
return this._aggClient.queryAGGUser(userId);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Get user information of a member of a team
|
|
153
|
+
* @param {string} userId
|
|
154
|
+
* @returns {Promise<CloudUser>}
|
|
155
|
+
*/
|
|
156
|
+
queryUser(...args) {
|
|
157
|
+
return this.measurePerformance('queryUser', () => this._directoryClient.queryUser(...args));
|
|
158
|
+
}
|
|
159
|
+
setLegionRootUrl(url) {
|
|
160
|
+
return this._legionClient.setRootUrl(url);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
*
|
|
165
|
+
* @param teamId
|
|
166
|
+
* @returns {Promise<TeamWithImageUrls>}
|
|
167
|
+
*/
|
|
168
|
+
async getTeamById(teamId) {
|
|
169
|
+
return this.measurePerformance('getTeamById', () => this._legionClient.getTeamById(teamId));
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Search teams based on query
|
|
174
|
+
*/
|
|
175
|
+
async getAllTeams(...args) {
|
|
176
|
+
return this.measurePerformance('getAllTeams', () => this._legionClient.getAllTeams(...args));
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Update team details
|
|
181
|
+
*/
|
|
182
|
+
async updateTeamById(...args) {
|
|
183
|
+
return this.measurePerformance('updateTeamById', () => this._legionClient.updateTeamById(...args));
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* @private
|
|
188
|
+
* @deprecated use addUsersToTeam instead
|
|
189
|
+
*/
|
|
190
|
+
async inviteUsersToTeam(...args) {
|
|
191
|
+
return this.measurePerformance('inviteUsersToTeam', () => this._legionClient.inviteUsersToTeam(...args));
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Get the current user's team membership
|
|
196
|
+
*/
|
|
197
|
+
async getMyTeamMembership(...args) {
|
|
198
|
+
return this.measurePerformance('getMyTeamMembership', () => this._legionClient.getMyTeamMembership(...args));
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Get a teams "Links"
|
|
203
|
+
*/
|
|
204
|
+
async getTeamLinksByTeamId(teamId) {
|
|
205
|
+
return this.measurePerformance('getTeamLinksByTeamId', () => this._legionClient.getTeamLinksByTeamId(teamId));
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Create a team link
|
|
210
|
+
*/
|
|
211
|
+
async createTeamLink(...args) {
|
|
212
|
+
return this.measurePerformance('createTeamLink', () => this._legionClient.createTeamLink(...args));
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Update a team link
|
|
217
|
+
*/
|
|
218
|
+
async updateTeamLink(...args) {
|
|
219
|
+
return this.measurePerformance('updateTeamLink', () => this._legionClient.updateTeamLink(...args));
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Delete a team link
|
|
224
|
+
*/
|
|
225
|
+
async deleteTeamLink(...args) {
|
|
226
|
+
return this.measurePerformance('deleteTeamLink', () => this._legionClient.deleteTeamLink(...args));
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* Reorder a team link
|
|
231
|
+
*/
|
|
232
|
+
async reorderTeamLink(...args) {
|
|
233
|
+
return this.measurePerformance('reorderTeamLink', () => this._legionClient.reorderTeamLink(...args));
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Get org's eligibility for managed teams
|
|
238
|
+
*/
|
|
239
|
+
async getOrgEligibilityForManagedTeams() {
|
|
240
|
+
return this.measurePerformance('getOrgEligibilityForManagedTeams', () => this._legionClient.getOrgEligibilityForManagedTeams());
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* @deprecated Invitation status no longer exists
|
|
245
|
+
* Accept a team invitation
|
|
246
|
+
*/
|
|
247
|
+
async acceptTeamInvitation(...args) {
|
|
248
|
+
return this.measurePerformance('acceptTeamInvitation', () => this._legionClient.acceptTeamInvitation(...args));
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* @deprecated Invitation status no longer exists
|
|
253
|
+
* Decline a team invitation
|
|
254
|
+
*/
|
|
255
|
+
async declineTeamInvitation(...args) {
|
|
256
|
+
return this.measurePerformance('declineTeamInvitation', () => this._legionClient.declineTeamInvitation(...args));
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Add current user to a team
|
|
261
|
+
*/
|
|
262
|
+
async selfJoinTeam(...args) {
|
|
263
|
+
return this.measurePerformance('selfJoinTeam', () => this._legionClient.selfJoinTeam(...args));
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Cancel a join request to a private team
|
|
268
|
+
*/
|
|
269
|
+
async cancelJoinRequest(teamId) {
|
|
270
|
+
return this.measurePerformance('cancelJoinRequest', () => this._legionClient.cancelJoinRequest(teamId));
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Accept a join request to a private team
|
|
275
|
+
*/
|
|
276
|
+
async acceptJoinRequest(...args) {
|
|
277
|
+
return this.measurePerformance('acceptJoinRequest', () => this._legionClient.acceptJoinRequest(...args));
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Decline a join request to a private team
|
|
282
|
+
*/
|
|
283
|
+
async declineJoinRequest(...args) {
|
|
284
|
+
return this.measurePerformance('declineJoinRequest', () => this._legionClient.declineJoinRequest(...args));
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* @deprecated use removeTeamMemberships instead
|
|
289
|
+
*/
|
|
290
|
+
async deleteTeamMembership(...args) {
|
|
291
|
+
return this.measurePerformance('deleteTeamMembership', () => this._legionClient.deleteTeamMembership(...args));
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* @deprecated INVITED status has been deprecated
|
|
296
|
+
*/
|
|
297
|
+
async revokeTeamInvite(...args) {
|
|
298
|
+
return this.measurePerformance('revokeTeamInvite', () => this._legionClient.revokeTeamInvite(...args));
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Delete a team
|
|
303
|
+
*/
|
|
304
|
+
async deleteTeam(teamId) {
|
|
305
|
+
return this.measurePerformance('deleteTeam', () => this._legionClient.deleteTeam(teamId));
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* @private
|
|
310
|
+
* @deprecated should be other means to solve this issue
|
|
311
|
+
*/
|
|
312
|
+
async isSingleFullMemberTeam(teamId) {
|
|
313
|
+
return this._legionClient.isSingleFullMemberTeam(teamId);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* Create a team
|
|
318
|
+
*/
|
|
319
|
+
async createTeam(...args) {
|
|
320
|
+
return this.measurePerformance('createTeam', () => this._legionClient.createTeam(...args));
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Create a external team
|
|
325
|
+
* @param {string} groupDescription - The description of the group, which will be used as the team description. The group name will be fetched from the identity service, so it does not need to be provided.
|
|
326
|
+
* @param {ExternalReference} externalReference
|
|
327
|
+
*/
|
|
328
|
+
async createExternalTeam(...args) {
|
|
329
|
+
return this.measurePerformance('createExternalTeam', () => this._legionClient.createExternalTeam(...args));
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Get linked teams for a groups in bulk
|
|
334
|
+
* @param {string} groupIds - The group ids to fetch linked teams for
|
|
335
|
+
*/
|
|
336
|
+
async getLinkedTeamsBulk(...args) {
|
|
337
|
+
return this.measurePerformance('getLinkedTeamsBulk', () => this._legionClient.getLinkedTeamsBulk(...args));
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Get Org scope
|
|
342
|
+
*/
|
|
343
|
+
async getOrgScope(...args) {
|
|
344
|
+
return this.measurePerformance('getOrgScope', () => this._legionClient.getOrgScope(...args));
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
/**
|
|
348
|
+
* Restore soft-deleted team and sync to group
|
|
349
|
+
*/
|
|
350
|
+
async restoreTeamToSyncedGroup(...args) {
|
|
351
|
+
return this.measurePerformance('restoreTeamToSyncedGroup', () => this._legionClient.restoreTeamToSyncedGroup(...args));
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Get the difference between a team and a group
|
|
356
|
+
* @param teamId
|
|
357
|
+
* @param {ExternalReference} externalReference
|
|
358
|
+
* @returns {Promise<TeamAndGroupDifference>}
|
|
359
|
+
*/
|
|
360
|
+
async getTeamAndGroupDiff(...args) {
|
|
361
|
+
return this.measurePerformance('getTeamAndGroupDiff', () => this._legionClient.getTeamAndGroupDiff(...args));
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Link an existing team to a group
|
|
366
|
+
* @param teamId
|
|
367
|
+
* @param {ExternalReference} externalReference
|
|
368
|
+
*/
|
|
369
|
+
async linkExistingTeamToGroup(...args) {
|
|
370
|
+
return this.measurePerformance('linkExistingTeamToGroup', () => this._legionClient.linkExistingTeamToGroup(...args));
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
*
|
|
375
|
+
* @param teamId
|
|
376
|
+
* @returns {Promise<LinkedTeamsProfileDetails>}
|
|
377
|
+
*/
|
|
378
|
+
async getTeamProfileDetailsByTeamId(...args) {
|
|
379
|
+
return this.measurePerformance('getTeamProfileDetails', () => this._legionClient.getTeamProfileDetails(...args));
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
/**
|
|
383
|
+
*
|
|
384
|
+
* @param teamId
|
|
385
|
+
* @returns {Promise<SoftDeletedTeam>}
|
|
386
|
+
*/
|
|
387
|
+
async getSoftDeletdTeamById(teamId) {
|
|
388
|
+
return this.measurePerformance('getSoftDeletedTeamById', () => this._legionClient.getSoftDeletedTeamById(teamId));
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* Shoud only be used within Teams (P&T) packages
|
|
393
|
+
* @param userId
|
|
394
|
+
* @returns {Promise<SoftDeletedTeam>}
|
|
395
|
+
*/
|
|
396
|
+
async getUserInSiteUserBase(userId) {
|
|
397
|
+
return this.measurePerformance('getUserInSiteUserBase', () => this._legionClient.getUserInSiteUserBase(userId));
|
|
398
|
+
}
|
|
399
|
+
trimTeamARI(teamId = '') {
|
|
400
|
+
return this._legionClient.trimTeamARI(teamId);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* Get user profile with mutability constraints
|
|
405
|
+
*/
|
|
406
|
+
async getProfileWithMutability(...args) {
|
|
407
|
+
return this.measurePerformance('getProfileWithMutability', () => this._mutabilityClient.getProfileWithMutability(...args));
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* Is the current user a site admin
|
|
412
|
+
*/
|
|
413
|
+
getIsSiteAdmin(...args) {
|
|
414
|
+
return this.measurePerformance('getIsSiteAdmin', () => this._permsClient.getIsSiteAdmin(...args));
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Add users to a team
|
|
419
|
+
*/
|
|
420
|
+
addUsersToTeam(...args) {
|
|
421
|
+
return this.measurePerformance('addUsersToTeam', () => this._publicApiClient.addUsersToTeam(...args));
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Remove users from a team
|
|
426
|
+
*/
|
|
427
|
+
removeTeamMemberships(...args) {
|
|
428
|
+
return this.measurePerformance('removeTeamMemberships', () => this._publicApiClient.removeTeamMemberships(...args));
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
/**
|
|
432
|
+
* Restore a deleted team
|
|
433
|
+
*/
|
|
434
|
+
restoreTeam(...args) {
|
|
435
|
+
return this.measurePerformance('restoreTeam', () => this._publicApiClient.restoreTeam(...args));
|
|
436
|
+
}
|
|
437
|
+
getRecommendedProducts(...args) {
|
|
438
|
+
return this.measurePerformance('getRecommendedProducts', () => this._invitationsClient.getProductRecommendations(...args));
|
|
439
|
+
}
|
|
440
|
+
joinOrRequestDefaultAccessToProductsBulk(...args) {
|
|
441
|
+
return this.measurePerformance('joinOrRequestDefaultAccessToProductsBulk', () => this._invitationsClient.joinOrRequestDefaultAccessToProductsBulk(...args));
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* Get token to upload media for a team
|
|
446
|
+
*/
|
|
447
|
+
async getWriteTeamMediaToken() {
|
|
448
|
+
return this.measurePerformance('getWriteTeamMediaToken', () => this._legionClient.getWriteMediaToken());
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* Get token to read media for a user
|
|
453
|
+
*/
|
|
454
|
+
async getReadMediaToken(...args) {
|
|
455
|
+
return this.measurePerformance('getReadMediaToken', () => this._userPreferencesClient.getReadMediaToken(...args));
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Get token to upload media for a user
|
|
460
|
+
*/
|
|
461
|
+
async getWriteUserMediaToken() {
|
|
462
|
+
return this.measurePerformance('getWriteUserMediaToken', () => this._userPreferencesClient.getWriteMediaToken());
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* Update header image for a user
|
|
467
|
+
*/
|
|
468
|
+
async updateUserHeaderImage(headerImageId) {
|
|
469
|
+
return this.measurePerformance('updateUserHeaderImage', () => this._userPreferencesClient.updateUserHeaderImage(headerImageId));
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* Fetch user containers from collboration graph
|
|
474
|
+
*/
|
|
475
|
+
async getUserContainers(...args) {
|
|
476
|
+
return this.measurePerformance('getUserContainers', () => this._collaborationGraphClient.getUserContainers(...args));
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Fetch mutatability of external managed user fields
|
|
481
|
+
*/
|
|
482
|
+
async getUserManageConfig(...args) {
|
|
483
|
+
return this.measurePerformance('getUserManageConfig', () => this._identityClient.getUserManageConfig(...args));
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
/**
|
|
487
|
+
* Fetch user avatar uploaded status
|
|
488
|
+
*/
|
|
489
|
+
async getMyAvatarUploadedStatus(...args) {
|
|
490
|
+
return this.measurePerformance('getMyAvatarUploadedStatus', () => this._identityClient.getMyAvatarUploadedStatus(...args));
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
/**
|
|
494
|
+
* Delete user avatar
|
|
495
|
+
*/
|
|
496
|
+
async deleteAvatar(...args) {
|
|
497
|
+
return this.measurePerformance('deleteUserAvatar', () => this._identityClient.deleteAvatar(...args));
|
|
498
|
+
}
|
|
499
|
+
async fetchUserAvatarInfo(...args) {
|
|
500
|
+
return this.measurePerformance('fetchUserAvatarInfo', () => this._identityClient.fetchUserAvatarInfo(...args));
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
/**
|
|
504
|
+
* Fetch Team link icons
|
|
505
|
+
*/
|
|
506
|
+
async getTeamLinkIcons(...args) {
|
|
507
|
+
return this.measurePerformance('getTeamLinkIcons', () => this._objectResolverClient.getTeamLinkIcons(...args));
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
/**
|
|
511
|
+
* Fetch team in slack details
|
|
512
|
+
*/
|
|
513
|
+
async getTeamInSlack(...args) {
|
|
514
|
+
return this.measurePerformance('getTeamInSlack', () => this._teamsInSlackClient.getTeamInSlack(...args));
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Delete team in slack
|
|
519
|
+
*/
|
|
520
|
+
async disconnectTeamInSlack(...args) {
|
|
521
|
+
return this.measurePerformance('disconnectTeamInSlack', () => this._teamsInSlackClient.disconnectTeamInSlack(...args));
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
/**
|
|
525
|
+
* Update team in slack
|
|
526
|
+
*/
|
|
527
|
+
async updateTeamInSlack(...args) {
|
|
528
|
+
return this.measurePerformance('updateTeamInSlack', () => this._teamsInSlackClient.updateTeamInSlack(...args));
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* Update user details
|
|
533
|
+
*/
|
|
534
|
+
async updateUser(...args) {
|
|
535
|
+
return this.measurePerformance('updateUser', () => this._identityClient.updateUser(...args));
|
|
536
|
+
}
|
|
537
|
+
async updateUserAvatar(...args) {
|
|
538
|
+
return this.measurePerformance('updateUserAvatar', () => this._identityClient.updateUserAvatar(...args));
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
export const teamsClient = new TeamsClient();
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { DefaultError } from '../../common/utils/error';
|
|
2
|
+
import { DEFAULT_CONFIG } from '../constants';
|
|
3
|
+
import { RestClient } from '../rest-client';
|
|
4
|
+
const defaultConfig = {
|
|
5
|
+
serviceUrl: `${DEFAULT_CONFIG.stargateRoot}/users/manage`
|
|
6
|
+
};
|
|
7
|
+
const NOT_EDITABLE = 'not_editable';
|
|
8
|
+
const NOT_EDITABLE_FIELD = 'field';
|
|
9
|
+
const NOT_EDITABLE_REASON = 'reason';
|
|
10
|
+
export class MutabilityClient extends RestClient {
|
|
11
|
+
constructor(config = {}) {
|
|
12
|
+
super({
|
|
13
|
+
...defaultConfig,
|
|
14
|
+
...config
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async getProfileWithMutability(userId) {
|
|
18
|
+
return this.getResource(`/${userId}/profile`).then(resp => {
|
|
19
|
+
return mapToMutabilityConstraints(resp);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function mapToMutabilityConstraints(json) {
|
|
24
|
+
let constraints = [];
|
|
25
|
+
if (json[NOT_EDITABLE] != null) {
|
|
26
|
+
for (const value of json[NOT_EDITABLE]) {
|
|
27
|
+
constraints = constraints.concat({
|
|
28
|
+
field: value[NOT_EDITABLE_FIELD],
|
|
29
|
+
reason: determineReason(value[NOT_EDITABLE_REASON])
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return constraints;
|
|
34
|
+
}
|
|
35
|
+
function determineReason(value) {
|
|
36
|
+
switch (value) {
|
|
37
|
+
case 'managed':
|
|
38
|
+
case 'ext.dir.scim':
|
|
39
|
+
case 'ext.dir.google':
|
|
40
|
+
return value;
|
|
41
|
+
default:
|
|
42
|
+
throw new DefaultError({
|
|
43
|
+
message: `Unknown mutability constraint reason: ${value}`
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// eslint-disable-next-line import/no-anonymous-default-export
|
|
49
|
+
export default new MutabilityClient();
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DEFAULT_CONFIG } from '../constants';
|
|
2
|
+
import { RestClient } from '../rest-client';
|
|
3
|
+
import { transformIconData } from './utils';
|
|
4
|
+
const defaultConfig = {
|
|
5
|
+
serviceUrl: `${DEFAULT_CONFIG.stargateRoot}`
|
|
6
|
+
};
|
|
7
|
+
export class ObjectResolverClient extends RestClient {
|
|
8
|
+
constructor(config = {}) {
|
|
9
|
+
super({
|
|
10
|
+
...defaultConfig,
|
|
11
|
+
...config
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async getTeamLinkIcons(teamLinkUrls) {
|
|
15
|
+
const requestBody = teamLinkUrls.map(url => ({
|
|
16
|
+
resourceUrl: url
|
|
17
|
+
}));
|
|
18
|
+
return this.postResourceRaw(`/object-resolver/resolve/batch`, JSON.stringify(requestBody)).then(transformIconData);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export default new ObjectResolverClient();
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This type matches the props for the TeamLinkIcon component in embeddable-directory
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* These names match the Provider Name in the JSON-LD response from respective resolvers
|
|
7
|
+
*/
|
|
8
|
+
export let ProviderNames = /*#__PURE__*/function (ProviderNames) {
|
|
9
|
+
ProviderNames["CONFLUENCE"] = "Confluence";
|
|
10
|
+
ProviderNames["JIRA"] = "Jira";
|
|
11
|
+
return ProviderNames;
|
|
12
|
+
}({});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ProviderNames } from './types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Formats data into LinkIconData with appropriate Jira/Confluence favicon urls.
|
|
5
|
+
* Undefined icons remain undefined.
|
|
6
|
+
* Exported for testing purposes.
|
|
7
|
+
*
|
|
8
|
+
* Confluence favicon extension: /wiki/favicon.ico
|
|
9
|
+
* Jira favicon extension: /favicon.ico
|
|
10
|
+
*
|
|
11
|
+
* @param jsonLd - raw JSON-LD data for an individual link
|
|
12
|
+
*/
|
|
13
|
+
export const formatLinkIconData = jsonLd => {
|
|
14
|
+
const {
|
|
15
|
+
url,
|
|
16
|
+
generator: {
|
|
17
|
+
name,
|
|
18
|
+
icon
|
|
19
|
+
}
|
|
20
|
+
} = jsonLd;
|
|
21
|
+
switch (name) {
|
|
22
|
+
case ProviderNames.CONFLUENCE:
|
|
23
|
+
return {
|
|
24
|
+
linkUrl: url,
|
|
25
|
+
iconUrl: getConfluenceFavicon(url),
|
|
26
|
+
productName: name
|
|
27
|
+
};
|
|
28
|
+
case ProviderNames.JIRA:
|
|
29
|
+
return {
|
|
30
|
+
linkUrl: url,
|
|
31
|
+
iconUrl: getJiraFavicon(url),
|
|
32
|
+
productName: name
|
|
33
|
+
};
|
|
34
|
+
default:
|
|
35
|
+
return {
|
|
36
|
+
linkUrl: url,
|
|
37
|
+
iconUrl: typeof icon === 'object' ? icon['url'] : icon,
|
|
38
|
+
productName: name
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const isIconItemSuccess = response => {
|
|
43
|
+
return response.status === 200;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Converts batched list of json-ld responses into list of formatted LinkIconData { url, icon_url }
|
|
48
|
+
*
|
|
49
|
+
* @param batchResp - list of json-ld responses { body, status }
|
|
50
|
+
*/
|
|
51
|
+
export const transformIconData = batchResp => batchResp.filter(isIconItemSuccess).map(resp => resp.body.data).map(formatLinkIconData).filter(linkIconData => linkIconData.iconUrl !== undefined);
|
|
52
|
+
const getConfluenceFavicon = url => `https://${new URL(url).hostname}/wiki/favicon.ico`;
|
|
53
|
+
const getJiraFavicon = url => `https://${new URL(url).hostname}/favicon.ico`;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DEFAULT_CONFIG } from '../constants';
|
|
2
|
+
import { RestClient } from '../rest-client';
|
|
3
|
+
export class PermsClient extends RestClient {
|
|
4
|
+
getIsSiteAdmin(
|
|
5
|
+
/**
|
|
6
|
+
* @private
|
|
7
|
+
* @deprecated don't need to pass param, value is taken from `this.getCloudId()` instead
|
|
8
|
+
*/
|
|
9
|
+
cloudId) {
|
|
10
|
+
return this.postResource('/permitted', {
|
|
11
|
+
permissionId: 'manage',
|
|
12
|
+
resourceId: `ari:cloud:platform::site/${this.getCloudId(cloudId)}`
|
|
13
|
+
}).then(response => response.permitted);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* REST Client to make calls to resources on the activity service.
|
|
19
|
+
*
|
|
20
|
+
* @type {RestClient}
|
|
21
|
+
*/
|
|
22
|
+
// eslint-disable-next-line import/no-anonymous-default-export
|
|
23
|
+
export default new PermsClient({
|
|
24
|
+
serviceUrl: DEFAULT_CONFIG.permsServiceUrl
|
|
25
|
+
});
|