synapse-react-client 3.1.28 → 3.1.30

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 (183) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/GoogleIcon.d.ts +3 -0
  3. package/dist/assets/GoogleIcon.js +22 -0
  4. package/dist/assets/GoogleIcon.js.map +1 -0
  5. package/dist/assets/icons/Alert.d.ts +2 -0
  6. package/dist/assets/icons/Alert.js +9 -0
  7. package/dist/assets/icons/Alert.js.map +1 -0
  8. package/dist/assets/icons/Cavatica.d.ts +3 -0
  9. package/dist/assets/icons/Cavatica.js +17 -0
  10. package/dist/assets/icons/Cavatica.js.map +1 -0
  11. package/dist/assets/icons/columns.d.ts +3 -0
  12. package/dist/assets/icons/columns.js +9 -0
  13. package/dist/assets/icons/columns.js.map +1 -0
  14. package/dist/assets/icons/columnsDarkTheme.d.ts +3 -0
  15. package/dist/assets/icons/columnsDarkTheme.js +9 -0
  16. package/dist/assets/icons/columnsDarkTheme.js.map +1 -0
  17. package/dist/assets/themed_icons/Active.d.ts +2 -0
  18. package/dist/assets/themed_icons/Active.js +10 -0
  19. package/dist/assets/themed_icons/Active.js.map +1 -0
  20. package/dist/components/styled/LeftRightPanel.js +10 -7
  21. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  22. package/dist/containers/EntityForm.js.map +1 -1
  23. package/dist/containers/FileUpload.d.ts +2 -1
  24. package/dist/containers/FileUpload.js +4 -4
  25. package/dist/containers/FileUpload.js.map +1 -1
  26. package/dist/containers/GenericCard.js +9 -9
  27. package/dist/containers/GenericCard.js.map +1 -1
  28. package/dist/containers/GoogleMap/GoogleMap.d.ts +15 -0
  29. package/dist/containers/GoogleMap/GoogleMap.js +58 -0
  30. package/dist/containers/GoogleMap/GoogleMap.js.map +1 -0
  31. package/dist/containers/GoogleMap/SynapseUserMarker.d.ts +19 -0
  32. package/dist/containers/GoogleMap/SynapseUserMarker.js +41 -0
  33. package/dist/containers/GoogleMap/SynapseUserMarker.js.map +1 -0
  34. package/dist/containers/ModalDownload.js.map +1 -1
  35. package/dist/containers/StatisticsPlot.js.map +1 -1
  36. package/dist/containers/StorybookComponentWrapper.d.ts +16 -0
  37. package/dist/containers/StorybookComponentWrapper.js +131 -0
  38. package/dist/containers/StorybookComponentWrapper.js.map +1 -0
  39. package/dist/containers/SynapseNavDrawer.js +9 -15
  40. package/dist/containers/SynapseNavDrawer.js.map +1 -1
  41. package/dist/containers/TemplateComponent.d.ts +6 -0
  42. package/dist/containers/TemplateComponent.js +20 -0
  43. package/dist/containers/TemplateComponent.js.map +1 -0
  44. package/dist/containers/TermsAndConditions.js +6 -7
  45. package/dist/containers/TermsAndConditions.js.map +1 -1
  46. package/dist/containers/access_requirement_list/ManagedACTAccessRequirement.d.ts +4 -0
  47. package/dist/containers/access_requirement_list/ManagedACTAccessRequirement.js +38 -0
  48. package/dist/containers/access_requirement_list/ManagedACTAccessRequirement.js.map +1 -0
  49. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js +3 -3
  50. package/dist/containers/access_requirement_list/managedACTAccess/RequestDataAccessStep2.js.map +1 -1
  51. package/dist/containers/auth/AuthenticationMethodSelection.js +4 -2
  52. package/dist/containers/auth/AuthenticationMethodSelection.js.map +1 -1
  53. package/dist/containers/auth/LoginFlowBackButton.js +2 -1
  54. package/dist/containers/auth/LoginFlowBackButton.js.map +1 -1
  55. package/dist/containers/auth/LoginForm.js +1 -1
  56. package/dist/containers/auth/LoginForm.js.map +1 -1
  57. package/dist/containers/auth/Logout.d.ts +5 -0
  58. package/dist/containers/auth/Logout.js +15 -0
  59. package/dist/containers/auth/Logout.js.map +1 -0
  60. package/dist/containers/auth/TOTPForm.js +1 -1
  61. package/dist/containers/auth/TOTPForm.js.map +1 -1
  62. package/dist/containers/auth/TwoFactorEnrollmentForm.d.ts +1 -0
  63. package/dist/containers/auth/TwoFactorEnrollmentForm.js +11 -1
  64. package/dist/containers/auth/TwoFactorEnrollmentForm.js.map +1 -1
  65. package/dist/containers/discussion_forum/DiscussionReply.d.ts +7 -0
  66. package/dist/containers/discussion_forum/DiscussionReply.js +63 -0
  67. package/dist/containers/discussion_forum/DiscussionReply.js.map +1 -0
  68. package/dist/containers/discussion_forum/DiscussionThread.d.ts +6 -0
  69. package/dist/containers/discussion_forum/DiscussionThread.js +126 -0
  70. package/dist/containers/discussion_forum/DiscussionThread.js.map +1 -0
  71. package/dist/containers/discussion_forum/ForumPage.d.ts +7 -0
  72. package/dist/containers/discussion_forum/ForumPage.js +70 -0
  73. package/dist/containers/discussion_forum/ForumPage.js.map +1 -0
  74. package/dist/containers/discussion_forum/ForumTable.d.ts +9 -0
  75. package/dist/containers/discussion_forum/ForumTable.js +93 -0
  76. package/dist/containers/discussion_forum/ForumTable.js.map +1 -0
  77. package/dist/containers/discussion_forum/ForumThreadEditor.d.ts +9 -0
  78. package/dist/containers/discussion_forum/ForumThreadEditor.js +82 -0
  79. package/dist/containers/discussion_forum/ForumThreadEditor.js.map +1 -0
  80. package/dist/containers/discussion_forum/SubscribersModal.d.ts +9 -0
  81. package/dist/containers/discussion_forum/SubscribersModal.js +25 -0
  82. package/dist/containers/discussion_forum/SubscribersModal.js.map +1 -0
  83. package/dist/containers/entity/annotations/CustomAdditionalPropertiesFieldTemplate.d.ts +1 -1
  84. package/dist/containers/markdown/MarkdownEditor.d.ts +11 -0
  85. package/dist/containers/markdown/MarkdownEditor.js +112 -0
  86. package/dist/containers/markdown/MarkdownEditor.js.map +1 -0
  87. package/dist/containers/markdown/UserMentionModal.d.ts +7 -0
  88. package/dist/containers/markdown/UserMentionModal.js +25 -0
  89. package/dist/containers/markdown/UserMentionModal.js.map +1 -0
  90. package/dist/containers/menu/DropdownMenu.js +1 -1
  91. package/dist/containers/menu/DropdownMenu.js.map +1 -1
  92. package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.d.ts +1 -0
  93. package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js +2 -2
  94. package/dist/containers/query_wrapper_plot_nav/QueryWrapperPlotNav.js.map +1 -1
  95. package/dist/containers/synapse_form_wrapper/SynapseFormSubmissionsGrid.js.map +1 -1
  96. package/dist/containers/synapse_table_functions/SynapseTableCell.js +4 -3
  97. package/dist/containers/synapse_table_functions/SynapseTableCell.js.map +1 -1
  98. package/dist/containers/table/TopLevelControls.d.ts +1 -0
  99. package/dist/containers/table/TopLevelControls.js +12 -3
  100. package/dist/containers/table/TopLevelControls.js.map +1 -1
  101. package/dist/containers/widgets/facet-nav/FacetNav.js +1 -1
  102. package/dist/containers/widgets/facet-nav/FacetNav.js.map +1 -1
  103. package/dist/style/components/_synapse-nav-drawer.scss +2 -2
  104. package/dist/style/components/_terms-and-conditions.scss +1 -0
  105. package/dist/umd/synapse-react-client.development.css +6 -5
  106. package/dist/umd/synapse-react-client.development.css.map +3 -3
  107. package/dist/umd/synapse-react-client.development.js +15697 -14464
  108. package/dist/umd/synapse-react-client.development.js.map +4 -4
  109. package/dist/umd/synapse-react-client.production.min.css +1 -1
  110. package/dist/umd/synapse-react-client.production.min.js +92 -92
  111. package/dist/umd.index.d.ts +2 -0
  112. package/dist/umd.index.js +2 -0
  113. package/dist/umd.index.js.map +1 -1
  114. package/dist/utils/AppUtils.d.ts +4 -0
  115. package/dist/utils/AppUtils.js +30 -0
  116. package/dist/utils/AppUtils.js.map +1 -0
  117. package/dist/utils/FullContextProvider.d.ts +19 -0
  118. package/dist/utils/FullContextProvider.js +35 -0
  119. package/dist/utils/FullContextProvider.js.map +1 -0
  120. package/dist/utils/SynapseConstants.d.ts +4 -0
  121. package/dist/utils/SynapseConstants.js +5 -1
  122. package/dist/utils/SynapseConstants.js.map +1 -1
  123. package/dist/utils/SynapseContext.d.ts +5 -9
  124. package/dist/utils/SynapseContext.js +6 -19
  125. package/dist/utils/SynapseContext.js.map +1 -1
  126. package/dist/utils/apputils/session/ApplicationSessionContext.d.ts +18 -0
  127. package/dist/utils/apputils/session/ApplicationSessionContext.js +25 -0
  128. package/dist/utils/apputils/session/ApplicationSessionContext.js.map +1 -0
  129. package/dist/utils/apputils/session/ApplicationSessionManager.d.ts +22 -0
  130. package/dist/utils/apputils/session/ApplicationSessionManager.js +162 -0
  131. package/dist/utils/apputils/session/ApplicationSessionManager.js.map +1 -0
  132. package/dist/utils/functions/ObjectUtils.d.ts +1 -1
  133. package/dist/utils/functions/index.d.ts +9 -0
  134. package/dist/utils/functions/index.js +9 -0
  135. package/dist/utils/functions/index.js.map +1 -0
  136. package/dist/utils/functions/sqlFunctions.d.ts +2 -2
  137. package/dist/utils/functions/sqlFunctions.js +56 -33
  138. package/dist/utils/functions/sqlFunctions.js.map +1 -1
  139. package/dist/utils/hooks/SynapseAPI/entity/useExportToCavatica.d.ts +2 -0
  140. package/dist/utils/hooks/SynapseAPI/entity/useExportToCavatica.js +55 -0
  141. package/dist/utils/hooks/SynapseAPI/entity/useExportToCavatica.js.map +1 -0
  142. package/dist/utils/hooks/SynapseAPI/forum/useForum.d.ts +7 -0
  143. package/dist/utils/hooks/SynapseAPI/forum/useForum.js +31 -0
  144. package/dist/utils/hooks/SynapseAPI/forum/useForum.js.map +1 -0
  145. package/dist/utils/hooks/SynapseAPI/forum/useReply.d.ts +10 -0
  146. package/dist/utils/hooks/SynapseAPI/forum/useReply.js +120 -0
  147. package/dist/utils/hooks/SynapseAPI/forum/useReply.js.map +1 -0
  148. package/dist/utils/hooks/SynapseAPI/forum/useThread.d.ts +18 -0
  149. package/dist/utils/hooks/SynapseAPI/forum/useThread.js +236 -0
  150. package/dist/utils/hooks/SynapseAPI/forum/useThread.js.map +1 -0
  151. package/dist/utils/hooks/SynapseAPI/provenance/useGetActivityForEntity.d.ts +4 -0
  152. package/dist/utils/hooks/SynapseAPI/provenance/useGetActivityForEntity.js +14 -0
  153. package/dist/utils/hooks/SynapseAPI/provenance/useGetActivityForEntity.js.map +1 -0
  154. package/dist/utils/hooks/SynapseAPI/subscription/useSubscription.d.ts +13 -0
  155. package/dist/utils/hooks/SynapseAPI/subscription/useSubscription.js +107 -0
  156. package/dist/utils/hooks/SynapseAPI/subscription/useSubscription.js.map +1 -0
  157. package/dist/utils/hooks/useDetectSSOCode.d.ts +7 -4
  158. package/dist/utils/hooks/useDetectSSOCode.js +25 -27
  159. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  160. package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.d.ts +4 -0
  161. package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.js +3 -0
  162. package/dist/utils/synapseTypes/DownloadListV2/DownloadListManifestResponse.js.map +1 -0
  163. package/dist/utils/synapseTypes/MarkdownCommands.d.ts +8 -0
  164. package/dist/utils/synapseTypes/MarkdownCommands.js +58 -0
  165. package/dist/utils/synapseTypes/MarkdownCommands.js.map +1 -0
  166. package/dist/utils/synapseTypes/Table/QueryFilter.d.ts +3 -1
  167. package/dist/utils/synapseTypes/Table/QueryFilter.js +7 -0
  168. package/dist/utils/synapseTypes/Table/QueryFilter.js.map +1 -1
  169. package/dist/utils/theme/DefaultTheme.d.ts +2 -2
  170. package/dist/utils/theme/DefaultTheme.js +31 -13
  171. package/dist/utils/theme/DefaultTheme.js.map +1 -1
  172. package/dist/utils/theme/ThemeTypes.d.ts +6 -0
  173. package/dist/utils/theme/index.d.ts +3 -0
  174. package/dist/utils/theme/index.js +7 -0
  175. package/dist/utils/theme/index.js.map +1 -0
  176. package/dist/utils/theme/palette/Palettes.js +1 -1
  177. package/dist/utils/theme/useTheme.d.ts +2 -1
  178. package/dist/utils/theme/useTheme.js +2 -2
  179. package/dist/utils/theme/useTheme.js.map +1 -1
  180. package/dist/utils/types/DeepPartial.d.ts +9 -0
  181. package/dist/utils/types/DeepPartial.js +3 -0
  182. package/dist/utils/types/DeepPartial.js.map +1 -0
  183. package/package.json +17 -23
@@ -4,6 +4,12 @@ exports.resultToJson = exports.parseEntityIdAndVersionFromSqlStatement = exports
4
4
  var RegularExpressions_1 = require("../functions/RegularExpressions");
5
5
  var QueryFilter_1 = require("../synapseTypes/Table/QueryFilter");
6
6
  var WITHOUT_SYN_PREFIX = 3;
7
+ function removePrefixIfSynId(value) {
8
+ if (value.match(RegularExpressions_1.SYNAPSE_ENTITY_ID_REGEX)) {
9
+ return value.substring(WITHOUT_SYN_PREFIX);
10
+ }
11
+ return value;
12
+ }
7
13
  /**
8
14
  * Given the search params, return a set of QueryFilters to narrow the the query to view just related data. May return null if a QueryFilter should not be added.
9
15
  * @param sql
@@ -12,7 +18,7 @@ var WITHOUT_SYN_PREFIX = 3;
12
18
  * @returns
13
19
  */
14
20
  var generateQueryFilterFromSearchParams = function (searchParams, operator) {
15
- if (operator === void 0) { operator = 'LIKE'; }
21
+ if (operator === void 0) { operator = QueryFilter_1.ColumnSingleValueFilterOperator.LIKE; }
16
22
  if (!searchParams) {
17
23
  return;
18
24
  }
@@ -25,43 +31,60 @@ var generateQueryFilterFromSearchParams = function (searchParams, operator) {
25
31
  return Object.keys(searchParams)
26
32
  .filter(function (key) { return !isQueryWrapperKey(key); })
27
33
  .map(function (key) {
28
- if (operator === 'HAS') {
29
- var filter = {
30
- concreteType: 'org.sagebionetworks.repo.model.table.ColumnMultiValueFunctionQueryFilter',
31
- columnName: key,
32
- function: QueryFilter_1.ColumnMultiValueFunction.HAS,
33
- values: searchParams[key].split(','),
34
- };
35
- return filter;
36
- }
37
- else if (operator === 'LIKE') {
38
- var value = searchParams[key];
39
- if (value.match(RegularExpressions_1.SYNAPSE_ENTITY_ID_REGEX)) {
34
+ switch (operator) {
35
+ case QueryFilter_1.ColumnSingleValueFilterOperator.EQUAL: {
36
+ var filter = {
37
+ concreteType: 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',
38
+ columnName: key,
39
+ operator: operator,
40
+ values: [searchParams[key]],
41
+ };
42
+ return filter;
43
+ }
44
+ case QueryFilter_1.ColumnSingleValueFilterOperator.IN: {
45
+ var filter = {
46
+ concreteType: 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',
47
+ columnName: key,
48
+ operator: operator,
49
+ values: searchParams[key].split(','),
50
+ };
51
+ return filter;
52
+ }
53
+ case QueryFilter_1.ColumnMultiValueFunction.HAS: {
54
+ var filter = {
55
+ concreteType: 'org.sagebionetworks.repo.model.table.ColumnMultiValueFunctionQueryFilter',
56
+ columnName: key,
57
+ function: operator,
58
+ values: searchParams[key].split(','),
59
+ };
60
+ return filter;
61
+ }
62
+ case QueryFilter_1.ColumnSingleValueFilterOperator.LIKE: {
40
63
  // If we use a LIKE statement with a synId the backend will look for a string with the first three
41
64
  // characters being 'syn', however, it stores synIds without 'syn', so the query will fail
42
65
  // The backend usually parses 'syn' out, but not with the LIKE clause since its expecting a regex, so we
43
66
  // parse this out. This will cause a bug if something matches the synId regex but is in free text.
44
- value = value.substring(WITHOUT_SYN_PREFIX);
67
+ var filter = {
68
+ concreteType: 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',
69
+ columnName: key,
70
+ operator: operator,
71
+ // Add wildcards around the value
72
+ values: ["%".concat(removePrefixIfSynId(searchParams[key]), "%")],
73
+ };
74
+ return filter;
75
+ }
76
+ case QueryFilter_1.ColumnMultiValueFunction.HAS_LIKE: {
77
+ var filter = {
78
+ concreteType: 'org.sagebionetworks.repo.model.table.ColumnMultiValueFunctionQueryFilter',
79
+ columnName: key,
80
+ function: operator,
81
+ values: searchParams[key].split(',').map(function (param) {
82
+ // Remove synId prefix for the same reasons as in the LIKE case
83
+ return "%".concat(removePrefixIfSynId(param), "%");
84
+ }),
85
+ };
86
+ return filter;
45
87
  }
46
- var filter = {
47
- concreteType: 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',
48
- columnName: key,
49
- operator: QueryFilter_1.ColumnSingleValueFilterOperator.LIKE,
50
- // Add wildcards around the value
51
- values: ["%".concat(value, "%")],
52
- };
53
- return filter;
54
- }
55
- else {
56
- // operator is '='
57
- // The backend doesn't have an '=' operator for query filters, but we can just use LIKE without wildcards.
58
- var filter = {
59
- concreteType: 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',
60
- columnName: key,
61
- operator: QueryFilter_1.ColumnSingleValueFilterOperator.LIKE,
62
- values: [searchParams[key]],
63
- };
64
- return filter;
65
88
  }
66
89
  });
67
90
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sqlFunctions.js","sourceRoot":"","sources":["../../../src/lib/utils/functions/sqlFunctions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlFunctions.js","sourceRoot":"","sources":["../../../src/lib/utils/functions/sqlFunctions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { QueryBundleRequest, SelectColumn } from '../../../synapseTypes';
2
+ export declare function useExportToCavatica(queryBundleRequest: QueryBundleRequest, selectColumns?: SelectColumn[]): () => Promise<void>;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useExportToCavatica = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var __1 = require("../../..");
6
+ var ToastMessage_1 = require("../../../../containers/ToastMessage");
7
+ var sqlFunctions_1 = require("../../../functions/sqlFunctions");
8
+ var SynapseContext_1 = require("../../../SynapseContext");
9
+ function useExportToCavatica(queryBundleRequest, selectColumns) {
10
+ var _this = this;
11
+ var accessToken = (0, SynapseContext_1.useSynapseContext)().accessToken;
12
+ var separator = ',';
13
+ var writeHeader = true;
14
+ var includeRowIdAndRowVersion = false;
15
+ var originalSql = queryBundleRequest.query.sql;
16
+ return function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
17
+ var selectColumnsList, sql, downloadFromTableRequest, result, presignedURL, cavaticaURL, _err_1;
18
+ return tslib_1.__generator(this, function (_a) {
19
+ switch (_a.label) {
20
+ case 0:
21
+ _a.trys.push([0, 3, , 4]);
22
+ selectColumnsList = selectColumns === null || selectColumns === void 0 ? void 0 : selectColumns.map(function (col) { return col.name; }).join(',');
23
+ sql = "SELECT CONCAT('drs://repo-prod.prod.sagebase.org/syn', id, '.', currentVersion) AS drs_uri, name as file_name, ".concat(selectColumnsList, " FROM ").concat(originalSql.slice(originalSql.toLowerCase().indexOf('from') + 'from'.length + 1));
24
+ downloadFromTableRequest = {
25
+ sql: sql,
26
+ entityId: (0, sqlFunctions_1.parseEntityIdFromSqlStatement)(sql),
27
+ selectedFacets: queryBundleRequest.query.selectedFacets,
28
+ concreteType: 'org.sagebionetworks.repo.model.table.DownloadFromTableRequest',
29
+ writeHeader: writeHeader,
30
+ includeRowIdAndRowVersion: includeRowIdAndRowVersion,
31
+ csvTableDescriptor: { separator: separator },
32
+ additionalFilters: queryBundleRequest.query.additionalFilters,
33
+ };
34
+ return [4 /*yield*/, __1.SynapseClient.getDownloadFromTableRequest(downloadFromTableRequest, accessToken)];
35
+ case 1:
36
+ result = _a.sent();
37
+ return [4 /*yield*/, __1.SynapseClient.getFileHandleByIdURL(result.resultsFileHandleId, accessToken)
38
+ // Send this presigned URL to the Cavatica landing page where it can be processed
39
+ ];
40
+ case 2:
41
+ presignedURL = _a.sent();
42
+ cavaticaURL = "https://cavatica.sbgenomics.com/import-redirect/drs/csv/?URL=".concat(encodeURIComponent(presignedURL));
43
+ window.open(cavaticaURL, '_blank');
44
+ return [3 /*break*/, 4];
45
+ case 3:
46
+ _err_1 = _a.sent();
47
+ (0, ToastMessage_1.displayToast)(_err_1.reason, 'danger');
48
+ return [3 /*break*/, 4];
49
+ case 4: return [2 /*return*/];
50
+ }
51
+ });
52
+ }); };
53
+ }
54
+ exports.useExportToCavatica = useExportToCavatica;
55
+ //# sourceMappingURL=useExportToCavatica.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExportToCavatica.js","sourceRoot":"","sources":["../../../../../src/lib/utils/hooks/SynapseAPI/entity/useExportToCavatica.ts"],"names":[],"mappings":";;;;AAAA,8BAAwC;AACxC,oEAAkE;AAClE,gEAA+E;AAC/E,0DAA2D;AAO3D,SAAgB,mBAAmB,CACjC,kBAAsC,EACtC,aAA8B;IAFhC,iBA4CC;IAxCS,IAAA,WAAW,GAAK,IAAA,kCAAiB,GAAE,YAAxB,CAAwB;IAC3C,IAAM,SAAS,GAAG,GAAG,CAAA;IACrB,IAAM,WAAW,GAAG,IAAI,CAAA;IACxB,IAAM,yBAAyB,GAAG,KAAK,CAAA;IACvC,IAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAA;IAChD,OAAO;;;;;;oBAGG,iBAAiB,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;oBACjE,GAAG,GAAG,yHAAkH,iBAAiB,mBAAS,WAAW,CAAC,KAAK,CACvK,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAC9D,CAAE,CAAA;oBACG,wBAAwB,GAA6B;wBACzD,GAAG,KAAA;wBACH,QAAQ,EAAE,IAAA,4CAA6B,EAAC,GAAG,CAAC;wBAC5C,cAAc,EAAE,kBAAkB,CAAC,KAAK,CAAC,cAAc;wBACvD,YAAY,EACV,+DAA+D;wBACjE,WAAW,aAAA;wBACX,yBAAyB,2BAAA;wBACzB,kBAAkB,EAAE,EAAE,SAAS,WAAA,EAAE;wBACjC,iBAAiB,EAAE,kBAAkB,CAAC,KAAK,CAAC,iBAAiB;qBAC9D,CAAA;oBACc,qBAAM,iBAAa,CAAC,2BAA2B,CAC5D,wBAAwB,EACxB,WAAW,CACZ,EAAA;;oBAHK,MAAM,GAAG,SAGd;oBACoB,qBAAM,iBAAa,CAAC,oBAAoB,CAC3D,MAAM,CAAC,mBAAmB,EAC1B,WAAW,CACZ;wBACD,iFAAiF;sBADhF;;oBAHK,YAAY,GAAG,SAGpB;oBAEK,WAAW,GAAG,uEAAgE,kBAAkB,CACpG,YAAY,CACb,CAAE,CAAA;oBACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;;;;oBAElC,IAAA,2BAAY,EAAC,MAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;;;;;SAEtC,CAAA;AACH,CAAC;AA5CD,kDA4CC"}
@@ -0,0 +1,7 @@
1
+ import { UseInfiniteQueryOptions, UseQueryOptions } from 'react-query';
2
+ import { SynapseClientError } from '../../../SynapseClientError';
3
+ import { PaginatedResults } from '../../../synapseTypes';
4
+ import { DiscussionFilter, DiscussionThreadBundle, DiscussionThreadOrder } from '../../../synapseTypes/DiscussionBundle';
5
+ import { PaginatedIds } from '../../../synapseTypes/PaginatedIds';
6
+ export declare function useGetModerators(forumId: string, options?: UseQueryOptions<PaginatedIds, SynapseClientError>): import("react-query").UseQueryResult<PaginatedIds, SynapseClientError>;
7
+ export declare function useGetForumInfinite(forumId: string, limit: number, sort: DiscussionThreadOrder, ascending: boolean, filter?: DiscussionFilter, options?: UseInfiniteQueryOptions<PaginatedResults<DiscussionThreadBundle>, SynapseClientError>): import("react-query").UseInfiniteQueryResult<PaginatedResults<DiscussionThreadBundle>, SynapseClientError>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useGetForumInfinite = exports.useGetModerators = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_query_1 = require("react-query");
6
+ var __1 = require("../../..");
7
+ var SynapseContext_1 = require("../../../SynapseContext");
8
+ function useGetModerators(forumId, options) {
9
+ var _a = (0, SynapseContext_1.useSynapseContext)(), accessToken = _a.accessToken, keyFactory = _a.keyFactory;
10
+ return (0, react_query_1.useQuery)(keyFactory.getForumModeratorsQueryKey(forumId), function () { return __1.SynapseClient.getModerators(accessToken, forumId); }, options);
11
+ }
12
+ exports.useGetModerators = useGetModerators;
13
+ function useGetForumInfinite(forumId, limit, sort, ascending, filter, options) {
14
+ var _this = this;
15
+ var _a = (0, SynapseContext_1.useSynapseContext)(), accessToken = _a.accessToken, keyFactory = _a.keyFactory;
16
+ return (0, react_query_1.useInfiniteQuery)(keyFactory.getForumThreadsQueryKey(forumId, limit, sort, ascending, filter), function (context) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
17
+ return tslib_1.__generator(this, function (_a) {
18
+ return [2 /*return*/, __1.SynapseClient.getForumThread(accessToken, forumId, context.pageParam, limit, sort, ascending, filter)];
19
+ });
20
+ }); }, tslib_1.__assign(tslib_1.__assign({}, options), { getNextPageParam: function (lastPage, pages) {
21
+ var numberOfFetchedResults = pages.flatMap(function (page) { return page.results; }).length;
22
+ if (lastPage.totalNumberOfResults > numberOfFetchedResults) {
23
+ return numberOfFetchedResults;
24
+ }
25
+ else {
26
+ return undefined;
27
+ }
28
+ } }));
29
+ }
30
+ exports.useGetForumInfinite = useGetForumInfinite;
31
+ //# sourceMappingURL=useForum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useForum.js","sourceRoot":"","sources":["../../../../../src/lib/utils/hooks/SynapseAPI/forum/useForum.ts"],"names":[],"mappings":";;;;AAAA,2CAKoB;AACpB,8BAAwC;AAExC,0DAA2D;AAS3D,SAAgB,gBAAgB,CAC9B,OAAe,EACf,OAA2D;IAErD,IAAA,KAA8B,IAAA,kCAAiB,GAAE,EAA/C,WAAW,iBAAA,EAAE,UAAU,gBAAwB,CAAA;IACvD,OAAO,IAAA,sBAAQ,EACb,UAAU,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAC9C,cAAM,OAAA,iBAAa,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,EAAjD,CAAiD,EACvD,OAAO,CACR,CAAA;AACH,CAAC;AAVD,4CAUC;AAED,SAAgB,mBAAmB,CACjC,OAAe,EACf,KAAa,EACb,IAA2B,EAC3B,SAAkB,EAClB,MAAyB,EACzB,OAGC;IATH,iBA0CC;IA/BO,IAAA,KAA8B,IAAA,kCAAiB,GAAE,EAA/C,WAAW,iBAAA,EAAE,UAAU,gBAAwB,CAAA;IACvD,OAAO,IAAA,8BAAgB,EAIrB,UAAU,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAC3E,UAAM,OAAO;;YACX,sBAAO,iBAAa,CAAC,cAAc,CACjC,WAAW,EACX,OAAO,EACP,OAAO,CAAC,SAAS,EACjB,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,CACP,EAAA;;SACF,wCAEI,OAAO,KACV,gBAAgB,EAAE,UAAC,QAAQ,EAAE,KAAK;YAChC,IAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,CAC1C,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,OAAO,EAAZ,CAAY,CACrB,CAAC,MAAM,CAAA;YACR,IAAI,QAAQ,CAAC,oBAAqB,GAAG,sBAAsB,EAAE;gBAC3D,OAAO,sBAAsB,CAAA;aAC9B;iBAAM;gBACL,OAAO,SAAS,CAAA;aACjB;QACH,CAAC,IAEJ,CAAA;AACH,CAAC;AA1CD,kDA0CC"}
@@ -0,0 +1,10 @@
1
+ import { UseInfiniteQueryOptions, UseMutationOptions, UseQueryOptions } from 'react-query';
2
+ import { SynapseClientError } from '../../../SynapseClientError';
3
+ import { CreateDiscussionReply, DiscussionFilter, DiscussionReplyBundle, DiscussionReplyOrder, UpdateDiscussionReply } from '../../../synapseTypes/DiscussionBundle';
4
+ import { PaginatedResults } from '../../../synapseTypes';
5
+ import { Match } from '../../../synapseTypes/DiscussionSearch';
6
+ export declare function useGetRepliesInfinite(threadId: string, ascending: boolean, limit: number, sort?: DiscussionReplyOrder, filter?: DiscussionFilter, options?: UseInfiniteQueryOptions<PaginatedResults<DiscussionReplyBundle>, SynapseClientError>): import("react-query").UseInfiniteQueryResult<PaginatedResults<DiscussionReplyBundle>, SynapseClientError>;
7
+ export declare function useGetReply(reply: DiscussionReplyBundle, options?: UseQueryOptions<string, SynapseClientError>): import("react-query").UseQueryResult<string, SynapseClientError>;
8
+ export declare function usePostReply(options?: UseMutationOptions<DiscussionReplyBundle, SynapseClientError, CreateDiscussionReply>): import("react-query").UseMutationResult<DiscussionReplyBundle, SynapseClientError, CreateDiscussionReply, unknown>;
9
+ export declare function usePutReply(options?: UseMutationOptions<DiscussionReplyBundle, SynapseClientError, UpdateDiscussionReply>): import("react-query").UseMutationResult<DiscussionReplyBundle, SynapseClientError, UpdateDiscussionReply, unknown>;
10
+ export declare function useDeleteReply(options?: UseMutationOptions<void, SynapseClientError, Match>): import("react-query").UseMutationResult<void, SynapseClientError, Match, unknown>;
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useDeleteReply = exports.usePutReply = exports.usePostReply = exports.useGetReply = exports.useGetRepliesInfinite = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_query_1 = require("react-query");
6
+ var __1 = require("../../..");
7
+ var SynapseContext_1 = require("../../../SynapseContext");
8
+ function useGetRepliesInfinite(threadId, ascending, limit, sort, filter, options) {
9
+ var _this = this;
10
+ var _a = (0, SynapseContext_1.useSynapseContext)(), accessToken = _a.accessToken, keyFactory = _a.keyFactory;
11
+ return (0, react_query_1.useInfiniteQuery)(keyFactory.getRepliesQueryKey(threadId, ascending, limit, sort, filter), function (context) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
12
+ return tslib_1.__generator(this, function (_a) {
13
+ return [2 /*return*/, __1.SynapseClient.getReplies(accessToken, threadId, limit, context.pageParam, sort, ascending, filter)];
14
+ });
15
+ }); }, tslib_1.__assign(tslib_1.__assign({}, options), { getNextPageParam: function (lastPage, pages) {
16
+ var numberOfFetchedResults = pages.flatMap(function (page) { return page.results; }).length;
17
+ if (lastPage.totalNumberOfResults > numberOfFetchedResults) {
18
+ return numberOfFetchedResults;
19
+ }
20
+ else {
21
+ return undefined;
22
+ }
23
+ } }));
24
+ }
25
+ exports.useGetRepliesInfinite = useGetRepliesInfinite;
26
+ function useGetReply(reply, options) {
27
+ var _this = this;
28
+ var _a = (0, SynapseContext_1.useSynapseContext)(), accessToken = _a.accessToken, keyFactory = _a.keyFactory;
29
+ var queryFn = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
30
+ var messageUrl, data;
31
+ return tslib_1.__generator(this, function (_a) {
32
+ switch (_a.label) {
33
+ case 0: return [4 /*yield*/, __1.SynapseClient.getReplyMessageUrl(reply.messageKey, accessToken)];
34
+ case 1:
35
+ messageUrl = _a.sent();
36
+ return [4 /*yield*/, fetch(messageUrl.messageUrl, {
37
+ method: 'GET',
38
+ headers: {
39
+ Accept: '*/*',
40
+ 'Access-Control-Request-Headers': 'authorization',
41
+ 'Content-Type': 'text/plain; charset=utf-8',
42
+ },
43
+ })];
44
+ case 2:
45
+ data = _a.sent();
46
+ return [2 /*return*/, data.text()];
47
+ }
48
+ });
49
+ }); };
50
+ return (0, react_query_1.useQuery)(keyFactory.getReplyQueryKey(reply.threadId, reply.id, reply.messageKey), queryFn, options);
51
+ }
52
+ exports.useGetReply = useGetReply;
53
+ function usePostReply(options) {
54
+ var _this = this;
55
+ var queryClient = (0, react_query_1.useQueryClient)();
56
+ var _a = (0, SynapseContext_1.useSynapseContext)(), accessToken = _a.accessToken, keyFactory = _a.keyFactory;
57
+ return (0, react_query_1.useMutation)(function (request) {
58
+ return __1.SynapseClient.postReply(request, accessToken);
59
+ }, tslib_1.__assign(tslib_1.__assign({}, options), { onSuccess: function (newReply, variables, ctx) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
60
+ return tslib_1.__generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0: return [4 /*yield*/, queryClient.invalidateQueries(keyFactory.getAllRepliesQueryKey(newReply.threadId))];
63
+ case 1:
64
+ _a.sent();
65
+ if (!(options === null || options === void 0 ? void 0 : options.onSuccess)) return [3 /*break*/, 3];
66
+ return [4 /*yield*/, options.onSuccess(newReply, variables, ctx)];
67
+ case 2:
68
+ _a.sent();
69
+ _a.label = 3;
70
+ case 3: return [2 /*return*/];
71
+ }
72
+ });
73
+ }); } }));
74
+ }
75
+ exports.usePostReply = usePostReply;
76
+ function usePutReply(options) {
77
+ var _this = this;
78
+ var queryClient = (0, react_query_1.useQueryClient)();
79
+ var _a = (0, SynapseContext_1.useSynapseContext)(), accessToken = _a.accessToken, keyFactory = _a.keyFactory;
80
+ return (0, react_query_1.useMutation)(function (request) {
81
+ return __1.SynapseClient.putReply(request, accessToken);
82
+ }, tslib_1.__assign(tslib_1.__assign({}, options), { onSuccess: function (newReply, variables, ctx) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
83
+ return tslib_1.__generator(this, function (_a) {
84
+ switch (_a.label) {
85
+ case 0: return [4 /*yield*/, queryClient.invalidateQueries(keyFactory.getAllRepliesQueryKey(newReply.threadId))];
86
+ case 1:
87
+ _a.sent();
88
+ if (!(options === null || options === void 0 ? void 0 : options.onSuccess)) return [3 /*break*/, 3];
89
+ return [4 /*yield*/, options.onSuccess(newReply, variables, ctx)];
90
+ case 2:
91
+ _a.sent();
92
+ _a.label = 3;
93
+ case 3: return [2 /*return*/];
94
+ }
95
+ });
96
+ }); } }));
97
+ }
98
+ exports.usePutReply = usePutReply;
99
+ function useDeleteReply(options) {
100
+ var _this = this;
101
+ var queryClient = (0, react_query_1.useQueryClient)();
102
+ var _a = (0, SynapseContext_1.useSynapseContext)(), accessToken = _a.accessToken, keyFactory = _a.keyFactory;
103
+ return (0, react_query_1.useMutation)(function (match) { return __1.SynapseClient.deleteReply(accessToken, match.replyId); }, tslib_1.__assign(tslib_1.__assign({}, options), { onSuccess: function (updatedReply, variables, ctx) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
104
+ return tslib_1.__generator(this, function (_a) {
105
+ switch (_a.label) {
106
+ case 0: return [4 /*yield*/, queryClient.invalidateQueries(keyFactory.getAllRepliesQueryKey(variables.threadId))];
107
+ case 1:
108
+ _a.sent();
109
+ if (!(options === null || options === void 0 ? void 0 : options.onSuccess)) return [3 /*break*/, 3];
110
+ return [4 /*yield*/, options.onSuccess(updatedReply, variables, ctx)];
111
+ case 2:
112
+ _a.sent();
113
+ _a.label = 3;
114
+ case 3: return [2 /*return*/];
115
+ }
116
+ });
117
+ }); } }));
118
+ }
119
+ exports.useDeleteReply = useDeleteReply;
120
+ //# sourceMappingURL=useReply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReply.js","sourceRoot":"","sources":["../../../../../src/lib/utils/hooks/SynapseAPI/forum/useReply.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { UseQueryOptions, UseMutationOptions } from 'react-query';
2
+ import { CreateDiscussionThread, DiscussionThreadBundle, UpdateThreadMessageRequest, UpdateThreadTitleRequest } from '../../../synapseTypes/DiscussionBundle';
3
+ import { SynapseClientError } from '../../../SynapseClientError';
4
+ export declare function useGetThread(threadId: string): {
5
+ threadData: DiscussionThreadBundle | undefined;
6
+ threadBody: string | undefined;
7
+ togglePin: () => void;
8
+ isLoading: boolean;
9
+ };
10
+ export declare function useGetThreadBundle(threadId: string, options?: UseQueryOptions<DiscussionThreadBundle, SynapseClientError>): import("react-query").UseQueryResult<DiscussionThreadBundle, SynapseClientError>;
11
+ export declare function useGetThreadBody(threadData?: DiscussionThreadBundle, options?: UseQueryOptions<string, SynapseClientError>): import("react-query").UseQueryResult<string, SynapseClientError>;
12
+ export declare function useUpdateThreadTitle(options?: UseMutationOptions<DiscussionThreadBundle, SynapseClientError, UpdateThreadTitleRequest>): import("react-query").UseMutationResult<DiscussionThreadBundle, SynapseClientError, UpdateThreadTitleRequest, unknown>;
13
+ export declare function useUpdateThreadMessage(options?: UseMutationOptions<DiscussionThreadBundle, SynapseClientError, UpdateThreadMessageRequest>): import("react-query").UseMutationResult<DiscussionThreadBundle, SynapseClientError, UpdateThreadMessageRequest, unknown>;
14
+ export declare function useCreateThread(options?: UseMutationOptions<DiscussionThreadBundle, SynapseClientError, CreateDiscussionThread>): import("react-query").UseMutationResult<DiscussionThreadBundle, SynapseClientError, CreateDiscussionThread, unknown>;
15
+ export declare function useDeleteThread(options?: UseMutationOptions<void, SynapseClientError, DiscussionThreadBundle>): import("react-query").UseMutationResult<void, SynapseClientError, DiscussionThreadBundle, unknown>;
16
+ export declare function useRestoreThread(options?: UseMutationOptions<void, SynapseClientError, DiscussionThreadBundle>): import("react-query").UseMutationResult<void, SynapseClientError, DiscussionThreadBundle, unknown>;
17
+ export declare function usePinThread(options?: UseMutationOptions<void, SynapseClientError, DiscussionThreadBundle>): import("react-query").UseMutationResult<void, SynapseClientError, DiscussionThreadBundle, unknown>;
18
+ export declare function useUnPinThread(options?: UseMutationOptions<void, SynapseClientError, DiscussionThreadBundle>): import("react-query").UseMutationResult<void, SynapseClientError, DiscussionThreadBundle, unknown>;