@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,484 @@
1
+ import { DEFAULT_CONFIG } from '../constants';
2
+ import { RestClient } from '../rest-client';
3
+
4
+ /**
5
+ * @type AllTeamsQuery
6
+ * Query type for the getAllTeams API
7
+ * @property {string} orgId - Organization ID
8
+ * @property {string} cursor - Cursor to fetch the next page of results
9
+ * @property {number} limit - Number of teams to fetch
10
+ * @property {string} searchQuery - Search query to filter teams
11
+ * @property {string[]} memberAccountIds - List of member account IDs to filter teams
12
+ * @property {boolean} useDefaultSort - Whether to use the default sort order
13
+ * @property {boolean} showEmptyTeams - Whether to return empty teams in the search
14
+ */
15
+
16
+ /**
17
+ * @type AllTeamsResponse
18
+ * Response type for the getAllTeams API
19
+ * @property {TeamWithMemberships[]} teams - List of teams
20
+ * @property {string} cursor - Cursor to fetch the next page of results
21
+ * @property {Error} error - Error object if the API call fails
22
+ */
23
+
24
+ /**
25
+ * @type AllTeamsPayload
26
+ * Payload type for the getAllTeams API
27
+ * @property {TeamWithMemberships[]} entities - List of teams
28
+ * @property {string} cursor - Cursor to fetch the next page of results
29
+ */
30
+
31
+ const v3UrlPath = `/v3/teams`;
32
+ const v4UrlPath = `/v4/teams`;
33
+
34
+ /**
35
+ * REST Client to make calls to Legion.
36
+ *
37
+ * Redirects to the instance login screen when a response returns a 401.
38
+ * It should probably redirect to Aa, but this is what the existing clients
39
+ * do so I'm going to follow suite.
40
+ */
41
+ export class LegionClient extends RestClient {
42
+ constructor(serviceUrl) {
43
+ super({
44
+ serviceUrl
45
+ });
46
+ this.serviceUrlRoot = serviceUrl;
47
+ }
48
+ setRootUrl(url) {
49
+ if (url === this.serviceUrlRoot) {
50
+ return;
51
+ }
52
+ this.serviceUrlRoot = url;
53
+ this.setServiceUrl(url);
54
+ }
55
+ async getTeamById(teamId) {
56
+ const siteId = this.getCloudId();
57
+ const teamResponse = await this.getResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}?siteId=${siteId}`);
58
+ return this.mapTeamResponseV4ToTeam(teamResponse);
59
+ }
60
+ async getAllTeams(allTeamsQuery) {
61
+ try {
62
+ const orgId = this.getOrgId(allTeamsQuery.orgId);
63
+ const siteId = this.getCloudId();
64
+ const {
65
+ entities,
66
+ cursor
67
+ } = await this.postResource(`${v4UrlPath}/search`, {
68
+ organizationId: orgId,
69
+ siteId: siteId,
70
+ limit: allTeamsQuery.limit,
71
+ query: allTeamsQuery.searchQuery,
72
+ cursor: allTeamsQuery.cursor || '',
73
+ sortBy: allTeamsQuery.useDefaultSort ? null : [{
74
+ field: 'displayName',
75
+ order: 'asc'
76
+ }],
77
+ membership: {
78
+ memberAccountIds: allTeamsQuery.memberAccountIds
79
+ },
80
+ showEmptyTeams: allTeamsQuery.showEmptyTeams
81
+ });
82
+ const teams = entities.map(t => this.mapTeamSearchResponseV4ToTeamWithMembership(t));
83
+ return {
84
+ cursor,
85
+ teams: teams
86
+ };
87
+ } catch (error) {
88
+ this.logException(error, 'getAllTeams');
89
+ return {
90
+ cursor: '',
91
+ teams: [],
92
+ error: error instanceof Error ? error : undefined
93
+ };
94
+ }
95
+ }
96
+ async updateTeamById(teamId, data) {
97
+ const teamResponse = await this.patchResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}`, data);
98
+ return this.mapTeamResponseV4ToTeam(teamResponse);
99
+ }
100
+
101
+ /**
102
+ * @private
103
+ * @deprecated use publicApiClient.addUsersToTeam instead
104
+ */
105
+ async inviteUsersToTeam(teamId, users, originQuery) {
106
+ if (!users || users.length === 0) {
107
+ return Promise.resolve([]);
108
+ }
109
+ const emails = [];
110
+ const ids = [];
111
+ users.forEach(user => {
112
+ if (user.id) {
113
+ ids.push(user.id);
114
+ } else if (user.email) {
115
+ emails.push(user.email);
116
+ }
117
+ });
118
+ const url = `${v3UrlPath}/ui/${this.trimTeamARI(teamId)}/membership/invite?${this.constructProductOriginParams(originQuery)}`;
119
+ return this.postResource(url, {
120
+ emailAddresses: emails,
121
+ atlassianAccounts: ids
122
+ });
123
+ }
124
+ async getMyTeamMembership(teamId) {
125
+ return this.getResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/membership/me?siteId=${this.getCloudId()}`, {
126
+ shouldLogError: e => e.status !== 400
127
+ });
128
+ }
129
+ async getTeamLinksByTeamId(teamId) {
130
+ let siteId = this.getCloudId();
131
+ let response = await this.getResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/links?siteId=${siteId}`);
132
+ return this.mapLegionTeamLinksResponseV4ToTeamLinkResponse(response);
133
+ }
134
+ async createTeamLink(teamId, link) {
135
+ const sanitisedTeamLink = {
136
+ contentTitle: link.contentTitle.trim(),
137
+ linkUri: link.linkUri.trim(),
138
+ description: link.description.trim(),
139
+ ...(link.creationTime ? {
140
+ creationTime: link.creationTime.trim()
141
+ } : {}),
142
+ ...(link.teamId ? {
143
+ teamId: link.teamId.trim()
144
+ } : {})
145
+ };
146
+ const response = await this.postResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/links`, sanitisedTeamLink);
147
+ return this.mapLegionTeamLinkResponseV4ToTeamLink(response);
148
+ }
149
+ async updateTeamLink(teamId, linkId, {
150
+ linkUri,
151
+ ...linkFields
152
+ }) {
153
+ const response = await this.putResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/links/${linkId}`, {
154
+ linkUri: linkUri.trim(),
155
+ ...linkFields
156
+ });
157
+ return this.mapLegionTeamLinkResponseV4ToTeamLink(response);
158
+ }
159
+ async deleteTeamLink(teamId, linkId) {
160
+ return this.deleteResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/links/${linkId}`);
161
+ }
162
+ async reorderTeamLink(teamId, linkId, newPosition) {
163
+ const queryArgs = `?linkId=${linkId}&newPosition=${newPosition}`;
164
+ return this.postResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/links/order${queryArgs}`);
165
+ }
166
+ async getOrgEligibilityForManagedTeams() {
167
+ const orgId = this.getOrgId();
168
+ if (!orgId) {
169
+ const err = new Error('Organization ID is required');
170
+ this.logException(err, 'getOrgEligibilityForManagedTeams');
171
+ throw err;
172
+ }
173
+ return this.getResourceCached(`${v4UrlPath}/org/${orgId}/premium/eligibility`);
174
+ }
175
+
176
+ /**
177
+ * @private
178
+ * @deprecated in V4, as no invitation status for team membership anymore.
179
+ */
180
+ async acceptTeamInvitation(teamId) {
181
+ return this.postResource(`${v3UrlPath}/ui/${this.trimTeamARI(teamId)}/membership/accept`);
182
+ }
183
+
184
+ /**
185
+ * @private
186
+ * @deprecated in V4, as no invitation status for team membership anymore.
187
+ */
188
+ async declineTeamInvitation(teamId) {
189
+ return this.postResource(`${v3UrlPath}/ui/${this.trimTeamARI(teamId)}/membership/decline`);
190
+ }
191
+ async selfJoinTeam(
192
+ // TODO Test me
193
+ teamId, originQuery) {
194
+ const url = `${v4UrlPath}/${this.trimTeamARI(teamId)}/membership/join?${this.constructProductOriginParams(originQuery)}`;
195
+ return this.postResource(url);
196
+ }
197
+ async cancelJoinRequest(teamId) {
198
+ return this.deleteResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/membership/request`);
199
+ }
200
+ async acceptJoinRequest(teamId, memberId) {
201
+ return this.postResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/membership/${memberId}/request/accept`);
202
+ }
203
+ async declineJoinRequest(teamId, memberId) {
204
+ return this.postResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/membership/${memberId}/request/decline`);
205
+ }
206
+
207
+ /**
208
+ * @private
209
+ * @deprecated use publicApiClient.removeTeamMemberships instead
210
+ */
211
+ async deleteTeamMembership(teamId, memberId) {
212
+ return this.deleteResource(`${v3UrlPath}/${this.trimTeamARI(teamId)}/members/${memberId}`);
213
+ }
214
+
215
+ /**
216
+ * @private
217
+ * @deprecated INVITED status has been deprecated
218
+ */
219
+ async revokeTeamInvite(teamId, memberId) {
220
+ return this.deleteResource(`${v3UrlPath}/ui/${this.trimTeamARI(teamId)}/membership/${memberId}/revoke`);
221
+ }
222
+ async deleteTeam(teamId) {
223
+ return this.deleteResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}`);
224
+ }
225
+
226
+ /**
227
+ * @private
228
+ * @deprecated should be other means to solve this issue
229
+ */
230
+ async isSingleFullMemberTeam(teamId) {
231
+ // This is still not working...
232
+ const members = await this.getResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/members?size=2&membershipState=FULL_MEMBER&siteId=${this.getCloudId()}`);
233
+ return members.entities.length === 1;
234
+ }
235
+ async createTeam(displayName, originQuery, members, membershipSettings = 'OPEN') {
236
+ const organizationId = this.getContext().orgId;
237
+ if (!organizationId) {
238
+ const err = new Error('Organization ID is required');
239
+ this.logException(err, 'createTeam');
240
+ throw err;
241
+ }
242
+ const url = `${v4UrlPath}?${this.constructProductOriginParams(originQuery)}`;
243
+ const legionTeam = await this.postResource(url, {
244
+ displayName,
245
+ description: '',
246
+ membershipSettings: membershipSettings,
247
+ siteId: this.getCloudId(),
248
+ organizationId: organizationId,
249
+ members: [...new Set(members)]
250
+ });
251
+ return this.mapTeamCreateResponseV4ToTeam(legionTeam);
252
+ }
253
+ async createExternalTeam(description, externalReference, teamName, siteId) {
254
+ const organizationId = this.getContext().orgId;
255
+ const cloudId = this.getContext().cloudId;
256
+ if (!organizationId) {
257
+ const err = new Error('Organization ID is required');
258
+ this.logException(err, 'createTeam');
259
+ throw err;
260
+ }
261
+ const url = `${v4UrlPath}/external?origin.cloudId=${encodeURIComponent(this.getCloudId(siteId || cloudId))}`;
262
+ const legionExternalTeam = await this.postResource(url, {
263
+ description,
264
+ externalReference,
265
+ organizationId,
266
+ siteId: siteId || cloudId,
267
+ displayName: teamName
268
+ });
269
+ return this.mapTeamCreateResponseV4ToTeam(legionExternalTeam);
270
+ }
271
+ async getTeamAndGroupDiff(teamId, externalReference) {
272
+ const siteId = this.getCloudId();
273
+ return this.postResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/external/diff`, {
274
+ siteId,
275
+ externalReference
276
+ });
277
+ }
278
+ async linkExistingTeamToGroup(teamId, externalReference) {
279
+ const siteId = this.getCloudId();
280
+ return this.postResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/external/link`, {
281
+ externalReference,
282
+ siteId
283
+ });
284
+ }
285
+ async getWriteMediaToken() {
286
+ return this.getResource('/v4/teams/header-image/media-upload').then(response => {
287
+ var _response$baseUrl;
288
+ return {
289
+ ...response,
290
+ baseUrl: (_response$baseUrl = response.baseUrl) !== null && _response$baseUrl !== void 0 && _response$baseUrl.endsWith('/') ? response.baseUrl.slice(0, -1) : response.baseUrl
291
+ };
292
+ });
293
+ }
294
+ async getSoftDeletedTeamById(teamId) {
295
+ const orgId = this.getOrgId();
296
+ const siteId = this.getCloudId();
297
+ return this.getResource(`${v4UrlPath}/org/${orgId}/soft-deleted/${this.trimTeamARI(teamId)}?siteId=${siteId}`).then(response => ({
298
+ ...response.teamResponse,
299
+ id: teamId
300
+ }));
301
+ }
302
+
303
+ /**
304
+ * Shoud only be used within Teams (P&T) packages
305
+ */
306
+ async getUserInSiteUserBase(userId) {
307
+ const siteId = this.getCloudId();
308
+ return this.getResource(`/teams/site/${siteId}/users/${userId}/exists`, {
309
+ headers: {
310
+ Accept: 'application/json',
311
+ 'X-header-client-id': 'ptc-fe'
312
+ }
313
+ });
314
+ }
315
+ async retrieveBrowseUserPermission(product) {
316
+ return this.getResourceCached(`/teams/site/${this.getCloudId()}/canSearchUsers?product=${product}`, undefined,
317
+ // 2 minute expiration, resolves duplicate calls in initial load
318
+ {
319
+ expiration: 1000 * 60 * 2
320
+ });
321
+ }
322
+ async getPermissions() {
323
+ const orgId = this.getContext().orgId;
324
+ const siteId = this.getCloudId();
325
+ if (!orgId) {
326
+ const err = new Error('Organization ID is required');
327
+ this.logException(err, 'getPermissions');
328
+ throw err;
329
+ }
330
+ return this.getResourceCached(`${v4UrlPath}/permission/self/organization/${orgId}?siteId=${siteId}`);
331
+ }
332
+ async getLinkedTeamsBulk(groupIds) {
333
+ const organizationId = this.getContext().orgId;
334
+ if (!organizationId) {
335
+ const err = new Error('Organization ID is required');
336
+ this.logException(err, 'getLinkedTeamsBulk');
337
+ throw err;
338
+ }
339
+ const legionExternalTeam = await this.postResource(`${v4UrlPath}/external/bulk`, {
340
+ organizationId,
341
+ source: 'ATLASSIAN_GROUP',
342
+ externalIds: groupIds
343
+ });
344
+ return legionExternalTeam;
345
+ }
346
+ async getTeamProfileDetails(teamId) {
347
+ const siteId = this.getCloudId();
348
+ if (!siteId) {
349
+ const err = new Error('Site ID is required');
350
+ this.logException(err, 'getTeamProfileDetails');
351
+ throw err;
352
+ }
353
+ const linkedTeamsProfileDetails = await this.getResource(`${v4UrlPath}/${teamId}/profile?siteId=${this.getCloudId()}`);
354
+ return linkedTeamsProfileDetails;
355
+ }
356
+ async getOrgScope() {
357
+ const orgId = this.getContext().orgId;
358
+ if (!orgId) {
359
+ const err = new Error('Organization ID is required');
360
+ this.logException(err, 'getOrgScope');
361
+ throw err;
362
+ }
363
+ const orgScope = await this.getResourceCached(`${v4UrlPath}/org/${orgId}/scope`);
364
+ return orgScope;
365
+ }
366
+ async restoreTeamToSyncedGroup(teamId, externalReference) {
367
+ const siteId = this.getCloudId();
368
+ return await this.postResource(`${v4UrlPath}/${teamId}/external/restore`, {
369
+ externalReference: externalReference,
370
+ siteId
371
+ });
372
+ }
373
+
374
+ // some Legion APIs return team id with the team ARI
375
+ trimTeamARI(teamId = '') {
376
+ const OLD_TEAM_ARI_PREFIX = 'ari:cloud:teams::team/';
377
+ const TEAM_ARI_PREFIX = 'ari:cloud:identity::team/';
378
+ return teamId.replace(TEAM_ARI_PREFIX, '').replace(OLD_TEAM_ARI_PREFIX, ''); // PTC-4213 will remove the references to the old team ARI
379
+ }
380
+ constructProductOriginParams(originQuery) {
381
+ const product = (originQuery.product || '').toUpperCase();
382
+ const queries = [`origin.cloudId=${encodeURIComponent(this.getCloudId(originQuery.cloudId))}`];
383
+ if (product) {
384
+ queries.push(`origin.product=${encodeURIComponent(product)}`);
385
+ }
386
+ return queries.join('&');
387
+ }
388
+ mapTeamResponseV4ToTeam(teamResponse) {
389
+ return {
390
+ id: teamResponse.id,
391
+ displayName: teamResponse.displayName,
392
+ description: teamResponse.description,
393
+ state: teamResponse.state,
394
+ membershipSettings: teamResponse.membershipSettings,
395
+ organizationId: teamResponse.organizationId,
396
+ restriction: 'ORG_MEMBERS',
397
+ // Deprecated field, not used in UI - this is the safest default
398
+ creatorId: teamResponse.creatorId,
399
+ permission: teamResponse.permission,
400
+ orgId: teamResponse.organizationId,
401
+ smallHeaderImageUrl: teamResponse.smallHeaderImageUrl,
402
+ largeHeaderImageUrl: teamResponse.largeHeaderImageUrl,
403
+ smallAvatarImageUrl: teamResponse.smallAvatarImageUrl,
404
+ largeAvatarImageUrl: teamResponse.largeAvatarImageUrl,
405
+ scopeMode: teamResponse.scopeMode,
406
+ isVerified: teamResponse.isVerified
407
+ };
408
+ }
409
+ mapTeamCreateResponseV4ToTeam(teamResponse) {
410
+ var _teamResponse$members, _teamResponse$members2;
411
+ return {
412
+ id: teamResponse.id,
413
+ displayName: teamResponse.displayName,
414
+ description: teamResponse.description,
415
+ state: teamResponse.state,
416
+ membershipSettings: teamResponse.membershipSettings,
417
+ organizationId: teamResponse.organizationId,
418
+ restriction: 'ORG_MEMBERS',
419
+ // Deprecated field, not used in UI - this is the safest default
420
+ creatorId: teamResponse.creatorId,
421
+ permission: teamResponse.permission,
422
+ orgId: teamResponse.organizationId,
423
+ memberIds: ((_teamResponse$members = teamResponse.membership) === null || _teamResponse$members === void 0 ? void 0 : (_teamResponse$members2 = _teamResponse$members.members) === null || _teamResponse$members2 === void 0 ? void 0 : _teamResponse$members2.map(m => m.membershipId.memberId)) || [],
424
+ membership: teamResponse.membership
425
+ };
426
+ }
427
+ mapTeamSearchResponseV4ToTeamWithMembership(teamResponse) {
428
+ return {
429
+ id: teamResponse.id,
430
+ displayName: teamResponse.displayName,
431
+ description: teamResponse.description,
432
+ state: teamResponse.state,
433
+ membershipSettings: teamResponse.membershipSettings,
434
+ organizationId: teamResponse.organizationId,
435
+ restriction: 'ORG_MEMBERS',
436
+ // Deprecated field, not used in UI - this is the safest default
437
+ smallHeaderImageUrl: teamResponse.smallHeaderImageUrl,
438
+ largeAvatarImageUrl: teamResponse.largeAvatarImageUrl,
439
+ smallAvatarImageUrl: teamResponse.smallAvatarImageUrl,
440
+ largeHeaderImageUrl: teamResponse.largeHeaderImageUrl,
441
+ memberCount: teamResponse.memberCount,
442
+ includesYou: teamResponse.includesYou,
443
+ memberIds: [],
444
+ // Team Search API does not return members
445
+ members: [],
446
+ // Team Search API does not return members
447
+ membership: {
448
+ members: [],
449
+ errors: []
450
+ },
451
+ isVerified: teamResponse.isVerified
452
+ };
453
+ }
454
+ mapLegionTeamLinksResponseV3ToTeamLinkResponse(response) {
455
+ return {
456
+ entities: response.entities.map(this.mapLegionTeamLinkResponseV3ToTeamLink)
457
+ };
458
+ }
459
+ mapLegionTeamLinksResponseV4ToTeamLinkResponse(response) {
460
+ return {
461
+ entities: response.entities.map(this.mapLegionTeamLinkResponseV4ToTeamLink)
462
+ };
463
+ }
464
+ mapLegionTeamLinkResponseV3ToTeamLink(legionLinkResponseV3) {
465
+ return {
466
+ contentTitle: legionLinkResponseV3.contentTitle,
467
+ description: legionLinkResponseV3.description,
468
+ creationTime: legionLinkResponseV3.creationTime,
469
+ linkUri: legionLinkResponseV3.linkUri,
470
+ linkId: legionLinkResponseV3.linkId,
471
+ teamId: legionLinkResponseV3.teamId
472
+ };
473
+ }
474
+ mapLegionTeamLinkResponseV4ToTeamLink(legionLinkResponseV4) {
475
+ return {
476
+ contentTitle: legionLinkResponseV4.contentTitle,
477
+ description: legionLinkResponseV4.description,
478
+ linkUri: legionLinkResponseV4.linkUri,
479
+ linkId: legionLinkResponseV4.linkId,
480
+ teamId: legionLinkResponseV4.teamId
481
+ };
482
+ }
483
+ }
484
+ export const defaultLegionClient = new LegionClient(DEFAULT_CONFIG.stargateRoot);
@@ -0,0 +1 @@
1
+ export {};