@atlaskit/teams-client 4.2.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/common/utils/ufo/constants.js +1 -1
  3. package/dist/cjs/common/utils/ufo/index.js +2 -2
  4. package/dist/cjs/mocks/endpoints.js +17 -17
  5. package/dist/cjs/services/legion-client/index.js +215 -196
  6. package/dist/cjs/services/main.js +644 -577
  7. package/dist/cjs/services/replines-client/index.js +61 -0
  8. package/dist/cjs/services/rest-client/index.js +3 -3
  9. package/dist/cjs/services/sentry/utils/get-sentry-config.js +1 -1
  10. package/dist/cjs/services/sentry/utils/sentry-client.js +1 -2
  11. package/dist/cjs/services/team-central-client/index.js +1 -1
  12. package/dist/cjs/types/team-container.js +19 -0
  13. package/dist/cjs/types/tenure.js +1 -0
  14. package/dist/es2019/common/utils/ufo/constants.js +1 -1
  15. package/dist/es2019/common/utils/ufo/index.js +2 -2
  16. package/dist/es2019/services/legion-client/index.js +5 -0
  17. package/dist/es2019/services/main.js +13 -0
  18. package/dist/es2019/services/replines-client/index.js +23 -0
  19. package/dist/es2019/services/sentry/utils/get-sentry-config.js +1 -1
  20. package/dist/es2019/types/team-container.js +13 -0
  21. package/dist/es2019/types/tenure.js +0 -0
  22. package/dist/esm/common/utils/ufo/constants.js +1 -1
  23. package/dist/esm/common/utils/ufo/index.js +2 -2
  24. package/dist/esm/mocks/endpoints.js +17 -17
  25. package/dist/esm/services/legion-client/index.js +215 -196
  26. package/dist/esm/services/main.js +644 -577
  27. package/dist/esm/services/replines-client/index.js +54 -0
  28. package/dist/esm/services/rest-client/index.js +3 -3
  29. package/dist/esm/services/sentry/utils/get-sentry-config.js +1 -1
  30. package/dist/esm/services/team-central-client/index.js +1 -1
  31. package/dist/esm/types/team-container.js +13 -0
  32. package/dist/esm/types/tenure.js +0 -0
  33. package/dist/types/common/utils/ufo/constants.d.ts +2 -2
  34. package/dist/types/services/legion-client/index.d.ts +2 -0
  35. package/dist/types/services/main.d.ts +7 -0
  36. package/dist/types/services/replines-client/index.d.ts +11 -0
  37. package/dist/types/services/team-central-client/index.d.ts +1 -1
  38. package/dist/types/types/index.d.ts +1 -0
  39. package/dist/types/types/team-container.d.ts +38 -0
  40. package/dist/types/types/tenure.d.ts +5 -0
  41. package/dist/types-ts4.5/common/utils/ufo/constants.d.ts +4 -2
  42. package/dist/types-ts4.5/services/legion-client/index.d.ts +2 -0
  43. package/dist/types-ts4.5/services/main.d.ts +7 -0
  44. package/dist/types-ts4.5/services/replines-client/index.d.ts +11 -0
  45. package/dist/types-ts4.5/services/team-central-client/index.d.ts +1 -1
  46. package/dist/types-ts4.5/types/index.d.ts +1 -0
  47. package/dist/types-ts4.5/types/team-container.d.ts +38 -0
  48. package/dist/types-ts4.5/types/tenure.d.ts +5 -0
  49. package/package.json +1 -1
@@ -0,0 +1,54 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/createClass";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _inherits from "@babel/runtime/helpers/inherits";
8
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
9
+ 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; }
10
+ 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; }
11
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
12
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
13
+ import { DEFAULT_CONFIG } from '../constants';
14
+ import { RestClient } from '../rest-client';
15
+ var defaultConfig = {
16
+ serviceUrl: "".concat(DEFAULT_CONFIG.stargateRoot, "/user-tenure/v1")
17
+ };
18
+ export var ReplinesClient = /*#__PURE__*/function (_RestClient) {
19
+ function ReplinesClient() {
20
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
21
+ _classCallCheck(this, ReplinesClient);
22
+ return _callSuper(this, ReplinesClient, [_objectSpread(_objectSpread({}, defaultConfig), config)]);
23
+ }
24
+ _inherits(ReplinesClient, _RestClient);
25
+ return _createClass(ReplinesClient, [{
26
+ key: "getUserTenure",
27
+ value: function () {
28
+ var _getUserTenure = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(userId) {
29
+ var orgId;
30
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
31
+ while (1) switch (_context.prev = _context.next) {
32
+ case 0:
33
+ orgId = this.getOrgId();
34
+ return _context.abrupt("return", this.getResource("/".concat(orgId, "/").concat(userId)).then(function (response) {
35
+ return _objectSpread(_objectSpread({}, response), {}, {
36
+ userHireDate: new Date(response.userHireDate)
37
+ });
38
+ }).catch(function (error) {
39
+ throw new Error('Failed to fetch user tenure');
40
+ }));
41
+ case 2:
42
+ case "end":
43
+ return _context.stop();
44
+ }
45
+ }, _callee, this);
46
+ }));
47
+ function getUserTenure(_x) {
48
+ return _getUserTenure.apply(this, arguments);
49
+ }
50
+ return getUserTenure;
51
+ }()
52
+ }]);
53
+ }(RestClient);
54
+ export default new ReplinesClient();
@@ -264,7 +264,7 @@ export var RestClient = /*#__PURE__*/function (_BaseClient) {
264
264
  }
265
265
  }, _callee6, this);
266
266
  }));
267
- function putResource(_x9, _x10) {
267
+ function putResource(_x9, _x0) {
268
268
  return _putResource.apply(this, arguments);
269
269
  }
270
270
  return putResource;
@@ -290,7 +290,7 @@ export var RestClient = /*#__PURE__*/function (_BaseClient) {
290
290
  }
291
291
  }, _callee7, this);
292
292
  }));
293
- function deleteResource(_x11) {
293
+ function deleteResource(_x1) {
294
294
  return _deleteResource.apply(this, arguments);
295
295
  }
296
296
  return deleteResource;
@@ -364,7 +364,7 @@ export var RestClient = /*#__PURE__*/function (_BaseClient) {
364
364
  }
365
365
  }, _callee8, this);
366
366
  }));
367
- function makeRequest(_x12) {
367
+ function makeRequest(_x10) {
368
368
  return _makeRequest.apply(this, arguments);
369
369
  }
370
370
  return makeRequest;
@@ -29,7 +29,7 @@ export function getSentryConfig(options) {
29
29
  return _objectSpread(_objectSpread(_objectSpread({}, otherOptions), DEFAULT_SENTRY_CONFIG), {}, {
30
30
  // Standalone __VERSION__ is set from `bin/set-release-version.sh`
31
31
  // when building to deploy to production
32
- release: "".concat("@atlaskit/teams-client", "@").concat("4.2.0") ||
32
+ release: "".concat("@atlaskit/teams-client", "@").concat("4.3.0") ||
33
33
  // @ts-ignore Jira - window.BUILD_KEY
34
34
  window.BUILD_KEY || ( // @ts-ignore Confluence - window.__buildInfo
35
35
  (_window$__buildInfo = window.__buildInfo) === null || _window$__buildInfo === void 0 ? void 0 : _window$__buildInfo.FRONTEND_VERSION) || '---',
@@ -268,7 +268,7 @@ export var TeamCentralClient = /*#__PURE__*/function (_BaseGraphQlClient) {
268
268
  }
269
269
  }, _callee8, this);
270
270
  }));
271
- function deleteHelpPointer(_x10) {
271
+ function deleteHelpPointer(_x0) {
272
272
  return _deleteHelpPointer.apply(this, arguments);
273
273
  }
274
274
  return deleteHelpPointer;
@@ -0,0 +1,13 @@
1
+ export var ContainerType = /*#__PURE__*/function (ContainerType) {
2
+ ContainerType["CONFLUENCE_SPACE"] = "CONFLUENCE_SPACE";
3
+ ContainerType["JIRA_PROJECT"] = "JIRA_PROJECT";
4
+ ContainerType["LOOM_SPACE"] = "LOOM_SPACE";
5
+ return ContainerType;
6
+ }({});
7
+ export var ConfluenceTemplate = /*#__PURE__*/function (ConfluenceTemplate) {
8
+ ConfluenceTemplate[ConfluenceTemplate["COLLABORATION"] = 0] = "COLLABORATION";
9
+ ConfluenceTemplate[ConfluenceTemplate["KNOWLEDGE_BASE"] = 1] = "KNOWLEDGE_BASE";
10
+ ConfluenceTemplate[ConfluenceTemplate["CUSTOM"] = 2] = "CUSTOM";
11
+ ConfluenceTemplate[ConfluenceTemplate["DEFAULT"] = 3] = "DEFAULT";
12
+ return ConfluenceTemplate;
13
+ }({});
File without changes
@@ -1,5 +1,5 @@
1
1
  import { TeamsUFOExperience } from './index';
2
- declare const TeamsClientExperienceKeyList: readonly ["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", "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"];
2
+ declare const TeamsClientExperienceKeyList: readonly ["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"];
3
3
  export type TeamsClientExperienceKeys = (typeof TeamsClientExperienceKeyList)[number];
4
- export declare const TEAMS_CLIENT_EXPERIENCES: Map<"getAllTeams" | "getOrgEligibilityForManagedTeams" | "createTeam" | "getPermissions" | "getLinkedTeamsBulk" | "getTeamProfileDetails" | "getOrgScope" | "getTeamById" | "updateTeamById" | "querySettings" | "queryFeatureFlags" | "queryTeamMemberships" | "queryUser" | "inviteUsersToTeam" | "getMyTeamMembership" | "getTeamLinksByTeamId" | "createTeamLink" | "updateTeamLink" | "deleteTeamLink" | "reorderTeamLink" | "acceptTeamInvitation" | "declineTeamInvitation" | "selfJoinTeam" | "cancelJoinRequest" | "acceptJoinRequest" | "declineJoinRequest" | "deleteTeamMembership" | "revokeTeamInvite" | "deleteTeam" | "isSingleFullMemberTeam" | "createExternalTeam" | "getProfileWithMutability" | "getIsSiteAdmin" | "addUsersToTeam" | "removeTeamMemberships" | "getRecommendedProducts" | "joinOrRequestDefaultAccessToProductsBulk" | "getReadMediaToken" | "getWriteUserMediaToken" | "updateUserHeaderImage" | "getWriteTeamMediaToken" | "getSoftDeletedTeamById" | "restoreTeam" | "getUserInSiteUserBase" | "getUserContainers" | "getUserManageConfig" | "getMyAvatarUploadedStatus" | "deleteUserAvatar" | "getTeamLinkIcons" | "getTeamInSlack" | "restoreTeamToSyncedGroup" | "getTeamAndGroupDiff" | "linkExistingTeamToGroup" | "fetchUserAvatarInfo" | "updateUser" | "updateUserAvatar" | "disconnectTeamInSlack" | "updateTeamInSlack", TeamsUFOExperience>;
4
+ export declare const TEAMS_CLIENT_EXPERIENCES: Map<"getAllTeams" | "getOrgEligibilityForManagedTeams" | "createTeam" | "getPermissions" | "getLinkedTeamsBulk" | "getTeamProfileDetails" | "getOrgScope" | "getTeamById" | "updateTeamById" | "querySettings" | "queryFeatureFlags" | "queryTeamMemberships" | "queryUser" | "inviteUsersToTeam" | "getMyTeamMembership" | "getTeamLinksByTeamId" | "createTeamLink" | "updateTeamLink" | "deleteTeamLink" | "reorderTeamLink" | "acceptTeamInvitation" | "declineTeamInvitation" | "selfJoinTeam" | "cancelJoinRequest" | "acceptJoinRequest" | "declineJoinRequest" | "deleteTeamMembership" | "revokeTeamInvite" | "deleteTeam" | "isSingleFullMemberTeam" | "createTeamContainers" | "createExternalTeam" | "getProfileWithMutability" | "getIsSiteAdmin" | "addUsersToTeam" | "removeTeamMemberships" | "getRecommendedProducts" | "joinOrRequestDefaultAccessToProductsBulk" | "getReadMediaToken" | "getWriteUserMediaToken" | "updateUserHeaderImage" | "getWriteTeamMediaToken" | "getSoftDeletedTeamById" | "restoreTeam" | "getUserInSiteUserBase" | "getUserContainers" | "getUserManageConfig" | "getMyAvatarUploadedStatus" | "deleteUserAvatar" | "getTeamLinkIcons" | "getTeamInSlack" | "restoreTeamToSyncedGroup" | "getTeamAndGroupDiff" | "linkExistingTeamToGroup" | "fetchUserAvatarInfo" | "updateUser" | "updateUserAvatar" | "disconnectTeamInSlack" | "updateTeamInSlack" | "getUserTenure", TeamsUFOExperience>;
5
5
  export {};
@@ -1,5 +1,6 @@
1
1
  import { type InvitedUser, type LinkOrder, type NewTeamLink, type ReadMediaTokenResponse, type Team, type TeamLink, type TeamMembership, type TeamMembershipSettings, type TeamWithImageUrls, type TeamWithMemberships } from '../../types';
2
2
  import { type ExternalReference, type LinkedTeamsBulkResponse, type LinkedTeamsProfileDetails, type OrgScope, type SoftDeletedTeam, type TeamsPermissionFromApi } from '../../types/team';
3
+ import { type ApiTeamContainerCreationPayload, type ApiTeamContainerResponse } from '../../types/team-container';
3
4
  import { type UserInSiteUserbase } from '../../types/user';
4
5
  import { RestClient } from '../rest-client';
5
6
  import { type LegionLinkResponseV3, type LegionLinkResponseV4, type LegionPaginatedResponse, type LegionTeamAndGroupDifferenceResponse } from './types';
@@ -93,6 +94,7 @@ export interface LegionClient {
93
94
  getOrgScope(): Promise<OrgScope>;
94
95
  getPermissions(): Promise<TeamsPermissionFromApi>;
95
96
  restoreTeamToSyncedGroup(teamId: string, externalReference: ExternalReference): Promise<void>;
97
+ createTeamContainers(payload: ApiTeamContainerCreationPayload): Promise<ApiTeamContainerResponse>;
96
98
  }
97
99
  /**
98
100
  * REST Client to make calls to Legion.
@@ -10,6 +10,7 @@ import mutabilityClient from './mutability-client';
10
10
  import objectResolverClient from './object-resolver-client';
11
11
  import permsClient from './perms-client';
12
12
  import publicApiClient from './public-api-client';
13
+ import replinesClient from './replines-client';
13
14
  import teamCentralClient from './team-central-client';
14
15
  import teamsInSlackClient from './teams-in-slack-client';
15
16
  import { type ClientContextProps } from './types';
@@ -38,6 +39,7 @@ export declare class TeamsClient {
38
39
  private readonly _collaborationGraphClient;
39
40
  private readonly _identityClient;
40
41
  private readonly _teamCentralClient;
42
+ private readonly _replinesClient;
41
43
  constructor(
42
44
  /**
43
45
  * @param {ClientContextProps} context - Context including CloudId & OrgId to be used for all requests
@@ -187,6 +189,10 @@ export declare class TeamsClient {
187
189
  * Create a team
188
190
  */
189
191
  createTeam(...args: Parameters<typeof defaultLegionClient.createTeam>): Promise<AwaitedReturn<typeof defaultLegionClient.createTeam>>;
192
+ /**
193
+ * Create containers for a team
194
+ */
195
+ createTeamContainers(...args: Parameters<typeof defaultLegionClient.createTeamContainers>): Promise<AwaitedReturn<typeof defaultLegionClient.createTeamContainers>>;
190
196
  /**
191
197
  * Create a external team
192
198
  * @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.
@@ -322,6 +328,7 @@ export declare class TeamsClient {
322
328
  createHelpPointer(...args: Parameters<typeof teamCentralClient.createHelpPointer>): Promise<AwaitedReturn<typeof teamCentralClient.createHelpPointer>>;
323
329
  updateHelpPointer(...args: Parameters<typeof teamCentralClient.updateHelpPointer>): Promise<AwaitedReturn<typeof teamCentralClient.updateHelpPointer>>;
324
330
  deleteHelpPointer(...args: Parameters<typeof teamCentralClient.deleteHelpPointer>): Promise<AwaitedReturn<typeof teamCentralClient.deleteHelpPointer>>;
331
+ getUserTenure(...args: Parameters<typeof replinesClient.getUserTenure>): Promise<AwaitedReturn<typeof replinesClient.getUserTenure>>;
325
332
  }
326
333
  export declare const teamsClient: TeamsClient;
327
334
  export {};
@@ -0,0 +1,11 @@
1
+ import { RestClient } from '../rest-client';
2
+ export declare class ReplinesClient extends RestClient {
3
+ constructor(config?: {});
4
+ getUserTenure(userId: string): Promise<{
5
+ userHireDate: Date;
6
+ employeesHiredBefore: number;
7
+ employeesHiredAfter: number;
8
+ }>;
9
+ }
10
+ declare const _default: ReplinesClient;
11
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { ClientConfig } from '../base-client';
1
+ import { type ClientConfig } from '../base-client';
2
2
  import { BaseGraphQlClient } from '../graphql-client';
3
3
  import { type AddTeamWatcherMutationResponse } from './mutations/add-team-watcher.graphql';
4
4
  import { type CreateTagMutationResponse, type CreateTagMutationVariables } from './mutations/create-tag-mutation.graphql';
@@ -8,3 +8,4 @@ export { isResultWithPageInfo } from '../services/agg-client/types';
8
8
  export type { AGGPageInfo, ResultWithPageInfo, AGGPageInfoVariables, } from '../services/agg-client/types';
9
9
  export type { ReadMediaTokenResponse } from './media';
10
10
  export type { TeamInSlack } from './slack';
11
+ export type { UserTenure } from './tenure';
@@ -0,0 +1,38 @@
1
+ export declare enum ContainerType {
2
+ CONFLUENCE_SPACE = "CONFLUENCE_SPACE",
3
+ JIRA_PROJECT = "JIRA_PROJECT",
4
+ LOOM_SPACE = "LOOM_SPACE"
5
+ }
6
+ export declare enum ConfluenceTemplate {
7
+ COLLABORATION = 0,
8
+ KNOWLEDGE_BASE = 1,
9
+ CUSTOM = 2,
10
+ DEFAULT = 3
11
+ }
12
+ export interface Template {
13
+ templateName: string;
14
+ }
15
+ export interface Container {
16
+ type: ContainerType;
17
+ containerSiteId: string | null;
18
+ }
19
+ export interface ConfluenceContainer extends Container {
20
+ type: ContainerType.CONFLUENCE_SPACE;
21
+ template: ConfluenceTemplate;
22
+ }
23
+ export interface ApiTeamContainerCreationPayload {
24
+ teamId: string;
25
+ containers: Container[];
26
+ }
27
+ export interface ContainerDetails {
28
+ containerId: string;
29
+ containerType: ContainerType;
30
+ containerName: string;
31
+ containerUrl: string;
32
+ containerSiteId: string;
33
+ }
34
+ export interface ApiTeamContainerResponse {
35
+ teamId: string;
36
+ containersNotCreated: ContainerType[];
37
+ containerDetails: ContainerDetails[];
38
+ }
@@ -0,0 +1,5 @@
1
+ export type UserTenure = {
2
+ userHireDate: Date;
3
+ employeesHiredBefore: number;
4
+ employeesHiredAfter: number;
5
+ };
@@ -25,6 +25,7 @@ declare const TeamsClientExperienceKeyList: readonly [
25
25
  "deleteTeam",
26
26
  "isSingleFullMemberTeam",
27
27
  "createTeam",
28
+ "createTeamContainers",
28
29
  "createExternalTeam",
29
30
  "getProfileWithMutability",
30
31
  "getIsSiteAdmin",
@@ -57,8 +58,9 @@ declare const TeamsClientExperienceKeyList: readonly [
57
58
  "updateUser",
58
59
  "updateUserAvatar",
59
60
  "disconnectTeamInSlack",
60
- "updateTeamInSlack"
61
+ "updateTeamInSlack",
62
+ "getUserTenure"
61
63
  ];
62
64
  export type TeamsClientExperienceKeys = (typeof TeamsClientExperienceKeyList)[number];
63
- export declare const TEAMS_CLIENT_EXPERIENCES: Map<"getAllTeams" | "getOrgEligibilityForManagedTeams" | "createTeam" | "getPermissions" | "getLinkedTeamsBulk" | "getTeamProfileDetails" | "getOrgScope" | "getTeamById" | "updateTeamById" | "querySettings" | "queryFeatureFlags" | "queryTeamMemberships" | "queryUser" | "inviteUsersToTeam" | "getMyTeamMembership" | "getTeamLinksByTeamId" | "createTeamLink" | "updateTeamLink" | "deleteTeamLink" | "reorderTeamLink" | "acceptTeamInvitation" | "declineTeamInvitation" | "selfJoinTeam" | "cancelJoinRequest" | "acceptJoinRequest" | "declineJoinRequest" | "deleteTeamMembership" | "revokeTeamInvite" | "deleteTeam" | "isSingleFullMemberTeam" | "createExternalTeam" | "getProfileWithMutability" | "getIsSiteAdmin" | "addUsersToTeam" | "removeTeamMemberships" | "getRecommendedProducts" | "joinOrRequestDefaultAccessToProductsBulk" | "getReadMediaToken" | "getWriteUserMediaToken" | "updateUserHeaderImage" | "getWriteTeamMediaToken" | "getSoftDeletedTeamById" | "restoreTeam" | "getUserInSiteUserBase" | "getUserContainers" | "getUserManageConfig" | "getMyAvatarUploadedStatus" | "deleteUserAvatar" | "getTeamLinkIcons" | "getTeamInSlack" | "restoreTeamToSyncedGroup" | "getTeamAndGroupDiff" | "linkExistingTeamToGroup" | "fetchUserAvatarInfo" | "updateUser" | "updateUserAvatar" | "disconnectTeamInSlack" | "updateTeamInSlack", TeamsUFOExperience>;
65
+ export declare const TEAMS_CLIENT_EXPERIENCES: Map<"getAllTeams" | "getOrgEligibilityForManagedTeams" | "createTeam" | "getPermissions" | "getLinkedTeamsBulk" | "getTeamProfileDetails" | "getOrgScope" | "getTeamById" | "updateTeamById" | "querySettings" | "queryFeatureFlags" | "queryTeamMemberships" | "queryUser" | "inviteUsersToTeam" | "getMyTeamMembership" | "getTeamLinksByTeamId" | "createTeamLink" | "updateTeamLink" | "deleteTeamLink" | "reorderTeamLink" | "acceptTeamInvitation" | "declineTeamInvitation" | "selfJoinTeam" | "cancelJoinRequest" | "acceptJoinRequest" | "declineJoinRequest" | "deleteTeamMembership" | "revokeTeamInvite" | "deleteTeam" | "isSingleFullMemberTeam" | "createTeamContainers" | "createExternalTeam" | "getProfileWithMutability" | "getIsSiteAdmin" | "addUsersToTeam" | "removeTeamMemberships" | "getRecommendedProducts" | "joinOrRequestDefaultAccessToProductsBulk" | "getReadMediaToken" | "getWriteUserMediaToken" | "updateUserHeaderImage" | "getWriteTeamMediaToken" | "getSoftDeletedTeamById" | "restoreTeam" | "getUserInSiteUserBase" | "getUserContainers" | "getUserManageConfig" | "getMyAvatarUploadedStatus" | "deleteUserAvatar" | "getTeamLinkIcons" | "getTeamInSlack" | "restoreTeamToSyncedGroup" | "getTeamAndGroupDiff" | "linkExistingTeamToGroup" | "fetchUserAvatarInfo" | "updateUser" | "updateUserAvatar" | "disconnectTeamInSlack" | "updateTeamInSlack" | "getUserTenure", TeamsUFOExperience>;
64
66
  export {};
@@ -1,5 +1,6 @@
1
1
  import { type InvitedUser, type LinkOrder, type NewTeamLink, type ReadMediaTokenResponse, type Team, type TeamLink, type TeamMembership, type TeamMembershipSettings, type TeamWithImageUrls, type TeamWithMemberships } from '../../types';
2
2
  import { type ExternalReference, type LinkedTeamsBulkResponse, type LinkedTeamsProfileDetails, type OrgScope, type SoftDeletedTeam, type TeamsPermissionFromApi } from '../../types/team';
3
+ import { type ApiTeamContainerCreationPayload, type ApiTeamContainerResponse } from '../../types/team-container';
3
4
  import { type UserInSiteUserbase } from '../../types/user';
4
5
  import { RestClient } from '../rest-client';
5
6
  import { type LegionLinkResponseV3, type LegionLinkResponseV4, type LegionPaginatedResponse, type LegionTeamAndGroupDifferenceResponse } from './types';
@@ -93,6 +94,7 @@ export interface LegionClient {
93
94
  getOrgScope(): Promise<OrgScope>;
94
95
  getPermissions(): Promise<TeamsPermissionFromApi>;
95
96
  restoreTeamToSyncedGroup(teamId: string, externalReference: ExternalReference): Promise<void>;
97
+ createTeamContainers(payload: ApiTeamContainerCreationPayload): Promise<ApiTeamContainerResponse>;
96
98
  }
97
99
  /**
98
100
  * REST Client to make calls to Legion.
@@ -10,6 +10,7 @@ import mutabilityClient from './mutability-client';
10
10
  import objectResolverClient from './object-resolver-client';
11
11
  import permsClient from './perms-client';
12
12
  import publicApiClient from './public-api-client';
13
+ import replinesClient from './replines-client';
13
14
  import teamCentralClient from './team-central-client';
14
15
  import teamsInSlackClient from './teams-in-slack-client';
15
16
  import { type ClientContextProps } from './types';
@@ -38,6 +39,7 @@ export declare class TeamsClient {
38
39
  private readonly _collaborationGraphClient;
39
40
  private readonly _identityClient;
40
41
  private readonly _teamCentralClient;
42
+ private readonly _replinesClient;
41
43
  constructor(
42
44
  /**
43
45
  * @param {ClientContextProps} context - Context including CloudId & OrgId to be used for all requests
@@ -187,6 +189,10 @@ export declare class TeamsClient {
187
189
  * Create a team
188
190
  */
189
191
  createTeam(...args: Parameters<typeof defaultLegionClient.createTeam>): Promise<AwaitedReturn<typeof defaultLegionClient.createTeam>>;
192
+ /**
193
+ * Create containers for a team
194
+ */
195
+ createTeamContainers(...args: Parameters<typeof defaultLegionClient.createTeamContainers>): Promise<AwaitedReturn<typeof defaultLegionClient.createTeamContainers>>;
190
196
  /**
191
197
  * Create a external team
192
198
  * @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.
@@ -322,6 +328,7 @@ export declare class TeamsClient {
322
328
  createHelpPointer(...args: Parameters<typeof teamCentralClient.createHelpPointer>): Promise<AwaitedReturn<typeof teamCentralClient.createHelpPointer>>;
323
329
  updateHelpPointer(...args: Parameters<typeof teamCentralClient.updateHelpPointer>): Promise<AwaitedReturn<typeof teamCentralClient.updateHelpPointer>>;
324
330
  deleteHelpPointer(...args: Parameters<typeof teamCentralClient.deleteHelpPointer>): Promise<AwaitedReturn<typeof teamCentralClient.deleteHelpPointer>>;
331
+ getUserTenure(...args: Parameters<typeof replinesClient.getUserTenure>): Promise<AwaitedReturn<typeof replinesClient.getUserTenure>>;
325
332
  }
326
333
  export declare const teamsClient: TeamsClient;
327
334
  export {};
@@ -0,0 +1,11 @@
1
+ import { RestClient } from '../rest-client';
2
+ export declare class ReplinesClient extends RestClient {
3
+ constructor(config?: {});
4
+ getUserTenure(userId: string): Promise<{
5
+ userHireDate: Date;
6
+ employeesHiredBefore: number;
7
+ employeesHiredAfter: number;
8
+ }>;
9
+ }
10
+ declare const _default: ReplinesClient;
11
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { ClientConfig } from '../base-client';
1
+ import { type ClientConfig } from '../base-client';
2
2
  import { BaseGraphQlClient } from '../graphql-client';
3
3
  import { type AddTeamWatcherMutationResponse } from './mutations/add-team-watcher.graphql';
4
4
  import { type CreateTagMutationResponse, type CreateTagMutationVariables } from './mutations/create-tag-mutation.graphql';
@@ -8,3 +8,4 @@ export { isResultWithPageInfo } from '../services/agg-client/types';
8
8
  export type { AGGPageInfo, ResultWithPageInfo, AGGPageInfoVariables, } from '../services/agg-client/types';
9
9
  export type { ReadMediaTokenResponse } from './media';
10
10
  export type { TeamInSlack } from './slack';
11
+ export type { UserTenure } from './tenure';
@@ -0,0 +1,38 @@
1
+ export declare enum ContainerType {
2
+ CONFLUENCE_SPACE = "CONFLUENCE_SPACE",
3
+ JIRA_PROJECT = "JIRA_PROJECT",
4
+ LOOM_SPACE = "LOOM_SPACE"
5
+ }
6
+ export declare enum ConfluenceTemplate {
7
+ COLLABORATION = 0,
8
+ KNOWLEDGE_BASE = 1,
9
+ CUSTOM = 2,
10
+ DEFAULT = 3
11
+ }
12
+ export interface Template {
13
+ templateName: string;
14
+ }
15
+ export interface Container {
16
+ type: ContainerType;
17
+ containerSiteId: string | null;
18
+ }
19
+ export interface ConfluenceContainer extends Container {
20
+ type: ContainerType.CONFLUENCE_SPACE;
21
+ template: ConfluenceTemplate;
22
+ }
23
+ export interface ApiTeamContainerCreationPayload {
24
+ teamId: string;
25
+ containers: Container[];
26
+ }
27
+ export interface ContainerDetails {
28
+ containerId: string;
29
+ containerType: ContainerType;
30
+ containerName: string;
31
+ containerUrl: string;
32
+ containerSiteId: string;
33
+ }
34
+ export interface ApiTeamContainerResponse {
35
+ teamId: string;
36
+ containersNotCreated: ContainerType[];
37
+ containerDetails: ContainerDetails[];
38
+ }
@@ -0,0 +1,5 @@
1
+ export type UserTenure = {
2
+ userHireDate: Date;
3
+ employeesHiredBefore: number;
4
+ employeesHiredAfter: number;
5
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/teams-client",
3
- "version": "4.2.0",
3
+ "version": "4.3.0",
4
4
  "description": "A client to retrieve team related data",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",