@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,7 @@
1
+ import type FakerType from 'faker';
2
+ import { type TeamLink } from '../types';
3
+ type MockConfig = {
4
+ faker: typeof FakerType;
5
+ };
6
+ export declare const randomTeamLinks: ({ faker }: MockConfig) => (n?: number, customProps?: {}) => TeamLink[];
7
+ export {};
@@ -0,0 +1,14 @@
1
+ import type FakerType from 'faker';
2
+ import { type TeamMembership, type TeamWithMemberships } from '../types/membership';
3
+ import { type Team, type TeamAvatarImage, type TeamWithImageUrls } from '../types/team';
4
+ type MockConfig = {
5
+ faker: typeof FakerType;
6
+ };
7
+ export declare const randomTeamMembership: ({ faker }: MockConfig) => (customProps?: {}) => TeamMembership;
8
+ export declare const randomTeamMemberships: (config: MockConfig) => (n?: number, customProps?: {}) => TeamMembership[];
9
+ export declare const randomHeaderImage: ({ faker }: MockConfig) => () => string;
10
+ export declare const randomTeamImages: ({ faker }: MockConfig) => (customImage?: string) => TeamAvatarImage;
11
+ export declare const randomBasicTeam: ({ faker }: MockConfig) => (customProps?: {}) => Team;
12
+ export declare const randomFullTeam: ({ faker }: MockConfig) => (customProps?: {}) => TeamWithImageUrls;
13
+ export declare const randomTeamWithMemberships: ({ faker }: MockConfig) => (team: TeamWithImageUrls, customProps?: {}) => TeamWithMemberships;
14
+ export {};
@@ -0,0 +1,15 @@
1
+ import type FakerType from 'faker';
2
+ import { type TeamsClientUser as User } from '../types/user';
3
+ type MockConfig = {
4
+ faker: typeof FakerType;
5
+ };
6
+ export declare const createUser: (id: string, customProps?: {}) => User;
7
+ export declare const randomUser: ({ faker }: MockConfig, customProps?: {}) => User;
8
+ export declare const randomUsers: (n: number | undefined, config: MockConfig) => User[];
9
+ export declare const fixedUsers: (n?: number) => User[];
10
+ export declare const JohnWick: User;
11
+ export declare const DenzelWashington: User;
12
+ export declare const ClosedUser: User;
13
+ export declare const InactiveUser: User;
14
+ export declare const AgentUser: User;
15
+ export {};
@@ -0,0 +1,11 @@
1
+ import type FakerType from 'faker';
2
+ type MockConfig = {
3
+ faker: typeof FakerType;
4
+ };
5
+ export declare const teamsClientMocks: (config: MockConfig) => {
6
+ randomBasicTeam: (customProps?: {}) => import("../types").Team;
7
+ randomFullTeam: (customProps?: {}) => import("../types").TeamWithImageUrls;
8
+ randomTeamWithMemberships: (team: import("../types").TeamWithImageUrls, customProps?: {}) => import("../types").TeamWithMemberships;
9
+ randomTeamLinks: (n?: number, customProps?: {}) => import("../types").TeamLink[];
10
+ };
11
+ export {};
@@ -0,0 +1,12 @@
1
+ import { type MembershipState, type TeamMembership } from '../../types';
2
+ import { type ClientConfig } from '../base-client';
3
+ import { BaseGraphQlClient } from '../graphql-client';
4
+ import { type AGGPageInfoVariables, type ResultWithPageInfo } from './types';
5
+ import { type TeamsUserQueryResponse } from './utils/queries/user-query';
6
+ export declare class AGGClient extends BaseGraphQlClient {
7
+ constructor(baseUrl: string, config: ClientConfig);
8
+ setBaseUrl(baseUrl: string): void;
9
+ queryTeamMemberships(teamId: string, membershipState?: MembershipState[], pageInfo?: AGGPageInfoVariables): Promise<ResultWithPageInfo<TeamMembership>>;
10
+ queryAGGUser(userId: string): Promise<TeamsUserQueryResponse>;
11
+ }
12
+ export declare const aggClient: AGGClient;
@@ -0,0 +1,49 @@
1
+ export declare const MOCK_TEAM: {
2
+ team: {
3
+ teamV2: {
4
+ members: {
5
+ edges: {
6
+ node: {
7
+ member: {
8
+ id: string;
9
+ name: string;
10
+ picture: string;
11
+ accountStatus: string;
12
+ extendedProfile: {
13
+ jobTitle: string;
14
+ };
15
+ };
16
+ state: string;
17
+ role: string;
18
+ };
19
+ }[];
20
+ pageInfo: {
21
+ hasNextPage: boolean;
22
+ endCursor: string;
23
+ };
24
+ };
25
+ };
26
+ };
27
+ };
28
+ export declare const MOCK_USER: {
29
+ user: {
30
+ name: string;
31
+ picture: string;
32
+ accountStatus: string;
33
+ __typename: string;
34
+ email: string;
35
+ nickname: string;
36
+ locale: string;
37
+ zoneinfo: string;
38
+ extendedProfile: {
39
+ jobTitle: string;
40
+ organization: string;
41
+ department: string;
42
+ location: string;
43
+ phoneNumbers: string;
44
+ closedDate: Date;
45
+ inactiveDate: Date;
46
+ };
47
+ id: string;
48
+ };
49
+ };
@@ -0,0 +1,13 @@
1
+ export type AGGPageInfo = {
2
+ endCursor: string | null;
3
+ hasNextPage: boolean;
4
+ };
5
+ export type ResultWithPageInfo<T> = {
6
+ edges: T[];
7
+ pageInfo: AGGPageInfo;
8
+ };
9
+ export type AGGPageInfoVariables = {
10
+ first: number;
11
+ after?: string;
12
+ };
13
+ export declare function isResultWithPageInfo<T>(result: T[] | ResultWithPageInfo<T>): result is ResultWithPageInfo<T>;
@@ -0,0 +1,33 @@
1
+ import { type UserARI } from '../../../../common/types';
2
+ import { type MembershipRole, type MembershipState } from '../../../../types';
3
+ import { type AGGPageInfo } from '../../types';
4
+ declare const TeamMembershipQuery = "query app_user_characteristics($teamId: ID!, $siteId: String!, $membershipState: [TeamMembershipState!]!, $first: Int!, $after: String) {\n team {\n teamV2(\n id: $teamId\n siteId: $siteId\n ) @optIn(to: \"Team-v2\") {\n members(state: $membershipState, first: $first, after: $after) {\n edges {\n node {\n member {\n id\n name\n picture\n accountStatus\n ... on AtlassianAccountUser {\n extendedProfile {\n jobTitle\n }\n }\n ... on AppUser {\n appType\n }\n }\n role\n state\n }\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n }\n }";
5
+ export default TeamMembershipQuery;
6
+ export type TeamMembershipQueryVariables = {
7
+ teamId: string;
8
+ siteId: string;
9
+ membershipState: MembershipState[];
10
+ };
11
+ export type TeamMembershipQueryResponse = {
12
+ teamV2: {
13
+ members: {
14
+ edges: {
15
+ node: {
16
+ role: MembershipRole;
17
+ state: MembershipState;
18
+ member: {
19
+ name: string;
20
+ picture: string;
21
+ id: UserARI;
22
+ accountStatus: 'active' | 'inactive' | 'closed';
23
+ extendedProfile: {
24
+ jobTitle: string | null;
25
+ } | null;
26
+ appType?: string | null;
27
+ };
28
+ };
29
+ }[];
30
+ pageInfo: AGGPageInfo;
31
+ };
32
+ };
33
+ };
@@ -0,0 +1,31 @@
1
+ import { type UserStatus } from '../../../../types/user';
2
+ export declare const TeamsUserQuery: string;
3
+ export type TeamsUserQueryVariables = {
4
+ userId: string;
5
+ };
6
+ type PhoneNumber = {
7
+ type?: string;
8
+ value: string;
9
+ };
10
+ export type TeamsUserQueryResponse = {
11
+ id: string;
12
+ name: string;
13
+ picture: string;
14
+ accountStatus: UserStatus;
15
+ __typename: 'AppUser' | string;
16
+ email?: string;
17
+ nickname?: string;
18
+ locale?: string;
19
+ zoneinfo?: string;
20
+ extendedProfile?: {
21
+ jobTitle?: string;
22
+ organization?: string;
23
+ department?: string;
24
+ location?: string;
25
+ phoneNumbers?: PhoneNumber[];
26
+ closedDate?: string;
27
+ inactiveDate?: string;
28
+ };
29
+ appType?: string;
30
+ };
31
+ export {};
@@ -0,0 +1,7 @@
1
+ import { type UserType } from '../../../types/user';
2
+ type userTypeOptions = {
3
+ isBot?: boolean;
4
+ appType?: string | null;
5
+ };
6
+ export declare function toUserType({ isBot, appType }: userTypeOptions): UserType;
7
+ export {};
@@ -0,0 +1,37 @@
1
+ import { type ClientContext, type ClientContextProps } from '../types';
2
+ type NestedContext = {
3
+ [key: string]: string | number | boolean | NestedContext;
4
+ };
5
+ export type LogExceptionFN = (ex: unknown | Error, name: string, context?: NestedContext & {
6
+ tags?: Record<string, string>;
7
+ }) => void;
8
+ export type ClientConfig = {
9
+ logException: LogExceptionFN;
10
+ };
11
+ export declare class BaseClient {
12
+ private config;
13
+ private context;
14
+ private cache;
15
+ constructor(config: ClientConfig);
16
+ setContext(context: ClientContextProps): void;
17
+ getContext(): ClientContext;
18
+ /**
19
+ *
20
+ * @param localValue is used for backwards compatibility
21
+ * @returns
22
+ */
23
+ getOrgId(localValue?: string): string;
24
+ /**
25
+ *
26
+ * @param localValue is used for backwards compatibility
27
+ * @returns
28
+ */
29
+ getCloudId(localValue?: string): string;
30
+ logException: (ex: unknown | Error, name: string, context?: NestedContext & {
31
+ tags?: Record<string, string>;
32
+ }) => void;
33
+ private keyWithContext;
34
+ cacheValue<T>(key: string, value: T, expiryMs?: number): void;
35
+ getCachedValue<T>(key: string): T | undefined;
36
+ }
37
+ export {};
@@ -0,0 +1,37 @@
1
+ import { RestClient } from '../rest-client';
2
+ export type UserContainerArgs = {
3
+ userId: string;
4
+ principalId: string;
5
+ siteId: string;
6
+ sessionId: string;
7
+ maxNumberOfResults: number;
8
+ };
9
+ declare enum CONTAINER_TYPE {
10
+ JIRA_PROJECT = "jiraProject",
11
+ CONFLUENCE_SPACE = "confluenceSpace"
12
+ }
13
+ declare enum ENTITY_TYPE {
14
+ CONTAINER = "CONTAINER",
15
+ USER = "USER"
16
+ }
17
+ type CollaborationGraphContainerDetails = {
18
+ id: string;
19
+ key: string;
20
+ name: string;
21
+ url: string;
22
+ iconUrl: string;
23
+ };
24
+ type CollaborationGraphEntities = {
25
+ id: string;
26
+ containerType: CONTAINER_TYPE;
27
+ entityType: ENTITY_TYPE;
28
+ containerDetails: CollaborationGraphContainerDetails;
29
+ };
30
+ type UserContainerResponse = {
31
+ collaborationGraphEntities: CollaborationGraphEntities[];
32
+ };
33
+ export declare class CollaborationGraphClient extends RestClient {
34
+ getUserContainers({ userId, principalId, siteId, sessionId, maxNumberOfResults, }: UserContainerArgs): Promise<UserContainerResponse>;
35
+ }
36
+ declare const _default: CollaborationGraphClient;
37
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { type TeamsClientConfig } from '../types';
2
+ export declare const DEFAULT_CONFIG: TeamsClientConfig;
@@ -0,0 +1,53 @@
1
+ import { type TeamMembership } from '../../types';
2
+ import { type ClientConfig } from '../base-client';
3
+ import { BaseGraphQlClient } from '../graphql-client';
4
+ export declare const BROWSE_USER_SETTINGS_KEY = "internal.browse-users-allowed";
5
+ /**
6
+ * @type CloudUser
7
+ * @property {string} avatarUrl
8
+ * @property {string} id
9
+ * @property {string} fullName
10
+ * @property {string} title
11
+ */
12
+ export interface CloudUser {
13
+ avatarUrl: string;
14
+ id: string;
15
+ fullName: string;
16
+ title?: string;
17
+ }
18
+ export declare class DirectoryClient extends BaseGraphQlClient {
19
+ constructor(baseUrl: string, config: ClientConfig);
20
+ setBaseUrl(baseUrl: string): void;
21
+ queryFeatureFlags(
22
+ /**
23
+ * @private
24
+ * @deprecated don't need to pass param, value is taken from `this.getCloudId()` instead
25
+ */
26
+ cloudId: string | undefined, flags: string[]): Promise<Record<string, boolean>>;
27
+ private canRetryError;
28
+ /**
29
+ * Get user information of all members of a team
30
+ * @param {string} teamId
31
+ * @returns {Promise}
32
+ * @private
33
+ * @deprecated use AGG instead
34
+ */
35
+ queryTeamMemberships(teamId: string, membershipStatus?: string[]): Promise<TeamMembership[]>;
36
+ /**
37
+ * Get user information of all members of a team
38
+ * @param {string} userId
39
+ * @returns {Promise}
40
+ */
41
+ queryUser(userId: string,
42
+ /**
43
+ * @private
44
+ * @deprecated don't need to pass param, value is taken from `this.getCloudId()` instead
45
+ */
46
+ cloudId?: string): Promise<{
47
+ CloudUser: CloudUser;
48
+ }>;
49
+ }
50
+ /**
51
+ * @deprecated As part of decommisioning pf-directoy
52
+ */
53
+ export declare const directoryClient: DirectoryClient;
@@ -0,0 +1 @@
1
+ export { BaseGraphQlClient } from './main';
@@ -0,0 +1,8 @@
1
+ import { BaseClient, type ClientConfig } from '../base-client';
2
+ import { type Body, type Options, type ResultResponse } from './types';
3
+ export declare class BaseGraphQlClient extends BaseClient {
4
+ private serviceUrl;
5
+ constructor(serviceUrl: string, config: ClientConfig);
6
+ setServiceUrl(serviceUrl: string): void;
7
+ makeGraphQLRequest<Key extends string, Data = unknown, Variables = unknown>(body: Body<Variables>, options?: Options): Promise<ResultResponse<Key, Data>>;
8
+ }
@@ -0,0 +1,19 @@
1
+ import { type ErrorData } from '../../common/utils/error';
2
+ export interface Options {
3
+ operationName?: string;
4
+ errorPolicy?: 'none' | 'all' | 'ignore';
5
+ }
6
+ export type InnerResponse<T> = {
7
+ data: T;
8
+ errors?: ErrorData[];
9
+ };
10
+ export type ResultResponse<Key extends string, Data> = {
11
+ [name in Key]: Data;
12
+ };
13
+ export type Body<Variables> = {
14
+ query: string;
15
+ variables?: Variables;
16
+ };
17
+ export type GraphQLRequestDataResponse<Data> = Data | {
18
+ response: Response;
19
+ };
@@ -0,0 +1,3 @@
1
+ import { type Body, type GraphQLRequestDataResponse, type Options, type ResultResponse } from '../types';
2
+ export declare function makeGraphQLRequestWithoutRetries<Data, Variables>(serviceUrl: string, body: Body<Variables>, options?: Options): Promise<GraphQLRequestDataResponse<Data>>;
3
+ export declare function handleGraphQLRequest<Key extends string, Data = unknown, Variables = unknown>(serviceUrl: string, body: Body<Variables>, options?: Options): Promise<ResultResponse<Key, Data>>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @deprecated use useTeamsClientSetupNext for named parameters
3
+ */
4
+ export declare const useTeamsClientSetup: (stargateRoot?: string, cloudId?: string | null, orgId?: string, principalUserId?: string) => void;
5
+ type TeamsClientSetupProps = {
6
+ stargateRoot?: string;
7
+ cloudId?: string | null;
8
+ orgId?: string;
9
+ principalUserId?: string;
10
+ };
11
+ export declare const useTeamsClientSetupNext: ({ stargateRoot, cloudId, orgId, principalUserId, }: TeamsClientSetupProps) => void;
12
+ export {};
@@ -0,0 +1,33 @@
1
+ import { type EditableUserFields } from '../../types';
2
+ import { RestClient } from '../rest-client';
3
+ export declare class IdentityClient extends RestClient {
4
+ constructor(config?: {});
5
+ getUserManageConfig(userId: string): Promise<{
6
+ mutabilityConstraints: {
7
+ field: import("./utils").FieldType;
8
+ reason: string | null;
9
+ }[];
10
+ }>;
11
+ /**
12
+ * @deprecated
13
+ * User fetchUserAvatarInfo instead
14
+ */
15
+ getMyAvatarUploadedStatus(userId: string): Promise<{
16
+ uploaded: boolean;
17
+ url: string;
18
+ }>;
19
+ deleteAvatar(userId: string): Promise<unknown>;
20
+ fetchUserAvatarInfo(userId: string): Promise<{
21
+ uploaded: boolean;
22
+ url: string;
23
+ }>;
24
+ updateUser({ id, ...user }: Partial<EditableUserFields> & {
25
+ id: string;
26
+ }): Promise<unknown>;
27
+ updateUserAvatar({ id, fileURI }: {
28
+ id: string;
29
+ fileURI: string;
30
+ }): Promise<string>;
31
+ }
32
+ declare const _default: IdentityClient;
33
+ export default _default;
@@ -0,0 +1,81 @@
1
+ interface IdentityProfileData {
2
+ account_id: string;
3
+ name: string;
4
+ nickname: string;
5
+ locale: string;
6
+ picture: string;
7
+ email: string;
8
+ zoneinfo: string;
9
+ extended_profile: {
10
+ job_title: string;
11
+ organization: string;
12
+ department: string;
13
+ location: string;
14
+ phone_number: string;
15
+ };
16
+ }
17
+ interface IdentityProfileResponse {
18
+ account: IdentityProfileData;
19
+ }
20
+ export interface UserDetails {
21
+ id: string;
22
+ fullName: string;
23
+ nickname: string;
24
+ timezone: string;
25
+ locale: string;
26
+ avatarUrl: string;
27
+ email: string;
28
+ title: string;
29
+ companyName: string;
30
+ department: string;
31
+ location: string;
32
+ phoneNumber: string;
33
+ localTime: ({ format }: {
34
+ format: string;
35
+ }) => string | null;
36
+ }
37
+ export type UserDetailKey = keyof UserDetails;
38
+ export declare const fromManageAPIResponse: (res: IdentityProfileResponse) => UserDetails | null;
39
+ export declare enum FieldType {
40
+ FullName = "fullName",
41
+ Nickname = "nickname",// aka `Public name`
42
+ Title = "title",
43
+ Department = "department",
44
+ CompanyName = "companyName",
45
+ Location = "location",
46
+ Timezone = "timezone",
47
+ Email = "email",
48
+ PhoneNumber = "phoneNumber",
49
+ Avatar = "picture",
50
+ Language = "language",
51
+ LocalTime = "localTime",
52
+ RemoteWeekdayIndex = "remoteWeekdayIndex",
53
+ RemoteWeekdayString = "remoteWeekdayString",
54
+ RemoteTimeString = "remoteTimeString"
55
+ }
56
+ type FieldKey = 'fullName' | 'nickname' | 'timezone' | 'locale' | 'title' | 'phoneNumber' | 'companyName' | 'department' | 'location' | 'email';
57
+ export interface SimpleConstraint {
58
+ allowed: boolean;
59
+ reason?: {
60
+ key: string;
61
+ };
62
+ }
63
+ export type MutabilityContraints = {
64
+ [key: string]: SimpleConstraint | MutabilityContraints;
65
+ };
66
+ export declare const MUTABILITY_DETAILS_MAP: Record<FieldKey, string>;
67
+ export declare const CUSTOM_FIELD_PLACE: {
68
+ readonly email: "email.initiateChange";
69
+ readonly picture: "avatar";
70
+ };
71
+ export type CustomFieldKey = keyof typeof CUSTOM_FIELD_PLACE;
72
+ export type AllFieldKeys = FieldKey | CustomFieldKey;
73
+ export declare const transformUserManageConfig: (data: MutabilityContraints) => {
74
+ mutabilityConstraints: {
75
+ field: FieldType;
76
+ reason: string | null;
77
+ }[];
78
+ };
79
+ export declare const toManageAPIInput: (input: Partial<UserDetails>) => any;
80
+ export declare function dataURItoFile(dataURI: string, filename?: string): Blob | File;
81
+ export {};
@@ -0,0 +1 @@
1
+ export { teamsClient, TeamsClient } from './main';
@@ -0,0 +1,11 @@
1
+ import { type ClientConfig } from '../base-client';
2
+ import { RestClient } from '../rest-client';
3
+ import { type AccessRequestBulkSimplified, type AccessResourcesResponse, type Capability, type Product, type RecommendationsResponse } from './types';
4
+ export declare class InvitationsClient extends RestClient {
5
+ constructor(serviceUrl: string, config: ClientConfig);
6
+ private getProductRecommendationsInner;
7
+ getProductRecommendations(supportedProducts?: Product[], capabilities?: Capability[]): Promise<RecommendationsResponse>;
8
+ joinOrRequestDefaultAccessToProductsBulk(simplifiedRequest: AccessRequestBulkSimplified): Promise<AccessResourcesResponse>;
9
+ }
10
+ declare const _default: InvitationsClient;
11
+ export default _default;
@@ -0,0 +1,67 @@
1
+ export type ProductARI = string;
2
+ type RoleARI = string;
3
+ type StatusCode = string;
4
+ export type AccessRequestBulkSimplified = Omit<AccessRequestBulk, 'resources'> & {
5
+ productAris: ProductARI[];
6
+ };
7
+ /**
8
+ *
9
+ * The following types have been copied from id-invitations-service.
10
+ * Last updated 2023-08-07.
11
+ *
12
+ */
13
+ export type Product = 'confluence' | 'jira-core' | 'jira-servicedesk' | 'jira-software' | 'jira-incident-manager' | 'jira' | 'jira-product-discovery' | 'opsgenie' | 'statuspage' | 'avocado' | 'townsquare' | 'compass' | 'avp' | 'beacon' | 'mercury';
14
+ export type Capability = 'REQUEST_ACCESS' | 'DIRECT_ACCESS';
15
+ type UserAccessLevel = 'INTERNAL' | 'EXTERNAL' | 'INTERNAL_INACTIVE';
16
+ export type RecommendationMode = 'DOMAIN' | 'OPEN';
17
+ export type Recommendation = {
18
+ resourceId: ProductARI;
19
+ userAccessLevel: UserAccessLevel;
20
+ mode?: RecommendationMode;
21
+ roleAri: RoleARI;
22
+ url: string;
23
+ displayName?: string;
24
+ avatarUrl?: string;
25
+ };
26
+ export type RecommendationsResponse = {
27
+ capability: {
28
+ [K in Capability]: Recommendation[];
29
+ };
30
+ };
31
+ export type Role = 'org/admin' | 'product/member' | 'product/helpseeker' | 'product/external-collaborator-writer';
32
+ export type Resource = {
33
+ ari: ProductARI;
34
+ continueUrl?: string;
35
+ role: Role;
36
+ };
37
+ export type AccessMode = 'REQUEST_ACCESS' | 'DIRECT_ACCESS';
38
+ export type AccessRequestBulk = {
39
+ resources: Resource[];
40
+ note?: string;
41
+ accessMode?: AccessMode;
42
+ source?: string;
43
+ };
44
+ export type AccessRequestCapability = 'ACCESS_GRANTED' | 'DIRECT_ACCESS' | 'REQUEST_ACCESS' | 'ACCESS_EXISTS' | 'PENDING_REQUEST_CREATED' | 'PENDING_REQUEST_EXISTS' | 'APPROVED_REQUEST_EXISTS' | 'DENIED_REQUEST_EXISTS' | 'FORBIDDEN' | 'VERIFICATION_REQUIRED' | 'ERROR';
45
+ type AccessRequestCapabilityWithRole = {
46
+ accessMode: AccessRequestCapability;
47
+ role: Role;
48
+ };
49
+ type ErrorResponse = {
50
+ message: string;
51
+ responseStatus: StatusCode;
52
+ };
53
+ export type AccessResourceResponse = {
54
+ ari: ProductARI;
55
+ result: AccessRequestCapability;
56
+ resultsV2: {
57
+ [K in ProductARI]: AccessRequestCapabilityWithRole[];
58
+ };
59
+ errorReason?: ErrorResponse;
60
+ };
61
+ export type AccessResourcesResponse = AccessResourceResponse[];
62
+ export {};
63
+ /**
64
+ *
65
+ * END of copied types from id-invitations-service.
66
+ *
67
+ */
@@ -0,0 +1,7 @@
1
+ import { type RecommendationsResponse } from '../types';
2
+ /**
3
+ * Removes duplicate recommendations with the same resource ARI.
4
+ * When a collision occurs, select the recommendation with the most desirable capability and mode.
5
+ * @returns a recommendation response with unique resource ARIs.
6
+ */
7
+ export declare const removeDuplicateRecommendations: (recommendations: RecommendationsResponse) => RecommendationsResponse;
@@ -0,0 +1,7 @@
1
+ import { type Capability, type ProductARI, type Recommendation } from '../types';
2
+ export type RecommendationWithCapability = Recommendation & {
3
+ capability: Capability;
4
+ };
5
+ export type RecommendationsByProductAri = {
6
+ [key: ProductARI]: RecommendationWithCapability;
7
+ };