@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,171 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.IdentityClient = void 0;
8
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+ var _constants = require("../constants");
18
+ var _restClient = require("../rest-client");
19
+ var _utils = require("./utils");
20
+ var _excluded = ["id"];
21
+ 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; }
22
+ 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) { (0, _defineProperty2.default)(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; }
23
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
24
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
25
+ var defaultConfig = {
26
+ serviceUrl: "".concat(_constants.DEFAULT_CONFIG.stargateRoot, "/users")
27
+ };
28
+ var IdentityClient = exports.IdentityClient = /*#__PURE__*/function (_RestClient) {
29
+ function IdentityClient() {
30
+ var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
31
+ (0, _classCallCheck2.default)(this, IdentityClient);
32
+ return _callSuper(this, IdentityClient, [_objectSpread(_objectSpread({}, defaultConfig), config)]);
33
+ }
34
+ (0, _inherits2.default)(IdentityClient, _RestClient);
35
+ return (0, _createClass2.default)(IdentityClient, [{
36
+ key: "getUserManageConfig",
37
+ value: function () {
38
+ var _getUserManageConfig = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(userId) {
39
+ return _regenerator.default.wrap(function _callee$(_context) {
40
+ while (1) switch (_context.prev = _context.next) {
41
+ case 0:
42
+ return _context.abrupt("return", this.getResourceCached("/".concat(userId, "/manage")).then(function (resp) {
43
+ return (0, _utils.transformUserManageConfig)(resp);
44
+ }));
45
+ case 1:
46
+ case "end":
47
+ return _context.stop();
48
+ }
49
+ }, _callee, this);
50
+ }));
51
+ function getUserManageConfig(_x) {
52
+ return _getUserManageConfig.apply(this, arguments);
53
+ }
54
+ return getUserManageConfig;
55
+ }()
56
+ /**
57
+ * @deprecated
58
+ * User fetchUserAvatarInfo instead
59
+ */
60
+ }, {
61
+ key: "getMyAvatarUploadedStatus",
62
+ value: (function () {
63
+ var _getMyAvatarUploadedStatus = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(userId) {
64
+ return _regenerator.default.wrap(function _callee2$(_context2) {
65
+ while (1) switch (_context2.prev = _context2.next) {
66
+ case 0:
67
+ return _context2.abrupt("return", this.fetchUserAvatarInfo(userId));
68
+ case 1:
69
+ case "end":
70
+ return _context2.stop();
71
+ }
72
+ }, _callee2, this);
73
+ }));
74
+ function getMyAvatarUploadedStatus(_x2) {
75
+ return _getMyAvatarUploadedStatus.apply(this, arguments);
76
+ }
77
+ return getMyAvatarUploadedStatus;
78
+ }())
79
+ }, {
80
+ key: "deleteAvatar",
81
+ value: function () {
82
+ var _deleteAvatar = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(userId) {
83
+ return _regenerator.default.wrap(function _callee3$(_context3) {
84
+ while (1) switch (_context3.prev = _context3.next) {
85
+ case 0:
86
+ return _context3.abrupt("return", this.deleteResource("/".concat(userId, "/manage/avatar")));
87
+ case 1:
88
+ case "end":
89
+ return _context3.stop();
90
+ }
91
+ }, _callee3, this);
92
+ }));
93
+ function deleteAvatar(_x3) {
94
+ return _deleteAvatar.apply(this, arguments);
95
+ }
96
+ return deleteAvatar;
97
+ }()
98
+ }, {
99
+ key: "fetchUserAvatarInfo",
100
+ value: function () {
101
+ var _fetchUserAvatarInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(userId) {
102
+ return _regenerator.default.wrap(function _callee4$(_context4) {
103
+ while (1) switch (_context4.prev = _context4.next) {
104
+ case 0:
105
+ return _context4.abrupt("return", this.getResource("/".concat(userId, "/manage/avatar")));
106
+ case 1:
107
+ case "end":
108
+ return _context4.stop();
109
+ }
110
+ }, _callee4, this);
111
+ }));
112
+ function fetchUserAvatarInfo(_x4) {
113
+ return _fetchUserAvatarInfo.apply(this, arguments);
114
+ }
115
+ return fetchUserAvatarInfo;
116
+ }()
117
+ }, {
118
+ key: "updateUser",
119
+ value: function () {
120
+ var _updateUser = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(_ref) {
121
+ var id, user;
122
+ return _regenerator.default.wrap(function _callee5$(_context5) {
123
+ while (1) switch (_context5.prev = _context5.next) {
124
+ case 0:
125
+ id = _ref.id, user = (0, _objectWithoutProperties2.default)(_ref, _excluded);
126
+ return _context5.abrupt("return", this.patchResource("/".concat(id, "/manage/profile"), (0, _utils.toManageAPIInput)(user)));
127
+ case 2:
128
+ case "end":
129
+ return _context5.stop();
130
+ }
131
+ }, _callee5, this);
132
+ }));
133
+ function updateUser(_x5) {
134
+ return _updateUser.apply(this, arguments);
135
+ }
136
+ return updateUser;
137
+ }()
138
+ }, {
139
+ key: "updateUserAvatar",
140
+ value: function () {
141
+ var _updateUserAvatar = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(_ref2) {
142
+ var id, fileURI, fileObject, formData, response;
143
+ return _regenerator.default.wrap(function _callee6$(_context6) {
144
+ while (1) switch (_context6.prev = _context6.next) {
145
+ case 0:
146
+ id = _ref2.id, fileURI = _ref2.fileURI;
147
+ fileObject = (0, _utils.dataURItoFile)(fileURI);
148
+ formData = new FormData();
149
+ formData.append('file', fileObject);
150
+ _context6.next = 6;
151
+ return this.makeRequest("/".concat(id, "/manage/avatar"), {
152
+ method: 'PUT',
153
+ body: formData
154
+ });
155
+ case 6:
156
+ response = _context6.sent;
157
+ return _context6.abrupt("return", response.url);
158
+ case 8:
159
+ case "end":
160
+ return _context6.stop();
161
+ }
162
+ }, _callee6, this);
163
+ }));
164
+ function updateUserAvatar(_x6) {
165
+ return _updateUserAvatar.apply(this, arguments);
166
+ }
167
+ return updateUserAvatar;
168
+ }()
169
+ }]);
170
+ }(_restClient.RestClient);
171
+ var _default = exports.default = new IdentityClient();
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.MUTABILITY_DETAILS_MAP = exports.FieldType = exports.CUSTOM_FIELD_PLACE = void 0;
8
+ exports.dataURItoFile = dataURItoFile;
9
+ exports.transformUserManageConfig = exports.toManageAPIInput = exports.fromManageAPIResponse = void 0;
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _dateFnsTz = require("date-fns-tz");
12
+ 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; }
13
+ 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) { (0, _defineProperty2.default)(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; }
14
+ // Key (left-side) is field name which is used in our app.
15
+ // Value (right-side) is field name which is used by data in services
16
+ var PROFILE_PROPS_MAP = new Map([['id', 'account_id'], ['fullName', 'name'], ['nickname', 'nickname'], ['timezone', 'zoneinfo'], ['locale', 'locale'], ['avatarUrl', 'picture'], ['email', 'email']]);
17
+
18
+ // Key (left-side) is field name which is used in our app.
19
+ // Value (right-side) is field name which is used by data in services
20
+ var EXTENDED_PROFILE_PROPS_MAP = new Map([['title', 'job_title'], ['department', 'department'], ['companyName', 'organization'], ['location', 'location'], ['phoneNumber', 'phone_number']]);
21
+ var fromManageAPIResponse = exports.fromManageAPIResponse = function fromManageAPIResponse(res) {
22
+ var data = res.account;
23
+ var extendedData = data && data.extended_profile || {};
24
+ if (!data) {
25
+ return null;
26
+ }
27
+ var timeZone = data.zoneinfo;
28
+ var localTime = function localTime(_ref) {
29
+ var format = _ref.format;
30
+ if (!timeZone) {
31
+ return null;
32
+ }
33
+ try {
34
+ return (0, _dateFnsTz.formatInTimeZone)(new Date(), timeZone, format);
35
+ } catch (error) {
36
+ // TODO: PTC-4908 send error to sentry for reporting
37
+ return null;
38
+ }
39
+ };
40
+ var profileProps = Array.from(PROFILE_PROPS_MAP.keys()).reduce(function (acc, key) {
41
+ if (PROFILE_PROPS_MAP.has(key)) {
42
+ acc[key] = data[PROFILE_PROPS_MAP.get(key)];
43
+ }
44
+ return acc;
45
+ }, {});
46
+ var extendedProfileProps = Array.from(EXTENDED_PROFILE_PROPS_MAP.keys()).reduce(function (acc, key) {
47
+ if (EXTENDED_PROFILE_PROPS_MAP.has(key)) {
48
+ acc[key] = extendedData[EXTENDED_PROFILE_PROPS_MAP.get(key)];
49
+ }
50
+ return acc;
51
+ }, {});
52
+ return _objectSpread(_objectSpread(_objectSpread({}, profileProps), extendedProfileProps), {}, {
53
+ localTime: localTime
54
+ });
55
+ };
56
+
57
+ // Copied from ptc-common/user type to not messing up dependency
58
+ var FieldType = exports.FieldType = /*#__PURE__*/function (FieldType) {
59
+ FieldType["FullName"] = "fullName";
60
+ FieldType["Nickname"] = "nickname";
61
+ // aka `Public name`
62
+ FieldType["Title"] = "title";
63
+ FieldType["Department"] = "department";
64
+ FieldType["CompanyName"] = "companyName";
65
+ FieldType["Location"] = "location";
66
+ FieldType["Timezone"] = "timezone";
67
+ FieldType["Email"] = "email";
68
+ FieldType["PhoneNumber"] = "phoneNumber";
69
+ FieldType["Avatar"] = "picture";
70
+ FieldType["Language"] = "language";
71
+ FieldType["LocalTime"] = "localTime";
72
+ FieldType["RemoteWeekdayIndex"] = "remoteWeekdayIndex";
73
+ FieldType["RemoteWeekdayString"] = "remoteWeekdayString";
74
+ FieldType["RemoteTimeString"] = "remoteTimeString";
75
+ return FieldType;
76
+ }({});
77
+ var MUTABILITY_DETAILS_MAP = exports.MUTABILITY_DETAILS_MAP = {
78
+ fullName: 'name',
79
+ nickname: 'nickname',
80
+ timezone: 'zoneinfo',
81
+ locale: 'locale',
82
+ email: 'email',
83
+ // extended profile
84
+ title: 'extended_profile.job_title',
85
+ phoneNumber: 'extended_profile.phone_number',
86
+ companyName: 'extended_profile.organization',
87
+ department: 'extended_profile.department',
88
+ location: 'extended_profile.location'
89
+ };
90
+ var CUSTOM_FIELD_PLACE = exports.CUSTOM_FIELD_PLACE = {
91
+ email: 'email.initiateChange',
92
+ picture: 'avatar'
93
+ };
94
+ var getFieldConfig = function getFieldConfig(data, field) {
95
+ if ((field === 'email' || field === 'picture') && CUSTOM_FIELD_PLACE[field]) {
96
+ return data[CUSTOM_FIELD_PLACE[field]];
97
+ }
98
+ var mappedFieldKey = field in MUTABILITY_DETAILS_MAP ? MUTABILITY_DETAILS_MAP[field] : undefined;
99
+ if (!mappedFieldKey) {
100
+ return undefined;
101
+ }
102
+ var profileWrite = data['profile.write'];
103
+ return profileWrite[mappedFieldKey];
104
+ };
105
+ var convertFieldKeyToFieldType = function convertFieldKeyToFieldType(key) {
106
+ // Check if the key can be mapped to a FieldType value
107
+ if (Object.values(FieldType).includes(key)) {
108
+ return key;
109
+ }
110
+ return undefined;
111
+ };
112
+ var getMutabilityConstraintFor = function getMutabilityConstraintFor(data, field) {
113
+ var fieldConfig = getFieldConfig(data, field);
114
+ if (!fieldConfig || fieldConfig.allowed) {
115
+ return undefined;
116
+ }
117
+ var convertedField = convertFieldKeyToFieldType(field);
118
+ if (!convertedField) {
119
+ return undefined;
120
+ }
121
+ var reason = fieldConfig.reason;
122
+ return {
123
+ field: convertedField,
124
+ reason: reason && reason.key || null
125
+ };
126
+ };
127
+ var transformUserManageConfig = exports.transformUserManageConfig = function transformUserManageConfig(data) {
128
+ return {
129
+ mutabilityConstraints: Object.keys(MUTABILITY_DETAILS_MAP).map(function (field) {
130
+ return getMutabilityConstraintFor(data, field);
131
+ }).filter(function (constraint) {
132
+ return constraint !== undefined;
133
+ })
134
+ };
135
+ };
136
+ var toManageAPIInput = exports.toManageAPIInput = function toManageAPIInput(input) {
137
+ var output = {
138
+ extended_profile: {}
139
+ };
140
+ Object.keys(input).forEach(function (key) {
141
+ if (PROFILE_PROPS_MAP.has(key)) {
142
+ output[PROFILE_PROPS_MAP.get(key)] = input[key];
143
+ }
144
+ if (EXTENDED_PROFILE_PROPS_MAP.has(key)) {
145
+ output.extended_profile[EXTENDED_PROFILE_PROPS_MAP.get(key)] = input[key];
146
+ }
147
+ });
148
+ return output;
149
+ };
150
+ function dataURItoFile(dataURI) {
151
+ var filename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'untitled';
152
+ if (dataURI.length === 0) {
153
+ throw new Error('dataURI not found');
154
+ }
155
+
156
+ // convert base64/URLEncoded data component to raw binary data held in a string
157
+ var byteString = dataURI.split(',')[0].includes('base64') ? atob(dataURI.split(',')[1]) : decodeURIComponent(dataURI.split(',')[1]);
158
+
159
+ // separate out the mime component
160
+ var mimeString;
161
+ try {
162
+ mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
163
+ } catch (e) {
164
+ mimeString = 'unknown';
165
+ }
166
+
167
+ // write the bytes of the string to a typed array
168
+ var intArray = new Uint8Array(byteString.length);
169
+ for (var i = 0; i < byteString.length; i++) {
170
+ intArray[i] = byteString.charCodeAt(i);
171
+ }
172
+ var blob = new Blob([intArray], {
173
+ type: mimeString
174
+ });
175
+ try {
176
+ return new File([blob], filename, {
177
+ type: mimeString
178
+ });
179
+ } catch (e) {
180
+ // IE11 and Safari does not support the File constructor.
181
+ return blob;
182
+ }
183
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "TeamsClient", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _main.TeamsClient;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "teamsClient", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _main.teamsClient;
16
+ }
17
+ });
18
+ var _main = require("./main");
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.InvitationsClient = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _constants = require("../constants");
16
+ var _restClient = require("../rest-client");
17
+ var _main = require("../sentry/main");
18
+ var _utils = require("./utils");
19
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
20
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
21
+ var PRODUCT_RECCOMENDATIONS = '/v1/product-recommendations';
22
+ var PRODUCT_JOIN_OR_REQUEST_BULK = '/v1/access-requests/bulk/request';
23
+ var ALL_SUPPORTED_PRODUCTS = ['confluence', 'jira', 'jira-core', 'jira-servicedesk', 'jira-software', 'jira-incident-manager', 'jira-product-discovery', 'opsgenie', 'statuspage', 'avocado', 'townsquare', 'compass', 'avp', 'beacon', 'mercury'];
24
+ var InvitationsClient = exports.InvitationsClient = /*#__PURE__*/function (_RestClient) {
25
+ function InvitationsClient(serviceUrl, config) {
26
+ (0, _classCallCheck2.default)(this, InvitationsClient);
27
+ return _callSuper(this, InvitationsClient, [{
28
+ serviceUrl: serviceUrl,
29
+ config: config
30
+ }]);
31
+ }
32
+ (0, _inherits2.default)(InvitationsClient, _RestClient);
33
+ return (0, _createClass2.default)(InvitationsClient, [{
34
+ key: "getProductRecommendationsInner",
35
+ value: function () {
36
+ var _getProductRecommendationsInner = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
37
+ var supportedProducts,
38
+ capabilities,
39
+ orgId,
40
+ queryProducts,
41
+ productQueryParams,
42
+ capabilityQueryParams,
43
+ url,
44
+ _args = arguments;
45
+ return _regenerator.default.wrap(function _callee$(_context) {
46
+ while (1) switch (_context.prev = _context.next) {
47
+ case 0:
48
+ supportedProducts = _args.length > 0 && _args[0] !== undefined ? _args[0] : ALL_SUPPORTED_PRODUCTS;
49
+ capabilities = _args.length > 1 ? _args[1] : undefined;
50
+ _context.prev = 2;
51
+ orgId = this.getOrgId();
52
+ queryProducts = supportedProducts && supportedProducts.length > 0 ? supportedProducts : ALL_SUPPORTED_PRODUCTS;
53
+ productQueryParams = queryProducts.map(function (product) {
54
+ return "product=".concat(product);
55
+ }).join('&');
56
+ capabilityQueryParams = capabilities && capabilities.length > 0 ? '&' + capabilities.map(function (capability) {
57
+ return "capability=".concat(capability);
58
+ }).join('&') : '';
59
+ url = "".concat(PRODUCT_RECCOMENDATIONS, "?orgId=").concat(orgId, "&").concat(productQueryParams).concat(capabilityQueryParams);
60
+ _context.next = 10;
61
+ return this.getResource(url);
62
+ case 10:
63
+ return _context.abrupt("return", _context.sent);
64
+ case 13:
65
+ _context.prev = 13;
66
+ _context.t0 = _context["catch"](2);
67
+ this.logException(_context.t0, 'An error occurred while getting product recommendations.');
68
+ throw _context.t0;
69
+ case 17:
70
+ case "end":
71
+ return _context.stop();
72
+ }
73
+ }, _callee, this, [[2, 13]]);
74
+ }));
75
+ function getProductRecommendationsInner() {
76
+ return _getProductRecommendationsInner.apply(this, arguments);
77
+ }
78
+ return getProductRecommendationsInner;
79
+ }()
80
+ }, {
81
+ key: "getProductRecommendations",
82
+ value: function () {
83
+ var _getProductRecommendations = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
84
+ var supportedProducts,
85
+ capabilities,
86
+ result,
87
+ deduplicatedResult,
88
+ _args2 = arguments;
89
+ return _regenerator.default.wrap(function _callee2$(_context2) {
90
+ while (1) switch (_context2.prev = _context2.next) {
91
+ case 0:
92
+ supportedProducts = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : ALL_SUPPORTED_PRODUCTS;
93
+ capabilities = _args2.length > 1 ? _args2[1] : undefined;
94
+ _context2.next = 4;
95
+ return this.getProductRecommendationsInner(supportedProducts, capabilities);
96
+ case 4:
97
+ result = _context2.sent;
98
+ _context2.prev = 5;
99
+ deduplicatedResult = (0, _utils.removeDuplicateRecommendations)(result);
100
+ return _context2.abrupt("return", deduplicatedResult);
101
+ case 10:
102
+ _context2.prev = 10;
103
+ _context2.t0 = _context2["catch"](5);
104
+ this.logException(_context2.t0, 'An error occurred while deduplicating product recommendations.');
105
+ throw _context2.t0;
106
+ case 14:
107
+ case "end":
108
+ return _context2.stop();
109
+ }
110
+ }, _callee2, this, [[5, 10]]);
111
+ }));
112
+ function getProductRecommendations() {
113
+ return _getProductRecommendations.apply(this, arguments);
114
+ }
115
+ return getProductRecommendations;
116
+ }()
117
+ }, {
118
+ key: "joinOrRequestDefaultAccessToProductsBulk",
119
+ value: function () {
120
+ var _joinOrRequestDefaultAccessToProductsBulk = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(simplifiedRequest) {
121
+ var resources, request;
122
+ return _regenerator.default.wrap(function _callee3$(_context3) {
123
+ while (1) switch (_context3.prev = _context3.next) {
124
+ case 0:
125
+ if (!(simplifiedRequest.productAris.length === 0)) {
126
+ _context3.next = 2;
127
+ break;
128
+ }
129
+ return _context3.abrupt("return", Promise.resolve([]));
130
+ case 2:
131
+ _context3.prev = 2;
132
+ resources = simplifiedRequest.productAris.map(function (ari) {
133
+ return {
134
+ ari: ari,
135
+ role: 'product/member'
136
+ };
137
+ });
138
+ request = {
139
+ resources: resources,
140
+ note: simplifiedRequest.note,
141
+ accessMode: simplifiedRequest.accessMode,
142
+ source: simplifiedRequest.source
143
+ };
144
+ _context3.next = 7;
145
+ return this.postResource(PRODUCT_JOIN_OR_REQUEST_BULK, request);
146
+ case 7:
147
+ return _context3.abrupt("return", _context3.sent);
148
+ case 10:
149
+ _context3.prev = 10;
150
+ _context3.t0 = _context3["catch"](2);
151
+ this.logException(_context3.t0, 'An error occurred while joining or requesting access to products.');
152
+ throw _context3.t0;
153
+ case 14:
154
+ case "end":
155
+ return _context3.stop();
156
+ }
157
+ }, _callee3, this, [[2, 10]]);
158
+ }));
159
+ function joinOrRequestDefaultAccessToProductsBulk(_x) {
160
+ return _joinOrRequestDefaultAccessToProductsBulk.apply(this, arguments);
161
+ }
162
+ return joinOrRequestDefaultAccessToProductsBulk;
163
+ }()
164
+ }]);
165
+ }(_restClient.RestClient); // eslint-disable-next-line import/no-anonymous-default-export
166
+ var _default = exports.default = new InvitationsClient(_constants.DEFAULT_CONFIG.invitationsServiceUrl, {
167
+ logException: _main.logException
168
+ });
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.removeDuplicateRecommendations = void 0;
8
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _excluded = ["capability"];
12
+ 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; }
13
+ 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) { (0, _defineProperty2.default)(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; }
14
+ /**
15
+ * Determines which capability is more desirable.
16
+ * Users desire direct access over request access since it's instant.
17
+ * @returns 0 if equal, -1 if a is more desirable, 1 if b is more desirable.
18
+ */
19
+ var compareCapability = function compareCapability(a, b) {
20
+ if (a === b) {
21
+ return 0;
22
+ }
23
+ return a === 'DIRECT_ACCESS' ? -1 : 1;
24
+ };
25
+
26
+ /**
27
+ * Determines which mode is more desirable.
28
+ * Atlassian prefers to provide open access over domain restricted access.
29
+ * Both of these modes have already been enabled by an admin.
30
+ * If mode is undefined, it is deemed least desirable.
31
+ * @returns 0 if equal, -1 if a is more open, 1 if b is more open.
32
+ */
33
+ var compareMode = function compareMode(a, b) {
34
+ if (a === b) {
35
+ return 0;
36
+ }
37
+ if (!a) {
38
+ return 1;
39
+ }
40
+ if (!b) {
41
+ return -1;
42
+ }
43
+ return a === 'OPEN' ? -1 : 1;
44
+ };
45
+
46
+ /**
47
+ * Determine if a recommendation is more desirable than another.
48
+ * Atlassian prefers a better capability over any mode setting.
49
+ * The mode will only be compared if the capabilities are equal.
50
+ * If both capability and mode are equal, the recommendations are considered the same.
51
+ *
52
+ * Assumes recommendations have the same resource ID.
53
+ * Do not compare recommendations with different resource IDs, as it does not make sense.
54
+ *
55
+ * @returns 0 if capability and mode are equal, -1 if a is more desirable, 1 if b is more desirable.
56
+ */
57
+ var compareRecommendations = function compareRecommendations(a, b) {
58
+ if (a.resourceId !== b.resourceId) {
59
+ throw new Error('Recommendations must have the same resource ID');
60
+ }
61
+ if (compareCapability(a.capability, b.capability) < 0) {
62
+ return -1;
63
+ } else if (compareCapability(a.capability, b.capability) > 0) {
64
+ return 1;
65
+ } else if (compareMode(a.mode, b.mode) < 0) {
66
+ return -1;
67
+ } else if (compareMode(a.mode, b.mode) > 0) {
68
+ return 1;
69
+ }
70
+ return 0;
71
+ };
72
+ var toRecommendation = function toRecommendation(recommendation) {
73
+ var capability = recommendation.capability,
74
+ rest = (0, _objectWithoutProperties2.default)(recommendation, _excluded);
75
+ return _objectSpread({}, rest);
76
+ };
77
+
78
+ /**
79
+ * Removes duplicate recommendations with the same resource ARI.
80
+ * When a collision occurs, select the recommendation with the most desirable capability and mode.
81
+ * @returns a recommendation response with unique resource ARIs.
82
+ */
83
+ var removeDuplicateRecommendations = exports.removeDuplicateRecommendations = function removeDuplicateRecommendations(recommendations) {
84
+ var _recommendations$capa = recommendations.capability,
85
+ DIRECT_ACCESS = _recommendations$capa.DIRECT_ACCESS,
86
+ REQUEST_ACCESS = _recommendations$capa.REQUEST_ACCESS;
87
+ var uniqueRecommendations = {};
88
+ var allRecommendations = [].concat((0, _toConsumableArray2.default)(DIRECT_ACCESS.map(function (recommendation) {
89
+ return _objectSpread(_objectSpread({}, recommendation), {}, {
90
+ capability: 'DIRECT_ACCESS'
91
+ });
92
+ })), (0, _toConsumableArray2.default)(REQUEST_ACCESS.map(function (recommendation) {
93
+ return _objectSpread(_objectSpread({}, recommendation), {}, {
94
+ capability: 'REQUEST_ACCESS'
95
+ });
96
+ })));
97
+ allRecommendations.forEach(function (recommendation) {
98
+ var existing = uniqueRecommendations[recommendation.resourceId];
99
+ if (existing && compareRecommendations(existing, recommendation) <= 0) {
100
+ return;
101
+ }
102
+ uniqueRecommendations[recommendation.resourceId] = recommendation;
103
+ });
104
+ var allUniqueRecommendations = Object.values(uniqueRecommendations);
105
+ return {
106
+ capability: {
107
+ DIRECT_ACCESS: allUniqueRecommendations.filter(function (recommendation) {
108
+ return recommendation.capability === 'DIRECT_ACCESS';
109
+ }).map(toRecommendation),
110
+ REQUEST_ACCESS: allUniqueRecommendations.filter(function (recommendation) {
111
+ return recommendation.capability === 'REQUEST_ACCESS';
112
+ }).map(toRecommendation)
113
+ }
114
+ };
115
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });