@atlaskit/teams-client 4.18.0 → 4.20.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +14 -3
  2. package/dist/cjs/common/utils/permissions/constants.js +11 -4
  3. package/dist/cjs/common/utils/permissions/types.js +1 -1
  4. package/dist/cjs/common/utils/ufo/constants.js +1 -1
  5. package/dist/cjs/common/utils/ufo/index.js +2 -2
  6. package/dist/cjs/services/legion-client/index.js +201 -180
  7. package/dist/cjs/services/main.js +579 -521
  8. package/dist/cjs/services/reporting-lines-client/index.js +63 -0
  9. package/dist/cjs/services/reporting-lines-client/utils/queries/ReportingLinesQueryWithAccountStatus.graphql.js +12 -0
  10. package/dist/cjs/services/reporting-lines-client/utils/types.js +16 -0
  11. package/dist/cjs/services/sentry/utils/get-sentry-config.js +1 -1
  12. package/dist/cjs/types/reporting-lines.js +1 -0
  13. package/dist/es2019/common/utils/permissions/constants.js +9 -4
  14. package/dist/es2019/common/utils/permissions/types.js +1 -1
  15. package/dist/es2019/common/utils/ufo/constants.js +1 -1
  16. package/dist/es2019/common/utils/ufo/index.js +2 -2
  17. package/dist/es2019/services/legion-client/index.js +4 -0
  18. package/dist/es2019/services/main.js +12 -0
  19. package/dist/es2019/services/reporting-lines-client/index.js +24 -0
  20. package/dist/es2019/services/reporting-lines-client/utils/queries/ReportingLinesQueryWithAccountStatus.graphql.js +40 -0
  21. package/dist/es2019/services/reporting-lines-client/utils/types.js +11 -0
  22. package/dist/es2019/services/sentry/utils/get-sentry-config.js +1 -1
  23. package/dist/es2019/types/reporting-lines.js +0 -0
  24. package/dist/esm/common/utils/permissions/constants.js +11 -4
  25. package/dist/esm/common/utils/permissions/types.js +1 -1
  26. package/dist/esm/common/utils/ufo/constants.js +1 -1
  27. package/dist/esm/common/utils/ufo/index.js +2 -2
  28. package/dist/esm/services/legion-client/index.js +201 -180
  29. package/dist/esm/services/main.js +579 -521
  30. package/dist/esm/services/reporting-lines-client/index.js +56 -0
  31. package/dist/esm/services/reporting-lines-client/utils/queries/ReportingLinesQueryWithAccountStatus.graphql.js +5 -0
  32. package/dist/esm/services/reporting-lines-client/utils/types.js +11 -0
  33. package/dist/esm/services/sentry/utils/get-sentry-config.js +1 -1
  34. package/dist/esm/types/reporting-lines.js +0 -0
  35. package/dist/types/common/utils/permissions/types.d.ts +1 -1
  36. package/dist/types/common/utils/ufo/constants.d.ts +2 -2
  37. package/dist/types/services/legion-client/index.d.ts +1 -0
  38. package/dist/types/services/main.d.ts +7 -0
  39. package/dist/types/services/reporting-lines-client/index.d.ts +11 -0
  40. package/dist/types/services/reporting-lines-client/utils/queries/ReportingLinesQueryWithAccountStatus.graphql.d.ts +2 -0
  41. package/dist/types/services/reporting-lines-client/utils/types.d.ts +32 -0
  42. package/dist/types/types/index.d.ts +1 -0
  43. package/dist/types/types/reporting-lines.d.ts +1 -0
  44. package/dist/types-ts4.5/common/utils/permissions/types.d.ts +2 -1
  45. package/dist/types-ts4.5/common/utils/ufo/constants.d.ts +4 -2
  46. package/dist/types-ts4.5/services/legion-client/index.d.ts +1 -0
  47. package/dist/types-ts4.5/services/main.d.ts +7 -0
  48. package/dist/types-ts4.5/services/reporting-lines-client/index.d.ts +11 -0
  49. package/dist/types-ts4.5/services/reporting-lines-client/utils/queries/ReportingLinesQueryWithAccountStatus.graphql.d.ts +2 -0
  50. package/dist/types-ts4.5/services/reporting-lines-client/utils/types.d.ts +32 -0
  51. package/dist/types-ts4.5/types/index.d.ts +1 -0
  52. package/dist/types-ts4.5/types/reporting-lines.d.ts +1 -0
  53. package/package.json +4 -1
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ReportingLinesClient = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _constants = require("../constants");
16
+ var _graphqlClient = require("../graphql-client");
17
+ var _main = require("../sentry/main");
18
+ var _ReportingLinesQueryWithAccountStatus = _interopRequireDefault(require("./utils/queries/ReportingLinesQueryWithAccountStatus.graphql"));
19
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
20
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
21
+ var SERVICE_URL = "".concat(_constants.DEFAULT_CONFIG.stargateRoot, "/watermelon/graphql");
22
+ var ReportingLinesClient = exports.ReportingLinesClient = /*#__PURE__*/function (_BaseGraphQlClient) {
23
+ function ReportingLinesClient(config) {
24
+ (0, _classCallCheck2.default)(this, ReportingLinesClient);
25
+ return _callSuper(this, ReportingLinesClient, [SERVICE_URL, config]);
26
+ }
27
+ (0, _inherits2.default)(ReportingLinesClient, _BaseGraphQlClient);
28
+ return (0, _createClass2.default)(ReportingLinesClient, [{
29
+ key: "getReportingLines",
30
+ value: function () {
31
+ var _getReportingLines = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(userId) {
32
+ var response;
33
+ return _regenerator.default.wrap(function _callee$(_context) {
34
+ while (1) switch (_context.prev = _context.next) {
35
+ case 0:
36
+ _context.next = 2;
37
+ return this.makeGraphQLRequest({
38
+ query: _ReportingLinesQueryWithAccountStatus.default,
39
+ variables: {
40
+ aaid: userId
41
+ }
42
+ }, {
43
+ operationName: 'ReportingLines'
44
+ });
45
+ case 2:
46
+ response = _context.sent;
47
+ return _context.abrupt("return", response);
48
+ case 4:
49
+ case "end":
50
+ return _context.stop();
51
+ }
52
+ }, _callee, this);
53
+ }));
54
+ function getReportingLines(_x) {
55
+ return _getReportingLines.apply(this, arguments);
56
+ }
57
+ return getReportingLines;
58
+ }()
59
+ }]);
60
+ }(_graphqlClient.BaseGraphQlClient);
61
+ var _default = exports.default = new ReportingLinesClient({
62
+ logException: _main.logException
63
+ });
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _graphql = require("graphql");
10
+ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
11
+ var _templateObject;
12
+ var _default = exports.default = (0, _graphql.print)((0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tfragment ReportingLinesUserPII on UserPII {\n\t\tname\n\t\tpicture\n\t\taccountStatus\n\t\textendedProfile {\n\t\t\tjobTitle\n\t\t}\n\t}\n\n\tfragment ReportingLinesUserFragment on ReportingLinesUser {\n\t\taccountIdentifier\n\t\tidentifierType\n\t\tnumberOfDirectReports\n\t\tnumberOfTotalReports\n\t\tpii {\n\t\t\t...ReportingLinesUserPII\n\t\t}\n\t}\n\n\tquery ReportingLines($aaid: String) {\n\t\treportingLines(aaidOrHash: $aaid) {\n\t\t\tlastModifiedDate\n\t\t\tuser {\n\t\t\t\t...ReportingLinesUserFragment\n\t\t\t}\n\t\t\tmanagers {\n\t\t\t\t...ReportingLinesUserFragment\n\t\t\t}\n\t\t\tpeers {\n\t\t\t\t...ReportingLinesUserFragment\n\t\t\t}\n\t\t\treports {\n\t\t\t\t...ReportingLinesUserFragment\n\t\t\t}\n\t\t}\n\t}\n"]))));
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AccountIdentifierType = void 0;
7
+ /**
8
+ * These are partial types for the reportingLines GQL request from Team Central.
9
+ * Not all data that could be returned is defined here, just what we need.
10
+ */
11
+ var AccountIdentifierType = exports.AccountIdentifierType = /*#__PURE__*/function (AccountIdentifierType) {
12
+ AccountIdentifierType["ATLASSIAN_ID"] = "ATLASSIAN_ID";
13
+ AccountIdentifierType["BASE64_HASH"] = "BASE64_HASH";
14
+ AccountIdentifierType["UNKNOWN"] = "UNKNOWN";
15
+ return AccountIdentifierType;
16
+ }({});
@@ -36,7 +36,7 @@ function getSentryConfig(options) {
36
36
  return _objectSpread(_objectSpread(_objectSpread({}, otherOptions), DEFAULT_SENTRY_CONFIG), {}, {
37
37
  // Standalone __VERSION__ is set from `bin/set-release-version.sh`
38
38
  // when building to deploy to production
39
- release: "".concat("@atlaskit/teams-client", "@").concat("4.17.0") ||
39
+ release: "".concat("@atlaskit/teams-client", "@").concat("0.0.0-development") ||
40
40
  // @ts-ignore Jira - window.BUILD_KEY
41
41
  window.BUILD_KEY || ( // @ts-ignore Confluence - window.__buildInfo
42
42
  (_window$__buildInfo = window.__buildInfo) === null || _window$__buildInfo === void 0 ? void 0 : _window$__buildInfo.FRONTEND_VERSION) || '---',
@@ -0,0 +1 @@
1
+ "use strict";
@@ -18,7 +18,8 @@ export const allPermissions = (defaultPermission, isMember) => ({
18
18
  EDIT_TEAM_SETTINGS: defaultPermission,
19
19
  EDIT_TEAM_MEMBERSHIP: defaultPermission,
20
20
  REMOVE_AGENT_FROM_TEAM: defaultPermission,
21
- ADD_AGENT_TO_TEAM: defaultPermission
21
+ ADD_AGENT_TO_TEAM: defaultPermission,
22
+ ARCHIVE_TEAM: defaultPermission && isMember
22
23
  });
23
24
  export const vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
24
25
  export const openPermissions = permission => ({
@@ -40,23 +41,27 @@ export const SCIMSyncTeamPermissions = (isMember, isOrgAdmin, source) => ({
40
41
  });
41
42
  export const getPermissionMap = (settings, permission, isMember, isOrgAdmin, source) => {
42
43
  const newTeamProfileEnabled = FeatureGates.getExperimentValue('new_team_profile', 'isEnabled', false);
44
+ const isArchiveTeamEnabled = fg('legion-enable-archive-teams') && newTeamProfileEnabled;
43
45
  if (settings === 'OPEN') {
44
46
  return {
45
47
  ...allPermissions(permission === 'FULL_WRITE', isMember),
46
- ...openPermissions(permission)
48
+ ...openPermissions(permission),
49
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
47
50
  };
48
51
  }
49
52
  if (settings === 'MEMBER_INVITE') {
50
53
  return {
51
54
  ...allPermissions(permission === 'FULL_WRITE', isMember),
52
- ...inviteOnlyPermissions(permission)
55
+ ...inviteOnlyPermissions(permission),
56
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
53
57
  };
54
58
  } else if (settings === 'EXTERNAL') {
55
59
  return {
56
60
  ...allPermissions(false, isMember),
57
61
  ...SCIMSyncTeamPermissions(isMember, isOrgAdmin, source),
58
62
  ADD_AGENT_TO_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin),
59
- REMOVE_AGENT_FROM_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin)
63
+ REMOVE_AGENT_FROM_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin),
64
+ ARCHIVE_TEAM: isArchiveTeamEnabled && isOrgAdmin
60
65
  };
61
66
  }
62
67
  return allPermissions(false, false);
@@ -2,4 +2,4 @@ export const AllTeamActions = ['ADD_MEMBER_TO_TEAM', 'JOIN_TEAM', 'REQUEST_TO_JO
2
2
  // Visual
3
3
  'EDIT_TEAM_NAME', 'EDIT_DESCRIPTION', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK', 'EDIT_TEAM_SETTINGS', 'EDIT_TEAM_MEMBERSHIP',
4
4
  // Serious
5
- 'DELETE_TEAM'];
5
+ 'DELETE_TEAM', 'ARCHIVE_TEAM'];
@@ -1,6 +1,6 @@
1
1
  import { ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
2
2
  import { TeamsUFOExperience } from './index';
3
- const TeamsClientExperienceKeyList = ['getAllTeams', 'getTeamById', 'updateTeamById', 'querySettings', 'queryFeatureFlags', 'queryTeamMemberships', 'queryUser', 'inviteUsersToTeam', 'getMyTeamMembership', 'getTeamLinksByTeamId', 'createTeamLink', 'updateTeamLink', 'deleteTeamLink', 'reorderTeamLink', 'acceptTeamInvitation', 'declineTeamInvitation', 'selfJoinTeam', 'cancelJoinRequest', 'acceptJoinRequest', 'declineJoinRequest', 'deleteTeamMembership', 'revokeTeamInvite', 'deleteTeam', 'isSingleFullMemberTeam', 'createTeam', 'createTeamContainers', 'createExternalTeam', 'getProfileWithMutability', 'getIsSiteAdmin', 'addUsersToTeam', 'removeTeamMemberships', 'getRecommendedProducts', 'joinOrRequestDefaultAccessToProductsBulk', 'getReadMediaToken', 'getWriteUserMediaToken', 'updateUserHeaderImage', 'getWriteTeamMediaToken', 'getSoftDeletedTeamById', 'restoreTeam', 'getUserInSiteUserBase', 'getLinkedTeamsBulk', 'getTeamProfileDetails', 'getUserContainers', 'getPermissions', 'getUserManageConfig', 'getMyAvatarUploadedStatus', 'deleteUserAvatar', 'getTeamLinkIcons', 'getTeamInSlack', 'getOrgScope', 'restoreTeamToSyncedGroup', 'getTeamAndGroupDiff', 'linkExistingTeamToGroup', 'fetchUserAvatarInfo', 'getOrgEligibilityForManagedTeams', 'updateUser', 'updateUserAvatar', 'disconnectTeamInSlack', 'updateTeamInSlack', 'getUserTenure', 'getAriFromUrl', 'getWebLinkTitle', 'addAgentToTeam', 'getTeamEnabledSites', 'assignTeamsToSites', 'removeAgentTeamAssociation', 'getAssignedTeams', 'setTeamSiteAssignmentPermission', 'getUnassignedTeams', 'getTeamSiteAssignmentOrgDetails', 'getTeamsToBeClonedToJsmSites'];
3
+ const TeamsClientExperienceKeyList = ['getAllTeams', 'getTeamById', 'updateTeamById', 'querySettings', 'queryFeatureFlags', 'queryTeamMemberships', 'queryUser', 'inviteUsersToTeam', 'getMyTeamMembership', 'getTeamLinksByTeamId', 'createTeamLink', 'updateTeamLink', 'deleteTeamLink', 'reorderTeamLink', 'acceptTeamInvitation', 'declineTeamInvitation', 'selfJoinTeam', 'cancelJoinRequest', 'acceptJoinRequest', 'declineJoinRequest', 'deleteTeamMembership', 'revokeTeamInvite', 'deleteTeam', 'archiveTeam', 'isSingleFullMemberTeam', 'createTeam', 'createTeamContainers', 'createExternalTeam', 'getProfileWithMutability', 'getIsSiteAdmin', 'addUsersToTeam', 'removeTeamMemberships', 'getRecommendedProducts', 'joinOrRequestDefaultAccessToProductsBulk', 'getReadMediaToken', 'getWriteUserMediaToken', 'updateUserHeaderImage', 'getWriteTeamMediaToken', 'getSoftDeletedTeamById', 'restoreTeam', 'getUserInSiteUserBase', 'getLinkedTeamsBulk', 'getTeamProfileDetails', 'getUserContainers', 'getPermissions', 'getUserManageConfig', 'getMyAvatarUploadedStatus', 'deleteUserAvatar', 'getTeamLinkIcons', 'getTeamInSlack', 'getOrgScope', 'restoreTeamToSyncedGroup', 'getTeamAndGroupDiff', 'linkExistingTeamToGroup', 'fetchUserAvatarInfo', 'getOrgEligibilityForManagedTeams', 'updateUser', 'updateUserAvatar', 'disconnectTeamInSlack', 'updateTeamInSlack', 'getUserTenure', 'getAriFromUrl', 'getWebLinkTitle', 'addAgentToTeam', 'getTeamEnabledSites', 'assignTeamsToSites', 'removeAgentTeamAssociation', 'getAssignedTeams', 'setTeamSiteAssignmentPermission', 'getUnassignedTeams', 'getTeamSiteAssignmentOrgDetails', 'getTeamsToBeClonedToJsmSites', 'getReportingLines'];
4
4
  export const TEAMS_CLIENT_EXPERIENCES = new Map([...TeamsClientExperienceKeyList.map(key => [key,
5
5
  // camelCase to kebab-case
6
6
  new TeamsUFOExperience(`teams-client-${key.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}`, {
@@ -27,7 +27,7 @@ export class TeamsUFOExperience extends UFOExperience {
27
27
  return super.failure({
28
28
  metadata: {
29
29
  error: createErrorMetadata(error),
30
- packageVersion: "4.17.0",
30
+ packageVersion: "0.0.0-development",
31
31
  packageName: "@atlaskit/teams-client"
32
32
  }
33
33
  });
@@ -35,7 +35,7 @@ export class TeamsUFOExperience extends UFOExperience {
35
35
  return super.failure({
36
36
  metadata: {
37
37
  error: 'unknown error',
38
- packageVersion: "4.17.0",
38
+ packageVersion: "0.0.0-development",
39
39
  packageName: "@atlaskit/teams-client"
40
40
  }
41
41
  });
@@ -247,6 +247,10 @@ export class LegionClient extends RestClient {
247
247
  async deleteTeam(teamId) {
248
248
  return this.deleteResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}`);
249
249
  }
250
+ async archiveTeam(teamId) {
251
+ const siteId = this.getCloudId();
252
+ return this.postResourceRaw(`${v4UrlPath}/archive?siteId=${siteId}`, JSON.stringify([this.trimTeamARI(teamId)]));
253
+ }
250
254
 
251
255
  /**
252
256
  * @private
@@ -12,6 +12,7 @@ import objectResolverClient from './object-resolver-client';
12
12
  import permsClient from './perms-client';
13
13
  import publicApiClient from './public-api-client';
14
14
  import replinesClient from './replines-client';
15
+ import reportingLinesClient from './reporting-lines-client';
15
16
  import teamCentralClient from './team-central-client';
16
17
  import teamsInSlackClient from './teams-in-slack-client';
17
18
  import userPreferencesClient from './user-preferences-client';
@@ -46,6 +47,7 @@ export class TeamsClient {
46
47
  _defineProperty(this, "_identityClient", identityClient);
47
48
  _defineProperty(this, "_teamCentralClient", teamCentralClient);
48
49
  _defineProperty(this, "_replinesClient", replinesClient);
50
+ _defineProperty(this, "_reportingLinesClient", reportingLinesClient);
49
51
  if (context) {
50
52
  this.setContext(context);
51
53
  }
@@ -342,6 +344,13 @@ export class TeamsClient {
342
344
  return this.measurePerformance('deleteTeam', () => this._legionClient.deleteTeam(teamId));
343
345
  }
344
346
 
347
+ /**
348
+ * Archive a team
349
+ */
350
+ async archiveTeam(teamId) {
351
+ return this.measurePerformance('archiveTeam', () => this._legionClient.archiveTeam(teamId));
352
+ }
353
+
345
354
  /**
346
355
  * @private
347
356
  * @deprecated should be other means to solve this issue
@@ -689,5 +698,8 @@ export class TeamsClient {
689
698
  async checkOrgFullAlignmentStatus(...args) {
690
699
  return this._legionClient.checkOrgFullAlignmentStatus(...args);
691
700
  }
701
+ async getReportingLines(...args) {
702
+ return this.measurePerformance('getReportingLines', () => this._reportingLinesClient.getReportingLines(...args));
703
+ }
692
704
  }
693
705
  export const teamsClient = new TeamsClient();
@@ -0,0 +1,24 @@
1
+ import { DEFAULT_CONFIG } from '../constants';
2
+ import { BaseGraphQlClient } from '../graphql-client';
3
+ import { logException } from '../sentry/main';
4
+ import ReportingLinesQueryWithAccountStatus from './utils/queries/ReportingLinesQueryWithAccountStatus.graphql';
5
+ const SERVICE_URL = `${DEFAULT_CONFIG.stargateRoot}/watermelon/graphql`;
6
+ export class ReportingLinesClient extends BaseGraphQlClient {
7
+ constructor(config) {
8
+ super(SERVICE_URL, config);
9
+ }
10
+ async getReportingLines(userId) {
11
+ const response = await this.makeGraphQLRequest({
12
+ query: ReportingLinesQueryWithAccountStatus,
13
+ variables: {
14
+ aaid: userId
15
+ }
16
+ }, {
17
+ operationName: 'ReportingLines'
18
+ });
19
+ return response;
20
+ }
21
+ }
22
+ export default new ReportingLinesClient({
23
+ logException
24
+ });
@@ -0,0 +1,40 @@
1
+ import { print } from 'graphql';
2
+ import gql from 'graphql-tag';
3
+ export default print(gql`
4
+ fragment ReportingLinesUserPII on UserPII {
5
+ name
6
+ picture
7
+ accountStatus
8
+ extendedProfile {
9
+ jobTitle
10
+ }
11
+ }
12
+
13
+ fragment ReportingLinesUserFragment on ReportingLinesUser {
14
+ accountIdentifier
15
+ identifierType
16
+ numberOfDirectReports
17
+ numberOfTotalReports
18
+ pii {
19
+ ...ReportingLinesUserPII
20
+ }
21
+ }
22
+
23
+ query ReportingLines($aaid: String) {
24
+ reportingLines(aaidOrHash: $aaid) {
25
+ lastModifiedDate
26
+ user {
27
+ ...ReportingLinesUserFragment
28
+ }
29
+ managers {
30
+ ...ReportingLinesUserFragment
31
+ }
32
+ peers {
33
+ ...ReportingLinesUserFragment
34
+ }
35
+ reports {
36
+ ...ReportingLinesUserFragment
37
+ }
38
+ }
39
+ }
40
+ `);
@@ -0,0 +1,11 @@
1
+ /**
2
+ * These are partial types for the reportingLines GQL request from Team Central.
3
+ * Not all data that could be returned is defined here, just what we need.
4
+ */
5
+
6
+ export let AccountIdentifierType = /*#__PURE__*/function (AccountIdentifierType) {
7
+ AccountIdentifierType["ATLASSIAN_ID"] = "ATLASSIAN_ID";
8
+ AccountIdentifierType["BASE64_HASH"] = "BASE64_HASH";
9
+ AccountIdentifierType["UNKNOWN"] = "UNKNOWN";
10
+ return AccountIdentifierType;
11
+ }({});
@@ -28,7 +28,7 @@ export function getSentryConfig(options) {
28
28
  ...DEFAULT_SENTRY_CONFIG,
29
29
  // Standalone __VERSION__ is set from `bin/set-release-version.sh`
30
30
  // when building to deploy to production
31
- release: `${"@atlaskit/teams-client"}@${"4.17.0"}` ||
31
+ release: `${"@atlaskit/teams-client"}@${"0.0.0-development"}` ||
32
32
  // @ts-ignore Jira - window.BUILD_KEY
33
33
  window.BUILD_KEY || ( // @ts-ignore Confluence - window.__buildInfo
34
34
  (_window$__buildInfo = window.__buildInfo) === null || _window$__buildInfo === void 0 ? void 0 : _window$__buildInfo.FRONTEND_VERSION) || '---',
File without changes
@@ -22,7 +22,8 @@ export var allPermissions = function allPermissions(defaultPermission, isMember)
22
22
  EDIT_TEAM_SETTINGS: defaultPermission,
23
23
  EDIT_TEAM_MEMBERSHIP: defaultPermission,
24
24
  REMOVE_AGENT_FROM_TEAM: defaultPermission,
25
- ADD_AGENT_TO_TEAM: defaultPermission
25
+ ADD_AGENT_TO_TEAM: defaultPermission,
26
+ ARCHIVE_TEAM: defaultPermission && isMember
26
27
  };
27
28
  };
28
29
  export var vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
@@ -51,15 +52,21 @@ export var SCIMSyncTeamPermissions = function SCIMSyncTeamPermissions(isMember,
51
52
  };
52
53
  export var getPermissionMap = function getPermissionMap(settings, permission, isMember, isOrgAdmin, source) {
53
54
  var newTeamProfileEnabled = FeatureGates.getExperimentValue('new_team_profile', 'isEnabled', false);
55
+ var isArchiveTeamEnabled = fg('legion-enable-archive-teams') && newTeamProfileEnabled;
54
56
  if (settings === 'OPEN') {
55
- return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), openPermissions(permission));
57
+ return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), openPermissions(permission)), {}, {
58
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
59
+ });
56
60
  }
57
61
  if (settings === 'MEMBER_INVITE') {
58
- return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), inviteOnlyPermissions(permission));
62
+ return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), inviteOnlyPermissions(permission)), {}, {
63
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
64
+ });
59
65
  } else if (settings === 'EXTERNAL') {
60
66
  return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(false, isMember)), SCIMSyncTeamPermissions(isMember, isOrgAdmin, source)), {}, {
61
67
  ADD_AGENT_TO_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin),
62
- REMOVE_AGENT_FROM_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin)
68
+ REMOVE_AGENT_FROM_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin),
69
+ ARCHIVE_TEAM: isArchiveTeamEnabled && isOrgAdmin
63
70
  });
64
71
  }
65
72
  return allPermissions(false, false);
@@ -2,4 +2,4 @@ export var AllTeamActions = ['ADD_MEMBER_TO_TEAM', 'JOIN_TEAM', 'REQUEST_TO_JOIN
2
2
  // Visual
3
3
  'EDIT_TEAM_NAME', 'EDIT_DESCRIPTION', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK', 'EDIT_TEAM_SETTINGS', 'EDIT_TEAM_MEMBERSHIP',
4
4
  // Serious
5
- 'DELETE_TEAM'];
5
+ 'DELETE_TEAM', 'ARCHIVE_TEAM'];
@@ -1,7 +1,7 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import { ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
3
3
  import { TeamsUFOExperience } from './index';
4
- var TeamsClientExperienceKeyList = ['getAllTeams', 'getTeamById', 'updateTeamById', 'querySettings', 'queryFeatureFlags', 'queryTeamMemberships', 'queryUser', 'inviteUsersToTeam', 'getMyTeamMembership', 'getTeamLinksByTeamId', 'createTeamLink', 'updateTeamLink', 'deleteTeamLink', 'reorderTeamLink', 'acceptTeamInvitation', 'declineTeamInvitation', 'selfJoinTeam', 'cancelJoinRequest', 'acceptJoinRequest', 'declineJoinRequest', 'deleteTeamMembership', 'revokeTeamInvite', 'deleteTeam', 'isSingleFullMemberTeam', 'createTeam', 'createTeamContainers', 'createExternalTeam', 'getProfileWithMutability', 'getIsSiteAdmin', 'addUsersToTeam', 'removeTeamMemberships', 'getRecommendedProducts', 'joinOrRequestDefaultAccessToProductsBulk', 'getReadMediaToken', 'getWriteUserMediaToken', 'updateUserHeaderImage', 'getWriteTeamMediaToken', 'getSoftDeletedTeamById', 'restoreTeam', 'getUserInSiteUserBase', 'getLinkedTeamsBulk', 'getTeamProfileDetails', 'getUserContainers', 'getPermissions', 'getUserManageConfig', 'getMyAvatarUploadedStatus', 'deleteUserAvatar', 'getTeamLinkIcons', 'getTeamInSlack', 'getOrgScope', 'restoreTeamToSyncedGroup', 'getTeamAndGroupDiff', 'linkExistingTeamToGroup', 'fetchUserAvatarInfo', 'getOrgEligibilityForManagedTeams', 'updateUser', 'updateUserAvatar', 'disconnectTeamInSlack', 'updateTeamInSlack', 'getUserTenure', 'getAriFromUrl', 'getWebLinkTitle', 'addAgentToTeam', 'getTeamEnabledSites', 'assignTeamsToSites', 'removeAgentTeamAssociation', 'getAssignedTeams', 'setTeamSiteAssignmentPermission', 'getUnassignedTeams', 'getTeamSiteAssignmentOrgDetails', 'getTeamsToBeClonedToJsmSites'];
4
+ var TeamsClientExperienceKeyList = ['getAllTeams', 'getTeamById', 'updateTeamById', 'querySettings', 'queryFeatureFlags', 'queryTeamMemberships', 'queryUser', 'inviteUsersToTeam', 'getMyTeamMembership', 'getTeamLinksByTeamId', 'createTeamLink', 'updateTeamLink', 'deleteTeamLink', 'reorderTeamLink', 'acceptTeamInvitation', 'declineTeamInvitation', 'selfJoinTeam', 'cancelJoinRequest', 'acceptJoinRequest', 'declineJoinRequest', 'deleteTeamMembership', 'revokeTeamInvite', 'deleteTeam', 'archiveTeam', 'isSingleFullMemberTeam', 'createTeam', 'createTeamContainers', 'createExternalTeam', 'getProfileWithMutability', 'getIsSiteAdmin', 'addUsersToTeam', 'removeTeamMemberships', 'getRecommendedProducts', 'joinOrRequestDefaultAccessToProductsBulk', 'getReadMediaToken', 'getWriteUserMediaToken', 'updateUserHeaderImage', 'getWriteTeamMediaToken', 'getSoftDeletedTeamById', 'restoreTeam', 'getUserInSiteUserBase', 'getLinkedTeamsBulk', 'getTeamProfileDetails', 'getUserContainers', 'getPermissions', 'getUserManageConfig', 'getMyAvatarUploadedStatus', 'deleteUserAvatar', 'getTeamLinkIcons', 'getTeamInSlack', 'getOrgScope', 'restoreTeamToSyncedGroup', 'getTeamAndGroupDiff', 'linkExistingTeamToGroup', 'fetchUserAvatarInfo', 'getOrgEligibilityForManagedTeams', 'updateUser', 'updateUserAvatar', 'disconnectTeamInSlack', 'updateTeamInSlack', 'getUserTenure', 'getAriFromUrl', 'getWebLinkTitle', 'addAgentToTeam', 'getTeamEnabledSites', 'assignTeamsToSites', 'removeAgentTeamAssociation', 'getAssignedTeams', 'setTeamSiteAssignmentPermission', 'getUnassignedTeams', 'getTeamSiteAssignmentOrgDetails', 'getTeamsToBeClonedToJsmSites', 'getReportingLines'];
5
5
  export var TEAMS_CLIENT_EXPERIENCES = new Map(_toConsumableArray(TeamsClientExperienceKeyList.map(function (key) {
6
6
  return [key,
7
7
  // camelCase to kebab-case
@@ -45,7 +45,7 @@ export var TeamsUFOExperience = /*#__PURE__*/function (_UFOExperience) {
45
45
  return _superPropGet(TeamsUFOExperience, "failure", this, 3)([{
46
46
  metadata: {
47
47
  error: createErrorMetadata(error),
48
- packageVersion: "4.17.0",
48
+ packageVersion: "0.0.0-development",
49
49
  packageName: "@atlaskit/teams-client"
50
50
  }
51
51
  }]);
@@ -53,7 +53,7 @@ export var TeamsUFOExperience = /*#__PURE__*/function (_UFOExperience) {
53
53
  return _superPropGet(TeamsUFOExperience, "failure", this, 3)([{
54
54
  metadata: {
55
55
  error: 'unknown error',
56
- packageVersion: "4.17.0",
56
+ packageVersion: "0.0.0-development",
57
57
  packageName: "@atlaskit/teams-client"
58
58
  }
59
59
  }]);