@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,61 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { fg } from '@atlaskit/platform-feature-flags';
5
+ export var allPermissions = function allPermissions(defaultPermission, isMember) {
6
+ return {
7
+ ADD_MEMBER_TO_TEAM: defaultPermission,
8
+ JOIN_TEAM: defaultPermission,
9
+ REQUEST_TO_JOIN: defaultPermission,
10
+ CANCEL_JOIN_REQUEST: defaultPermission,
11
+ APPROVE_JOIN_REQUEST: defaultPermission,
12
+ REJECT_JOIN_REQUEST: defaultPermission,
13
+ REMOVE_MEMBER_FROM_TEAM: defaultPermission,
14
+ CANCEL_INVITE: defaultPermission,
15
+ LEAVE_TEAM: defaultPermission && isMember,
16
+ EDIT_DESCRIPTION: defaultPermission,
17
+ EDIT_TEAM_NAME: defaultPermission,
18
+ EDIT_PROFILE_HEADER: defaultPermission,
19
+ EDIT_TEAM_LINK: defaultPermission,
20
+ DELETE_TEAM: defaultPermission,
21
+ EDIT_TEAM_SETTINGS: defaultPermission,
22
+ EDIT_TEAM_MEMBERSHIP: defaultPermission,
23
+ REMOVE_AGENT_FROM_TEAM: defaultPermission,
24
+ ADD_AGENT_TO_TEAM: defaultPermission
25
+ };
26
+ };
27
+ export var vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
28
+ export var openPermissions = function openPermissions(permission) {
29
+ return {
30
+ JOIN_TEAM: permission === 'FULL_READ' || permission === 'FULL_WRITE',
31
+ REQUEST_TO_JOIN: false,
32
+ CANCEL_JOIN_REQUEST: false,
33
+ APPROVE_JOIN_REQUEST: false,
34
+ REJECT_JOIN_REQUEST: false
35
+ };
36
+ };
37
+ export var inviteOnlyPermissions = function inviteOnlyPermissions(permission) {
38
+ return {
39
+ REQUEST_TO_JOIN: permission === 'FULL_READ',
40
+ CANCEL_JOIN_REQUEST: permission === 'FULL_READ'
41
+ };
42
+ };
43
+ export var SCIMSyncTeamPermissions = function SCIMSyncTeamPermissions(isMember, isOrgAdmin) {
44
+ return {
45
+ EDIT_DESCRIPTION: isMember || isOrgAdmin,
46
+ EDIT_TEAM_SETTINGS: isMember || isOrgAdmin,
47
+ EDIT_TEAM_LINK: isMember || isOrgAdmin,
48
+ EDIT_TEAM_NAME: (isMember || isOrgAdmin) && fg('enable_edit_team_name_external_type_teams')
49
+ };
50
+ };
51
+ export var getPermissionMap = function getPermissionMap(settings, permission, isMember, isOrgAdmin) {
52
+ if (settings === 'OPEN') {
53
+ return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), openPermissions(permission));
54
+ }
55
+ if (settings === 'MEMBER_INVITE') {
56
+ return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), inviteOnlyPermissions(permission));
57
+ } else if (settings === 'EXTERNAL') {
58
+ return _objectSpread(_objectSpread({}, allPermissions(false, isMember)), SCIMSyncTeamPermissions(isMember, isOrgAdmin));
59
+ }
60
+ return allPermissions(false, false);
61
+ };
@@ -0,0 +1,34 @@
1
+ import { isMember } from '../team';
2
+ import { getPermissionMap, vanityActions } from './constants';
3
+ export function hasPermission(action, settings, permission, isPeopleBrowseEnabled, currentUserMembership, teamVisibilityPermissions) {
4
+ if (!isPeopleBrowseEnabled && !vanityActions.includes(action)) {
5
+ return false;
6
+ }
7
+ var isMemberOfTeam = isMember(currentUserMembership);
8
+ var isOrgAdmin = Boolean(teamVisibilityPermissions === null || teamVisibilityPermissions === void 0 ? void 0 : teamVisibilityPermissions.canAdminTeams);
9
+ return userCan(action, {
10
+ membershipSettings: settings,
11
+ teamPermission: permission,
12
+ isMemberOfTeam: isMemberOfTeam,
13
+ isOrgAdmin: isOrgAdmin
14
+ });
15
+ }
16
+ /**
17
+ * Determines if a user has permission perform a given action on a team
18
+ */
19
+ export function userCan(action, options) {
20
+ return getPermissionMap(options.membershipSettings, options.teamPermission, options.isMemberOfTeam, options.isOrgAdmin)[action];
21
+ }
22
+
23
+ /**
24
+ * @deprecated Use `userCan` instead, it gives better visibility into the option mappings
25
+ */
26
+ export function hasPermissionForAction(action, settings, permission, isMemberOfTeam) {
27
+ var isOrgAdmin = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
28
+ return userCan(action, {
29
+ membershipSettings: settings,
30
+ teamPermission: permission,
31
+ isMemberOfTeam: isMemberOfTeam,
32
+ isOrgAdmin: isOrgAdmin
33
+ });
34
+ }
@@ -0,0 +1,2 @@
1
+ export { hasPermission, hasPermissionForAction, userCan } from './has-permission';
2
+ export { AllTeamActions } from './types';
@@ -0,0 +1,5 @@
1
+ export var AllTeamActions = ['ADD_MEMBER_TO_TEAM', 'JOIN_TEAM', 'REQUEST_TO_JOIN', 'CANCEL_JOIN_REQUEST', 'APPROVE_JOIN_REQUEST', 'REJECT_JOIN_REQUEST', 'REMOVE_MEMBER_FROM_TEAM', 'CANCEL_INVITE', 'LEAVE_TEAM', 'REMOVE_AGENT_FROM_TEAM', 'ADD_AGENT_TO_TEAM',
2
+ // Visual
3
+ 'EDIT_TEAM_NAME', 'EDIT_DESCRIPTION', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK', 'EDIT_TEAM_SETTINGS', 'EDIT_TEAM_MEMBERSHIP',
4
+ // Serious
5
+ 'DELETE_TEAM'];
@@ -0,0 +1,46 @@
1
+ var MemberType = /*#__PURE__*/function (MemberType) {
2
+ MemberType[MemberType["CURRENT_USER"] = 0] = "CURRENT_USER";
3
+ MemberType[MemberType["MEMBER"] = 1] = "MEMBER";
4
+ MemberType[MemberType["INVITED"] = 2] = "INVITED";
5
+ MemberType[MemberType["INACTIVE"] = 3] = "INACTIVE";
6
+ MemberType[MemberType["DELETED"] = 4] = "DELETED";
7
+ return MemberType;
8
+ }(MemberType || {});
9
+ var checkType = function checkType(member, currentAccountId) {
10
+ var _member$user, _member$user2;
11
+ if (member.membershipId.memberId === currentAccountId) {
12
+ return MemberType.CURRENT_USER;
13
+ } else if (member && member.state === 'INVITED') {
14
+ return MemberType.INVITED;
15
+ } else if (((_member$user = member.user) === null || _member$user === void 0 ? void 0 : _member$user.status) === 'inactive') {
16
+ return MemberType.INACTIVE;
17
+ } else if (((_member$user2 = member.user) === null || _member$user2 === void 0 ? void 0 : _member$user2.status) === 'closed') {
18
+ return MemberType.DELETED;
19
+ } else {
20
+ return MemberType.MEMBER;
21
+ }
22
+ };
23
+ export var sortMembersByType = function sortMembersByType(members, currentAccountId) {
24
+ var newMembers = members.map(function (member) {
25
+ return {
26
+ member: member,
27
+ type: checkType(member, currentAccountId)
28
+ };
29
+ });
30
+ newMembers.sort(function (_ref, _ref2) {
31
+ var memberA = _ref.member,
32
+ typeA = _ref.type;
33
+ var memberB = _ref2.member,
34
+ typeB = _ref2.type;
35
+ if (typeA === typeB) {
36
+ var _memberA$user, _memberB$user;
37
+ return ((_memberA$user = memberA.user) === null || _memberA$user === void 0 ? void 0 : _memberA$user.fullName.localeCompare(((_memberB$user = memberB.user) === null || _memberB$user === void 0 ? void 0 : _memberB$user.fullName) || '')) || 0;
38
+ } else {
39
+ return typeA - typeB;
40
+ }
41
+ });
42
+ return newMembers.map(function (_ref3) {
43
+ var member = _ref3.member;
44
+ return member;
45
+ });
46
+ };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Our REST clients are initialised when their module loads which makes it tricky for them to consume the `statusCodeHandlers` prop passed to App from the host application.
3
+ * This is a temporary measure to enable the clients to consume `statusCodeHandlers`.
4
+ * The long term solution is to replace our REST clients with Apollo client custom resolvers
5
+ * This will unify all remote data handling under the apollo-client module which is able to easily receive `statusCodeHandlers` as it is initialised within the React portion of our app.
6
+ */
7
+
8
+ export var statusCodeHandlersProvider = {
9
+ handlers: {},
10
+ get: function get() {
11
+ return statusCodeHandlersProvider.handlers;
12
+ },
13
+ setHandlers: function setHandlers(handlers) {
14
+ statusCodeHandlersProvider.handlers = handlers;
15
+ }
16
+ };
17
+ export function handleResponse(response) {
18
+ var status = response.status;
19
+ var handler = statusCodeHandlersProvider.get()[status];
20
+ if (typeof handler === 'function') {
21
+ handler(response);
22
+ }
23
+ }
@@ -0,0 +1,12 @@
1
+ export function isInvited(member) {
2
+ return !!member && member.state === 'INVITED';
3
+ }
4
+ export var isNonMember = function isNonMember(member) {
5
+ return !member || member.state === 'ALUMNI';
6
+ };
7
+ export var isRequestingJoin = function isRequestingJoin(member) {
8
+ return !!member && member.state === 'REQUESTING_TO_JOIN';
9
+ };
10
+ export var isMember = function isMember(member) {
11
+ return !!member && member.state === 'FULL_MEMBER';
12
+ };
@@ -0,0 +1,15 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import { ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
3
+ import { TeamsUFOExperience } from './index';
4
+ var TeamsClientExperienceKeyList = ['getAllTeams', 'getTeamById', 'updateTeamById', 'querySettings', 'queryFeatureFlags', 'queryTeamMemberships', 'queryUser', 'inviteUsersToTeam', 'getMyTeamMembership', 'getTeamLinksByTeamId', 'createTeamLink', 'updateTeamLink', 'deleteTeamLink', 'reorderTeamLink', 'acceptTeamInvitation', 'declineTeamInvitation', 'selfJoinTeam', 'cancelJoinRequest', 'acceptJoinRequest', 'declineJoinRequest', 'deleteTeamMembership', 'revokeTeamInvite', 'deleteTeam', 'isSingleFullMemberTeam', 'createTeam', 'createExternalTeam', 'getProfileWithMutability', 'getIsSiteAdmin', 'addUsersToTeam', 'removeTeamMemberships', 'getRecommendedProducts', 'joinOrRequestDefaultAccessToProductsBulk', 'getReadMediaToken', 'getWriteUserMediaToken', 'updateUserHeaderImage', 'getWriteTeamMediaToken', 'getSoftDeletedTeamById', 'restoreTeam', 'getUserInSiteUserBase', 'getLinkedTeamsBulk', 'getTeamProfileDetails', 'getUserContainers', 'getPermissions', 'getUserManageConfig', 'getMyAvatarUploadedStatus', 'deleteUserAvatar', 'getTeamLinkIcons', 'getTeamInSlack', 'getOrgScope', 'restoreTeamToSyncedGroup', 'getTeamAndGroupDiff', 'linkExistingTeamToGroup', 'fetchUserAvatarInfo', 'getOrgEligibilityForManagedTeams', 'updateUser', 'updateUserAvatar', 'disconnectTeamInSlack', 'updateTeamInSlack'];
5
+ export var TEAMS_CLIENT_EXPERIENCES = new Map(_toConsumableArray(TeamsClientExperienceKeyList.map(function (key) {
6
+ return [key,
7
+ // camelCase to kebab-case
8
+ new TeamsUFOExperience("teams-client-".concat(key.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()), {
9
+ type: ExperienceTypes.Operation,
10
+ performanceType: ExperiencePerformanceTypes.Custom,
11
+ platform: {
12
+ component: 'people'
13
+ }
14
+ })];
15
+ })));
@@ -0,0 +1,62 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
4
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
+ import _get from "@babel/runtime/helpers/get";
6
+ import _inherits from "@babel/runtime/helpers/inherits";
7
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
8
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
9
+ function _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
10
+ import { UFOExperience } from '@atlaskit/ufo';
11
+ import { isAuthError, isErrorStatusCode, isNetworkError, StatusCode } from '../error';
12
+ import { createErrorMetadata, isIgnoredError } from './utils';
13
+ export var TeamsUFOExperience = /*#__PURE__*/function (_UFOExperience) {
14
+ function TeamsUFOExperience() {
15
+ _classCallCheck(this, TeamsUFOExperience);
16
+ return _callSuper(this, TeamsUFOExperience, arguments);
17
+ }
18
+ _inherits(TeamsUFOExperience, _UFOExperience);
19
+ return _createClass(TeamsUFOExperience, [{
20
+ key: "abortWithError",
21
+ value: function abortWithError(error, reason) {
22
+ return _superPropGet(TeamsUFOExperience, "abort", this, 3)([{
23
+ metadata: {
24
+ error: createErrorMetadata(error),
25
+ reason: reason
26
+ }
27
+ }]);
28
+ }
29
+ }, {
30
+ key: "failWithError",
31
+ value: function failWithError(error) {
32
+ if (error instanceof Error) {
33
+ if (isAuthError(error)) {
34
+ return this.abortWithError(error, 'Abort due to user unauthenticated');
35
+ }
36
+ if (isErrorStatusCode(StatusCode.GONE, error)) {
37
+ return this.abortWithError(error, 'Abort due to unavailable resource');
38
+ }
39
+ if (isIgnoredError(error)) {
40
+ return this.abortWithError(error, 'Abort due to an error in ignore list');
41
+ }
42
+ if (isNetworkError(error)) {
43
+ return this.abortWithError(error, 'Abort due to network error');
44
+ }
45
+ return _superPropGet(TeamsUFOExperience, "failure", this, 3)([{
46
+ metadata: {
47
+ error: createErrorMetadata(error),
48
+ packageVersion: "4.0.0",
49
+ packageName: "@atlaskit/teams-client"
50
+ }
51
+ }]);
52
+ }
53
+ return _superPropGet(TeamsUFOExperience, "failure", this, 3)([{
54
+ metadata: {
55
+ error: 'unknown error',
56
+ packageVersion: "4.0.0",
57
+ packageName: "@atlaskit/teams-client"
58
+ }
59
+ }]);
60
+ }
61
+ }]);
62
+ }(UFOExperience);
@@ -0,0 +1,20 @@
1
+ import { HttpError } from '../error';
2
+ export var createErrorMetadata = function createErrorMetadata(error) {
3
+ return {
4
+ error: {
5
+ name: error.name,
6
+ message: error.message,
7
+ stack: error.stack,
8
+ traceId: error instanceof HttpError ? error.traceId : undefined,
9
+ status: error instanceof HttpError ? error.status : undefined
10
+ }
11
+ };
12
+ };
13
+ var ignoredErrors = ['SLOIgnoreError', 'SLOIgnoreHttpError'];
14
+ export var isIgnoredError = function isIgnoredError(error) {
15
+ var errorName = error === null || error === void 0 ? void 0 : error.constructor.name;
16
+ if (!errorName) {
17
+ return false;
18
+ }
19
+ return ignoredErrors.includes(errorName);
20
+ };
@@ -0,0 +1,19 @@
1
+ export { HttpError } from './common/utils/error';
2
+ export { isTeamMembershipWithUser } from './types/membership';
3
+
4
+ // /client
5
+ export { teamsClient, TeamsClient } from './services';
6
+ export { useTeamsClientSetup, useTeamsClientSetupNext } from './services/hooks/use-teams-client-setup';
7
+
8
+ // /permissions
9
+ export { AllTeamActions, hasPermission } from './common/utils/permissions';
10
+ // /sentry
11
+ export { initialiseSentry } from './services/sentry/utils/initialise-sentry';
12
+ export { logException, logInfoMessage } from './services/sentry/main';
13
+ // /user-info-provider
14
+ export { userInfoProvider, UserInfoProvider } from './services/user-info-provider';
15
+
16
+ // /utils
17
+ export { sortMembersByType, isInvited, isMember, isNonMember, isRequestingJoin } from './common/utils';
18
+ export { toUserARI, toUserId, toTeamARI, toTeamId } from './common/utils/ari';
19
+ export { useLazyQueryLight, useQueryLight, UseQueryLightError } from './services/use-query-light';
@@ -0,0 +1,261 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+
3
+ import { mockTeamMembershipResponseWithNEdges } from './generate-data';
4
+ import { getJoinOrRequestDefaultAccessToProductsBulkSuccessResponse } from './invitations';
5
+ import { MOCK_EXTERNAL_TEAM_RESPONSE, MOCK_INVITE_ONLY_TEAM_RESPONSE, MOCK_INVITE_ONLY_TEAM_WRITE_PERMISSION_RESPONSE, MOCK_ME_RESPONSE, MOCK_MEMBERS_ME_ADMIN_RESPONSE, MOCK_MEMBERS_ME_MEMBER_RESPONSE, MOCK_MEMBERS_ME_REQUESTING_RESPONSE, MOCK_OPEN_TEAM_RESPONSE, MOCK_OPEN_TEAM_WRITE_PERMISSION_RESPONSE, MOCK_PRODUCT_RECOMMENDATIONS_RESPONSE, MOCK_PROFILE_MUTABILITY_RESPONSE, MOCK_TEAM_MEMBERSHIP_RESPONSE } from './responses';
6
+ export var mockTeamsClientEndpoints = function mockTeamsClientEndpoints(config) {
7
+ var _config$endpointConfi, _config$endpointConfi2, _config$endpointConfi3, _config$endpointConfi4;
8
+ if (config.restoreFetchMock) {
9
+ config.fetchMock.restore();
10
+ }
11
+ if (((_config$endpointConfi = config.endpointConfig) === null || _config$endpointConfi === void 0 ? void 0 : _config$endpointConfi.teamType) === 'inviteOnly') {
12
+ mockInviteOnlyTeamEndpoint(config);
13
+ } else if (((_config$endpointConfi2 = config.endpointConfig) === null || _config$endpointConfi2 === void 0 ? void 0 : _config$endpointConfi2.teamType) === 'external') {
14
+ mockExternalTeamEndpoint(config);
15
+ } else {
16
+ mockOpenTeamWritePermissionEndpoint(config);
17
+ }
18
+ if (((_config$endpointConfi3 = config.endpointConfig) === null || _config$endpointConfi3 === void 0 ? void 0 : _config$endpointConfi3.memberStatus) === 'requestingToJoin') {
19
+ mockMembersMeRequestingToJoinEndpoint(config);
20
+ } else if (((_config$endpointConfi4 = config.endpointConfig) === null || _config$endpointConfi4 === void 0 ? void 0 : _config$endpointConfi4.memberStatus) === 'notMember') {
21
+ mockMembersMeNotMemberEndpoint(config);
22
+ } else {
23
+ mockMembersMeFullMemberEndpoint(config);
24
+ }
25
+ mockMeEndpoint(config);
26
+ mockTeamMembershipEndpoint(config);
27
+ mockProductRecommendationsEndpoint(config);
28
+ mockJoinOrRequestDefaultAccessToProductsBulkEndpoint(config);
29
+ mockProfileWithMutabilityEndpoint(config);
30
+ mockCatchAll(config);
31
+ };
32
+ export var mockTeamsClientRequestingToJoinEndpoints = function mockTeamsClientRequestingToJoinEndpoints(config) {
33
+ if (config.restoreFetchMock) {
34
+ config.fetchMock.restore();
35
+ }
36
+ mockInviteOnlyTeamEndpoint(config);
37
+ mockMembersMeRequestingToJoinEndpoint(config);
38
+ mockMeEndpoint(config);
39
+ mockTeamMembershipEndpoint(config);
40
+ mockProductRecommendationsEndpoint(config);
41
+ mockJoinOrRequestDefaultAccessToProductsBulkEndpoint(config);
42
+ mockProfileWithMutabilityEndpoint(config);
43
+ mockCatchAll(config);
44
+ };
45
+ export var mockTeamsClientNotMemberEndpoints = function mockTeamsClientNotMemberEndpoints(config) {
46
+ if (config.restoreFetchMock) {
47
+ config.fetchMock.restore();
48
+ }
49
+ mockTeamEndpoint(config);
50
+ mockMembersMeNotMemberEndpoint(config);
51
+ mockMeEndpoint(config);
52
+ mockTeamMembershipEndpoint(config);
53
+ mockProductRecommendationsEndpoint(config);
54
+ mockJoinOrRequestDefaultAccessToProductsBulkEndpoint(config);
55
+ mockProfileWithMutabilityEndpoint(config);
56
+ mockCatchAll(config);
57
+ };
58
+ export var mockTeamsClientAdminEndpoints = function mockTeamsClientAdminEndpoints(config) {
59
+ if (config.restoreFetchMock) {
60
+ config.fetchMock.restore();
61
+ }
62
+ mockOpenTeamWritePermissionEndpoint(config);
63
+ mockMembersMeAdminEndpoint(config);
64
+ mockMeEndpoint(config);
65
+ mockTeamMembershipEndpoint(config);
66
+ mockProductRecommendationsEndpoint(config);
67
+ mockJoinOrRequestDefaultAccessToProductsBulkEndpoint(config);
68
+ mockProfileWithMutabilityEndpoint(config);
69
+ mockCatchAll(config);
70
+ };
71
+ export var mockTeamsClientInviteOnlyMemberEndpoints = function mockTeamsClientInviteOnlyMemberEndpoints(config) {
72
+ if (config.restoreFetchMock) {
73
+ config.fetchMock.restore();
74
+ }
75
+ mockInviteOnlyTeamWritePermissionEndpoint(config);
76
+ mockMembersMeFullMemberEndpoint(config);
77
+ mockMeEndpoint(config);
78
+ mockTeamMembershipEndpoint(config);
79
+ mockProductRecommendationsEndpoint(config);
80
+ mockJoinOrRequestDefaultAccessToProductsBulkEndpoint(config);
81
+ mockProfileWithMutabilityEndpoint(config);
82
+ mockCatchAll(config);
83
+ };
84
+ var mockMeRegex = /\/gateway\/api\/me/;
85
+ var mockMeEndpoint = function mockMeEndpoint(_ref) {
86
+ var fetchMock = _ref.fetchMock,
87
+ delay = _ref.delay;
88
+ fetchMock.get(mockMeRegex, function (_, options) {
89
+ return MOCK_ME_RESPONSE;
90
+ }, {
91
+ method: 'GET',
92
+ overwriteRoutes: true,
93
+ delay: delay
94
+ });
95
+ };
96
+ var mockMembersRegex = /\/gateway\/api\/.*teams\/.*\/membership\/me/;
97
+ var mockMembersMeFullMemberEndpoint = function mockMembersMeFullMemberEndpoint(_ref2) {
98
+ var fetchMock = _ref2.fetchMock,
99
+ delay = _ref2.delay;
100
+ fetchMock.get(mockMembersRegex, function (_, options) {
101
+ return MOCK_MEMBERS_ME_MEMBER_RESPONSE;
102
+ }, {
103
+ method: 'GET',
104
+ overwriteRoutes: true,
105
+ delay: delay
106
+ });
107
+ };
108
+ var mockMembersMeRequestingToJoinEndpoint = function mockMembersMeRequestingToJoinEndpoint(_ref3) {
109
+ var fetchMock = _ref3.fetchMock,
110
+ delay = _ref3.delay;
111
+ fetchMock.get(mockMembersRegex, function (_, options) {
112
+ return MOCK_MEMBERS_ME_REQUESTING_RESPONSE;
113
+ }, {
114
+ method: 'GET',
115
+ overwriteRoutes: true,
116
+ delay: delay
117
+ });
118
+ };
119
+ var mockMembersMeAdminEndpoint = function mockMembersMeAdminEndpoint(_ref4) {
120
+ var fetchMock = _ref4.fetchMock,
121
+ delay = _ref4.delay;
122
+ fetchMock.get(mockMembersRegex, function (_, options) {
123
+ return MOCK_MEMBERS_ME_ADMIN_RESPONSE;
124
+ }, {
125
+ method: 'GET',
126
+ overwriteRoutes: true,
127
+ delay: delay
128
+ });
129
+ };
130
+ var mockMembersMeNotMemberEndpoint = function mockMembersMeNotMemberEndpoint(_ref5) {
131
+ var fetchMock = _ref5.fetchMock,
132
+ delay = _ref5.delay;
133
+ fetchMock.get(mockMembersRegex, 404, {
134
+ method: 'GET',
135
+ overwriteRoutes: true,
136
+ delay: delay
137
+ });
138
+ };
139
+ var mockTeamMembershipRegex = /\/gateway\/api\/graphql\?q=TeamMembership/;
140
+ var mockTeamMembershipEndpoint = function mockTeamMembershipEndpoint(_ref6) {
141
+ var _endpointConfig$teamM;
142
+ var fetchMock = _ref6.fetchMock,
143
+ delay = _ref6.delay,
144
+ faker = _ref6.faker,
145
+ endpointConfig = _ref6.endpointConfig;
146
+ var count = endpointConfig === null || endpointConfig === void 0 || (_endpointConfig$teamM = endpointConfig.teamMembership) === null || _endpointConfig$teamM === void 0 ? void 0 : _endpointConfig$teamM.count;
147
+ // Use a static response as default, for snapshot tests
148
+ var response = !faker || !count || count === 21 ? MOCK_TEAM_MEMBERSHIP_RESPONSE : mockTeamMembershipResponseWithNEdges({
149
+ faker: faker
150
+ }, count);
151
+ fetchMock.post(mockTeamMembershipRegex, function (_, options) {
152
+ return response;
153
+ }, {
154
+ method: 'POST',
155
+ overwriteRoutes: true,
156
+ delay: delay
157
+ });
158
+ };
159
+ var mockTeamRegex = /\/gateway\/api\/.*teams\/[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}\?siteId=.*$/;
160
+ var mockTeamEndpoint = function mockTeamEndpoint(_ref7) {
161
+ var fetchMock = _ref7.fetchMock,
162
+ delay = _ref7.delay;
163
+ fetchMock.get(mockTeamRegex, function (test, options) {
164
+ return MOCK_OPEN_TEAM_RESPONSE;
165
+ }, {
166
+ method: 'GET',
167
+ overwriteRoutes: true,
168
+ delay: delay
169
+ });
170
+ };
171
+ var mockInviteOnlyTeamEndpoint = function mockInviteOnlyTeamEndpoint(_ref8) {
172
+ var fetchMock = _ref8.fetchMock,
173
+ delay = _ref8.delay;
174
+ fetchMock.get(mockTeamRegex, function (test, options) {
175
+ return MOCK_INVITE_ONLY_TEAM_RESPONSE;
176
+ }, {
177
+ method: 'GET',
178
+ overwriteRoutes: true,
179
+ delay: delay
180
+ });
181
+ };
182
+ var mockExternalTeamEndpoint = function mockExternalTeamEndpoint(_ref9) {
183
+ var fetchMock = _ref9.fetchMock,
184
+ delay = _ref9.delay;
185
+ fetchMock.get(mockTeamRegex, function (test, options) {
186
+ return MOCK_EXTERNAL_TEAM_RESPONSE;
187
+ }, {
188
+ method: 'GET',
189
+ overwriteRoutes: true,
190
+ delay: delay
191
+ });
192
+ };
193
+ var mockInviteOnlyTeamWritePermissionEndpoint = function mockInviteOnlyTeamWritePermissionEndpoint(_ref10) {
194
+ var fetchMock = _ref10.fetchMock,
195
+ delay = _ref10.delay;
196
+ fetchMock.get(mockTeamRegex, function (test, options) {
197
+ return MOCK_INVITE_ONLY_TEAM_WRITE_PERMISSION_RESPONSE;
198
+ }, {
199
+ method: 'GET',
200
+ overwriteRoutes: true,
201
+ delay: delay
202
+ });
203
+ };
204
+ var mockOpenTeamWritePermissionEndpoint = function mockOpenTeamWritePermissionEndpoint(_ref11) {
205
+ var fetchMock = _ref11.fetchMock,
206
+ delay = _ref11.delay;
207
+ fetchMock.get(mockTeamRegex, function (test, options) {
208
+ return MOCK_OPEN_TEAM_WRITE_PERMISSION_RESPONSE;
209
+ }, {
210
+ method: 'GET',
211
+ overwriteRoutes: true,
212
+ delay: delay
213
+ });
214
+ };
215
+ var mockProfileWithMutabilityRegex = /\/gateway\/api\/users\/manage\/.*\/profile/;
216
+ var mockProfileWithMutabilityEndpoint = function mockProfileWithMutabilityEndpoint(_ref12) {
217
+ var fetchMock = _ref12.fetchMock,
218
+ delay = _ref12.delay;
219
+ fetchMock.get(mockProfileWithMutabilityRegex, function (_, options) {
220
+ return MOCK_PROFILE_MUTABILITY_RESPONSE;
221
+ }, {
222
+ method: 'GET',
223
+ overwriteRoutes: true,
224
+ delay: delay
225
+ });
226
+ };
227
+ var mockProductRecommendationsRegex = /\/gateway\/api\/invitations\/v1\/product-recommendations\?orgId=test-orgId&.*/;
228
+ var mockProductRecommendationsEndpoint = function mockProductRecommendationsEndpoint(_ref13) {
229
+ var fetchMock = _ref13.fetchMock,
230
+ delay = _ref13.delay;
231
+ fetchMock.get(mockProductRecommendationsRegex, function (_, options) {
232
+ return MOCK_PRODUCT_RECOMMENDATIONS_RESPONSE;
233
+ }, {
234
+ method: 'GET',
235
+ overwriteRoutes: true,
236
+ delay: delay
237
+ });
238
+ };
239
+ var mockJoinOrRequestDefaultAccessToProductsBulkRegex = /\/gateway\/api\/invitations\/v1\/access-requests\/bulk\/request/;
240
+ var mockJoinOrRequestDefaultAccessToProductsBulkEndpoint = function mockJoinOrRequestDefaultAccessToProductsBulkEndpoint(_ref14) {
241
+ var fetchMock = _ref14.fetchMock,
242
+ delay = _ref14.delay;
243
+ fetchMock.post(mockJoinOrRequestDefaultAccessToProductsBulkRegex, function (_, options) {
244
+ var request = JSON.parse(options.body);
245
+ var aris = request.resources.map(function (resource) {
246
+ return resource.ari;
247
+ });
248
+ return getJoinOrRequestDefaultAccessToProductsBulkSuccessResponse(aris);
249
+ }, {
250
+ method: 'POST',
251
+ overwriteRoutes: true,
252
+ delay: delay
253
+ });
254
+ };
255
+ var mockCatchAll = function mockCatchAll(_ref15) {
256
+ var fetchMock = _ref15.fetchMock;
257
+ fetchMock.mock('*', function (path) {
258
+ // eslint-disable-next-line no-console
259
+ console.error("Unmatched request: ".concat(path));
260
+ });
261
+ };