synapse-react-client 4.0.7 → 4.0.8

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 (53) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/components/DataGrid/DataGridTypes.d.ts +8 -2
  3. package/dist/components/DataGrid/DataGridTypes.d.ts.map +1 -1
  4. package/dist/components/DataGrid/DataGridTypes.js.map +1 -1
  5. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  6. package/dist/components/DataGrid/SynapseGrid.js +190 -176
  7. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  8. package/dist/components/DataGrid/hooks/useGridReplicaUsers.d.ts +15 -0
  9. package/dist/components/DataGrid/hooks/useGridReplicaUsers.d.ts.map +1 -0
  10. package/dist/components/DataGrid/hooks/useGridReplicaUsers.js +55 -0
  11. package/dist/components/DataGrid/hooks/useGridReplicaUsers.js.map +1 -0
  12. package/dist/components/DataGrid/utils/DataGridUtils.js +31 -31
  13. package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
  14. package/dist/components/DataGrid/utils/applyModelChange.d.ts +1 -1
  15. package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
  16. package/dist/components/DataGrid/utils/applyModelChange.js +28 -23
  17. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  18. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  19. package/dist/components/DataGrid/utils/columnFactory.js +90 -49
  20. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  21. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.d.ts +14 -0
  22. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.d.ts.map +1 -0
  23. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js +24 -0
  24. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js.map +1 -0
  25. package/dist/components/DataGrid/utils/getCellAuthorSid.d.ts +7 -0
  26. package/dist/components/DataGrid/utils/getCellAuthorSid.d.ts.map +1 -0
  27. package/dist/components/DataGrid/utils/getCellAuthorSid.js +11 -0
  28. package/dist/components/DataGrid/utils/getCellAuthorSid.js.map +1 -0
  29. package/dist/components/DataGrid/utils/getCellClassName.d.ts +0 -1
  30. package/dist/components/DataGrid/utils/getCellClassName.d.ts.map +1 -1
  31. package/dist/components/DataGrid/utils/getCellClassName.js +19 -17
  32. package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
  33. package/dist/components/DataGrid/utils/getChangeTooltipText.d.ts +7 -0
  34. package/dist/components/DataGrid/utils/getChangeTooltipText.d.ts.map +1 -0
  35. package/dist/components/DataGrid/utils/getChangeTooltipText.js +18 -0
  36. package/dist/components/DataGrid/utils/getChangeTooltipText.js.map +1 -0
  37. package/dist/components/DataGrid/utils/getReplicaCategory.d.ts +12 -0
  38. package/dist/components/DataGrid/utils/getReplicaCategory.d.ts.map +1 -0
  39. package/dist/components/DataGrid/utils/getReplicaCategory.js +13 -0
  40. package/dist/components/DataGrid/utils/getReplicaCategory.js.map +1 -0
  41. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts.map +1 -1
  42. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js +4 -8
  43. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  44. package/dist/style/components/_data-grid-extra.css +1 -1
  45. package/dist/style/components/_data-grid-extra.scss +33 -0
  46. package/dist/synapse-queries/index.js +42 -41
  47. package/dist/synapse-queries/user/index.js +17 -16
  48. package/dist/synapse-queries/user/useUserBundle.d.ts +9 -0
  49. package/dist/synapse-queries/user/useUserBundle.d.ts.map +1 -1
  50. package/dist/synapse-queries/user/useUserBundle.js +45 -37
  51. package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
  52. package/dist/tsconfig.build.tsbuildinfo +1 -1
  53. package/package.json +5 -5
@@ -9,6 +9,11 @@ $color-spinner: #e6c200;
9
9
  $color-text-primary: #353a3f; // grey-900
10
10
  $color-text-disabled: #71767f; // gray-700
11
11
 
12
+ // Cell change indicator colors (triangle badge — upper-right corner)
13
+ $color-change-self: #52c41a; // green
14
+ $color-change-own-agent: #13c2c2; // teal
15
+ $color-change-other-user: #1677ff; // blue
16
+ $color-change-other-agent: #9254de; // purple
12
17
  // Remote selection palette (8 colors, semi-transparent tints)
13
18
  $remote-selection-colors: #1677ff, #52c41a, #fa8c16, #eb2f96, #13c2c2, #9254de,
14
19
  #f5222d, #faad14;
@@ -228,6 +233,34 @@ body.col-resizing {
228
233
  }
229
234
  }
230
235
 
236
+ // ── Cell change indicators ─────────────────────────────────────────────────
237
+ // A small triangle badge in the upper-right corner of any cell changed since
238
+ // the client joined the session. Color encodes attribution category.
239
+ @mixin change-triangle($color) {
240
+ &::after {
241
+ content: '';
242
+ position: absolute;
243
+ top: 0;
244
+ right: 0;
245
+ width: 0;
246
+ height: 0;
247
+ border-style: solid;
248
+ border-width: 0 7px 7px 0;
249
+ border-color: transparent $color transparent transparent;
250
+ z-index: 20;
251
+ pointer-events: none;
252
+ }
253
+ }
254
+
255
+ .dsg-cell {
256
+ &.cell-changed--self {
257
+ @include change-triangle($color-change-self);
258
+ }
259
+
260
+ &.cell-changed--other-user {
261
+ @include change-triangle($color-change-other-user);
262
+ }
263
+ }
231
264
  // ── Remote selection tints ─────────────────────────────────────────────────
232
265
  // Cells within another connected replica's selection are tinted with one of
233
266
  // 8 stable colors (replicaId % 8).
@@ -3,13 +3,13 @@ import { useConsentToOAuth2Request as u, useGetHasUserAuthorizedOAuthClient as o
3
3
  import { useResetPassword as l } from "./auth/useResetPassword.js";
4
4
  import { useDisableTwoFactorAuth as G, useDisableTwoFactorAuthWithResetToken as c, useFinishTwoFactorEnrollment as p, useGetTwoFactorEnrollmentStatus as f, useGetTwoFactorEnrollmentStatusWithAccessToken as d, useResetTwoFactorAuth as A, useStartTwoFactorEnrollment as y } from "./auth/useTwoFactorEnrollment.js";
5
5
  import { useRegisterTeamForChallenge as h } from "./challenge/useChallenge.js";
6
- import { useGetUserAccessApproval as U, useSearchAccessApprovalsInfinite as S } from "./dataaccess/useAccessApprovals.js";
7
- import { useSearchAccessSubmissionUserRequestsInfinite as T, useSearchAccessSubmissionsInfinite as E, useSubmitDataAccessRequest as F, useUpdateDataAccessSubmissionState as I } from "./dataaccess/useDataAccessSubmission.js";
6
+ import { useGetUserAccessApproval as x, useSearchAccessApprovalsInfinite as S } from "./dataaccess/useAccessApprovals.js";
7
+ import { useSearchAccessSubmissionUserRequestsInfinite as T, useSearchAccessSubmissionsInfinite as E, useSubmitDataAccessRequest as F, useUpdateDataAccessSubmissionState as g } from "./dataaccess/useDataAccessSubmission.js";
8
8
  import { useCancelDataAccessRequest as P, useCreateAccessApproval as D, useCreateAccessRequirement as q, useCreateAccessRequirementACL as L, useCreateLockAccessRequirement as O, useDeleteAccessRequirementACL as b, useGetAccessRequirementACL as v, useGetAccessRequirementStatus as w, useGetAccessRequirementStatuses as Q, useGetAccessRequirementWikiPageKey as B, useGetAccessRequirements as M, useGetAccessRequirementsForEntity as k, useGetAccessRequirementsForTeam as W, useGetDataAccessRequestForUpdate as H, useGetResearchProject as j, useSearchAccessRequirementsInfinite as V, useSortAccessRequirementIdsByCompletion as J, useUpdateAccessRequirement as K, useUpdateAccessRequirementACL as z, useUpdateDataAccessRequest as N, useUpdateResearchProject as X } from "./dataaccess/useAccessRequirements.js";
9
9
  import { useGetApprovedSubmissionInfoInfinite as Z } from "./dataaccess/useGetApprovedSubmissionInfo.js";
10
10
  import { useGetRestrictionInformation as $, useGetRestrictionInformationBatch as ee } from "./dataaccess/useRestrictionInformation.js";
11
11
  import { useAddFileBatchToDownloadList as se, useAddFileToDownloadList as re, useAddToDownloadList as ue, useGetAddToDownloadListStats as oe, useGetAllDownloadListActionsRequired as ie, useGetAvailableFilesToDownload as ne, useGetAvailableFilesToDownloadInfinite as ae, useGetDownloadListActionsRequiredInfinite as le, useGetDownloadListStatistics as me, useRemoveFilesFromDownloadList as Ge } from "./download/useDownloadList.js";
12
- import { getStandardEntityFields as pe, removeStandardEntityFields as fe, useCreateEntity as de, useCreateEntityACL as Ae, useDeleteEntity as ye, useDeleteEntityACL as Ce, useGetEntities as he, useGetEntity as xe, useGetEntityACL as Ue, useGetEntityAlias as Se, useGetEntityEvaluations as Re, useGetEntityLookupQueryOptions as Te, useGetEntityPath as Ee, useGetEntityPermissions as Fe, useGetEntityQueryOptions as Ie, useGetJson as ge, useGetVersions as Pe, useGetVersionsInfinite as De, useSuspenseGetEntityBenefactorACL as qe, useUpdateEntity as Le, useUpdateEntityACL as Oe, useUpdateTableColumns as be, useUpdateViaJson as ve } from "./entity/useEntity.js";
12
+ import { getStandardEntityFields as pe, removeStandardEntityFields as fe, useCreateEntity as de, useCreateEntityACL as Ae, useDeleteEntity as ye, useDeleteEntityACL as Ce, useGetEntities as he, useGetEntity as Ue, useGetEntityACL as xe, useGetEntityAlias as Se, useGetEntityEvaluations as Re, useGetEntityLookupQueryOptions as Te, useGetEntityPath as Ee, useGetEntityPermissions as Fe, useGetEntityQueryOptions as ge, useGetJson as Ie, useGetVersions as Pe, useGetVersionsInfinite as De, useSuspenseGetEntityBenefactorACL as qe, useUpdateEntity as Le, useUpdateEntityACL as Oe, useUpdateTableColumns as be, useUpdateViaJson as ve } from "./entity/useEntity.js";
13
13
  import { useGetSchemaBinding as Qe, useGetValidationResults as Be } from "./entity/useEntityBoundSchema.js";
14
14
  import { default as ke, useGetEntityBundleQueryOptions as We, useGetEntityBundleSuspenseQueryOptions as He, useSuspenseGetEntityBundle as je } from "./entity/useEntityBundle.js";
15
15
  import { useGetEntityActionsRequired as Je } from "./entity/useGetEntityActionsRequired.js";
@@ -21,10 +21,10 @@ import { getInfiniteQueryResultBundleOptions as rt, tableQueryUseQueryDefaults a
21
21
  import { useGetSchema as mt } from "./entity/useSchema.js";
22
22
  import { useProjectStorageUsage as ct } from "./entity/useProjectStorage.js";
23
23
  import { useGetFeatureFlag as ft } from "./featureflags/useGetFeatureFlag.js";
24
- import { useFileContent as At, useGetFileBatch as yt, useGetPresignedUrlContent as Ct, useGetPresignedUrlContentFromFHA as ht, useGetProfileImage as xt, useGetStablePresignedUrl as Ut } from "./file/useFiles.js";
24
+ import { useFileContent as At, useGetFileBatch as yt, useGetPresignedUrlContent as Ct, useGetPresignedUrlContentFromFHA as ht, useGetProfileImage as Ut, useGetStablePresignedUrl as xt } from "./file/useFiles.js";
25
25
  import { useGetDefaultUploadDestination as Rt, useGetUploadDestinationForStorageLocation as Tt } from "./file/useUploadDestination.js";
26
26
  import { KeyFactory as Ft } from "./KeyFactory.js";
27
- import { useSendMessage as gt, useSendMessageToEntityOwner as Pt } from "./message/useMessage.js";
27
+ import { useSendMessage as It, useSendMessageToEntityOwner as Pt } from "./message/useMessage.js";
28
28
  import { useCreateOAuthClient as qt, useDeleteOAuthClient as Lt, useGetOAuthClientACL as Ot, useGetOAuthClientInfinite as bt, useUpdateOAuthClient as vt, useUpdateOAuthClientACL as wt } from "./oauth/useOAuthClient.js";
29
29
  import { useListPortalsInfinite as Bt } from "./portal/useListPortals.js";
30
30
  import { useCreatePortal as kt, useDeletePortal as Wt, useGetPortal as Ht, useGetPortalACL as jt, useGetUserPortalPermissions as Vt, useUpdatePortalACL as Jt } from "./portal/usePortal.js";
@@ -35,15 +35,15 @@ import { useSuggestion as ss } from "./search/useSuggestion.js";
35
35
  import { useSignTermsOfService as us, useTermsOfServiceInfo as os, useTermsOfServiceStatus as is } from "./termsOfService/useTermsOfService.js";
36
36
  import { useCreateTeam as as, useGetTeam as ls } from "./team/useTeam.js";
37
37
  import { useGetChallengeTeamList as Gs, useGetTeamList as cs } from "./team/useTeamList.js";
38
- import { getIsPrincipalIdUserOrMemberOfTeamQuery as fs, getIsUserMemberOfTeamQuery as ds, useAddMemberToTeam as As, useDeleteTeamMembership as ys, useGetAllOpenMembershipInvitations as Cs, useGetIsPrincipalIdUserOrMemberOfTeam as hs, useGetIsUserMemberOfTeam as xs, useGetMembershipStatus as Us, useGetTeamMemberCount as Ss, useGetTeamMembers as Rs, useInviteUserToTeam as Ts, useRequestToJoinTeam as Es } from "./team/useTeamMembers.js";
39
- import { useAddFavorite as Is, useGetFavorites as gs, useGetFavoritesInfinite as Ps, useIsFavorite as Ds, useRemoveFavorite as qs } from "./user/useFavorites.js";
38
+ import { getIsPrincipalIdUserOrMemberOfTeamQuery as fs, getIsUserMemberOfTeamQuery as ds, useAddMemberToTeam as As, useDeleteTeamMembership as ys, useGetAllOpenMembershipInvitations as Cs, useGetIsPrincipalIdUserOrMemberOfTeam as hs, useGetIsUserMemberOfTeam as Us, useGetMembershipStatus as xs, useGetTeamMemberCount as Ss, useGetTeamMembers as Rs, useInviteUserToTeam as Ts, useRequestToJoinTeam as Es } from "./team/useTeamMembers.js";
39
+ import { useAddFavorite as gs, useGetFavorites as Is, useGetFavoritesInfinite as Ps, useIsFavorite as Ds, useRemoveFavorite as qs } from "./user/useFavorites.js";
40
40
  import { useGetUserChallenges as Os, useGetUserChallengesInfinite as bs } from "./user/useGetUserChallenges.js";
41
41
  import { useGetUserProjectsInfinite as ws } from "./user/useGetUserProjects.js";
42
42
  import { useGetUserSubmissionTeams as Bs, useGetUserTeamsInfinite as Ms } from "./user/useGetUserTeams.js";
43
43
  import { useGetProjects as Ws, useGetProjectsInfinite as Hs } from "./user/useProjects.js";
44
- import { useGetCurrentUserBundle as Vs, useGetCurrentUserProfile as Js, useGetNotificationEmail as Ks, useGetPrincipalIdForAlias as zs, useGetUserBundle as Ns, useGetUserProfile as Xs, useIsCurrentUserACTMember as Ys, useSuspenseGetCurrentUserProfile as Zs } from "./user/useUserBundle.js";
45
- import { getUserGroupHeaderQuery as $s, useGetUserGroupHeader as er, useGetUserGroupHeaderWithAlias as tr, useGetUserGroupHeaders as sr, useSearchUserGroupHeaders as rr } from "./user/useUserGroupHeader.js";
46
- import { useCreateWikiPage as or, useGetRootWikiPageKey as ir, useGetWikiAttachments as nr, useGetWikiPage as ar, useUpdateWikiPage as lr } from "./wiki/useWiki.js";
44
+ import { getUserProfileQuery as Vs, useGetCurrentUserBundle as Js, useGetCurrentUserProfile as Ks, useGetNotificationEmail as zs, useGetPrincipalIdForAlias as Ns, useGetUserBundle as Xs, useGetUserProfile as Ys, useIsCurrentUserACTMember as Zs, useSuspenseGetCurrentUserProfile as _s } from "./user/useUserBundle.js";
45
+ import { getUserGroupHeaderQuery as er, useGetUserGroupHeader as tr, useGetUserGroupHeaderWithAlias as sr, useGetUserGroupHeaders as rr, useSearchUserGroupHeaders as ur } from "./user/useUserGroupHeader.js";
46
+ import { useCreateWikiPage as ir, useGetRootWikiPageKey as nr, useGetWikiAttachments as ar, useGetWikiPage as lr, useUpdateWikiPage as mr } from "./wiki/useWiki.js";
47
47
  export {
48
48
  Ft as KeyFactory,
49
49
  zt as getAllActionsRequiredQueryFilters,
@@ -51,11 +51,12 @@ export {
51
51
  fs as getIsPrincipalIdUserOrMemberOfTeamQuery,
52
52
  ds as getIsUserMemberOfTeamQuery,
53
53
  pe as getStandardEntityFields,
54
- $s as getUserGroupHeaderQuery,
54
+ er as getUserGroupHeaderQuery,
55
+ Vs as getUserProfileQuery,
55
56
  Nt as invalidateAllQueriesForEntity,
56
57
  fe as removeStandardEntityFields,
57
58
  ut as tableQueryUseQueryDefaults,
58
- Is as useAddFavorite,
59
+ gs as useAddFavorite,
59
60
  se as useAddFileBatchToDownloadList,
60
61
  re as useAddFileToDownloadList,
61
62
  As as useAddMemberToTeam,
@@ -72,7 +73,7 @@ export {
72
73
  qt as useCreateOAuthClient,
73
74
  kt as useCreatePortal,
74
75
  as as useCreateTeam,
75
- or as useCreateWikiPage,
76
+ ir as useCreateWikiPage,
76
77
  b as useDeleteAccessRequirementACL,
77
78
  ye as useDeleteEntity,
78
79
  Ce as useDeleteEntityACL,
@@ -97,15 +98,15 @@ export {
97
98
  ne as useGetAvailableFilesToDownload,
98
99
  ae as useGetAvailableFilesToDownloadInfinite,
99
100
  Gs as useGetChallengeTeamList,
100
- Vs as useGetCurrentUserBundle,
101
- Js as useGetCurrentUserProfile,
101
+ Js as useGetCurrentUserBundle,
102
+ Ks as useGetCurrentUserProfile,
102
103
  H as useGetDataAccessRequestForUpdate,
103
104
  Rt as useGetDefaultUploadDestination,
104
105
  le as useGetDownloadListActionsRequiredInfinite,
105
106
  me as useGetDownloadListStatistics,
106
107
  he as useGetEntities,
107
- xe as useGetEntity,
108
- Ue as useGetEntityACL,
108
+ Ue as useGetEntity,
109
+ xe as useGetEntityACL,
109
110
  Je as useGetEntityActionsRequired,
110
111
  Se as useGetEntityAlias,
111
112
  ke as useGetEntityBundle,
@@ -121,18 +122,18 @@ export {
121
122
  Te as useGetEntityLookupQueryOptions,
122
123
  Ee as useGetEntityPath,
123
124
  Fe as useGetEntityPermissions,
124
- Ie as useGetEntityQueryOptions,
125
- gs as useGetFavorites,
125
+ ge as useGetEntityQueryOptions,
126
+ Is as useGetFavorites,
126
127
  Ps as useGetFavoritesInfinite,
127
128
  ft as useGetFeatureFlag,
128
129
  yt as useGetFileBatch,
129
130
  ot as useGetFullTableQueryResults,
130
131
  o as useGetHasUserAuthorizedOAuthClient,
131
132
  hs as useGetIsPrincipalIdUserOrMemberOfTeam,
132
- xs as useGetIsUserMemberOfTeam,
133
- ge as useGetJson,
134
- Us as useGetMembershipStatus,
135
- Ks as useGetNotificationEmail,
133
+ Us as useGetIsUserMemberOfTeam,
134
+ Ie as useGetJson,
135
+ xs as useGetMembershipStatus,
136
+ zs as useGetNotificationEmail,
136
137
  i as useGetOAuth2Client,
137
138
  n as useGetOAuth2RequestDescription,
138
139
  Ot as useGetOAuthClientACL,
@@ -142,8 +143,8 @@ export {
142
143
  jt as useGetPortalACL,
143
144
  Ct as useGetPresignedUrlContent,
144
145
  ht as useGetPresignedUrlContentFromFHA,
145
- zs as useGetPrincipalIdForAlias,
146
- xt as useGetProfileImage,
146
+ Ns as useGetPrincipalIdForAlias,
147
+ Ut as useGetProfileImage,
147
148
  Ws as useGetProjects,
148
149
  Hs as useGetProjectsInfinite,
149
150
  it as useGetQueryResultBundleWithAsyncStatus,
@@ -152,10 +153,10 @@ export {
152
153
  j as useGetResearchProject,
153
154
  $ as useGetRestrictionInformation,
154
155
  ee as useGetRestrictionInformationBatch,
155
- ir as useGetRootWikiPageKey,
156
+ nr as useGetRootWikiPageKey,
156
157
  mt as useGetSchema,
157
158
  Qe as useGetSchemaBinding,
158
- Ut as useGetStablePresignedUrl,
159
+ xt as useGetStablePresignedUrl,
159
160
  ls as useGetTeam,
160
161
  cs as useGetTeamList,
161
162
  Ss as useGetTeamMemberCount,
@@ -163,25 +164,25 @@ export {
163
164
  f as useGetTwoFactorEnrollmentStatus,
164
165
  d as useGetTwoFactorEnrollmentStatusWithAccessToken,
165
166
  Tt as useGetUploadDestinationForStorageLocation,
166
- U as useGetUserAccessApproval,
167
- Ns as useGetUserBundle,
167
+ x as useGetUserAccessApproval,
168
+ Xs as useGetUserBundle,
168
169
  Os as useGetUserChallenges,
169
170
  bs as useGetUserChallengesInfinite,
170
- er as useGetUserGroupHeader,
171
- tr as useGetUserGroupHeaderWithAlias,
172
- sr as useGetUserGroupHeaders,
171
+ tr as useGetUserGroupHeader,
172
+ sr as useGetUserGroupHeaderWithAlias,
173
+ rr as useGetUserGroupHeaders,
173
174
  Vt as useGetUserPortalPermissions,
174
- Xs as useGetUserProfile,
175
+ Ys as useGetUserProfile,
175
176
  ws as useGetUserProjectsInfinite,
176
177
  Bs as useGetUserSubmissionTeams,
177
178
  Ms as useGetUserTeamsInfinite,
178
179
  Be as useGetValidationResults,
179
180
  Pe as useGetVersions,
180
181
  De as useGetVersionsInfinite,
181
- nr as useGetWikiAttachments,
182
- ar as useGetWikiPage,
182
+ ar as useGetWikiAttachments,
183
+ lr as useGetWikiPage,
183
184
  Ts as useInviteUserToTeam,
184
- Ys as useIsCurrentUserACTMember,
185
+ Zs as useIsCurrentUserACTMember,
185
186
  Ds as useIsFavorite,
186
187
  Bt as useListPortalsInfinite,
187
188
  ct as useProjectStorageUsage,
@@ -198,15 +199,15 @@ export {
198
199
  E as useSearchAccessSubmissionsInfinite,
199
200
  es as useSearchInfinite,
200
201
  Zt as useSearchRegistry,
201
- rr as useSearchUserGroupHeaders,
202
- gt as useSendMessage,
202
+ ur as useSearchUserGroupHeaders,
203
+ It as useSendMessage,
203
204
  Pt as useSendMessageToEntityOwner,
204
205
  us as useSignTermsOfService,
205
206
  J as useSortAccessRequirementIdsByCompletion,
206
207
  y as useStartTwoFactorEnrollment,
207
208
  F as useSubmitDataAccessRequest,
208
209
  ss as useSuggestion,
209
- Zs as useSuspenseGetCurrentUserProfile,
210
+ _s as useSuspenseGetCurrentUserProfile,
210
211
  qe as useSuspenseGetEntityBenefactorACL,
211
212
  je as useSuspenseGetEntityBundle,
212
213
  os as useTermsOfServiceInfo,
@@ -214,7 +215,7 @@ export {
214
215
  K as useUpdateAccessRequirement,
215
216
  z as useUpdateAccessRequirementACL,
216
217
  N as useUpdateDataAccessRequest,
217
- I as useUpdateDataAccessSubmissionState,
218
+ g as useUpdateDataAccessSubmissionState,
218
219
  Le as useUpdateEntity,
219
220
  Oe as useUpdateEntityACL,
220
221
  vt as useUpdateOAuthClient,
@@ -223,6 +224,6 @@ export {
223
224
  X as useUpdateResearchProject,
224
225
  be as useUpdateTableColumns,
225
226
  ve as useUpdateViaJson,
226
- lr as useUpdateWikiPage
227
+ mr as useUpdateWikiPage
227
228
  };
228
229
  //# sourceMappingURL=index.js.map
@@ -1,35 +1,36 @@
1
1
  import { useAddFavorite as s, useGetFavorites as t, useGetFavoritesInfinite as u, useIsFavorite as o, useRemoveFavorite as i } from "./useFavorites.js";
2
2
  import { useGetUserChallenges as n, useGetUserChallengesInfinite as a } from "./useGetUserChallenges.js";
3
3
  import { useGetUserProjectsInfinite as U } from "./useGetUserProjects.js";
4
- import { useGetUserSubmissionTeams as l, useGetUserTeamsInfinite as m } from "./useGetUserTeams.js";
5
- import { useGetProjects as I, useGetProjectsInfinite as x } from "./useProjects.js";
6
- import { useGetCurrentUserBundle as P, useGetCurrentUserProfile as c, useGetNotificationEmail as v, useGetPrincipalIdForAlias as F, useGetUserBundle as H, useGetUserProfile as h, useIsCurrentUserACTMember as A, useSuspenseGetCurrentUserProfile as g } from "./useUserBundle.js";
7
- import { getUserGroupHeaderQuery as S, useGetUserGroupHeader as T, useGetUserGroupHeaderWithAlias as b, useGetUserGroupHeaders as B, useSearchUserGroupHeaders as y } from "./useUserGroupHeader.js";
4
+ import { useGetUserSubmissionTeams as p, useGetUserTeamsInfinite as m } from "./useGetUserTeams.js";
5
+ import { useGetProjects as I, useGetProjectsInfinite as P } from "./useProjects.js";
6
+ import { getUserProfileQuery as C, useGetCurrentUserBundle as c, useGetCurrentUserProfile as v, useGetNotificationEmail as F, useGetPrincipalIdForAlias as H, useGetUserBundle as g, useGetUserProfile as h, useIsCurrentUserACTMember as A, useSuspenseGetCurrentUserProfile as j } from "./useUserBundle.js";
7
+ import { getUserGroupHeaderQuery as T, useGetUserGroupHeader as b, useGetUserGroupHeaderWithAlias as y, useGetUserGroupHeaders as B, useSearchUserGroupHeaders as Q } from "./useUserGroupHeader.js";
8
8
  export {
9
- S as getUserGroupHeaderQuery,
9
+ T as getUserGroupHeaderQuery,
10
+ C as getUserProfileQuery,
10
11
  s as useAddFavorite,
11
- P as useGetCurrentUserBundle,
12
- c as useGetCurrentUserProfile,
12
+ c as useGetCurrentUserBundle,
13
+ v as useGetCurrentUserProfile,
13
14
  t as useGetFavorites,
14
15
  u as useGetFavoritesInfinite,
15
- v as useGetNotificationEmail,
16
- F as useGetPrincipalIdForAlias,
16
+ F as useGetNotificationEmail,
17
+ H as useGetPrincipalIdForAlias,
17
18
  I as useGetProjects,
18
- x as useGetProjectsInfinite,
19
- H as useGetUserBundle,
19
+ P as useGetProjectsInfinite,
20
+ g as useGetUserBundle,
20
21
  n as useGetUserChallenges,
21
22
  a as useGetUserChallengesInfinite,
22
- T as useGetUserGroupHeader,
23
- b as useGetUserGroupHeaderWithAlias,
23
+ b as useGetUserGroupHeader,
24
+ y as useGetUserGroupHeaderWithAlias,
24
25
  B as useGetUserGroupHeaders,
25
26
  h as useGetUserProfile,
26
27
  U as useGetUserProjectsInfinite,
27
- l as useGetUserSubmissionTeams,
28
+ p as useGetUserSubmissionTeams,
28
29
  m as useGetUserTeamsInfinite,
29
30
  A as useIsCurrentUserACTMember,
30
31
  o as useIsFavorite,
31
32
  i as useRemoveFavorite,
32
- y as useSearchUserGroupHeaders,
33
- g as useSuspenseGetCurrentUserProfile
33
+ Q as useSearchUserGroupHeaders,
34
+ j as useSuspenseGetCurrentUserProfile
34
35
  };
35
36
  //# sourceMappingURL=index.js.map
@@ -1,11 +1,20 @@
1
1
  import { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError';
2
2
  import { NotificationEmail, PrincipalAliasRequest, PrincipalAliasResponse, UserBundle, UserProfile } from '@sage-bionetworks/synapse-types';
3
3
  import { UseQueryOptions } from '@tanstack/react-query';
4
+ import type { SynapseQueriesContext } from '../types';
4
5
  export declare function useGetNotificationEmail(options?: Partial<UseQueryOptions<NotificationEmail, SynapseClientError>>): import("@tanstack/react-query").UseQueryResult<NotificationEmail, SynapseClientError>;
5
6
  export declare function useGetCurrentUserProfile(options?: Partial<UseQueryOptions<UserProfile, SynapseClientError>>): import("@tanstack/react-query").UseQueryResult<UserProfile, SynapseClientError>;
6
7
  export declare function useSuspenseGetCurrentUserProfile(options?: Partial<UseQueryOptions<UserProfile, SynapseClientError>>): import("@tanstack/react-query").UseSuspenseQueryResult<UserProfile, SynapseClientError>;
7
8
  export declare function useGetUserBundle(userId: string, mask?: number, options?: Partial<UseQueryOptions<UserBundle, SynapseClientError>>): import("@tanstack/react-query").UseQueryResult<UserBundle, SynapseClientError>;
8
9
  export declare function useGetCurrentUserBundle<TData = UserBundle>(mask?: number, options?: Partial<UseQueryOptions<UserBundle, SynapseClientError, TData>>): import("@tanstack/react-query").UseQueryResult<import("@tanstack/query-core").NoInfer<TData>, SynapseClientError>;
10
+ export declare function getUserProfileQuery(principalId: string, context: Pick<SynapseQueriesContext, 'accessToken' | 'keyFactory'>): import("@tanstack/query-core").OmitKeyof<UseQueryOptions<UserProfile, SynapseClientError, UserProfile, readonly unknown[]>, "queryFn"> & {
11
+ queryFn?: import("@tanstack/query-core").QueryFunction<UserProfile, readonly unknown[], never> | undefined;
12
+ } & {
13
+ queryKey: readonly unknown[] & {
14
+ [dataTagSymbol]: UserProfile;
15
+ [dataTagErrorSymbol]: SynapseClientError;
16
+ };
17
+ };
9
18
  export declare function useGetUserProfile(principalId: string, options?: Partial<UseQueryOptions<UserProfile, SynapseClientError>>): import("@tanstack/react-query").UseQueryResult<UserProfile, SynapseClientError>;
10
19
  export declare function useGetPrincipalIdForAlias(request: PrincipalAliasRequest, options?: Partial<UseQueryOptions<PrincipalAliasResponse['principalId'], SynapseClientError>>): import("@tanstack/react-query").UseQueryResult<number, SynapseClientError>;
11
20
  export declare function useIsCurrentUserACTMember(): import("@tanstack/react-query").UseQueryResult<boolean, SynapseClientError>;
@@ -1 +1 @@
1
- {"version":3,"file":"useUserBundle.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/user/useUserBundle.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAEL,eAAe,EAEhB,MAAM,uBAAuB,CAAA;AAE9B,wBAAgB,uBAAuB,CACrC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,yFAQ1E;AAWD,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,mFAOpE;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,2FAQpE;AAWD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAA+B,EACrC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,kFAUnE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,GAAG,UAAU,EACxD,IAAI,GAAE,MAA+B,EACrC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC,qHAW1E;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,mFA4BpE;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,OAAO,CACf,eAAe,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC,CAC3E,8EAeF;AAED,wBAAgB,yBAAyB,gFAIxC"}
1
+ {"version":3,"file":"useUserBundle.d.ts","sourceRoot":"","sources":["../../../src/synapse-queries/user/useUserBundle.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACZ,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAGL,eAAe,EAEhB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAErD,wBAAgB,uBAAuB,CACrC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,yFAQ1E;AAWD,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,mFAOpE;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,2FAQpE;AAWD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,MAA+B,EACrC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,kFAUnE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,GAAG,UAAU,EACxD,IAAI,GAAE,MAA+B,EACrC,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC,qHAW1E;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,YAAY,CAAC;;;;;;;EAOnE;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,mFA2BpE;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,OAAO,CACf,eAAe,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC,CAC3E,8EAeF;AAED,wBAAgB,yBAAyB,gFAIxC"}
@@ -4,20 +4,20 @@ import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResp
4
4
  import "@sage-bionetworks/synapse-client/util/SynapseClientError";
5
5
  import "@sage-bionetworks/synapse-types";
6
6
  import "../../utils/functions/EntityTypeUtils.js";
7
- import { USER_BUNDLE_MASK_USER_PROFILE as U, USER_BUNDLE_MASK_ORCID as _, USER_BUNDLE_MASK_VERIFICATION_SUBMISSION as l, USER_BUNDLE_MASK_IS_CERTIFIED as f, USER_BUNDLE_MASK_IS_VERIFIED as p, USER_BUNDLE_MASK_IS_ACT_MEMBER as I, USER_BUNDLE_MASK_IS_AR_REVIEWER as K } from "../../utils/SynapseConstants.js";
7
+ import { USER_BUNDLE_MASK_USER_PROFILE as E, USER_BUNDLE_MASK_ORCID as S, USER_BUNDLE_MASK_VERIFICATION_SUBMISSION as _, USER_BUNDLE_MASK_IS_CERTIFIED as l, USER_BUNDLE_MASK_IS_VERIFIED as f, USER_BUNDLE_MASK_IS_ACT_MEMBER as p, USER_BUNDLE_MASK_IS_AR_REVIEWER as F } from "../../utils/SynapseConstants.js";
8
8
  import "lodash-es";
9
9
  import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
10
10
  import { useSynapseContext as u } from "../../utils/context/SynapseContext.js";
11
- import { useQuery as i, useSuspenseQuery as R } from "@tanstack/react-query";
12
- function M(e) {
11
+ import { useQuery as y, queryOptions as I, useSuspenseQuery as K } from "@tanstack/react-query";
12
+ function k(e) {
13
13
  const { accessToken: r, keyFactory: t } = u();
14
- return i({
14
+ return y({
15
15
  ...e,
16
16
  queryKey: t.getNotificationEmailQueryKey(),
17
17
  queryFn: () => o.getNotificationEmail(r)
18
18
  });
19
19
  }
20
- function E() {
20
+ function a() {
21
21
  const { accessToken: e, keyFactory: r } = u();
22
22
  return {
23
23
  queryKey: r.getCurrentUserProfileQueryKey(),
@@ -25,76 +25,84 @@ function E() {
25
25
  };
26
26
  }
27
27
  function T(e) {
28
- const r = E();
29
- return i({
28
+ const r = a();
29
+ return y({
30
30
  ...e,
31
31
  ...r
32
32
  });
33
33
  }
34
- function d(e) {
35
- const r = E();
36
- return R({
34
+ function O(e) {
35
+ const r = a();
36
+ return K({
37
37
  ...e,
38
38
  ...r
39
39
  });
40
40
  }
41
- const S = U | _ | l | f | p | I | K;
42
- function k(e, r = S, t) {
43
- const { accessToken: n, keyFactory: s } = u(), c = s.getUserBundleQueryKey(e, r);
44
- return i({
41
+ const U = E | S | _ | l | f | p | F;
42
+ function d(e, r = U, t) {
43
+ const { accessToken: n, keyFactory: s } = u(), i = s.getUserBundleQueryKey(e, r);
44
+ return y({
45
45
  ...t,
46
- queryKey: c,
46
+ queryKey: i,
47
47
  queryFn: () => o.getUserBundle(e, r, n)
48
48
  });
49
49
  }
50
- function m(e = S, r) {
50
+ function R(e = U, r) {
51
51
  const { accessToken: t, keyFactory: n } = u(), s = n.getUserBundleQueryKey("current", e);
52
- return i({
52
+ return y({
53
53
  ...r,
54
54
  queryKey: s,
55
55
  queryFn: () => o.getMyUserBundle(e, t)
56
56
  });
57
57
  }
58
- function O(e, r) {
59
- const { accessToken: t, keyFactory: n } = u(), s = n.getUserProfileQueryKey(e), c = `${e}_USER_PROFILE`, y = sessionStorage.getItem(c);
60
- return i({
58
+ function m(e, r) {
59
+ const { accessToken: t, keyFactory: n } = r;
60
+ return I({
61
+ queryKey: n.getUserProfileQueryKey(e),
62
+ queryFn: () => o.getUserProfileById(e, t)
63
+ });
64
+ }
65
+ function Q(e, r) {
66
+ const { accessToken: t, keyFactory: n } = u(), s = `${e}_USER_PROFILE`, i = sessionStorage.getItem(s);
67
+ return y({
61
68
  ...r,
62
- queryKey: s,
69
+ ...m(e, { accessToken: t, keyFactory: n }),
63
70
  queryFn: async () => {
64
- const a = await o.getUserProfileById(
71
+ const c = await o.getUserProfileById(
65
72
  e,
66
73
  t
67
74
  );
68
75
  return sessionStorage.setItem(
69
- c,
70
- JSON.stringify(a)
71
- ), a;
76
+ s,
77
+ JSON.stringify(c)
78
+ ), c;
72
79
  },
73
80
  // Use the sessionStorage cache to pre-populate profile data.
74
- placeholderData: y ? JSON.parse(y) : r?.placeholderData
81
+ placeholderData: i ? JSON.parse(i) : r?.placeholderData
75
82
  });
76
83
  }
77
- function Q(e, r) {
84
+ function G(e, r) {
78
85
  const { accessToken: t, keyFactory: n } = u(), s = n.getPrincipalAliasQueryKey(e);
79
- return i({
86
+ return y({
80
87
  ...r,
81
88
  queryKey: s,
82
89
  queryFn: async () => (await o.getPrincipalAliasRequest(t, e)).principalId
83
90
  });
84
91
  }
85
- function G() {
86
- return m(void 0, {
92
+ function h() {
93
+ return R(void 0, {
87
94
  select: (e) => e.isACTMember
88
95
  });
89
96
  }
90
97
  export {
91
- m as useGetCurrentUserBundle,
98
+ m as getUserProfileQuery,
99
+ R as useGetCurrentUserBundle,
92
100
  T as useGetCurrentUserProfile,
93
- M as useGetNotificationEmail,
94
- Q as useGetPrincipalIdForAlias,
95
- k as useGetUserBundle,
96
- O as useGetUserProfile,
97
- G as useIsCurrentUserACTMember,
98
- d as useSuspenseGetCurrentUserProfile
101
+ k as useGetNotificationEmail,
102
+ G as useGetPrincipalIdForAlias,
103
+ d as useGetUserBundle,
104
+ Q as useGetUserProfile,
105
+ h as useIsCurrentUserACTMember,
106
+ O as useSuspenseGetCurrentUserProfile
99
107
  };
100
108
  //# sourceMappingURL=useUserBundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUserBundle.js","sources":["../../../src/synapse-queries/user/useUserBundle.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n USER_BUNDLE_MASK_IS_ACT_MEMBER,\n USER_BUNDLE_MASK_IS_AR_REVIEWER,\n USER_BUNDLE_MASK_IS_CERTIFIED,\n USER_BUNDLE_MASK_IS_VERIFIED,\n USER_BUNDLE_MASK_ORCID,\n USER_BUNDLE_MASK_USER_PROFILE,\n USER_BUNDLE_MASK_VERIFICATION_SUBMISSION,\n} from '@/utils/SynapseConstants'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n NotificationEmail,\n PrincipalAliasRequest,\n PrincipalAliasResponse,\n UserBundle,\n UserProfile,\n} from '@sage-bionetworks/synapse-types'\nimport {\n useQuery,\n UseQueryOptions,\n useSuspenseQuery,\n} from '@tanstack/react-query'\n\nexport function useGetNotificationEmail(\n options?: Partial<UseQueryOptions<NotificationEmail, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getNotificationEmailQueryKey(),\n queryFn: () => SynapseClient.getNotificationEmail(accessToken),\n })\n}\n\nfunction useGetCurrentUserProfileQueryOptions() {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryKey = keyFactory.getCurrentUserProfileQueryKey()\n return {\n queryKey: queryKey,\n queryFn: () => SynapseClient.getUserProfile(accessToken),\n }\n}\n\nexport function useGetCurrentUserProfile(\n options?: Partial<UseQueryOptions<UserProfile, SynapseClientError>>,\n) {\n const queryOptions = useGetCurrentUserProfileQueryOptions()\n return useQuery({\n ...options,\n ...queryOptions,\n })\n}\n\nexport function useSuspenseGetCurrentUserProfile(\n options?: Partial<UseQueryOptions<UserProfile, SynapseClientError>>,\n) {\n const queryOptions = useGetCurrentUserProfileQueryOptions()\n\n return useSuspenseQuery({\n ...options,\n ...queryOptions,\n })\n}\n\nconst ALL_USER_BUNDLE_FIELDS =\n USER_BUNDLE_MASK_USER_PROFILE |\n USER_BUNDLE_MASK_ORCID |\n USER_BUNDLE_MASK_VERIFICATION_SUBMISSION |\n USER_BUNDLE_MASK_IS_CERTIFIED |\n USER_BUNDLE_MASK_IS_VERIFIED |\n USER_BUNDLE_MASK_IS_ACT_MEMBER |\n USER_BUNDLE_MASK_IS_AR_REVIEWER\n\nexport function useGetUserBundle(\n userId: string,\n mask: number = ALL_USER_BUNDLE_FIELDS,\n options?: Partial<UseQueryOptions<UserBundle, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryKey = keyFactory.getUserBundleQueryKey(userId, mask)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: () => SynapseClient.getUserBundle(userId, mask, accessToken),\n })\n}\n\nexport function useGetCurrentUserBundle<TData = UserBundle>(\n mask: number = ALL_USER_BUNDLE_FIELDS,\n options?: Partial<UseQueryOptions<UserBundle, SynapseClientError, TData>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n const queryKey = keyFactory.getUserBundleQueryKey('current', mask)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: () => SynapseClient.getMyUserBundle(mask, accessToken),\n })\n}\n\nexport function useGetUserProfile(\n principalId: string,\n options?: Partial<UseQueryOptions<UserProfile, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryKey = keyFactory.getUserProfileQueryKey(principalId)\n // We store the profile in a session storage cache used by SWC\n const sessionStorageCacheKey = `${principalId}_USER_PROFILE`\n const cachedValue = sessionStorage.getItem(sessionStorageCacheKey)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: async () => {\n const userProfile = await SynapseClient.getUserProfileById(\n principalId,\n accessToken,\n )\n // If the profile is re-fetched, save it to sessionStorage\n sessionStorage.setItem(\n sessionStorageCacheKey,\n JSON.stringify(userProfile),\n )\n return userProfile\n },\n // Use the sessionStorage cache to pre-populate profile data.\n placeholderData: cachedValue\n ? (JSON.parse(cachedValue) as UserProfile)\n : options?.placeholderData,\n })\n}\n\nexport function useGetPrincipalIdForAlias(\n request: PrincipalAliasRequest,\n options?: Partial<\n UseQueryOptions<PrincipalAliasResponse['principalId'], SynapseClientError>\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n const queryKey = keyFactory.getPrincipalAliasQueryKey(request)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: async () => {\n return (\n await SynapseClient.getPrincipalAliasRequest(accessToken, request)\n ).principalId\n },\n })\n}\n\nexport function useIsCurrentUserACTMember() {\n return useGetCurrentUserBundle<boolean>(undefined, {\n select: data => data.isACTMember!,\n })\n}\n"],"names":["useGetNotificationEmail","options","accessToken","keyFactory","useSynapseContext","useQuery","SynapseClient","useGetCurrentUserProfileQueryOptions","useGetCurrentUserProfile","queryOptions","useSuspenseGetCurrentUserProfile","useSuspenseQuery","ALL_USER_BUNDLE_FIELDS","USER_BUNDLE_MASK_USER_PROFILE","USER_BUNDLE_MASK_ORCID","USER_BUNDLE_MASK_VERIFICATION_SUBMISSION","USER_BUNDLE_MASK_IS_CERTIFIED","USER_BUNDLE_MASK_IS_VERIFIED","USER_BUNDLE_MASK_IS_ACT_MEMBER","USER_BUNDLE_MASK_IS_AR_REVIEWER","useGetUserBundle","userId","mask","queryKey","useGetCurrentUserBundle","useGetUserProfile","principalId","sessionStorageCacheKey","cachedValue","userProfile","useGetPrincipalIdForAlias","request","useIsCurrentUserACTMember","data"],"mappings":";;;;;;;;;;;AAyBO,SAASA,EACdC,GACA;AACA,QAAM,EAAE,aAAAC,GAAa,YAAAC,EAAA,IAAeC,EAAA;AACpC,SAAOC,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,UAAUE,EAAW,6BAAA;AAAA,IACrB,SAAS,MAAMG,EAAc,qBAAqBJ,CAAW;AAAA,EAAA,CAC9D;AACH;AAEA,SAASK,IAAuC;AAC9C,QAAM,EAAE,aAAAL,GAAa,YAAAC,EAAA,IAAeC,EAAA;AAEpC,SAAO;AAAA,IACL,UAFeD,EAAW,8BAAA;AAAA,IAG1B,SAAS,MAAMG,EAAc,eAAeJ,CAAW;AAAA,EAAA;AAE3D;AAEO,SAASM,EACdP,GACA;AACA,QAAMQ,IAAeF,EAAA;AACrB,SAAOF,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,GAAGQ;AAAA,EAAA,CACJ;AACH;AAEO,SAASC,EACdT,GACA;AACA,QAAMQ,IAAeF,EAAA;AAErB,SAAOI,EAAiB;AAAA,IACtB,GAAGV;AAAA,IACH,GAAGQ;AAAA,EAAA,CACJ;AACH;AAEA,MAAMG,IACJC,IACAC,IACAC,IACAC,IACAC,IACAC,IACAC;AAEK,SAASC,EACdC,GACAC,IAAeV,GACfX,GACA;AACA,QAAM,EAAE,aAAAC,GAAa,YAAAC,EAAA,IAAeC,EAAA,GAC9BmB,IAAWpB,EAAW,sBAAsBkB,GAAQC,CAAI;AAE9D,SAAOjB,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,UAAAsB;AAAA,IACA,SAAS,MAAMjB,EAAc,cAAce,GAAQC,GAAMpB,CAAW;AAAA,EAAA,CACrE;AACH;AAEO,SAASsB,EACdF,IAAeV,GACfX,GACA;AACA,QAAM,EAAE,aAAAC,GAAa,YAAAC,EAAA,IAAeC,EAAA,GAE9BmB,IAAWpB,EAAW,sBAAsB,WAAWmB,CAAI;AAEjE,SAAOjB,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,UAAAsB;AAAA,IACA,SAAS,MAAMjB,EAAc,gBAAgBgB,GAAMpB,CAAW;AAAA,EAAA,CAC/D;AACH;AAEO,SAASuB,EACdC,GACAzB,GACA;AACA,QAAM,EAAE,aAAAC,GAAa,YAAAC,EAAA,IAAeC,EAAA,GAC9BmB,IAAWpB,EAAW,uBAAuBuB,CAAW,GAExDC,IAAyB,GAAGD,CAAW,iBACvCE,IAAc,eAAe,QAAQD,CAAsB;AAEjE,SAAOtB,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,UAAAsB;AAAA,IACA,SAAS,YAAY;AACnB,YAAMM,IAAc,MAAMvB,EAAc;AAAA,QACtCoB;AAAA,QACAxB;AAAA,MAAA;AAGF,4BAAe;AAAA,QACbyB;AAAA,QACA,KAAK,UAAUE,CAAW;AAAA,MAAA,GAErBA;AAAA,IACT;AAAA;AAAA,IAEA,iBAAiBD,IACZ,KAAK,MAAMA,CAAW,IACvB3B,GAAS;AAAA,EAAA,CACd;AACH;AAEO,SAAS6B,EACdC,GACA9B,GAGA;AACA,QAAM,EAAE,aAAAC,GAAa,YAAAC,EAAA,IAAeC,EAAA,GAE9BmB,IAAWpB,EAAW,0BAA0B4B,CAAO;AAE7D,SAAO1B,EAAS;AAAA,IACd,GAAGJ;AAAA,IACH,UAAAsB;AAAA,IACA,SAAS,aAEL,MAAMjB,EAAc,yBAAyBJ,GAAa6B,CAAO,GACjE;AAAA,EACJ,CACD;AACH;AAEO,SAASC,IAA4B;AAC1C,SAAOR,EAAiC,QAAW;AAAA,IACjD,QAAQ,OAAQS,EAAK;AAAA,EAAA,CACtB;AACH;"}
1
+ {"version":3,"file":"useUserBundle.js","sources":["../../../src/synapse-queries/user/useUserBundle.ts"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n USER_BUNDLE_MASK_IS_ACT_MEMBER,\n USER_BUNDLE_MASK_IS_AR_REVIEWER,\n USER_BUNDLE_MASK_IS_CERTIFIED,\n USER_BUNDLE_MASK_IS_VERIFIED,\n USER_BUNDLE_MASK_ORCID,\n USER_BUNDLE_MASK_USER_PROFILE,\n USER_BUNDLE_MASK_VERIFICATION_SUBMISSION,\n} from '@/utils/SynapseConstants'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client/util/SynapseClientError'\nimport {\n NotificationEmail,\n PrincipalAliasRequest,\n PrincipalAliasResponse,\n UserBundle,\n UserProfile,\n} from '@sage-bionetworks/synapse-types'\nimport {\n queryOptions,\n useQuery,\n UseQueryOptions,\n useSuspenseQuery,\n} from '@tanstack/react-query'\nimport type { SynapseQueriesContext } from '../types'\n\nexport function useGetNotificationEmail(\n options?: Partial<UseQueryOptions<NotificationEmail, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n return useQuery({\n ...options,\n queryKey: keyFactory.getNotificationEmailQueryKey(),\n queryFn: () => SynapseClient.getNotificationEmail(accessToken),\n })\n}\n\nfunction useGetCurrentUserProfileQueryOptions() {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryKey = keyFactory.getCurrentUserProfileQueryKey()\n return {\n queryKey: queryKey,\n queryFn: () => SynapseClient.getUserProfile(accessToken),\n }\n}\n\nexport function useGetCurrentUserProfile(\n options?: Partial<UseQueryOptions<UserProfile, SynapseClientError>>,\n) {\n const queryOptions = useGetCurrentUserProfileQueryOptions()\n return useQuery({\n ...options,\n ...queryOptions,\n })\n}\n\nexport function useSuspenseGetCurrentUserProfile(\n options?: Partial<UseQueryOptions<UserProfile, SynapseClientError>>,\n) {\n const queryOptions = useGetCurrentUserProfileQueryOptions()\n\n return useSuspenseQuery({\n ...options,\n ...queryOptions,\n })\n}\n\nconst ALL_USER_BUNDLE_FIELDS =\n USER_BUNDLE_MASK_USER_PROFILE |\n USER_BUNDLE_MASK_ORCID |\n USER_BUNDLE_MASK_VERIFICATION_SUBMISSION |\n USER_BUNDLE_MASK_IS_CERTIFIED |\n USER_BUNDLE_MASK_IS_VERIFIED |\n USER_BUNDLE_MASK_IS_ACT_MEMBER |\n USER_BUNDLE_MASK_IS_AR_REVIEWER\n\nexport function useGetUserBundle(\n userId: string,\n mask: number = ALL_USER_BUNDLE_FIELDS,\n options?: Partial<UseQueryOptions<UserBundle, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n const queryKey = keyFactory.getUserBundleQueryKey(userId, mask)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: () => SynapseClient.getUserBundle(userId, mask, accessToken),\n })\n}\n\nexport function useGetCurrentUserBundle<TData = UserBundle>(\n mask: number = ALL_USER_BUNDLE_FIELDS,\n options?: Partial<UseQueryOptions<UserBundle, SynapseClientError, TData>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n const queryKey = keyFactory.getUserBundleQueryKey('current', mask)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: () => SynapseClient.getMyUserBundle(mask, accessToken),\n })\n}\n\nexport function getUserProfileQuery(\n principalId: string,\n context: Pick<SynapseQueriesContext, 'accessToken' | 'keyFactory'>,\n) {\n const { accessToken, keyFactory } = context\n return queryOptions<UserProfile, SynapseClientError>({\n queryKey: keyFactory.getUserProfileQueryKey(principalId),\n queryFn: () => SynapseClient.getUserProfileById(principalId, accessToken),\n })\n}\n\nexport function useGetUserProfile(\n principalId: string,\n options?: Partial<UseQueryOptions<UserProfile, SynapseClientError>>,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n // We store the profile in a session storage cache used by SWC\n const sessionStorageCacheKey = `${principalId}_USER_PROFILE`\n const cachedValue = sessionStorage.getItem(sessionStorageCacheKey)\n\n return useQuery({\n ...options,\n ...getUserProfileQuery(principalId, { accessToken, keyFactory }),\n queryFn: async () => {\n const userProfile = await SynapseClient.getUserProfileById(\n principalId,\n accessToken,\n )\n // If the profile is re-fetched, save it to sessionStorage\n sessionStorage.setItem(\n sessionStorageCacheKey,\n JSON.stringify(userProfile),\n )\n return userProfile\n },\n // Use the sessionStorage cache to pre-populate profile data.\n placeholderData: cachedValue\n ? (JSON.parse(cachedValue) as UserProfile)\n : options?.placeholderData,\n })\n}\n\nexport function useGetPrincipalIdForAlias(\n request: PrincipalAliasRequest,\n options?: Partial<\n UseQueryOptions<PrincipalAliasResponse['principalId'], SynapseClientError>\n >,\n) {\n const { accessToken, keyFactory } = useSynapseContext()\n\n const queryKey = keyFactory.getPrincipalAliasQueryKey(request)\n\n return useQuery({\n ...options,\n queryKey: queryKey,\n queryFn: async () => {\n return (\n await SynapseClient.getPrincipalAliasRequest(accessToken, request)\n ).principalId\n },\n })\n}\n\nexport function useIsCurrentUserACTMember() {\n return useGetCurrentUserBundle<boolean>(undefined, {\n select: data => data.isACTMember!,\n })\n}\n"],"names":["useGetNotificationEmail","options","accessToken","keyFactory","useSynapseContext","useQuery","SynapseClient","useGetCurrentUserProfileQueryOptions","useGetCurrentUserProfile","queryOptions","useSuspenseGetCurrentUserProfile","useSuspenseQuery","ALL_USER_BUNDLE_FIELDS","USER_BUNDLE_MASK_USER_PROFILE","USER_BUNDLE_MASK_ORCID","USER_BUNDLE_MASK_VERIFICATION_SUBMISSION","USER_BUNDLE_MASK_IS_CERTIFIED","USER_BUNDLE_MASK_IS_VERIFIED","USER_BUNDLE_MASK_IS_ACT_MEMBER","USER_BUNDLE_MASK_IS_AR_REVIEWER","useGetUserBundle","userId","mask","queryKey","useGetCurrentUserBundle","getUserProfileQuery","principalId","context","useGetUserProfile","sessionStorageCacheKey","cachedValue","userProfile","useGetPrincipalIdForAlias","request","useIsCurrentUserACTMember","data"],"mappings":"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"}