@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.
Files changed (457) hide show
  1. package/CHANGELOG.md +1061 -0
  2. package/LICENSE.md +11 -0
  3. package/README.md +9 -0
  4. package/client/package.json +15 -0
  5. package/dist/cjs/common/types.js +8 -0
  6. package/dist/cjs/common/utils/ari.js +31 -0
  7. package/dist/cjs/common/utils/error/index.js +182 -0
  8. package/dist/cjs/common/utils/filter-null.js +9 -0
  9. package/dist/cjs/common/utils/http.js +119 -0
  10. package/dist/cjs/common/utils/index.js +37 -0
  11. package/dist/cjs/common/utils/permissions/constants.js +68 -0
  12. package/dist/cjs/common/utils/permissions/has-permission.js +42 -0
  13. package/dist/cjs/common/utils/permissions/index.js +31 -0
  14. package/dist/cjs/common/utils/permissions/types.js +11 -0
  15. package/dist/cjs/common/utils/sort-teams.js +52 -0
  16. package/dist/cjs/common/utils/status-code-handlers-provider.js +30 -0
  17. package/dist/cjs/common/utils/team.js +19 -0
  18. package/dist/cjs/common/utils/ufo/constants.js +22 -0
  19. package/dist/cjs/common/utils/ufo/index.js +69 -0
  20. package/dist/cjs/common/utils/ufo/utils.js +26 -0
  21. package/dist/cjs/index.js +166 -0
  22. package/dist/cjs/mocks/endpoints.js +267 -0
  23. package/dist/cjs/mocks/generate-data.js +115 -0
  24. package/dist/cjs/mocks/index.js +61 -0
  25. package/dist/cjs/mocks/invitations.js +21 -0
  26. package/dist/cjs/mocks/responses.js +480 -0
  27. package/dist/cjs/mocks/team-link.js +26 -0
  28. package/dist/cjs/mocks/team.js +150 -0
  29. package/dist/cjs/mocks/user.js +102 -0
  30. package/dist/cjs/mocks/with-faker.js +16 -0
  31. package/dist/cjs/services/agg-client/index.js +137 -0
  32. package/dist/cjs/services/agg-client/mocks/index.js +71 -0
  33. package/dist/cjs/services/agg-client/types.js +10 -0
  34. package/dist/cjs/services/agg-client/utils/queries/team-membership-query.js +8 -0
  35. package/dist/cjs/services/agg-client/utils/queries/user-query.js +12 -0
  36. package/dist/cjs/services/agg-client/utils/user-type.js +18 -0
  37. package/dist/cjs/services/base-client/index.js +94 -0
  38. package/dist/cjs/services/collaborationgraph-client/index.js +58 -0
  39. package/dist/cjs/services/constants.js +13 -0
  40. package/dist/cjs/services/directory-client/index.js +241 -0
  41. package/dist/cjs/services/graphql-client/index.js +12 -0
  42. package/dist/cjs/services/graphql-client/main.js +69 -0
  43. package/dist/cjs/services/graphql-client/types.js +5 -0
  44. package/dist/cjs/services/graphql-client/utils/index.js +157 -0
  45. package/dist/cjs/services/hooks/use-teams-client-setup.js +44 -0
  46. package/dist/cjs/services/identity-client/index.js +171 -0
  47. package/dist/cjs/services/identity-client/utils.js +183 -0
  48. package/dist/cjs/services/index.js +18 -0
  49. package/dist/cjs/services/invitations-client/index.js +168 -0
  50. package/dist/cjs/services/invitations-client/types.js +1 -0
  51. package/dist/cjs/services/invitations-client/utils/index.js +115 -0
  52. package/dist/cjs/services/invitations-client/utils/types.js +5 -0
  53. package/dist/cjs/services/legion-client/index.js +1160 -0
  54. package/dist/cjs/services/legion-client/types.js +5 -0
  55. package/dist/cjs/services/main.js +1941 -0
  56. package/dist/cjs/services/mutability-client/index.js +97 -0
  57. package/dist/cjs/services/mutability-client/types.js +1 -0
  58. package/dist/cjs/services/object-resolver-client/index.js +60 -0
  59. package/dist/cjs/services/object-resolver-client/types.js +17 -0
  60. package/dist/cjs/services/object-resolver-client/utils.js +67 -0
  61. package/dist/cjs/services/perms-client/index.js +48 -0
  62. package/dist/cjs/services/public-api-client/generated/data-contracts.js +1 -0
  63. package/dist/cjs/services/public-api-client/index.js +264 -0
  64. package/dist/cjs/services/rest-client/index.js +381 -0
  65. package/dist/cjs/services/rest-client/utils/cookie.js +23 -0
  66. package/dist/cjs/services/rest-client/utils/parse-error-message.js +62 -0
  67. package/dist/cjs/services/rest-client/utils/parse-response.js +20 -0
  68. package/dist/cjs/services/rest-client/utils/strip-uuid.js +10 -0
  69. package/dist/cjs/services/sentry/constants.js +15 -0
  70. package/dist/cjs/services/sentry/index.js +67 -0
  71. package/dist/cjs/services/sentry/main.js +196 -0
  72. package/dist/cjs/services/sentry/types.js +5 -0
  73. package/dist/cjs/services/sentry/utils/get-sentry-config.js +45 -0
  74. package/dist/cjs/services/sentry/utils/initialise-sentry.js +55 -0
  75. package/dist/cjs/services/sentry/utils/sentry-client.js +121 -0
  76. package/dist/cjs/services/sentry/utils/use-teams-sentry-client-setup.js +40 -0
  77. package/dist/cjs/services/teams-in-slack-client/index.js +103 -0
  78. package/dist/cjs/services/types.js +1 -0
  79. package/dist/cjs/services/use-query-light/index.js +25 -0
  80. package/dist/cjs/services/use-query-light/main.js +232 -0
  81. package/dist/cjs/services/use-query-light/types.js +52 -0
  82. package/dist/cjs/services/user-info-provider/index.js +18 -0
  83. package/dist/cjs/services/user-info-provider/main.js +72 -0
  84. package/dist/cjs/services/user-preferences-client/index.js +98 -0
  85. package/dist/cjs/types/config.js +1 -0
  86. package/dist/cjs/types/index.js +19 -0
  87. package/dist/cjs/types/links.js +22 -0
  88. package/dist/cjs/types/media.js +1 -0
  89. package/dist/cjs/types/membership.js +24 -0
  90. package/dist/cjs/types/slack.js +1 -0
  91. package/dist/cjs/types/team.js +5 -0
  92. package/dist/cjs/types/user.js +10 -0
  93. package/dist/es2019/common/types.js +2 -0
  94. package/dist/es2019/common/utils/ari.js +21 -0
  95. package/dist/es2019/common/utils/error/index.js +142 -0
  96. package/dist/es2019/common/utils/filter-null.js +3 -0
  97. package/dist/es2019/common/utils/http.js +82 -0
  98. package/dist/es2019/common/utils/index.js +2 -0
  99. package/dist/es2019/common/utils/permissions/constants.js +59 -0
  100. package/dist/es2019/common/utils/permissions/has-permission.js +33 -0
  101. package/dist/es2019/common/utils/permissions/index.js +2 -0
  102. package/dist/es2019/common/utils/permissions/types.js +5 -0
  103. package/dist/es2019/common/utils/sort-teams.js +45 -0
  104. package/dist/es2019/common/utils/status-code-handlers-provider.js +25 -0
  105. package/dist/es2019/common/utils/team.js +6 -0
  106. package/dist/es2019/common/utils/ufo/constants.js +12 -0
  107. package/dist/es2019/common/utils/ufo/index.js +43 -0
  108. package/dist/es2019/common/utils/ufo/utils.js +18 -0
  109. package/dist/es2019/index.js +19 -0
  110. package/dist/es2019/mocks/endpoints.js +250 -0
  111. package/dist/es2019/mocks/generate-data.js +96 -0
  112. package/dist/es2019/mocks/index.js +2 -0
  113. package/dist/es2019/mocks/invitations.js +11 -0
  114. package/dist/es2019/mocks/responses.js +478 -0
  115. package/dist/es2019/mocks/team-link.js +14 -0
  116. package/dist/es2019/mocks/team.js +127 -0
  117. package/dist/es2019/mocks/user.js +79 -0
  118. package/dist/es2019/mocks/with-faker.js +8 -0
  119. package/dist/es2019/services/agg-client/index.js +70 -0
  120. package/dist/es2019/services/agg-client/mocks/index.js +64 -0
  121. package/dist/es2019/services/agg-client/types.js +4 -0
  122. package/dist/es2019/services/agg-client/utils/queries/team-membership-query.js +36 -0
  123. package/dist/es2019/services/agg-client/utils/queries/user-query.js +39 -0
  124. package/dist/es2019/services/agg-client/utils/user-type.js +13 -0
  125. package/dist/es2019/services/base-client/index.js +66 -0
  126. package/dist/es2019/services/collaborationgraph-client/index.js +37 -0
  127. package/dist/es2019/services/constants.js +7 -0
  128. package/dist/es2019/services/directory-client/index.js +155 -0
  129. package/dist/es2019/services/graphql-client/index.js +1 -0
  130. package/dist/es2019/services/graphql-client/main.js +23 -0
  131. package/dist/es2019/services/graphql-client/types.js +1 -0
  132. package/dist/es2019/services/graphql-client/utils/index.js +76 -0
  133. package/dist/es2019/services/hooks/use-teams-client-setup.js +40 -0
  134. package/dist/es2019/services/identity-client/index.js +53 -0
  135. package/dist/es2019/services/identity-client/utils.js +167 -0
  136. package/dist/es2019/services/index.js +1 -0
  137. package/dist/es2019/services/invitations-client/index.js +65 -0
  138. package/dist/es2019/services/invitations-client/types.js +0 -0
  139. package/dist/es2019/services/invitations-client/utils/index.js +101 -0
  140. package/dist/es2019/services/invitations-client/utils/types.js +1 -0
  141. package/dist/es2019/services/legion-client/index.js +484 -0
  142. package/dist/es2019/services/legion-client/types.js +1 -0
  143. package/dist/es2019/services/main.js +541 -0
  144. package/dist/es2019/services/mutability-client/index.js +49 -0
  145. package/dist/es2019/services/mutability-client/types.js +0 -0
  146. package/dist/es2019/services/object-resolver-client/index.js +21 -0
  147. package/dist/es2019/services/object-resolver-client/types.js +12 -0
  148. package/dist/es2019/services/object-resolver-client/utils.js +53 -0
  149. package/dist/es2019/services/perms-client/index.js +25 -0
  150. package/dist/es2019/services/public-api-client/generated/data-contracts.js +0 -0
  151. package/dist/es2019/services/public-api-client/index.js +120 -0
  152. package/dist/es2019/services/rest-client/index.js +177 -0
  153. package/dist/es2019/services/rest-client/utils/cookie.js +13 -0
  154. package/dist/es2019/services/rest-client/utils/parse-error-message.js +20 -0
  155. package/dist/es2019/services/rest-client/utils/parse-response.js +14 -0
  156. package/dist/es2019/services/rest-client/utils/strip-uuid.js +4 -0
  157. package/dist/es2019/services/sentry/constants.js +10 -0
  158. package/dist/es2019/services/sentry/index.js +2 -0
  159. package/dist/es2019/services/sentry/main.js +107 -0
  160. package/dist/es2019/services/sentry/types.js +1 -0
  161. package/dist/es2019/services/sentry/utils/get-sentry-config.js +37 -0
  162. package/dist/es2019/services/sentry/utils/initialise-sentry.js +23 -0
  163. package/dist/es2019/services/sentry/utils/sentry-client.js +57 -0
  164. package/dist/es2019/services/sentry/utils/use-teams-sentry-client-setup.js +14 -0
  165. package/dist/es2019/services/teams-in-slack-client/index.js +32 -0
  166. package/dist/es2019/services/types.js +0 -0
  167. package/dist/es2019/services/use-query-light/index.js +2 -0
  168. package/dist/es2019/services/use-query-light/main.js +162 -0
  169. package/dist/es2019/services/use-query-light/types.js +27 -0
  170. package/dist/es2019/services/user-info-provider/index.js +1 -0
  171. package/dist/es2019/services/user-info-provider/main.js +44 -0
  172. package/dist/es2019/services/user-preferences-client/index.js +19 -0
  173. package/dist/es2019/types/config.js +0 -0
  174. package/dist/es2019/types/index.js +2 -0
  175. package/dist/es2019/types/links.js +16 -0
  176. package/dist/es2019/types/media.js +0 -0
  177. package/dist/es2019/types/membership.js +16 -0
  178. package/dist/es2019/types/slack.js +0 -0
  179. package/dist/es2019/types/team.js +1 -0
  180. package/dist/es2019/types/user.js +4 -0
  181. package/dist/esm/common/types.js +2 -0
  182. package/dist/esm/common/utils/ari.js +25 -0
  183. package/dist/esm/common/utils/error/index.js +176 -0
  184. package/dist/esm/common/utils/filter-null.js +3 -0
  185. package/dist/esm/common/utils/http.js +109 -0
  186. package/dist/esm/common/utils/index.js +2 -0
  187. package/dist/esm/common/utils/permissions/constants.js +61 -0
  188. package/dist/esm/common/utils/permissions/has-permission.js +34 -0
  189. package/dist/esm/common/utils/permissions/index.js +2 -0
  190. package/dist/esm/common/utils/permissions/types.js +5 -0
  191. package/dist/esm/common/utils/sort-teams.js +46 -0
  192. package/dist/esm/common/utils/status-code-handlers-provider.js +23 -0
  193. package/dist/esm/common/utils/team.js +12 -0
  194. package/dist/esm/common/utils/ufo/constants.js +15 -0
  195. package/dist/esm/common/utils/ufo/index.js +62 -0
  196. package/dist/esm/common/utils/ufo/utils.js +20 -0
  197. package/dist/esm/index.js +19 -0
  198. package/dist/esm/mocks/endpoints.js +261 -0
  199. package/dist/esm/mocks/generate-data.js +106 -0
  200. package/dist/esm/mocks/index.js +2 -0
  201. package/dist/esm/mocks/invitations.js +14 -0
  202. package/dist/esm/mocks/responses.js +473 -0
  203. package/dist/esm/mocks/team-link.js +19 -0
  204. package/dist/esm/mocks/team.js +143 -0
  205. package/dist/esm/mocks/user.js +95 -0
  206. package/dist/esm/mocks/with-faker.js +10 -0
  207. package/dist/esm/services/agg-client/index.js +130 -0
  208. package/dist/esm/services/agg-client/mocks/index.js +64 -0
  209. package/dist/esm/services/agg-client/types.js +4 -0
  210. package/dist/esm/services/agg-client/utils/queries/team-membership-query.js +2 -0
  211. package/dist/esm/services/agg-client/utils/queries/user-query.js +5 -0
  212. package/dist/esm/services/agg-client/utils/user-type.js +12 -0
  213. package/dist/esm/services/base-client/index.js +87 -0
  214. package/dist/esm/services/collaborationgraph-client/index.js +51 -0
  215. package/dist/esm/services/constants.js +7 -0
  216. package/dist/esm/services/directory-client/index.js +234 -0
  217. package/dist/esm/services/graphql-client/index.js +1 -0
  218. package/dist/esm/services/graphql-client/main.js +62 -0
  219. package/dist/esm/services/graphql-client/types.js +1 -0
  220. package/dist/esm/services/graphql-client/utils/index.js +149 -0
  221. package/dist/esm/services/hooks/use-teams-client-setup.js +39 -0
  222. package/dist/esm/services/identity-client/index.js +164 -0
  223. package/dist/esm/services/identity-client/utils.js +174 -0
  224. package/dist/esm/services/index.js +1 -0
  225. package/dist/esm/services/invitations-client/index.js +163 -0
  226. package/dist/esm/services/invitations-client/types.js +0 -0
  227. package/dist/esm/services/invitations-client/utils/index.js +108 -0
  228. package/dist/esm/services/invitations-client/utils/types.js +1 -0
  229. package/dist/esm/services/legion-client/index.js +1154 -0
  230. package/dist/esm/services/legion-client/types.js +1 -0
  231. package/dist/esm/services/main.js +1936 -0
  232. package/dist/esm/services/mutability-client/index.js +90 -0
  233. package/dist/esm/services/mutability-client/types.js +0 -0
  234. package/dist/esm/services/object-resolver-client/index.js +53 -0
  235. package/dist/esm/services/object-resolver-client/types.js +12 -0
  236. package/dist/esm/services/object-resolver-client/utils.js +61 -0
  237. package/dist/esm/services/perms-client/index.js +42 -0
  238. package/dist/esm/services/public-api-client/generated/data-contracts.js +0 -0
  239. package/dist/esm/services/public-api-client/index.js +260 -0
  240. package/dist/esm/services/rest-client/index.js +373 -0
  241. package/dist/esm/services/rest-client/utils/cookie.js +14 -0
  242. package/dist/esm/services/rest-client/utils/parse-error-message.js +55 -0
  243. package/dist/esm/services/rest-client/utils/parse-response.js +14 -0
  244. package/dist/esm/services/rest-client/utils/strip-uuid.js +4 -0
  245. package/dist/esm/services/sentry/constants.js +10 -0
  246. package/dist/esm/services/sentry/index.js +2 -0
  247. package/dist/esm/services/sentry/main.js +186 -0
  248. package/dist/esm/services/sentry/types.js +1 -0
  249. package/dist/esm/services/sentry/utils/get-sentry-config.js +38 -0
  250. package/dist/esm/services/sentry/utils/initialise-sentry.js +48 -0
  251. package/dist/esm/services/sentry/utils/sentry-client.js +108 -0
  252. package/dist/esm/services/sentry/utils/use-teams-sentry-client-setup.js +33 -0
  253. package/dist/esm/services/teams-in-slack-client/index.js +96 -0
  254. package/dist/esm/services/types.js +0 -0
  255. package/dist/esm/services/use-query-light/index.js +2 -0
  256. package/dist/esm/services/use-query-light/main.js +225 -0
  257. package/dist/esm/services/use-query-light/types.js +45 -0
  258. package/dist/esm/services/user-info-provider/index.js +1 -0
  259. package/dist/esm/services/user-info-provider/main.js +66 -0
  260. package/dist/esm/services/user-preferences-client/index.js +91 -0
  261. package/dist/esm/types/config.js +0 -0
  262. package/dist/esm/types/index.js +2 -0
  263. package/dist/esm/types/links.js +16 -0
  264. package/dist/esm/types/media.js +0 -0
  265. package/dist/esm/types/membership.js +17 -0
  266. package/dist/esm/types/slack.js +0 -0
  267. package/dist/esm/types/team.js +1 -0
  268. package/dist/esm/types/user.js +4 -0
  269. package/dist/types/common/types.d.ts +4 -0
  270. package/dist/types/common/utils/ari.d.ts +7 -0
  271. package/dist/types/common/utils/error/index.d.ts +91 -0
  272. package/dist/types/common/utils/filter-null.d.ts +1 -0
  273. package/dist/types/common/utils/http.d.ts +31 -0
  274. package/dist/types/common/utils/index.d.ts +2 -0
  275. package/dist/types/common/utils/permissions/constants.d.ts +23 -0
  276. package/dist/types/common/utils/permissions/has-permission.d.ts +31 -0
  277. package/dist/types/common/utils/permissions/index.d.ts +3 -0
  278. package/dist/types/common/utils/permissions/types.d.ts +7 -0
  279. package/dist/types/common/utils/sort-teams.d.ts +2 -0
  280. package/dist/types/common/utils/status-code-handlers-provider.d.ts +17 -0
  281. package/dist/types/common/utils/team.d.ts +5 -0
  282. package/dist/types/common/utils/ufo/constants.d.ts +5 -0
  283. package/dist/types/common/utils/ufo/index.d.ts +6 -0
  284. package/dist/types/common/utils/ufo/utils.d.ts +11 -0
  285. package/dist/types/index.d.ts +15 -0
  286. package/dist/types/mocks/endpoints.d.ts +22 -0
  287. package/dist/types/mocks/generate-data.d.ts +16 -0
  288. package/dist/types/mocks/index.d.ts +2 -0
  289. package/dist/types/mocks/invitations.d.ts +11 -0
  290. package/dist/types/mocks/responses.d.ts +75 -0
  291. package/dist/types/mocks/team-link.d.ts +7 -0
  292. package/dist/types/mocks/team.d.ts +14 -0
  293. package/dist/types/mocks/user.d.ts +15 -0
  294. package/dist/types/mocks/with-faker.d.ts +11 -0
  295. package/dist/types/services/agg-client/index.d.ts +12 -0
  296. package/dist/types/services/agg-client/mocks/index.d.ts +49 -0
  297. package/dist/types/services/agg-client/types.d.ts +13 -0
  298. package/dist/types/services/agg-client/utils/queries/team-membership-query.d.ts +33 -0
  299. package/dist/types/services/agg-client/utils/queries/user-query.d.ts +31 -0
  300. package/dist/types/services/agg-client/utils/user-type.d.ts +7 -0
  301. package/dist/types/services/base-client/index.d.ts +37 -0
  302. package/dist/types/services/collaborationgraph-client/index.d.ts +37 -0
  303. package/dist/types/services/constants.d.ts +2 -0
  304. package/dist/types/services/directory-client/index.d.ts +53 -0
  305. package/dist/types/services/graphql-client/index.d.ts +1 -0
  306. package/dist/types/services/graphql-client/main.d.ts +8 -0
  307. package/dist/types/services/graphql-client/types.d.ts +19 -0
  308. package/dist/types/services/graphql-client/utils/index.d.ts +3 -0
  309. package/dist/types/services/hooks/use-teams-client-setup.d.ts +12 -0
  310. package/dist/types/services/identity-client/index.d.ts +33 -0
  311. package/dist/types/services/identity-client/utils.d.ts +81 -0
  312. package/dist/types/services/index.d.ts +1 -0
  313. package/dist/types/services/invitations-client/index.d.ts +11 -0
  314. package/dist/types/services/invitations-client/types.d.ts +67 -0
  315. package/dist/types/services/invitations-client/utils/index.d.ts +7 -0
  316. package/dist/types/services/invitations-client/utils/types.d.ts +7 -0
  317. package/dist/types/services/legion-client/index.d.ts +133 -0
  318. package/dist/types/services/legion-client/types.d.ts +107 -0
  319. package/dist/types/services/main.d.ts +316 -0
  320. package/dist/types/services/mutability-client/index.d.ts +8 -0
  321. package/dist/types/services/mutability-client/types.d.ts +5 -0
  322. package/dist/types/services/object-resolver-client/index.d.ts +8 -0
  323. package/dist/types/services/object-resolver-client/types.d.ts +38 -0
  324. package/dist/types/services/object-resolver-client/utils.d.ts +18 -0
  325. package/dist/types/services/perms-client/index.d.ts +16 -0
  326. package/dist/types/services/public-api-client/generated/data-contracts.d.ts +112 -0
  327. package/dist/types/services/public-api-client/index.d.ts +41 -0
  328. package/dist/types/services/rest-client/index.d.ts +40 -0
  329. package/dist/types/services/rest-client/utils/cookie.d.ts +5 -0
  330. package/dist/types/services/rest-client/utils/parse-error-message.d.ts +1 -0
  331. package/dist/types/services/rest-client/utils/parse-response.d.ts +1 -0
  332. package/dist/types/services/rest-client/utils/strip-uuid.d.ts +1 -0
  333. package/dist/types/services/sentry/constants.d.ts +5 -0
  334. package/dist/types/services/sentry/index.d.ts +3 -0
  335. package/dist/types/services/sentry/main.d.ts +36 -0
  336. package/dist/types/services/sentry/types.d.ts +36 -0
  337. package/dist/types/services/sentry/utils/get-sentry-config.d.ts +2 -0
  338. package/dist/types/services/sentry/utils/initialise-sentry.d.ts +2 -0
  339. package/dist/types/services/sentry/utils/sentry-client.d.ts +9 -0
  340. package/dist/types/services/sentry/utils/use-teams-sentry-client-setup.d.ts +2 -0
  341. package/dist/types/services/teams-in-slack-client/index.d.ts +27 -0
  342. package/dist/types/services/types.d.ts +10 -0
  343. package/dist/types/services/use-query-light/index.d.ts +3 -0
  344. package/dist/types/services/use-query-light/main.d.ts +4 -0
  345. package/dist/types/services/use-query-light/types.d.ts +57 -0
  346. package/dist/types/services/user-info-provider/index.d.ts +1 -0
  347. package/dist/types/services/user-info-provider/main.d.ts +14 -0
  348. package/dist/types/services/user-preferences-client/index.d.ts +9 -0
  349. package/dist/types/types/config.d.ts +7 -0
  350. package/dist/types/types/index.d.ts +10 -0
  351. package/dist/types/types/links.d.ts +31 -0
  352. package/dist/types/types/media.d.ts +6 -0
  353. package/dist/types/types/membership.d.ts +35 -0
  354. package/dist/types/types/slack.d.ts +7 -0
  355. package/dist/types/types/team.d.ts +117 -0
  356. package/dist/types/types/user.d.ts +41 -0
  357. package/dist/types-ts4.5/common/types.d.ts +4 -0
  358. package/dist/types-ts4.5/common/utils/ari.d.ts +7 -0
  359. package/dist/types-ts4.5/common/utils/error/index.d.ts +91 -0
  360. package/dist/types-ts4.5/common/utils/filter-null.d.ts +1 -0
  361. package/dist/types-ts4.5/common/utils/http.d.ts +31 -0
  362. package/dist/types-ts4.5/common/utils/index.d.ts +2 -0
  363. package/dist/types-ts4.5/common/utils/permissions/constants.d.ts +23 -0
  364. package/dist/types-ts4.5/common/utils/permissions/has-permission.d.ts +31 -0
  365. package/dist/types-ts4.5/common/utils/permissions/index.d.ts +3 -0
  366. package/dist/types-ts4.5/common/utils/permissions/types.d.ts +26 -0
  367. package/dist/types-ts4.5/common/utils/sort-teams.d.ts +2 -0
  368. package/dist/types-ts4.5/common/utils/status-code-handlers-provider.d.ts +17 -0
  369. package/dist/types-ts4.5/common/utils/team.d.ts +5 -0
  370. package/dist/types-ts4.5/common/utils/ufo/constants.d.ts +64 -0
  371. package/dist/types-ts4.5/common/utils/ufo/index.d.ts +6 -0
  372. package/dist/types-ts4.5/common/utils/ufo/utils.d.ts +11 -0
  373. package/dist/types-ts4.5/index.d.ts +15 -0
  374. package/dist/types-ts4.5/mocks/endpoints.d.ts +22 -0
  375. package/dist/types-ts4.5/mocks/generate-data.d.ts +16 -0
  376. package/dist/types-ts4.5/mocks/index.d.ts +2 -0
  377. package/dist/types-ts4.5/mocks/invitations.d.ts +11 -0
  378. package/dist/types-ts4.5/mocks/responses.d.ts +75 -0
  379. package/dist/types-ts4.5/mocks/team-link.d.ts +7 -0
  380. package/dist/types-ts4.5/mocks/team.d.ts +14 -0
  381. package/dist/types-ts4.5/mocks/user.d.ts +15 -0
  382. package/dist/types-ts4.5/mocks/with-faker.d.ts +11 -0
  383. package/dist/types-ts4.5/services/agg-client/index.d.ts +12 -0
  384. package/dist/types-ts4.5/services/agg-client/mocks/index.d.ts +49 -0
  385. package/dist/types-ts4.5/services/agg-client/types.d.ts +13 -0
  386. package/dist/types-ts4.5/services/agg-client/utils/queries/team-membership-query.d.ts +33 -0
  387. package/dist/types-ts4.5/services/agg-client/utils/queries/user-query.d.ts +31 -0
  388. package/dist/types-ts4.5/services/agg-client/utils/user-type.d.ts +7 -0
  389. package/dist/types-ts4.5/services/base-client/index.d.ts +37 -0
  390. package/dist/types-ts4.5/services/collaborationgraph-client/index.d.ts +37 -0
  391. package/dist/types-ts4.5/services/constants.d.ts +2 -0
  392. package/dist/types-ts4.5/services/directory-client/index.d.ts +53 -0
  393. package/dist/types-ts4.5/services/graphql-client/index.d.ts +1 -0
  394. package/dist/types-ts4.5/services/graphql-client/main.d.ts +8 -0
  395. package/dist/types-ts4.5/services/graphql-client/types.d.ts +19 -0
  396. package/dist/types-ts4.5/services/graphql-client/utils/index.d.ts +3 -0
  397. package/dist/types-ts4.5/services/hooks/use-teams-client-setup.d.ts +12 -0
  398. package/dist/types-ts4.5/services/identity-client/index.d.ts +33 -0
  399. package/dist/types-ts4.5/services/identity-client/utils.d.ts +81 -0
  400. package/dist/types-ts4.5/services/index.d.ts +1 -0
  401. package/dist/types-ts4.5/services/invitations-client/index.d.ts +11 -0
  402. package/dist/types-ts4.5/services/invitations-client/types.d.ts +67 -0
  403. package/dist/types-ts4.5/services/invitations-client/utils/index.d.ts +7 -0
  404. package/dist/types-ts4.5/services/invitations-client/utils/types.d.ts +7 -0
  405. package/dist/types-ts4.5/services/legion-client/index.d.ts +133 -0
  406. package/dist/types-ts4.5/services/legion-client/types.d.ts +107 -0
  407. package/dist/types-ts4.5/services/main.d.ts +316 -0
  408. package/dist/types-ts4.5/services/mutability-client/index.d.ts +8 -0
  409. package/dist/types-ts4.5/services/mutability-client/types.d.ts +5 -0
  410. package/dist/types-ts4.5/services/object-resolver-client/index.d.ts +8 -0
  411. package/dist/types-ts4.5/services/object-resolver-client/types.d.ts +38 -0
  412. package/dist/types-ts4.5/services/object-resolver-client/utils.d.ts +18 -0
  413. package/dist/types-ts4.5/services/perms-client/index.d.ts +16 -0
  414. package/dist/types-ts4.5/services/public-api-client/generated/data-contracts.d.ts +112 -0
  415. package/dist/types-ts4.5/services/public-api-client/index.d.ts +41 -0
  416. package/dist/types-ts4.5/services/rest-client/index.d.ts +40 -0
  417. package/dist/types-ts4.5/services/rest-client/utils/cookie.d.ts +5 -0
  418. package/dist/types-ts4.5/services/rest-client/utils/parse-error-message.d.ts +1 -0
  419. package/dist/types-ts4.5/services/rest-client/utils/parse-response.d.ts +1 -0
  420. package/dist/types-ts4.5/services/rest-client/utils/strip-uuid.d.ts +1 -0
  421. package/dist/types-ts4.5/services/sentry/constants.d.ts +5 -0
  422. package/dist/types-ts4.5/services/sentry/index.d.ts +3 -0
  423. package/dist/types-ts4.5/services/sentry/main.d.ts +36 -0
  424. package/dist/types-ts4.5/services/sentry/types.d.ts +36 -0
  425. package/dist/types-ts4.5/services/sentry/utils/get-sentry-config.d.ts +2 -0
  426. package/dist/types-ts4.5/services/sentry/utils/initialise-sentry.d.ts +2 -0
  427. package/dist/types-ts4.5/services/sentry/utils/sentry-client.d.ts +9 -0
  428. package/dist/types-ts4.5/services/sentry/utils/use-teams-sentry-client-setup.d.ts +2 -0
  429. package/dist/types-ts4.5/services/teams-in-slack-client/index.d.ts +27 -0
  430. package/dist/types-ts4.5/services/types.d.ts +10 -0
  431. package/dist/types-ts4.5/services/use-query-light/index.d.ts +3 -0
  432. package/dist/types-ts4.5/services/use-query-light/main.d.ts +7 -0
  433. package/dist/types-ts4.5/services/use-query-light/types.d.ts +57 -0
  434. package/dist/types-ts4.5/services/user-info-provider/index.d.ts +1 -0
  435. package/dist/types-ts4.5/services/user-info-provider/main.d.ts +14 -0
  436. package/dist/types-ts4.5/services/user-preferences-client/index.d.ts +9 -0
  437. package/dist/types-ts4.5/types/config.d.ts +7 -0
  438. package/dist/types-ts4.5/types/index.d.ts +10 -0
  439. package/dist/types-ts4.5/types/links.d.ts +31 -0
  440. package/dist/types-ts4.5/types/media.d.ts +6 -0
  441. package/dist/types-ts4.5/types/membership.d.ts +35 -0
  442. package/dist/types-ts4.5/types/slack.d.ts +7 -0
  443. package/dist/types-ts4.5/types/team.d.ts +117 -0
  444. package/dist/types-ts4.5/types/user.d.ts +51 -0
  445. package/mocks/package.json +15 -0
  446. package/package.json +111 -0
  447. package/permissions/package.json +15 -0
  448. package/public/package.json +15 -0
  449. package/report.api.md +1210 -0
  450. package/scripts/generate-docs.ts +31 -0
  451. package/scripts/utils.ts +269 -0
  452. package/sentry/package.json +15 -0
  453. package/types/package.json +15 -0
  454. package/ufo/package.json +15 -0
  455. package/use-query-light/package.json +15 -0
  456. package/user-info-provider/package.json +15 -0
  457. package/utils/package.json +15 -0
@@ -0,0 +1,133 @@
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
+ import { type ExternalReference, type LinkedTeamsBulkResponse, type LinkedTeamsProfileDetails, type OrgScope, type SoftDeletedTeam, type TeamsPermissionFromApi } from '../../types/team';
3
+ import { type UserInSiteUserbase } from '../../types/user';
4
+ import { RestClient } from '../rest-client';
5
+ import { type LegionLinkResponseV3, type LegionLinkResponseV4, type LegionPaginatedResponse, type LegionTeamAndGroupDifferenceResponse } from './types';
6
+ export interface PaginationResult<T> {
7
+ entities: T[];
8
+ }
9
+ export interface OriginQuery {
10
+ /**
11
+ * @private
12
+ * @deprecated use getContext().cloudId instead
13
+ */
14
+ cloudId?: string;
15
+ product?: string | null;
16
+ }
17
+ /**
18
+ * @type AllTeamsQuery
19
+ * Query type for the getAllTeams API
20
+ * @property {string} orgId - Organization ID
21
+ * @property {string} cursor - Cursor to fetch the next page of results
22
+ * @property {number} limit - Number of teams to fetch
23
+ * @property {string} searchQuery - Search query to filter teams
24
+ * @property {string[]} memberAccountIds - List of member account IDs to filter teams
25
+ * @property {boolean} useDefaultSort - Whether to use the default sort order
26
+ * @property {boolean} showEmptyTeams - Whether to return empty teams in the search
27
+ */
28
+ export interface AllTeamsQuery {
29
+ /**
30
+ * @private
31
+ * @deprecated use getContext().orgId instead
32
+ */
33
+ orgId: string;
34
+ cursor?: string;
35
+ limit?: number;
36
+ searchQuery?: string;
37
+ memberAccountIds?: string[];
38
+ useDefaultSort?: boolean;
39
+ showEmptyTeams?: boolean;
40
+ }
41
+ /**
42
+ * @type AllTeamsResponse
43
+ * Response type for the getAllTeams API
44
+ * @property {TeamWithMemberships[]} teams - List of teams
45
+ * @property {string} cursor - Cursor to fetch the next page of results
46
+ * @property {Error} error - Error object if the API call fails
47
+ */
48
+ export interface AllTeamsResponse {
49
+ teams: TeamWithMemberships[];
50
+ cursor: string;
51
+ error?: Error;
52
+ }
53
+ /**
54
+ * @type AllTeamsPayload
55
+ * Payload type for the getAllTeams API
56
+ * @property {TeamWithMemberships[]} entities - List of teams
57
+ * @property {string} cursor - Cursor to fetch the next page of results
58
+ */
59
+ export interface AllTeamsPayload {
60
+ entities: TeamWithMemberships[];
61
+ cursor: string;
62
+ }
63
+ export interface LegionClient {
64
+ getTeamById(teamId: string): Promise<TeamWithImageUrls>;
65
+ updateTeamById(teamId: string, data: Partial<Team>): Promise<TeamWithImageUrls>;
66
+ getAllTeams(allTeamsQuery: AllTeamsQuery): Promise<AllTeamsResponse>;
67
+ inviteUsersToTeam(teamId: string, users: InvitedUser[], originQuery: OriginQuery): Promise<TeamMembership[]>;
68
+ getMyTeamMembership(teamId: string): Promise<TeamMembership>;
69
+ getTeamLinksByTeamId(teamId: string): Promise<{
70
+ entities: TeamLink[];
71
+ }>;
72
+ createTeamLink(teamId: string, link: NewTeamLink): Promise<TeamLink>;
73
+ updateTeamLink(teamId: string, linkId: string, newLink: NewTeamLink): Promise<TeamLink>;
74
+ deleteTeamLink(teamId: string, linkId: string): Promise<void>;
75
+ reorderTeamLink(teamId: string, linkId: string, newPosition: number): Promise<LinkOrder>;
76
+ acceptTeamInvitation(teamId: string): Promise<TeamMembership>;
77
+ declineTeamInvitation(teamId: string): Promise<void>;
78
+ selfJoinTeam(teamId: string, originQuery: OriginQuery): Promise<TeamMembership>;
79
+ cancelJoinRequest(teamId: string): Promise<void>;
80
+ acceptJoinRequest(teamId: string, memberId: string): Promise<TeamMembership>;
81
+ declineJoinRequest(teamId: string, memberId: string): Promise<void>;
82
+ deleteTeamMembership(teamId: string, memberId: string): Promise<TeamMembership>;
83
+ revokeTeamInvite(teamId: string, memberId: string): Promise<TeamMembership>;
84
+ deleteTeam(teamId: string): Promise<void>;
85
+ isSingleFullMemberTeam(teamId: string): Promise<boolean>;
86
+ createTeam(displayName: string, originQuery: OriginQuery, members?: string[], membershipSettings?: TeamMembershipSettings): Promise<Team>;
87
+ createExternalTeam(description: string, externalReference: ExternalReference, teamName?: string, siteId?: string): Promise<Team>;
88
+ retrieveBrowseUserPermission(product: string): Promise<{
89
+ canSearchUsers: boolean;
90
+ }>;
91
+ getLinkedTeamsBulk(groupIds: string[]): Promise<LinkedTeamsBulkResponse>;
92
+ getTeamProfileDetails(teamId: string): Promise<LinkedTeamsProfileDetails>;
93
+ getOrgScope(): Promise<OrgScope>;
94
+ getPermissions(): Promise<TeamsPermissionFromApi>;
95
+ restoreTeamToSyncedGroup(teamId: string, externalReference: ExternalReference): Promise<void>;
96
+ }
97
+ /**
98
+ * REST Client to make calls to Legion.
99
+ *
100
+ * Redirects to the instance login screen when a response returns a 401.
101
+ * It should probably redirect to Aa, but this is what the existing clients
102
+ * do so I'm going to follow suite.
103
+ */
104
+ export declare class LegionClient extends RestClient implements LegionClient {
105
+ private serviceUrlRoot;
106
+ constructor(serviceUrl: string);
107
+ setRootUrl(url: string): void;
108
+ getOrgEligibilityForManagedTeams(): Promise<{
109
+ isEligible: boolean;
110
+ }>;
111
+ getTeamAndGroupDiff(teamId: string, externalReference: ExternalReference): Promise<LegionTeamAndGroupDifferenceResponse>;
112
+ linkExistingTeamToGroup(teamId: string, externalReference: ExternalReference): Promise<void>;
113
+ getWriteMediaToken(): Promise<ReadMediaTokenResponse>;
114
+ getSoftDeletedTeamById(teamId: string): Promise<SoftDeletedTeam>;
115
+ /**
116
+ * Shoud only be used within Teams (P&T) packages
117
+ */
118
+ getUserInSiteUserBase(userId: string): Promise<UserInSiteUserbase>;
119
+ trimTeamARI(teamId?: string): string;
120
+ private constructProductOriginParams;
121
+ private mapTeamResponseV4ToTeam;
122
+ private mapTeamCreateResponseV4ToTeam;
123
+ private mapTeamSearchResponseV4ToTeamWithMembership;
124
+ mapLegionTeamLinksResponseV3ToTeamLinkResponse(response: LegionPaginatedResponse<LegionLinkResponseV3>): {
125
+ entities: TeamLink[];
126
+ };
127
+ mapLegionTeamLinksResponseV4ToTeamLinkResponse(response: LegionPaginatedResponse<LegionLinkResponseV4>): {
128
+ entities: TeamLink[];
129
+ };
130
+ mapLegionTeamLinkResponseV3ToTeamLink(legionLinkResponseV3: LegionLinkResponseV3): TeamLink;
131
+ mapLegionTeamLinkResponseV4ToTeamLink(legionLinkResponseV4: LegionLinkResponseV4): TeamLink;
132
+ }
133
+ export declare const defaultLegionClient: LegionClient;
@@ -0,0 +1,107 @@
1
+ import { type TeamMembership } from '../../types/membership';
2
+ import { type ScopeMode, type TeamDiscoverability, type TeamMembershipSettings, type TeamPermission, type TeamRestriction, type TeamState } from '../../types/team';
3
+ export interface LegionTeamImagesResponse {
4
+ smallHeaderImageUrl: string;
5
+ largeHeaderImageUrl: string;
6
+ smallAvatarImageUrl: string;
7
+ largeAvatarImageUrl: string;
8
+ }
9
+ export interface LegionTeamMembershipResponse {
10
+ membership: {
11
+ members: TeamMembership[];
12
+ errors: string[];
13
+ };
14
+ }
15
+ export interface LegionTeamBaseResponseV3 {
16
+ id: string;
17
+ displayName: string;
18
+ description: string;
19
+ state: TeamState;
20
+ membershipSettings: TeamMembershipSettings;
21
+ discoverable?: TeamDiscoverability;
22
+ organizationId?: string;
23
+ restriction: TeamRestriction;
24
+ creatorId?: string;
25
+ creatorDomain?: string;
26
+ permission?: TeamPermission;
27
+ }
28
+ export type LegionTeamGetResponseV3 = LegionTeamBaseResponseV3 & LegionTeamImagesResponse;
29
+ export type LegionTeamCreateResponseV3 = LegionTeamBaseResponseV3 & LegionTeamMembershipResponse;
30
+ export interface LegionTeamBaseResponseV4 {
31
+ id: string;
32
+ displayName: string;
33
+ description: string;
34
+ state: TeamState;
35
+ membershipSettings: TeamMembershipSettings;
36
+ organizationId: string;
37
+ creatorId?: string;
38
+ permission?: TeamPermission;
39
+ scopeMode: ScopeMode;
40
+ isVerified?: boolean;
41
+ }
42
+ export type LegionTeamGetResponseV4 = LegionTeamBaseResponseV4 & Required<LegionTeamImagesResponse>;
43
+ export type LegionTeamCreateResponseV4 = LegionTeamBaseResponseV4 & Required<LegionTeamMembershipResponse>;
44
+ export type LegionTeamAndGroupDifferenceResponse = {
45
+ displayNameChange: {
46
+ from: string;
47
+ to: string;
48
+ } | null;
49
+ membersToAdd: {
50
+ count: number;
51
+ memberIds: string[];
52
+ };
53
+ membersToRemove: {
54
+ count: number;
55
+ memberIds: string[];
56
+ };
57
+ };
58
+ export interface LegionTeamSearchResponseV3 {
59
+ id: string;
60
+ displayName: string;
61
+ description: string;
62
+ state: TeamState;
63
+ membershipSettings: TeamMembershipSettings;
64
+ discoverable?: TeamDiscoverability;
65
+ organizationId?: string;
66
+ restriction: TeamRestriction;
67
+ smallHeaderImageUrl: string;
68
+ largeHeaderImageUrl: string;
69
+ smallAvatarImageUrl: string;
70
+ largeAvatarImageUrl: string;
71
+ memberCount: number;
72
+ includesYou: boolean;
73
+ }
74
+ export interface LegionTeamSearchResponseV4 {
75
+ id: string;
76
+ displayName: string;
77
+ description: string;
78
+ state: TeamState;
79
+ membershipSettings: TeamMembershipSettings;
80
+ organizationId?: string;
81
+ smallHeaderImageUrl: string;
82
+ largeHeaderImageUrl: string;
83
+ smallAvatarImageUrl: string;
84
+ largeAvatarImageUrl: string;
85
+ memberCount: number;
86
+ includesYou: boolean;
87
+ isVerified?: boolean;
88
+ }
89
+ export interface LegionPaginatedResponse<T> {
90
+ entities: T[];
91
+ cursor: string;
92
+ }
93
+ export interface LegionLinkResponseV3 {
94
+ contentTitle: string;
95
+ description: string;
96
+ linkUri: string;
97
+ creationTime?: string;
98
+ linkId: string;
99
+ teamId?: string;
100
+ }
101
+ export interface LegionLinkResponseV4 {
102
+ contentTitle: string;
103
+ description: string;
104
+ linkUri: string;
105
+ linkId: string;
106
+ teamId?: string;
107
+ }
@@ -0,0 +1,316 @@
1
+ import { type MembershipState, type TeamMembership } from '../types';
2
+ import { aggClient } from './agg-client';
3
+ import { type AGGPageInfoVariables, type ResultWithPageInfo } from './agg-client/types';
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 { type ClientContextProps } from './types';
15
+ import userPreferencesClient from './user-preferences-client';
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
+ type AwaitedReturn<T extends (...args: any) => any> = Awaited<ReturnType<T>>;
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 declare class TeamsClient {
27
+ private readonly _aggClient;
28
+ private readonly _directoryClient;
29
+ private readonly _legionClient;
30
+ private readonly _mutabilityClient;
31
+ private readonly _permsClient;
32
+ private readonly _publicApiClient;
33
+ private readonly _invitationsClient;
34
+ private readonly _userPreferencesClient;
35
+ private readonly _objectResolverClient;
36
+ private readonly _teamsInSlackClient;
37
+ private readonly _collaborationGraphClient;
38
+ private readonly _identityClient;
39
+ constructor(
40
+ /**
41
+ * @param {ClientContextProps} context - Context including CloudId & OrgId to be used for all requests
42
+ */
43
+ context?: ClientContextProps);
44
+ private measurePerformance;
45
+ /**
46
+ * Sets the base URL to be used in the client requests
47
+ * @param {string} baseUrl - The new base URL
48
+ */
49
+ setBaseUrl(baseUrl: string): void;
50
+ /**
51
+ * Sets context including CloudId & OrgId to be used for all requests
52
+ */
53
+ setContext(context: ClientContextProps): void;
54
+ /**
55
+ * @private
56
+ * @deprecated use setBaseUrl instead
57
+ */
58
+ setDirectoryBaseUrl(baseUrl: string): void;
59
+ /**
60
+ * Fetches Browse user settings
61
+ */
62
+ querySettings(cloudId?: string, product?: string): Promise<{
63
+ ['internal.browse-users-allowed']: boolean;
64
+ }>;
65
+ /**
66
+ * This will return all of the teams-related permissions that your user has for the org and site in the client context.
67
+ */
68
+ getPermissions(): Promise<AwaitedReturn<typeof defaultLegionClient.getPermissions>>;
69
+ /**
70
+ * Fetches feature flags from Directory
71
+ * @deprecated As part of decommisioning pf-directoy
72
+ */
73
+ queryFeatureFlags(...args: Parameters<typeof directoryClient.queryFeatureFlags>): Promise<AwaitedReturn<typeof directoryClient.queryFeatureFlags>>;
74
+ /**
75
+ * Get user information of members of a team, paginated
76
+ * @param {string} teamId
77
+ * @returns {Promise}
78
+ */
79
+ queryTeamMemberships(teamId: string, membershipState?: MembershipState[], pageInfo?: AGGPageInfoVariables): Promise<ResultWithPageInfo<TeamMembership>>;
80
+ /**
81
+ * Get user information given an user id
82
+ * @param {string} userId
83
+ * @returns {Promise}
84
+ */
85
+ queryAGGUser(userId: string): Promise<AwaitedReturn<typeof aggClient.queryAGGUser>>;
86
+ /**
87
+ * Get user information of a member of a team
88
+ * @param {string} userId
89
+ * @returns {Promise<CloudUser>}
90
+ */
91
+ queryUser(...args: Parameters<typeof directoryClient.queryUser>): Promise<AwaitedReturn<typeof directoryClient.queryUser>>;
92
+ setLegionRootUrl(url: string): void;
93
+ /**
94
+ *
95
+ * @param teamId
96
+ * @returns {Promise<TeamWithImageUrls>}
97
+ */
98
+ getTeamById(teamId: string): Promise<AwaitedReturn<typeof defaultLegionClient.getTeamById>>;
99
+ /**
100
+ * Search teams based on query
101
+ */
102
+ getAllTeams(...args: Parameters<typeof defaultLegionClient.getAllTeams>): Promise<AwaitedReturn<typeof defaultLegionClient.getAllTeams>>;
103
+ /**
104
+ * Update team details
105
+ */
106
+ updateTeamById(...args: Parameters<typeof defaultLegionClient.updateTeamById>): Promise<AwaitedReturn<typeof defaultLegionClient.updateTeamById>>;
107
+ /**
108
+ * @private
109
+ * @deprecated use addUsersToTeam instead
110
+ */
111
+ inviteUsersToTeam(...args: Parameters<typeof defaultLegionClient.inviteUsersToTeam>): Promise<AwaitedReturn<typeof defaultLegionClient.inviteUsersToTeam>>;
112
+ /**
113
+ * Get the current user's team membership
114
+ */
115
+ getMyTeamMembership(...args: Parameters<typeof defaultLegionClient.getMyTeamMembership>): Promise<AwaitedReturn<typeof defaultLegionClient.getMyTeamMembership>>;
116
+ /**
117
+ * Get a teams "Links"
118
+ */
119
+ getTeamLinksByTeamId(teamId: string): Promise<AwaitedReturn<typeof defaultLegionClient.getTeamLinksByTeamId>>;
120
+ /**
121
+ * Create a team link
122
+ */
123
+ createTeamLink(...args: Parameters<typeof defaultLegionClient.createTeamLink>): Promise<AwaitedReturn<typeof defaultLegionClient.createTeamLink>>;
124
+ /**
125
+ * Update a team link
126
+ */
127
+ updateTeamLink(...args: Parameters<typeof defaultLegionClient.updateTeamLink>): Promise<AwaitedReturn<typeof defaultLegionClient.updateTeamLink>>;
128
+ /**
129
+ * Delete a team link
130
+ */
131
+ deleteTeamLink(...args: Parameters<typeof defaultLegionClient.deleteTeamLink>): Promise<void>;
132
+ /**
133
+ * Reorder a team link
134
+ */
135
+ reorderTeamLink(...args: Parameters<typeof defaultLegionClient.reorderTeamLink>): Promise<AwaitedReturn<typeof defaultLegionClient.reorderTeamLink>>;
136
+ /**
137
+ * Get org's eligibility for managed teams
138
+ */
139
+ getOrgEligibilityForManagedTeams(): Promise<AwaitedReturn<typeof defaultLegionClient.getOrgEligibilityForManagedTeams>>;
140
+ /**
141
+ * @deprecated Invitation status no longer exists
142
+ * Accept a team invitation
143
+ */
144
+ acceptTeamInvitation(...args: Parameters<typeof defaultLegionClient.acceptTeamInvitation>): Promise<AwaitedReturn<typeof defaultLegionClient.acceptTeamInvitation>>;
145
+ /**
146
+ * @deprecated Invitation status no longer exists
147
+ * Decline a team invitation
148
+ */
149
+ declineTeamInvitation(...args: Parameters<typeof defaultLegionClient.declineTeamInvitation>): Promise<void>;
150
+ /**
151
+ * Add current user to a team
152
+ */
153
+ selfJoinTeam(...args: Parameters<typeof defaultLegionClient.selfJoinTeam>): Promise<AwaitedReturn<typeof defaultLegionClient.selfJoinTeam>>;
154
+ /**
155
+ * Cancel a join request to a private team
156
+ */
157
+ cancelJoinRequest(teamId: string): Promise<void>;
158
+ /**
159
+ * Accept a join request to a private team
160
+ */
161
+ acceptJoinRequest(...args: Parameters<typeof defaultLegionClient.acceptJoinRequest>): Promise<AwaitedReturn<typeof defaultLegionClient.acceptJoinRequest>>;
162
+ /**
163
+ * Decline a join request to a private team
164
+ */
165
+ declineJoinRequest(...args: Parameters<typeof defaultLegionClient.declineJoinRequest>): Promise<void>;
166
+ /**
167
+ * @deprecated use removeTeamMemberships instead
168
+ */
169
+ deleteTeamMembership(...args: Parameters<typeof defaultLegionClient.deleteTeamMembership>): Promise<AwaitedReturn<typeof defaultLegionClient.deleteTeamMembership>>;
170
+ /**
171
+ * @deprecated INVITED status has been deprecated
172
+ */
173
+ revokeTeamInvite(...args: Parameters<typeof defaultLegionClient.revokeTeamInvite>): Promise<AwaitedReturn<typeof defaultLegionClient.revokeTeamInvite>>;
174
+ /**
175
+ * Delete a team
176
+ */
177
+ deleteTeam(teamId: string): Promise<void>;
178
+ /**
179
+ * @private
180
+ * @deprecated should be other means to solve this issue
181
+ */
182
+ isSingleFullMemberTeam(teamId: string): Promise<boolean>;
183
+ /**
184
+ * Create a team
185
+ */
186
+ createTeam(...args: Parameters<typeof defaultLegionClient.createTeam>): Promise<AwaitedReturn<typeof defaultLegionClient.createTeam>>;
187
+ /**
188
+ * Create a external team
189
+ * @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.
190
+ * @param {ExternalReference} externalReference
191
+ */
192
+ createExternalTeam(...args: Parameters<typeof defaultLegionClient.createExternalTeam>): Promise<AwaitedReturn<typeof defaultLegionClient.createExternalTeam>>;
193
+ /**
194
+ * Get linked teams for a groups in bulk
195
+ * @param {string} groupIds - The group ids to fetch linked teams for
196
+ */
197
+ getLinkedTeamsBulk(...args: Parameters<typeof defaultLegionClient.getLinkedTeamsBulk>): Promise<AwaitedReturn<typeof defaultLegionClient.getLinkedTeamsBulk>>;
198
+ /**
199
+ * Get Org scope
200
+ */
201
+ getOrgScope(...args: Parameters<typeof defaultLegionClient.getOrgScope>): Promise<AwaitedReturn<typeof defaultLegionClient.getOrgScope>>;
202
+ /**
203
+ * Restore soft-deleted team and sync to group
204
+ */
205
+ restoreTeamToSyncedGroup(...args: Parameters<typeof defaultLegionClient.restoreTeamToSyncedGroup>): Promise<void>;
206
+ /**
207
+ * Get the difference between a team and a group
208
+ * @param teamId
209
+ * @param {ExternalReference} externalReference
210
+ * @returns {Promise<TeamAndGroupDifference>}
211
+ */
212
+ getTeamAndGroupDiff(...args: Parameters<typeof defaultLegionClient.getTeamAndGroupDiff>): Promise<AwaitedReturn<typeof defaultLegionClient.getTeamAndGroupDiff>>;
213
+ /**
214
+ * Link an existing team to a group
215
+ * @param teamId
216
+ * @param {ExternalReference} externalReference
217
+ */
218
+ linkExistingTeamToGroup(...args: Parameters<typeof defaultLegionClient.linkExistingTeamToGroup>): Promise<AwaitedReturn<typeof defaultLegionClient.linkExistingTeamToGroup>>;
219
+ /**
220
+ *
221
+ * @param teamId
222
+ * @returns {Promise<LinkedTeamsProfileDetails>}
223
+ */
224
+ getTeamProfileDetailsByTeamId(...args: Parameters<typeof defaultLegionClient.getTeamProfileDetails>): Promise<AwaitedReturn<typeof defaultLegionClient.getTeamProfileDetails>>;
225
+ /**
226
+ *
227
+ * @param teamId
228
+ * @returns {Promise<SoftDeletedTeam>}
229
+ */
230
+ getSoftDeletdTeamById(teamId: string): Promise<AwaitedReturn<typeof defaultLegionClient.getSoftDeletedTeamById>>;
231
+ /**
232
+ * Shoud only be used within Teams (P&T) packages
233
+ * @param userId
234
+ * @returns {Promise<SoftDeletedTeam>}
235
+ */
236
+ getUserInSiteUserBase(userId: string): Promise<AwaitedReturn<typeof defaultLegionClient.getUserInSiteUserBase>>;
237
+ trimTeamARI(teamId?: string): string;
238
+ /**
239
+ * Get user profile with mutability constraints
240
+ */
241
+ getProfileWithMutability(...args: Parameters<typeof mutabilityClient.getProfileWithMutability>): Promise<AwaitedReturn<typeof mutabilityClient.getProfileWithMutability>>;
242
+ /**
243
+ * Is the current user a site admin
244
+ */
245
+ getIsSiteAdmin(...args: Parameters<typeof permsClient.getIsSiteAdmin>): Promise<AwaitedReturn<typeof permsClient.getIsSiteAdmin>>;
246
+ /**
247
+ * Add users to a team
248
+ */
249
+ addUsersToTeam(...args: Parameters<typeof publicApiClient.addUsersToTeam>): Promise<AwaitedReturn<typeof publicApiClient.addUsersToTeam>>;
250
+ /**
251
+ * Remove users from a team
252
+ */
253
+ removeTeamMemberships(...args: Parameters<typeof publicApiClient.removeTeamMemberships>): Promise<AwaitedReturn<typeof publicApiClient.removeTeamMemberships>>;
254
+ /**
255
+ * Restore a deleted team
256
+ */
257
+ restoreTeam(...args: Parameters<typeof publicApiClient.restoreTeam>): Promise<AwaitedReturn<typeof publicApiClient.restoreTeam>>;
258
+ getRecommendedProducts(...args: Parameters<typeof invitationsClient.getProductRecommendations>): Promise<AwaitedReturn<typeof invitationsClient.getProductRecommendations>>;
259
+ joinOrRequestDefaultAccessToProductsBulk(...args: Parameters<typeof invitationsClient.joinOrRequestDefaultAccessToProductsBulk>): Promise<AwaitedReturn<typeof invitationsClient.joinOrRequestDefaultAccessToProductsBulk>>;
260
+ /**
261
+ * Get token to upload media for a team
262
+ */
263
+ getWriteTeamMediaToken(): Promise<AwaitedReturn<typeof userPreferencesClient.getReadMediaToken>>;
264
+ /**
265
+ * Get token to read media for a user
266
+ */
267
+ getReadMediaToken(...args: Parameters<typeof userPreferencesClient.getReadMediaToken>): Promise<AwaitedReturn<typeof userPreferencesClient.getReadMediaToken>>;
268
+ /**
269
+ * Get token to upload media for a user
270
+ */
271
+ getWriteUserMediaToken(): Promise<AwaitedReturn<typeof userPreferencesClient.getReadMediaToken>>;
272
+ /**
273
+ * Update header image for a user
274
+ */
275
+ updateUserHeaderImage(headerImageId: string | null): Promise<AwaitedReturn<typeof userPreferencesClient.updateUserHeaderImage>>;
276
+ /**
277
+ * Fetch user containers from collboration graph
278
+ */
279
+ getUserContainers(...args: Parameters<typeof collaborationGraphClient.getUserContainers>): Promise<AwaitedReturn<typeof collaborationGraphClient.getUserContainers>>;
280
+ /**
281
+ * Fetch mutatability of external managed user fields
282
+ */
283
+ getUserManageConfig(...args: Parameters<typeof identityClient.getUserManageConfig>): Promise<AwaitedReturn<typeof identityClient.getUserManageConfig>>;
284
+ /**
285
+ * Fetch user avatar uploaded status
286
+ */
287
+ getMyAvatarUploadedStatus(...args: Parameters<typeof identityClient.getMyAvatarUploadedStatus>): Promise<AwaitedReturn<typeof identityClient.getMyAvatarUploadedStatus>>;
288
+ /**
289
+ * Delete user avatar
290
+ */
291
+ deleteAvatar(...args: Parameters<typeof identityClient.deleteAvatar>): Promise<AwaitedReturn<typeof identityClient.deleteAvatar>>;
292
+ fetchUserAvatarInfo(...args: Parameters<typeof identityClient.fetchUserAvatarInfo>): Promise<AwaitedReturn<typeof identityClient.fetchUserAvatarInfo>>;
293
+ /**
294
+ * Fetch Team link icons
295
+ */
296
+ getTeamLinkIcons(...args: Parameters<typeof objectResolverClient.getTeamLinkIcons>): Promise<AwaitedReturn<typeof objectResolverClient.getTeamLinkIcons>>;
297
+ /**
298
+ * Fetch team in slack details
299
+ */
300
+ getTeamInSlack(...args: Parameters<typeof teamsInSlackClient.getTeamInSlack>): Promise<AwaitedReturn<typeof teamsInSlackClient.getTeamInSlack>>;
301
+ /**
302
+ * Delete team in slack
303
+ */
304
+ disconnectTeamInSlack(...args: Parameters<typeof teamsInSlackClient.disconnectTeamInSlack>): Promise<AwaitedReturn<typeof teamsInSlackClient.disconnectTeamInSlack>>;
305
+ /**
306
+ * Update team in slack
307
+ */
308
+ updateTeamInSlack(...args: Parameters<typeof teamsInSlackClient.updateTeamInSlack>): Promise<AwaitedReturn<typeof teamsInSlackClient.updateTeamInSlack>>;
309
+ /**
310
+ * Update user details
311
+ */
312
+ updateUser(...args: Parameters<typeof identityClient.updateUser>): Promise<AwaitedReturn<typeof identityClient.updateUser>>;
313
+ updateUserAvatar(...args: Parameters<typeof identityClient.updateUserAvatar>): Promise<AwaitedReturn<typeof identityClient.updateUserAvatar>>;
314
+ }
315
+ export declare const teamsClient: TeamsClient;
316
+ export {};
@@ -0,0 +1,8 @@
1
+ import { RestClient } from '../rest-client';
2
+ import { type MutabilityConstraint } from './types';
3
+ export declare class MutabilityClient extends RestClient {
4
+ constructor(config?: {});
5
+ getProfileWithMutability(userId: string): Promise<MutabilityConstraint[]>;
6
+ }
7
+ declare const _default: MutabilityClient;
8
+ export default _default;
@@ -0,0 +1,5 @@
1
+ export type Reason = 'managed' | 'ext.dir.scim' | 'ext.dir.google';
2
+ export interface MutabilityConstraint {
3
+ field: string;
4
+ reason: Reason;
5
+ }
@@ -0,0 +1,8 @@
1
+ import { RestClient } from '../rest-client';
2
+ import { type LinkIconData } from './types';
3
+ export declare class ObjectResolverClient extends RestClient {
4
+ constructor(config?: {});
5
+ getTeamLinkIcons(teamLinkUrls: string[]): Promise<LinkIconData[]>;
6
+ }
7
+ declare const _default: ObjectResolverClient;
8
+ export default _default;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * This type matches the props for the TeamLinkIcon component in embeddable-directory
3
+ */
4
+ export type LinkIconData = {
5
+ linkUrl: string;
6
+ iconUrl: string | undefined;
7
+ productName: string;
8
+ };
9
+ export interface RawLinkData {
10
+ url: string;
11
+ generator: {
12
+ name: string;
13
+ icon?: string | {
14
+ url: string;
15
+ };
16
+ };
17
+ }
18
+ /**
19
+ * These names match the Provider Name in the JSON-LD response from respective resolvers
20
+ */
21
+ export declare enum ProviderNames {
22
+ CONFLUENCE = "Confluence",
23
+ JIRA = "Jira"
24
+ }
25
+ export interface IconItemSuccess {
26
+ body: {
27
+ data: RawLinkData;
28
+ };
29
+ status: number;
30
+ }
31
+ export interface IconItemFailure {
32
+ error: {
33
+ type: string;
34
+ message: string;
35
+ status: number;
36
+ };
37
+ status: number;
38
+ }
@@ -0,0 +1,18 @@
1
+ import { type IconItemFailure, type IconItemSuccess, type LinkIconData, type RawLinkData } from './types';
2
+ /**
3
+ * Formats data into LinkIconData with appropriate Jira/Confluence favicon urls.
4
+ * Undefined icons remain undefined.
5
+ * Exported for testing purposes.
6
+ *
7
+ * Confluence favicon extension: /wiki/favicon.ico
8
+ * Jira favicon extension: /favicon.ico
9
+ *
10
+ * @param jsonLd - raw JSON-LD data for an individual link
11
+ */
12
+ export declare const formatLinkIconData: (jsonLd: RawLinkData) => LinkIconData;
13
+ /**
14
+ * Converts batched list of json-ld responses into list of formatted LinkIconData { url, icon_url }
15
+ *
16
+ * @param batchResp - list of json-ld responses { body, status }
17
+ */
18
+ export declare const transformIconData: (batchResp: (IconItemSuccess | IconItemFailure)[]) => LinkIconData[];
@@ -0,0 +1,16 @@
1
+ import { RestClient } from '../rest-client';
2
+ export declare class PermsClient extends RestClient {
3
+ getIsSiteAdmin(
4
+ /**
5
+ * @private
6
+ * @deprecated don't need to pass param, value is taken from `this.getCloudId()` instead
7
+ */
8
+ cloudId?: string): Promise<boolean>;
9
+ }
10
+ /**
11
+ * REST Client to make calls to resources on the activity service.
12
+ *
13
+ * @type {RestClient}
14
+ */
15
+ declare const _default: PermsClient;
16
+ export default _default;