@thoughtspot/visual-embed-sdk 1.28.5 → 1.29.0-addfilter.1

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 (240) hide show
  1. package/README.md +1 -1
  2. package/cjs/package.json +1 -1
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +2 -2
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/authToken.d.ts +1 -1
  7. package/cjs/src/authToken.js +1 -1
  8. package/cjs/src/embed/app.d.ts +58 -7
  9. package/cjs/src/embed/app.d.ts.map +1 -1
  10. package/cjs/src/embed/app.js +40 -4
  11. package/cjs/src/embed/app.js.map +1 -1
  12. package/cjs/src/embed/app.spec.js +11 -0
  13. package/cjs/src/embed/app.spec.js.map +1 -1
  14. package/cjs/src/embed/base.d.ts +1 -1
  15. package/cjs/src/embed/base.d.ts.map +1 -1
  16. package/cjs/src/embed/base.js +6 -6
  17. package/cjs/src/embed/base.js.map +1 -1
  18. package/cjs/src/embed/base.spec.js +1 -1
  19. package/cjs/src/embed/base.spec.js.map +1 -1
  20. package/cjs/src/embed/liveboard.d.ts +8 -2
  21. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  22. package/cjs/src/embed/liveboard.js.map +1 -1
  23. package/cjs/src/embed/search.d.ts +56 -5
  24. package/cjs/src/embed/search.d.ts.map +1 -1
  25. package/cjs/src/embed/search.js +41 -5
  26. package/cjs/src/embed/search.js.map +1 -1
  27. package/cjs/src/embed/search.spec.js +11 -0
  28. package/cjs/src/embed/search.spec.js.map +1 -1
  29. package/cjs/src/embed/ts-embed.d.ts +1 -1
  30. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  31. package/cjs/src/embed/ts-embed.js +14 -8
  32. package/cjs/src/embed/ts-embed.js.map +1 -1
  33. package/cjs/src/embed/ts-embed.spec.js +9 -18
  34. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  35. package/cjs/src/react/index.spec.js +1 -13
  36. package/cjs/src/react/index.spec.js.map +1 -1
  37. package/cjs/src/types.d.ts +58 -31
  38. package/cjs/src/types.d.ts.map +1 -1
  39. package/cjs/src/types.js +44 -20
  40. package/cjs/src/types.js.map +1 -1
  41. package/cjs/src/utils/answerService/answerService.d.ts +34 -0
  42. package/cjs/src/utils/answerService/answerService.d.ts.map +1 -0
  43. package/cjs/src/utils/answerService/answerService.js +142 -0
  44. package/cjs/src/utils/answerService/answerService.js.map +1 -0
  45. package/cjs/src/utils/answerService/answerService.spec.d.ts +1 -0
  46. package/cjs/src/utils/answerService/answerService.spec.d.ts.map +1 -0
  47. package/cjs/src/utils/answerService/answerService.spec.js +1 -0
  48. package/cjs/src/utils/answerService/answerService.spec.js.map +1 -0
  49. package/cjs/src/utils/answerService/graphql-queries.d.ts +6 -0
  50. package/cjs/src/utils/answerService/graphql-queries.d.ts.map +1 -0
  51. package/cjs/src/utils/answerService/graphql-queries.js +123 -0
  52. package/cjs/src/utils/answerService/graphql-queries.js.map +1 -0
  53. package/cjs/src/utils/answerService.d.ts +10 -0
  54. package/cjs/src/utils/answerService.d.ts.map +1 -0
  55. package/cjs/src/utils/answerService.js +61 -0
  56. package/cjs/src/utils/answerService.js.map +1 -0
  57. package/cjs/src/utils/answerService.spec.d.ts +2 -0
  58. package/cjs/src/utils/answerService.spec.d.ts.map +1 -0
  59. package/cjs/src/utils/answerService.spec.js +31 -0
  60. package/cjs/src/utils/answerService.spec.js.map +1 -0
  61. package/cjs/src/utils/authService.d.ts +37 -0
  62. package/cjs/src/utils/authService.d.ts.map +1 -0
  63. package/cjs/src/utils/authService.js +106 -0
  64. package/cjs/src/utils/authService.js.map +1 -0
  65. package/cjs/src/utils/authService.spec.d.ts +2 -0
  66. package/cjs/src/utils/authService.spec.d.ts.map +1 -0
  67. package/cjs/src/utils/authService.spec.js +72 -0
  68. package/cjs/src/utils/authService.spec.js.map +1 -0
  69. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
  70. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  71. package/cjs/src/utils/graphql/answerService/answer-queries.js +57 -1
  72. package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  73. package/cjs/src/utils/graphql/answerService/answerService.d.ts +39 -2
  74. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  75. package/cjs/src/utils/graphql/answerService/answerService.js +70 -2
  76. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  77. package/cjs/src/utils/graphql/answerService/answerService.spec.js +78 -0
  78. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  79. package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts +5 -0
  80. package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts.map +1 -0
  81. package/cjs/src/utils/graphql/answerService/graphql-queries.js +80 -0
  82. package/cjs/src/utils/graphql/answerService/graphql-queries.js.map +1 -0
  83. package/cjs/src/utils/processData.js +1 -1
  84. package/cjs/src/utils/processData.js.map +1 -1
  85. package/cjs/src/utils/processData.spec.js +1 -1
  86. package/cjs/src/utils/processData.spec.js.map +1 -1
  87. package/cjs/src/utils.d.ts +2 -1
  88. package/cjs/src/utils.d.ts.map +1 -1
  89. package/cjs/src/utils.js +19 -2
  90. package/cjs/src/utils.js.map +1 -1
  91. package/dist/src/auth.d.ts.map +1 -1
  92. package/dist/src/authToken.d.ts +1 -1
  93. package/dist/src/embed/app.d.ts +58 -7
  94. package/dist/src/embed/app.d.ts.map +1 -1
  95. package/dist/src/embed/base.d.ts +1 -1
  96. package/dist/src/embed/base.d.ts.map +1 -1
  97. package/dist/src/embed/liveboard.d.ts +8 -2
  98. package/dist/src/embed/liveboard.d.ts.map +1 -1
  99. package/dist/src/embed/search.d.ts +56 -5
  100. package/dist/src/embed/search.d.ts.map +1 -1
  101. package/dist/src/embed/ts-embed.d.ts +1 -1
  102. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  103. package/dist/src/types.d.ts +58 -31
  104. package/dist/src/types.d.ts.map +1 -1
  105. package/dist/src/utils/answerService.d.ts +10 -0
  106. package/dist/src/utils/answerService.d.ts.map +1 -0
  107. package/dist/src/utils/answerService.spec.d.ts +2 -0
  108. package/dist/src/utils/answerService.spec.d.ts.map +1 -0
  109. package/dist/src/utils/authService.d.ts +37 -0
  110. package/dist/src/utils/authService.d.ts.map +1 -0
  111. package/dist/src/utils/authService.spec.d.ts +2 -0
  112. package/dist/src/utils/authService.spec.d.ts.map +1 -0
  113. package/dist/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
  114. package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  115. package/dist/src/utils/graphql/answerService/answerService.d.ts +39 -2
  116. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  117. package/dist/src/utils.d.ts +2 -1
  118. package/dist/src/utils.d.ts.map +1 -1
  119. package/dist/tsembed-react.es.js +7164 -6922
  120. package/dist/tsembed-react.js +7204 -6962
  121. package/dist/tsembed.es.js +7427 -7185
  122. package/dist/tsembed.js +15698 -15456
  123. package/dist/visual-embed-sdk-react-full.d.ts +216 -44
  124. package/dist/visual-embed-sdk-react.d.ts +216 -44
  125. package/dist/visual-embed-sdk.d.ts +216 -44
  126. package/lib/package.json +1 -1
  127. package/lib/src/.index.d.ts.swp +0 -0
  128. package/lib/src/auth.d.ts.map +1 -1
  129. package/lib/src/auth.js +3 -3
  130. package/lib/src/auth.js.map +1 -1
  131. package/lib/src/authToken.d.ts +1 -1
  132. package/lib/src/authToken.js +1 -1
  133. package/lib/src/embed/app.d.ts +58 -7
  134. package/lib/src/embed/app.d.ts.map +1 -1
  135. package/lib/src/embed/app.js +39 -3
  136. package/lib/src/embed/app.js.map +1 -1
  137. package/lib/src/embed/app.spec.js +12 -1
  138. package/lib/src/embed/app.spec.js.map +1 -1
  139. package/lib/src/embed/base.d.ts +1 -1
  140. package/lib/src/embed/base.d.ts.map +1 -1
  141. package/lib/src/embed/base.js +5 -5
  142. package/lib/src/embed/base.js.map +1 -1
  143. package/lib/src/embed/base.spec.js +2 -2
  144. package/lib/src/embed/base.spec.js.map +1 -1
  145. package/lib/src/embed/liveboard.d.ts +8 -2
  146. package/lib/src/embed/liveboard.d.ts.map +1 -1
  147. package/lib/src/embed/liveboard.js +1 -1
  148. package/lib/src/embed/liveboard.js.map +1 -1
  149. package/lib/src/embed/search.d.ts +56 -5
  150. package/lib/src/embed/search.d.ts.map +1 -1
  151. package/lib/src/embed/search.js +41 -5
  152. package/lib/src/embed/search.js.map +1 -1
  153. package/lib/src/embed/search.spec.js +12 -1
  154. package/lib/src/embed/search.spec.js.map +1 -1
  155. package/lib/src/embed/ts-embed.d.ts +1 -1
  156. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  157. package/lib/src/embed/ts-embed.js +17 -11
  158. package/lib/src/embed/ts-embed.js.map +1 -1
  159. package/lib/src/embed/ts-embed.spec.js +9 -18
  160. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  161. package/lib/src/react/index.spec.js +1 -13
  162. package/lib/src/react/index.spec.js.map +1 -1
  163. package/lib/src/types.d.ts +58 -31
  164. package/lib/src/types.d.ts.map +1 -1
  165. package/lib/src/types.js +44 -20
  166. package/lib/src/types.js.map +1 -1
  167. package/lib/src/utils/answerService/answerService.d.ts +34 -0
  168. package/lib/src/utils/answerService/answerService.d.ts.map +1 -0
  169. package/lib/src/utils/answerService/answerService.js +137 -0
  170. package/lib/src/utils/answerService/answerService.js.map +1 -0
  171. package/lib/src/utils/answerService/answerService.spec.d.ts +1 -0
  172. package/lib/src/utils/answerService/answerService.spec.d.ts.map +1 -0
  173. package/lib/src/utils/answerService/answerService.spec.js +1 -0
  174. package/lib/src/utils/answerService/answerService.spec.js.map +1 -0
  175. package/lib/src/utils/answerService/graphql-queries.d.ts +6 -0
  176. package/lib/src/utils/answerService/graphql-queries.d.ts.map +1 -0
  177. package/lib/src/utils/answerService/graphql-queries.js +120 -0
  178. package/lib/src/utils/answerService/graphql-queries.js.map +1 -0
  179. package/lib/src/utils/answerService.d.ts +10 -0
  180. package/lib/src/utils/answerService.d.ts.map +1 -0
  181. package/lib/src/utils/answerService.js +57 -0
  182. package/lib/src/utils/answerService.js.map +1 -0
  183. package/lib/src/utils/answerService.spec.d.ts +2 -0
  184. package/lib/src/utils/answerService.spec.d.ts.map +1 -0
  185. package/lib/src/utils/answerService.spec.js +29 -0
  186. package/lib/src/utils/answerService.spec.js.map +1 -0
  187. package/lib/src/utils/authService/authService.spec.js +1 -1
  188. package/lib/src/utils/authService/authService.spec.js.map +1 -1
  189. package/lib/src/utils/authService.d.ts +37 -0
  190. package/lib/src/utils/authService.d.ts.map +1 -0
  191. package/lib/src/utils/authService.js +97 -0
  192. package/lib/src/utils/authService.js.map +1 -0
  193. package/lib/src/utils/authService.spec.d.ts +2 -0
  194. package/lib/src/utils/authService.spec.d.ts.map +1 -0
  195. package/lib/src/utils/authService.spec.js +70 -0
  196. package/lib/src/utils/authService.spec.js.map +1 -0
  197. package/lib/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
  198. package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  199. package/lib/src/utils/graphql/answerService/answer-queries.js +56 -0
  200. package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  201. package/lib/src/utils/graphql/answerService/answerService.d.ts +39 -2
  202. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  203. package/lib/src/utils/graphql/answerService/answerService.js +71 -3
  204. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  205. package/lib/src/utils/graphql/answerService/answerService.spec.js +80 -2
  206. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  207. package/lib/src/utils/graphql/answerService/graphql-queries.d.ts +5 -0
  208. package/lib/src/utils/graphql/answerService/graphql-queries.d.ts.map +1 -0
  209. package/lib/src/utils/graphql/answerService/graphql-queries.js +77 -0
  210. package/lib/src/utils/graphql/answerService/graphql-queries.js.map +1 -0
  211. package/lib/src/utils/processData.js +1 -1
  212. package/lib/src/utils/processData.js.map +1 -1
  213. package/lib/src/utils/processData.spec.js +1 -1
  214. package/lib/src/utils/processData.spec.js.map +1 -1
  215. package/lib/src/utils.d.ts +2 -1
  216. package/lib/src/utils.d.ts.map +1 -1
  217. package/lib/src/utils.js +17 -1
  218. package/lib/src/utils.js.map +1 -1
  219. package/lib/src/visual-embed-sdk.d.ts +221 -49
  220. package/package.json +1 -1
  221. package/src/auth.ts +6 -6
  222. package/src/authToken.ts +1 -1
  223. package/src/embed/app.spec.ts +22 -1
  224. package/src/embed/app.ts +86 -9
  225. package/src/embed/base.spec.ts +3 -3
  226. package/src/embed/base.ts +14 -14
  227. package/src/embed/liveboard.ts +16 -3
  228. package/src/embed/search.spec.ts +20 -1
  229. package/src/embed/search.ts +85 -11
  230. package/src/embed/ts-embed.spec.ts +26 -34
  231. package/src/embed/ts-embed.ts +52 -41
  232. package/src/react/index.spec.tsx +1 -30
  233. package/src/types.ts +56 -30
  234. package/src/utils/authService/authService.spec.ts +4 -4
  235. package/src/utils/graphql/answerService/answer-queries.ts +58 -0
  236. package/src/utils/graphql/answerService/answerService.spec.ts +88 -2
  237. package/src/utils/graphql/answerService/answerService.ts +87 -4
  238. package/src/utils/processData.spec.ts +1 -1
  239. package/src/utils/processData.ts +1 -1
  240. package/src/utils.ts +21 -2
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnswerService = exports.OperationType = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const utils_1 = require("../../utils");
6
+ const queries = tslib_1.__importStar(require("./graphql-queries"));
7
+ // eslint-disable-next-line no-shadow
8
+ var OperationType;
9
+ (function (OperationType) {
10
+ OperationType["GetChartWithData"] = "GetChartWithData";
11
+ OperationType["GetTableWithHeadlineData"] = "GetTableWithHeadlineData";
12
+ })(OperationType = exports.OperationType || (exports.OperationType = {}));
13
+ class AnswerService {
14
+ constructor(session, answer, thoughtSpotHost) {
15
+ this.session = session;
16
+ this.answer = answer;
17
+ this.thoughtSpotHost = thoughtSpotHost;
18
+ this.session = (0, utils_1.removeTypename)(session);
19
+ }
20
+ async getSourceDetail() {
21
+ const details = await graphqlQuery({
22
+ query: queries.getSourceDetail,
23
+ variables: {
24
+ ids: [this.answer.sources[0].header.guid],
25
+ },
26
+ thoughtSpotHost: this.thoughtSpotHost,
27
+ });
28
+ return details[0];
29
+ }
30
+ async removeColumns(columnIds) {
31
+ return this.executeQuery(queries.removeColumns, {
32
+ logicalColumnIds: columnIds,
33
+ });
34
+ }
35
+ async addColumns(columnIds) {
36
+ return this.executeQuery(queries.addColumns, {
37
+ columns: columnIds.map((colId) => ({ logicalColumnId: colId })),
38
+ });
39
+ }
40
+ async fetchData(offset = 0, size = 1000) {
41
+ const { answer } = await this.executeQuery(queries.getAnswerData, {
42
+ deadline: 0,
43
+ dataPaginationParams: {
44
+ isClientPaginated: true,
45
+ offset,
46
+ size,
47
+ },
48
+ });
49
+ const { columns, data } = answer.visualizations[0];
50
+ return {
51
+ columns,
52
+ data,
53
+ };
54
+ }
55
+ async getUnderlyingDataForPoint(selectedPoint, outputColumnNames, offset, size) {
56
+ const sourceDetail = await this.getSourceDetail();
57
+ const ouputColumnGuids = getGuidsFromColumnNames(sourceDetail, outputColumnNames);
58
+ const unAggAnswer = await graphqlQuery({
59
+ query: queries.getUnaggregatedAnswerSession,
60
+ variables: {
61
+ session: this.session,
62
+ columns: selectedPoint,
63
+ },
64
+ thoughtSpotHost: this.thoughtSpotHost,
65
+ });
66
+ const unaggAnswerSession = new AnswerService(unAggAnswer.id, unAggAnswer.answer, this.thoughtSpotHost);
67
+ const currentColumns = new Set(unAggAnswer.answer.visualizations[0].columns.map((c) => c.column.referencedColumns[0].guid));
68
+ const columnsToAdd = [...ouputColumnGuids].filter((col) => !currentColumns.has(col));
69
+ if (columnsToAdd.length) {
70
+ await unaggAnswerSession.addColumns(columnsToAdd);
71
+ }
72
+ const columnsToRemove = [...currentColumns].filter((col) => !ouputColumnGuids.has(col));
73
+ if (columnsToRemove.length) {
74
+ await unaggAnswerSession.removeColumns(columnsToRemove);
75
+ }
76
+ return unaggAnswerSession.fetchData(offset, size);
77
+ }
78
+ async executeQuery(query, variables) {
79
+ const data = await graphqlQuery({
80
+ query,
81
+ variables: {
82
+ session: this.session,
83
+ ...variables,
84
+ },
85
+ thoughtSpotHost: this.thoughtSpotHost,
86
+ isCompositeQuery: false,
87
+ });
88
+ this.session = (0, utils_1.deepMerge)(this.session, data.id);
89
+ return data;
90
+ }
91
+ }
92
+ exports.AnswerService = AnswerService;
93
+ /**
94
+ *
95
+ * @param root0
96
+ * @param root0.query
97
+ * @param root0.variables
98
+ * @param root0.thoughtSpotHost
99
+ * @param root0.isCompositeQuery
100
+ */
101
+ async function graphqlQuery({ query, variables, thoughtSpotHost, isCompositeQuery = false, }) {
102
+ const operationName = (0, utils_1.getOperationNameFromQuery)(query);
103
+ try {
104
+ const response = await fetch(`${thoughtSpotHost}/prism/?op=${operationName}`, {
105
+ method: 'POST',
106
+ headers: {
107
+ 'content-type': 'application/json;charset=UTF-8',
108
+ 'x-requested-by': 'ThoughtSpot',
109
+ accept: '*/*',
110
+ 'accept-language': 'en-us',
111
+ },
112
+ body: JSON.stringify({
113
+ operationName,
114
+ query,
115
+ variables,
116
+ }),
117
+ credentials: 'include',
118
+ });
119
+ const result = await response.json();
120
+ const dataValues = Object.values(result.data);
121
+ return (isCompositeQuery) ? result.data : dataValues[0];
122
+ }
123
+ catch (error) {
124
+ return error;
125
+ }
126
+ }
127
+ /**
128
+ *
129
+ * @param sourceDetail
130
+ * @param colNames
131
+ */
132
+ function getGuidsFromColumnNames(sourceDetail, colNames) {
133
+ const cols = sourceDetail.columns.reduce((colSet, col) => {
134
+ colSet[col.name] = col;
135
+ return colSet;
136
+ }, {});
137
+ return new Set(colNames.map((colName) => {
138
+ const col = cols[colName];
139
+ return col.id;
140
+ }));
141
+ }
142
+ //# sourceMappingURL=answerService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answerService.js","sourceRoot":"","sources":["../../../../src/utils/answerService/answerService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=answerService.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answerService.spec.d.ts","sourceRoot":"","sources":["../../../../src/utils/answerService/answerService.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=answerService.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answerService.spec.js","sourceRoot":"","sources":["../../../../src/utils/answerService/answerService.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export declare const getUnaggregatedAnswerSession: string;
2
+ export declare const removeColumns: string;
3
+ export declare const addColumns: string;
4
+ export declare const getAnswerData: string;
5
+ export declare const getSourceDetail = "\n query GetSourceDetail($ids: [GUID!]!) {\n getSourceDetailById(ids: $ids, type: LOGICAL_TABLE) {\n id\n name\n description\n authorName\n authorDisplayName\n isExternal\n type\n created\n modified\n columns {\n id\n name\n author\n authorDisplayName\n description\n dataType\n type\n modified\n ownerName\n owner\n dataRecency\n sources {\n tableId\n tableName\n columnId\n columnName\n __typename\n }\n synonyms\n cohortAnswerId\n __typename\n }\n relationships\n destinationRelationships\n dataSourceId\n __typename\n }\n } \n";
6
+ //# sourceMappingURL=graphql-queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-queries.d.ts","sourceRoot":"","sources":["../../../../src/utils/answerService/graphql-queries.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,4BAA4B,QAsBxC,CAAC;AAEF,eAAO,MAAM,aAAa,QAUrB,CAAC;AAEN,eAAO,MAAM,UAAU,QAMlB,CAAC;AAEN,eAAO,MAAM,aAAa,QAwBzB,CAAC;AAEF,eAAO,MAAM,eAAe,43BAyC3B,CAAC"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSourceDetail = exports.getAnswerData = exports.addColumns = exports.removeColumns = exports.getUnaggregatedAnswerSession = void 0;
4
+ const bachSessionId = `
5
+ id {
6
+ sessionId
7
+ genNo
8
+ acSession {
9
+ sessionId
10
+ genNo
11
+ }
12
+ }
13
+ `;
14
+ exports.getUnaggregatedAnswerSession = `
15
+ mutation GetUnAggregatedAnswerSession($session: BachSessionIdInput!, $columns: [UserPointSelectionInput!]!) {
16
+ Answer__getUnaggregatedAnswer(session: $session, columns: $columns) {
17
+ ${bachSessionId}
18
+ answer {
19
+ visualizations {
20
+ ... on TableViz {
21
+ columns {
22
+ column {
23
+ id
24
+ name
25
+ referencedColumns {
26
+ guid
27
+ displayName
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ }
36
+ `;
37
+ exports.removeColumns = `
38
+ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!], $columnIds: [GUID!]) {
39
+ Answer__removeColumns(
40
+ session: $session
41
+ logicalColumnIds: $logicalColumnIds
42
+ columnIds: $columnIds
43
+ ) {
44
+ ${bachSessionId}
45
+ }
46
+ }
47
+ `;
48
+ exports.addColumns = `
49
+ mutation AddColumns($session: BachSessionIdInput!, $columns: [AnswerColumnInfo!]!) {
50
+ Answer__addColumn(session: $session, columns: $columns) {
51
+ ${bachSessionId}
52
+ }
53
+ }
54
+ `;
55
+ exports.getAnswerData = `
56
+ query GetTableWithHeadlineData($session: BachSessionIdInput!, $deadline: Int!, $dataPaginationParams: DataPaginationParamsInput!) {
57
+ getAnswer(session: $session) {
58
+ ${bachSessionId}
59
+ answer {
60
+ id
61
+ visualizations {
62
+ id
63
+ ... on TableViz {
64
+ columns {
65
+ column {
66
+ id
67
+ name
68
+ type
69
+ aggregationType
70
+ dataType
71
+ }
72
+ }
73
+ data(deadline: $deadline, pagination: $dataPaginationParams)
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ `;
80
+ exports.getSourceDetail = `
81
+ query GetSourceDetail($ids: [GUID!]!) {
82
+ getSourceDetailById(ids: $ids, type: LOGICAL_TABLE) {
83
+ id
84
+ name
85
+ description
86
+ authorName
87
+ authorDisplayName
88
+ isExternal
89
+ type
90
+ created
91
+ modified
92
+ columns {
93
+ id
94
+ name
95
+ author
96
+ authorDisplayName
97
+ description
98
+ dataType
99
+ type
100
+ modified
101
+ ownerName
102
+ owner
103
+ dataRecency
104
+ sources {
105
+ tableId
106
+ tableName
107
+ columnId
108
+ columnName
109
+ __typename
110
+ }
111
+ synonyms
112
+ cohortAnswerId
113
+ __typename
114
+ }
115
+ relationships
116
+ destinationRelationships
117
+ dataSourceId
118
+ __typename
119
+ }
120
+ }
121
+ `;
122
+ const operations = {};
123
+ //# sourceMappingURL=graphql-queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-queries.js","sourceRoot":"","sources":["../../../../src/utils/answerService/graphql-queries.ts"],"names":[],"mappings":";;;AAAA,MAAM,aAAa,GAAG;;;;;;;;;CASrB,CAAC;AAEW,QAAA,4BAA4B,GAAG;;;UAGlC,aAAa;;;;;;;;;;;;;;;;;;;CAmBtB,CAAC;AAEW,QAAA,aAAa,GAAG;;;;;;;cAOf,aAAa;;;KAGtB,CAAC;AAEO,QAAA,UAAU,GAAG;;;cAGZ,aAAa;;;KAGtB,CAAC;AAEO,QAAA,aAAa,GAAG;;;cAGf,aAAa;;;;;;;;;;;;;;;;;;;;;CAqB1B,CAAC;AAEW,QAAA,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC9B,CAAC;AAEF,MAAM,UAAU,GAAG,EAElB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { SessionInterface } from '../types';
2
+ /**
3
+ *
4
+ * @param session
5
+ * @param query
6
+ * @param operation
7
+ * @param thoughtSpotHost
8
+ */
9
+ export declare function getAnswerServiceInstance(session: SessionInterface, query: string, operation: string, thoughtSpotHost: string): any;
10
+ //# sourceMappingURL=answerService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answerService.d.ts","sourceRoot":"","sources":["../../../src/utils/answerService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,UAAU,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACxB,GAAG,CAgDL"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAnswerServiceInstance = void 0;
4
+ const types_1 = require("../types");
5
+ /**
6
+ *
7
+ * @param session
8
+ * @param query
9
+ * @param operation
10
+ * @param thoughtSpotHost
11
+ */
12
+ function getAnswerServiceInstance(session, query, operation, thoughtSpotHost) {
13
+ let variable;
14
+ const fetchQuery = async (variables) => {
15
+ try {
16
+ const response = await fetch(`${thoughtSpotHost}/prism/?op=${operation}`, {
17
+ method: 'POST',
18
+ headers: {
19
+ 'content-type': 'application/json;charset=UTF-8',
20
+ 'x-requested-by': 'ThoughtSpot',
21
+ accept: '*/*',
22
+ 'accept-language': 'en-us',
23
+ },
24
+ body: JSON.stringify({
25
+ operationName: operation,
26
+ query,
27
+ variables,
28
+ }),
29
+ credentials: 'include',
30
+ });
31
+ const result = await response.json();
32
+ return result.data;
33
+ }
34
+ catch (error) {
35
+ return error;
36
+ }
37
+ };
38
+ const fetchData = (offset, batchSize) => {
39
+ if (operation === types_1.OperationType.GetChartWithData) {
40
+ variable = { batchSize, offset: offset * batchSize };
41
+ }
42
+ else {
43
+ variable = {
44
+ dataPaginationParams: {
45
+ isClientPaginated: true,
46
+ offset: offset * batchSize,
47
+ size: batchSize,
48
+ },
49
+ };
50
+ }
51
+ return fetchQuery({
52
+ session,
53
+ ...variable,
54
+ });
55
+ };
56
+ return {
57
+ fetchData,
58
+ };
59
+ }
60
+ exports.getAnswerServiceInstance = getAnswerServiceInstance;
61
+ //# sourceMappingURL=answerService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answerService.js","sourceRoot":"","sources":["../../../src/utils/answerService.ts"],"names":[],"mappings":";;;AAAA,oCAA2D;AAE3D;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACpC,OAAyB,EACzB,KAAa,EACb,SAAiB,EACjB,eAAuB;IAEvB,IAAI,QAAa,CAAC;IAElB,MAAM,UAAU,GAAG,KAAK,EAAE,SAAc,EAAE,EAAE;QACxC,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,eAAe,cAAc,SAAS,EAAE,EAAE;gBACtE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,gCAAgC;oBAChD,gBAAgB,EAAE,aAAa;oBAC/B,MAAM,EAAE,KAAK;oBACb,iBAAiB,EAAE,OAAO;iBAC7B;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,aAAa,EAAE,SAAS;oBACxB,KAAK;oBACL,SAAS;iBACZ,CAAC;gBACF,WAAW,EAAE,SAAS;aACzB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC,IAAI,CAAC;SACtB;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,KAAK,CAAC;SAChB;IACL,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAE;QACpD,IAAI,SAAS,KAAK,qBAAa,CAAC,gBAAgB,EAAE;YAC9C,QAAQ,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;SACxD;aAAM;YACH,QAAQ,GAAG;gBACP,oBAAoB,EAAE;oBAClB,iBAAiB,EAAE,IAAI;oBACvB,MAAM,EAAE,MAAM,GAAG,SAAS;oBAC1B,IAAI,EAAE,SAAS;iBAClB;aACJ,CAAC;SACL;QACD,OAAO,UAAU,CAAC;YACd,OAAO;YACP,GAAG,QAAQ;SACd,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO;QACH,SAAS;KACZ,CAAC;AACN,CAAC;AArDD,4DAqDC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=answerService.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answerService.spec.d.ts","sourceRoot":"","sources":["../../../src/utils/answerService.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const answerService_1 = require("./answerService");
4
+ describe('Unit test for getAnswerServiceInstance', () => {
5
+ const session = {
6
+ sessionId: '',
7
+ genNo: 2,
8
+ acSession: { sessionId: '', genNo: 1 },
9
+ };
10
+ const query = '';
11
+ const thoughtSpotHost = 'http://10.79.135.124:3000';
12
+ test('fetchData, when api giving answer data', async () => {
13
+ const mockAnswerResponse = { data: {} };
14
+ global.fetch = jest.fn(() => Promise.resolve({
15
+ json: () => mockAnswerResponse,
16
+ }));
17
+ const answerService = (0, answerService_1.getAnswerServiceInstance)(session, query, 'GetTableWithHeadlineData', thoughtSpotHost);
18
+ const answerData = await answerService.fetchData(1, 500);
19
+ expect(answerData).toStrictEqual(mockAnswerResponse.data);
20
+ expect(answerData).not.toBeInstanceOf(Error);
21
+ expect(fetch).toHaveBeenCalledTimes(1);
22
+ });
23
+ test('fetchData, when api giving error', async () => {
24
+ global.fetch = jest.fn(() => Promise.reject(new Error('failure')));
25
+ const answerService = (0, answerService_1.getAnswerServiceInstance)(session, query, 'GetChartWithData', thoughtSpotHost);
26
+ const answerData = await answerService.fetchData(1, 500);
27
+ expect(answerData).toBeInstanceOf(Error);
28
+ expect(fetch).toHaveBeenCalledTimes(1);
29
+ });
30
+ });
31
+ //# sourceMappingURL=answerService.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answerService.spec.js","sourceRoot":"","sources":["../../../src/utils/answerService.spec.ts"],"names":[],"mappings":";;AAAA,mDAA2D;AAE3D,QAAQ,CAAC,wCAAwC,EAAE,GAAG,EAAE;IACpD,MAAM,OAAO,GAAG;QACZ,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;KACzC,CAAC;IACF,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,eAAe,GAAG,2BAA2B,CAAC;IAEpD,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,kBAAkB,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YACzC,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAkB;SACjC,CAAC,CAAC,CAAC;QACJ,MAAM,aAAa,GAAG,IAAA,wCAAwB,EAC1C,OAAO,EACP,KAAK,EACL,0BAA0B,EAC1B,eAAe,CAClB,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,IAAA,wCAAwB,EAC1C,OAAO,EACP,KAAK,EACL,kBAAkB,EAClB,eAAe,CAClB,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ *
3
+ * @param authVerificationUrl
4
+ */
5
+ export declare function fetchSessionInfoService(authVerificationUrl: string): Promise<any>;
6
+ /**
7
+ *
8
+ * @param authEndpoint
9
+ */
10
+ export declare function fetchAuthTokenService(authEndpoint: string): Promise<any>;
11
+ /**
12
+ *
13
+ * @param thoughtSpotHost
14
+ * @param username
15
+ * @param authToken
16
+ */
17
+ export declare function fetchAuthService(thoughtSpotHost: string, username: string, authToken: string): Promise<any>;
18
+ /**
19
+ *
20
+ * @param thoughtSpotHost
21
+ * @param username
22
+ * @param authToken
23
+ */
24
+ export declare function fetchAuthPostService(thoughtSpotHost: string, username: string, authToken: string): Promise<any>;
25
+ /**
26
+ *
27
+ * @param thoughtSpotHost
28
+ * @param username
29
+ * @param password
30
+ */
31
+ export declare function fetchBasicAuthService(thoughtSpotHost: string, username: string, password: string): Promise<any>;
32
+ /**
33
+ *
34
+ * @param thoughtSpotHost
35
+ */
36
+ export declare function fetchLogoutService(thoughtSpotHost: string): Promise<any>;
37
+ //# sourceMappingURL=authService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authService.d.ts","sourceRoot":"","sources":["../../../src/utils/authService.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAIjF;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAE9E;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAClC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC,CAUd;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,GAAG,CAAC,CAed;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACvC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,GAAG,CAAC,CAUd;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAQ9E"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchLogoutService = exports.fetchBasicAuthService = exports.fetchAuthPostService = exports.fetchAuthService = exports.fetchAuthTokenService = exports.fetchSessionInfoService = void 0;
4
+ // eslint-disable-next-line import/no-cycle
5
+ const auth_1 = require("../auth");
6
+ /**
7
+ *
8
+ * @param url
9
+ * @param options
10
+ */
11
+ function failureLoggedFetch(url, options = {}) {
12
+ return fetch(url, options).then(async (r) => {
13
+ var _a;
14
+ if (!r.ok && r.type !== 'opaqueredirect' && r.type !== 'opaque') {
15
+ console.error('Failure', await ((_a = r.text) === null || _a === void 0 ? void 0 : _a.call(r)));
16
+ }
17
+ return r;
18
+ });
19
+ }
20
+ /**
21
+ *
22
+ * @param authVerificationUrl
23
+ */
24
+ function fetchSessionInfoService(authVerificationUrl) {
25
+ return failureLoggedFetch(authVerificationUrl, {
26
+ credentials: 'include',
27
+ });
28
+ }
29
+ exports.fetchSessionInfoService = fetchSessionInfoService;
30
+ /**
31
+ *
32
+ * @param authEndpoint
33
+ */
34
+ async function fetchAuthTokenService(authEndpoint) {
35
+ return fetch(authEndpoint);
36
+ }
37
+ exports.fetchAuthTokenService = fetchAuthTokenService;
38
+ /**
39
+ *
40
+ * @param thoughtSpotHost
41
+ * @param username
42
+ * @param authToken
43
+ */
44
+ async function fetchAuthService(thoughtSpotHost, username, authToken) {
45
+ return failureLoggedFetch(`${thoughtSpotHost}${auth_1.EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`, {
46
+ credentials: 'include',
47
+ // We do not want to follow the redirect, as it starts giving a CORS
48
+ // error
49
+ redirect: 'manual',
50
+ });
51
+ }
52
+ exports.fetchAuthService = fetchAuthService;
53
+ /**
54
+ *
55
+ * @param thoughtSpotHost
56
+ * @param username
57
+ * @param authToken
58
+ */
59
+ async function fetchAuthPostService(thoughtSpotHost, username, authToken) {
60
+ return failureLoggedFetch(`${thoughtSpotHost}${auth_1.EndPoints.TOKEN_LOGIN}`, {
61
+ method: 'POST',
62
+ headers: {
63
+ 'content-type': 'application/x-www-form-urlencoded',
64
+ 'x-requested-by': 'ThoughtSpot',
65
+ },
66
+ body: `username=${encodeURIComponent(username)}&auth_token=${encodeURIComponent(authToken)}`,
67
+ credentials: 'include',
68
+ // We do not want to follow the redirect, as it starts giving a CORS
69
+ // error
70
+ redirect: 'manual',
71
+ });
72
+ }
73
+ exports.fetchAuthPostService = fetchAuthPostService;
74
+ /**
75
+ *
76
+ * @param thoughtSpotHost
77
+ * @param username
78
+ * @param password
79
+ */
80
+ async function fetchBasicAuthService(thoughtSpotHost, username, password) {
81
+ return failureLoggedFetch(`${thoughtSpotHost}${auth_1.EndPoints.BASIC_LOGIN}`, {
82
+ method: 'POST',
83
+ headers: {
84
+ 'content-type': 'application/x-www-form-urlencoded',
85
+ 'x-requested-by': 'ThoughtSpot',
86
+ },
87
+ body: `username=${encodeURIComponent(username)}&password=${encodeURIComponent(password)}`,
88
+ credentials: 'include',
89
+ });
90
+ }
91
+ exports.fetchBasicAuthService = fetchBasicAuthService;
92
+ /**
93
+ *
94
+ * @param thoughtSpotHost
95
+ */
96
+ async function fetchLogoutService(thoughtSpotHost) {
97
+ return failureLoggedFetch(`${thoughtSpotHost}${auth_1.EndPoints.LOGOUT}`, {
98
+ credentials: 'include',
99
+ method: 'POST',
100
+ headers: {
101
+ 'x-requested-by': 'ThoughtSpot',
102
+ },
103
+ });
104
+ }
105
+ exports.fetchLogoutService = fetchLogoutService;
106
+ //# sourceMappingURL=authService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authService.js","sourceRoot":"","sources":["../../../src/utils/authService.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AAC3C,kCAAoC;AAEpC;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,GAAW,EAAE,UAAuB,EAAE;IAC9D,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;;QACxC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7D,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAA,MAAA,CAAC,CAAC,IAAI,iDAAI,CAAA,CAAC,CAAC;SAC9C;QACD,OAAO,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CAAC,mBAA2B;IAC/D,OAAO,kBAAkB,CAAC,mBAAmB,EAAE;QAC3C,WAAW,EAAE,SAAS;KACzB,CAAC,CAAC;AACP,CAAC;AAJD,0DAIC;AAED;;;GAGG;AACI,KAAK,UAAU,qBAAqB,CAAC,YAAoB;IAC5D,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAFD,sDAEC;AAED;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CAClC,eAAuB,EACvB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,kBAAkB,CACrB,GAAG,eAAe,GAAG,gBAAS,CAAC,WAAW,aAAa,QAAQ,eAAe,SAAS,EAAE,EACzF;QACI,WAAW,EAAE,SAAS;QACtB,oEAAoE;QACpE,QAAQ;QACR,QAAQ,EAAE,QAAQ;KACrB,CACJ,CAAC;AACN,CAAC;AAdD,4CAcC;AAED;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CACtC,eAAuB,EACvB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,kBAAkB,CAAC,GAAG,eAAe,GAAG,gBAAS,CAAC,WAAW,EAAE,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,mCAAmC;YACnD,gBAAgB,EAAE,aAAa;SAClC;QACD,IAAI,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,eAAe,kBAAkB,CAC3E,SAAS,CACZ,EAAE;QACH,WAAW,EAAE,SAAS;QACtB,oEAAoE;QACpE,QAAQ;QACR,QAAQ,EAAE,QAAQ;KACrB,CAAC,CAAC;AACP,CAAC;AAnBD,oDAmBC;AAED;;;;;GAKG;AACI,KAAK,UAAU,qBAAqB,CACvC,eAAuB,EACvB,QAAgB,EAChB,QAAgB;IAEhB,OAAO,kBAAkB,CAAC,GAAG,eAAe,GAAG,gBAAS,CAAC,WAAW,EAAE,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,mCAAmC;YACnD,gBAAgB,EAAE,aAAa;SAClC;QACD,IAAI,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,aAAa,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QACzF,WAAW,EAAE,SAAS;KACzB,CAAC,CAAC;AACP,CAAC;AAdD,sDAcC;AAED;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CAAC,eAAuB;IAC5D,OAAO,kBAAkB,CAAC,GAAG,eAAe,GAAG,gBAAS,CAAC,MAAM,EAAE,EAAE;QAC/D,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,gBAAgB,EAAE,aAAa;SAClC;KACJ,CAAC,CAAC;AACP,CAAC;AARD,gDAQC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=authService.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authService.spec.d.ts","sourceRoot":"","sources":["../../../src/utils/authService.spec.ts"],"names":[],"mappings":""}