@thoughtspot/visual-embed-sdk 1.10.0 → 1.10.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 (68) hide show
  1. package/dist/src/auth.d.ts +18 -5
  2. package/dist/src/embed/base.d.ts +21 -5
  3. package/dist/src/embed/pinboard.d.ts +91 -0
  4. package/dist/src/index.d.ts +3 -2
  5. package/dist/src/types.d.ts +15 -0
  6. package/dist/src/utils/authService.d.ts +1 -0
  7. package/dist/src/utils/plugin.d.ts +0 -0
  8. package/dist/src/utils/processData.d.ts +1 -1
  9. package/dist/src/v1/api.d.ts +19 -0
  10. package/dist/tsembed.es.js +521 -32
  11. package/dist/tsembed.js +519 -31
  12. package/lib/package.json +2 -1
  13. package/lib/src/auth.d.ts +18 -5
  14. package/lib/src/auth.js +48 -9
  15. package/lib/src/auth.js.map +1 -1
  16. package/lib/src/auth.spec.js +69 -11
  17. package/lib/src/auth.spec.js.map +1 -1
  18. package/lib/src/embed/base.d.ts +21 -5
  19. package/lib/src/embed/base.js +64 -10
  20. package/lib/src/embed/base.js.map +1 -1
  21. package/lib/src/embed/base.spec.js +49 -3
  22. package/lib/src/embed/base.spec.js.map +1 -1
  23. package/lib/src/embed/embed.spec.js +1 -1
  24. package/lib/src/embed/embed.spec.js.map +1 -1
  25. package/lib/src/embed/pinboard.d.ts +91 -0
  26. package/lib/src/embed/pinboard.js +110 -0
  27. package/lib/src/embed/pinboard.js.map +1 -0
  28. package/lib/src/embed/ts-embed.js +9 -10
  29. package/lib/src/embed/ts-embed.js.map +1 -1
  30. package/lib/src/embed/ts-embed.spec.js +16 -6
  31. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  32. package/lib/src/index.d.ts +3 -2
  33. package/lib/src/index.js +3 -2
  34. package/lib/src/index.js.map +1 -1
  35. package/lib/src/test/test-utils.js +1 -1
  36. package/lib/src/test/test-utils.js.map +1 -1
  37. package/lib/src/types.d.ts +15 -0
  38. package/lib/src/types.js +10 -0
  39. package/lib/src/types.js.map +1 -1
  40. package/lib/src/utils/authService.d.ts +1 -0
  41. package/lib/src/utils/authService.js +21 -3
  42. package/lib/src/utils/authService.js.map +1 -1
  43. package/lib/src/utils/authService.spec.js +21 -5
  44. package/lib/src/utils/authService.spec.js.map +1 -1
  45. package/lib/src/utils/plugin.d.ts +0 -0
  46. package/lib/src/utils/plugin.js +1 -0
  47. package/lib/src/utils/plugin.js.map +1 -0
  48. package/lib/src/utils/processData.d.ts +1 -1
  49. package/lib/src/utils/processData.js +37 -3
  50. package/lib/src/utils/processData.js.map +1 -1
  51. package/lib/src/utils/processData.spec.js +106 -4
  52. package/lib/src/utils/processData.spec.js.map +1 -1
  53. package/lib/src/visual-embed-sdk.d.ts +100 -7
  54. package/package.json +2 -1
  55. package/src/auth.spec.ts +90 -11
  56. package/src/auth.ts +63 -13
  57. package/src/embed/base.spec.ts +56 -4
  58. package/src/embed/base.ts +83 -16
  59. package/src/embed/embed.spec.ts +1 -1
  60. package/src/embed/ts-embed.spec.ts +19 -9
  61. package/src/embed/ts-embed.ts +15 -12
  62. package/src/index.ts +5 -1
  63. package/src/test/test-utils.ts +1 -1
  64. package/src/types.ts +16 -0
  65. package/src/utils/authService.spec.ts +31 -5
  66. package/src/utils/authService.ts +27 -3
  67. package/src/utils/processData.spec.ts +139 -4
  68. package/src/utils/processData.ts +54 -4
@@ -119,6 +119,11 @@ export interface EmbedConfig {
119
119
  * @default false
120
120
  */
121
121
  disableLoginRedirect?: boolean;
122
+ /**
123
+ * This message is displayed on the embed view when the login fails.
124
+ * @version 1.10.1 | ThoughtSpot: *
125
+ */
126
+ loginFailedMessage?: string;
122
127
  /**
123
128
  * Calls the prefetch method internally when set to true
124
129
  * @default false
@@ -332,6 +337,16 @@ export declare enum EmbedEvent {
332
337
  * The ThoughtSpot auth session has expired.
333
338
  */
334
339
  AuthExpire = "ThoughtspotAuthExpired",
340
+ /**
341
+ * ThoughtSpot failed to validate the auth session.
342
+ * @hidden
343
+ */
344
+ AuthFailure = "ThoughtspotAuthFailure",
345
+ /**
346
+ * ThoughtSpot failed to validate the auth session.
347
+ * @hidden
348
+ */
349
+ AuthLogout = "ThoughtspotAuthLogout",
335
350
  /**
336
351
  * The height of the embedded Liveboard or visualization has been computed.
337
352
  * @return data - The height of the embedded Liveboard or visualization
package/lib/src/types.js CHANGED
@@ -185,6 +185,16 @@ export var EmbedEvent;
185
185
  * The ThoughtSpot auth session has expired.
186
186
  */
187
187
  EmbedEvent["AuthExpire"] = "ThoughtspotAuthExpired";
188
+ /**
189
+ * ThoughtSpot failed to validate the auth session.
190
+ * @hidden
191
+ */
192
+ EmbedEvent["AuthFailure"] = "ThoughtspotAuthFailure";
193
+ /**
194
+ * ThoughtSpot failed to validate the auth session.
195
+ * @hidden
196
+ */
197
+ EmbedEvent["AuthLogout"] = "ThoughtspotAuthLogout";
188
198
  /**
189
199
  * The height of the embedded Liveboard or visualization has been computed.
190
200
  * @return data - The height of the embedded Liveboard or visualization
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,4 @@ export declare function fetchSessionInfoService(authVerificationUrl: string): Pr
2
2
  export declare function fetchAuthTokenService(authEndpoint: string): Promise<any>;
3
3
  export declare function fetchAuthService(thoughtSpotHost: string, username: string, authToken: string): Promise<any>;
4
4
  export declare function fetchBasicAuthService(thoughtSpotHost: string, username: string, password: string): Promise<any>;
5
+ export declare function fetchLogoutService(thoughtSpotHost: string): Promise<any>;
@@ -1,7 +1,16 @@
1
1
  // eslint-disable-next-line import/no-cycle
2
2
  import { EndPoints } from '../auth';
3
+ function failureLoggedFetch(url, options = {}) {
4
+ return fetch(url, options).then(async (r) => {
5
+ var _a;
6
+ if (!r.ok && r.type !== 'opaqueredirect' && r.type !== 'opaque') {
7
+ console.error('Failure', await ((_a = r.text) === null || _a === void 0 ? void 0 : _a.call(r)));
8
+ }
9
+ return r;
10
+ });
11
+ }
3
12
  export function fetchSessionInfoService(authVerificationUrl) {
4
- return fetch(authVerificationUrl, {
13
+ return failureLoggedFetch(authVerificationUrl, {
5
14
  credentials: 'include',
6
15
  });
7
16
  }
@@ -9,12 +18,14 @@ export async function fetchAuthTokenService(authEndpoint) {
9
18
  return fetch(authEndpoint);
10
19
  }
11
20
  export async function fetchAuthService(thoughtSpotHost, username, authToken) {
12
- return fetch(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`, {
21
+ return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`, {
13
22
  credentials: 'include',
23
+ // We do not want to follow the redirect, as it starts giving a CORS error
24
+ redirect: 'manual',
14
25
  });
15
26
  }
16
27
  export async function fetchBasicAuthService(thoughtSpotHost, username, password) {
17
- return fetch(`${thoughtSpotHost}${EndPoints.BASIC_LOGIN}`, {
28
+ return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.BASIC_LOGIN}`, {
18
29
  method: 'POST',
19
30
  headers: {
20
31
  'content-type': 'application/x-www-form-urlencoded',
@@ -24,4 +35,11 @@ export async function fetchBasicAuthService(thoughtSpotHost, username, password)
24
35
  credentials: 'include',
25
36
  });
26
37
  }
38
+ export async function fetchLogoutService(thoughtSpotHost) {
39
+ return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.LOGOUT}`, {
40
+ credentials: 'include',
41
+ mode: 'no-cors',
42
+ method: 'POST',
43
+ });
44
+ }
27
45
  //# sourceMappingURL=authService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authService.js","sourceRoot":"","sources":["../../../src/utils/authService.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,UAAU,uBAAuB,CACnC,mBAA2B;IAE3B,OAAO,KAAK,CAAC,mBAAmB,EAAE;QAC9B,WAAW,EAAE,SAAS;KACzB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,YAAoB;IAEpB,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,eAAuB,EACvB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,KAAK,CACR,GAAG,eAAe,GAAG,SAAS,CAAC,WAAW,aAAa,QAAQ,eAAe,SAAS,EAAE,EACzF;QACI,WAAW,EAAE,SAAS;KACzB,CACJ,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,eAAuB,EACvB,QAAgB,EAChB,QAAgB;IAEhB,OAAO,KAAK,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE;QACvD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,mCAAmC;YACnD,gBAAgB,EAAE,aAAa;SAClC;QACD,IAAI,EAAE,YAAY,kBAAkB,CAChC,QAAQ,CACX,aAAa,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAC5C,WAAW,EAAE,SAAS;KACzB,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"authService.js","sourceRoot":"","sources":["../../../src/utils/authService.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,SAAS,kBAAkB,CACvB,GAAW,EACX,UAAuB,EAAE;IAEzB,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,+CAAN,CAAC,CAAS,CAAA,CAAC,CAAC;SAC9C;QACD,OAAO,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,mBAA2B;IAE3B,OAAO,kBAAkB,CAAC,mBAAmB,EAAE;QAC3C,WAAW,EAAE,SAAS;KACzB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,YAAoB;IAEpB,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,eAAuB,EACvB,QAAgB,EAChB,SAAiB;IAEjB,OAAO,kBAAkB,CACrB,GAAG,eAAe,GAAG,SAAS,CAAC,WAAW,aAAa,QAAQ,eAAe,SAAS,EAAE,EACzF;QACI,WAAW,EAAE,SAAS;QACtB,0EAA0E;QAC1E,QAAQ,EAAE,QAAQ;KACrB,CACJ,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,eAAuB,EACvB,QAAgB,EAChB,QAAgB;IAEhB,OAAO,kBAAkB,CAAC,GAAG,eAAe,GAAG,SAAS,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,CAChC,QAAQ,CACX,aAAa,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAC5C,WAAW,EAAE,SAAS;KACzB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,eAAuB;IAEvB,OAAO,kBAAkB,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE;QAC/D,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,MAAM;KACjB,CAAC,CAAC;AACP,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { fetchSessionInfoService, fetchAuthTokenService, fetchAuthService, fetchBasicAuthService, } from './authService';
2
+ import { EndPoints } from '../auth';
2
3
  const thoughtSpotHost = 'http://10.79.135.124:3000';
3
4
  const authVerificationUrl = 'http://localhost:3000';
4
5
  const authEndpoint = '';
@@ -13,6 +14,7 @@ describe('Unit test for authService', () => {
13
14
  global.fetch = jest.fn(() => Promise.resolve({
14
15
  json: () => ({ success: true }),
15
16
  status: 200,
17
+ ok: true,
16
18
  }));
17
19
  const response = await fetchSessionInfoService(authVerificationUrl);
18
20
  expect(response.status).toBe(200);
@@ -21,20 +23,34 @@ describe('Unit test for authService', () => {
21
23
  test('fetchAuthTokenService', async () => {
22
24
  global.fetch = jest.fn(() => Promise.resolve({
23
25
  text: () => ({ success: true }),
26
+ ok: true,
24
27
  }));
25
28
  const response = await fetchAuthTokenService(authEndpoint);
26
29
  expect(response.text()).toStrictEqual({ success: true });
27
30
  expect(fetch).toBeCalled();
28
31
  });
29
32
  test('fetchAuthService', async () => {
30
- global.fetch = jest.fn(() => Promise.resolve({ success: true }));
31
- await fetchAuthService(authVerificationUrl, username, authToken);
32
- expect(fetch).toBeCalled();
33
+ global.fetch = jest.fn(() => Promise.resolve({ success: true, ok: true }));
34
+ await fetchAuthService(thoughtSpotHost, username, authToken);
35
+ expect(fetch).toBeCalledWith(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`, {
36
+ credentials: 'include',
37
+ redirect: 'manual',
38
+ });
33
39
  });
34
- test('fetchBasicAuthService', async () => {
35
- global.fetch = jest.fn(() => Promise.resolve({ success: true }));
40
+ test('fetchBasicAuthService called with manual redirect', async () => {
41
+ global.fetch = jest.fn(() => Promise.resolve({ success: true, ok: true }));
36
42
  await fetchBasicAuthService(thoughtSpotHost, username, password);
37
43
  expect(fetch).toBeCalled();
38
44
  });
45
+ test('log error on API failures', async () => {
46
+ jest.spyOn(global.console, 'error').mockImplementation(() => undefined);
47
+ global.fetch = jest.fn(() => Promise.resolve({
48
+ text: () => Promise.resolve('error'),
49
+ status: 500,
50
+ ok: false,
51
+ }));
52
+ await fetchSessionInfoService(authVerificationUrl);
53
+ expect(global.console.error).toHaveBeenCalledWith('Failure', 'error');
54
+ });
39
55
  });
40
56
  //# sourceMappingURL=authService.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authService.spec.js","sourceRoot":"","sources":["../../../src/utils/authService.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,GACxB,MAAM,eAAe,CAAC;AAEvB,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAEpD,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AACpD,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC;AAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,MAAM,SAAS,GAAG,OAAO,CAAC;AAC1B,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACvC,UAAU,CAAC,GAAG,EAAE;QACZ,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CACxB,OAAO,CAAC,OAAO,CAAC;YACZ,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC/B,MAAM,EAAE,GAAG;SACd,CAAC,CACL,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;QACpE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CACxB,OAAO,CAAC,OAAO,CAAC;YACZ,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAClC,CAAC,CACL,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,gBAAgB,CAAC,mBAAmB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,qBAAqB,CAAC,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"authService.spec.js","sourceRoot":"","sources":["../../../src/utils/authService.spec.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/utils/plugin.ts"],"names":[],"mappings":""}
@@ -1,3 +1,3 @@
1
1
  import { EmbedEvent } from '../types';
2
2
  export declare function processCustomAction(e: any, thoughtSpotHost: string): any;
3
- export declare function getProcessData(type: EmbedEvent, e: any, thoughtSpotHost: string): any;
3
+ export declare function processEventData(type: EmbedEvent, e: any, thoughtSpotHost: string, containerEl: Element): any;
@@ -1,5 +1,5 @@
1
- import { getEmbedConfig, handleAuth } from '../embed/base';
2
- import { initSession } from '../auth';
1
+ import { disableAutoLogin, getEmbedConfig, handleAuth, notifyAuthFailure, notifyAuthSuccess, notifyLogout, } from '../embed/base';
2
+ import { AuthFailureType, initSession } from '../auth';
3
3
  import { EmbedEvent, OperationType } from '../types';
4
4
  import { getAnswerServiceInstance } from './answerService';
5
5
  export function processCustomAction(e, thoughtSpotHost) {
@@ -21,6 +21,7 @@ function processAuthInit(e) {
21
21
  var _a, _b;
22
22
  // Store user session details sent by app.
23
23
  initSession(e.data);
24
+ notifyAuthSuccess();
24
25
  // Expose only allowed details (eg: userGUID) back to SDK users.
25
26
  return {
26
27
  ...e,
@@ -34,9 +35,36 @@ function processAuthExpire(e) {
34
35
  if (autoLogin) {
35
36
  handleAuth();
36
37
  }
38
+ notifyAuthFailure(AuthFailureType.EXPIRY);
37
39
  return e;
38
40
  }
39
- export function getProcessData(type, e, thoughtSpotHost) {
41
+ function processNoCookieAccess(e, containerEl) {
42
+ const { loginFailedMessage, suppressNoCookieAccessAlert, } = getEmbedConfig();
43
+ if (!suppressNoCookieAccessAlert) {
44
+ // eslint-disable-next-line no-alert
45
+ alert('Third party cookie access is blocked on this browser, please allow third party cookies for this to work properly. \nYou can use `suppressNoCookieAccessAlert` to suppress this message.');
46
+ }
47
+ // eslint-disable-next-line no-param-reassign
48
+ containerEl.innerHTML = loginFailedMessage;
49
+ notifyAuthFailure(AuthFailureType.NO_COOKIE_ACCESS);
50
+ return e;
51
+ }
52
+ function processAuthFailure(e, containerEl) {
53
+ const { loginFailedMessage } = getEmbedConfig();
54
+ // eslint-disable-next-line no-param-reassign
55
+ containerEl.innerHTML = loginFailedMessage;
56
+ notifyAuthFailure(AuthFailureType.OTHER);
57
+ return e;
58
+ }
59
+ function processAuthLogout(e, containerEl) {
60
+ const { loginFailedMessage } = getEmbedConfig();
61
+ // eslint-disable-next-line no-param-reassign
62
+ containerEl.innerHTML = loginFailedMessage;
63
+ disableAutoLogin();
64
+ notifyLogout();
65
+ return e;
66
+ }
67
+ export function processEventData(type, e, thoughtSpotHost, containerEl) {
40
68
  switch (type) {
41
69
  case EmbedEvent.CustomAction:
42
70
  return processCustomAction(e, thoughtSpotHost);
@@ -44,6 +72,12 @@ export function getProcessData(type, e, thoughtSpotHost) {
44
72
  return processAuthInit(e);
45
73
  case EmbedEvent.AuthExpire:
46
74
  return processAuthExpire(e);
75
+ case EmbedEvent.NoCookieAccess:
76
+ return processNoCookieAccess(e, containerEl);
77
+ case EmbedEvent.AuthFailure:
78
+ return processAuthFailure(e, containerEl);
79
+ case EmbedEvent.AuthLogout:
80
+ return processAuthLogout(e, containerEl);
47
81
  default:
48
82
  }
49
83
  return e;
@@ -1 +1 @@
1
- {"version":3,"file":"processData.js","sourceRoot":"","sources":["../../../src/utils/processData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,UAAU,mBAAmB,CAAC,CAAM,EAAE,eAAuB;;IAC/D,IACI;QACI,aAAa,CAAC,gBAAgB;QAC9B,aAAa,CAAC,wBAAwB;KACzC,CAAC,QAAQ,CAAC,MAAA,CAAC,CAAC,IAAI,0CAAE,SAAS,CAAC,EAC/B;QACE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;QAC7C,MAAM,aAAa,GAAG,wBAAwB,CAC1C,OAAO,EACP,KAAK,EACL,SAAS,EACT,eAAe,CAClB,CAAC;QACF,OAAO;YACH,GAAG,CAAC;YACJ,aAAa;SAChB,CAAC;KACL;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,CAAM;;IAC3B,0CAA0C;IAC1C,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEpB,gEAAgE;IAChE,OAAO;QACH,GAAG,CAAC;QACJ,IAAI,EAAE;YACF,QAAQ,EAAE,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,QAAQ,MAAI,MAAA,CAAC,CAAC,OAAO,0CAAE,QAAQ,CAAA;SACpD;KACJ,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAM;IAC7B,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,uBAAuB;IACvE,IAAI,SAAS,EAAE;QACX,UAAU,EAAE,CAAC;KAChB;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAC1B,IAAgB,EAChB,CAAM,EACN,eAAuB;IAEvB,QAAQ,IAAI,EAAE;QACV,KAAK,UAAU,CAAC,YAAY;YACxB,OAAO,mBAAmB,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QACnD,KAAK,UAAU,CAAC,QAAQ;YACpB,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9B,KAAK,UAAU,CAAC,UAAU;YACtB,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAChC,QAAQ;KACX;IACD,OAAO,CAAC,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"processData.js","sourceRoot":"","sources":["../../../src/utils/processData.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,18 @@
1
1
  import * as processDataInstance from './processData';
2
2
  import * as answerServiceInstance from './answerService';
3
3
  import * as auth from '../auth';
4
- import { EmbedEvent, OperationType } from '../types';
4
+ import * as base from '../embed/base';
5
+ import { EmbedEvent, OperationType, AuthType } from '../types';
5
6
  describe('Unit test for process data', () => {
7
+ beforeAll(() => {
8
+ base.init({
9
+ thoughtSpotHost: '',
10
+ authType: AuthType.None,
11
+ });
12
+ });
13
+ afterEach(() => {
14
+ jest.resetAllMocks();
15
+ });
6
16
  const thoughtSpotHost = 'http://localhost';
7
17
  test('processDataInstance, when operation is GetChartWithData', () => {
8
18
  const answerService = {};
@@ -20,13 +30,13 @@ describe('Unit test for process data', () => {
20
30
  test('ProcessData, when Action is CustomAction', async () => {
21
31
  const processedData = { type: EmbedEvent.CustomAction };
22
32
  jest.spyOn(processDataInstance, 'processCustomAction').mockImplementation(async () => ({}));
23
- expect(processDataInstance.getProcessData(EmbedEvent.CustomAction, processedData, thoughtSpotHost)).toStrictEqual(processedData);
33
+ expect(processDataInstance.processEventData(EmbedEvent.CustomAction, processedData, thoughtSpotHost, null)).toStrictEqual(processedData);
24
34
  });
25
35
  test('ProcessData, when Action is non CustomAction', () => {
26
36
  const processedData = { type: EmbedEvent.Data };
27
37
  jest.spyOn(processDataInstance, 'processCustomAction').mockImplementation(async () => ({}));
28
38
  jest.spyOn(answerServiceInstance, 'getAnswerServiceInstance').mockImplementation(async () => ({}));
29
- processDataInstance.getProcessData(EmbedEvent.Data, processedData, thoughtSpotHost);
39
+ processDataInstance.processEventData(EmbedEvent.Data, processedData, thoughtSpotHost, null);
30
40
  expect(processDataInstance.processCustomAction).not.toBeCalled();
31
41
  });
32
42
  test('AuthInit', () => {
@@ -37,13 +47,105 @@ describe('Unit test for process data', () => {
37
47
  };
38
48
  const e = { type: EmbedEvent.AuthInit, data: sessionInfo };
39
49
  jest.spyOn(auth, 'initSession').mockReturnValue(null);
40
- expect(processDataInstance.getProcessData(e.type, e, '')).toEqual({
50
+ jest.spyOn(base, 'notifyAuthSuccess');
51
+ expect(processDataInstance.processEventData(e.type, e, '', null)).toEqual({
41
52
  type: e.type,
42
53
  data: {
43
54
  userGUID: sessionInfo.userGUID,
44
55
  },
45
56
  });
46
57
  expect(auth.initSession).toBeCalledWith(sessionInfo);
58
+ expect(base.notifyAuthSuccess).toBeCalled();
59
+ });
60
+ test('AuthExpire autoLogin false', () => {
61
+ const e = { type: EmbedEvent.AuthExpire };
62
+ jest.spyOn(base, 'notifyAuthFailure');
63
+ jest.spyOn(base, 'handleAuth');
64
+ jest.spyOn(base, 'getEmbedConfig').mockReturnValue({
65
+ autoLogin: false,
66
+ });
67
+ expect(processDataInstance.processEventData(e.type, e, '', null)).toEqual({
68
+ type: e.type,
69
+ });
70
+ expect(base.notifyAuthFailure).toBeCalledWith(auth.AuthFailureType.EXPIRY);
71
+ expect(base.handleAuth).not.toHaveBeenCalled();
72
+ });
73
+ test('AuthExpire autoLogin true', () => {
74
+ const e = { type: EmbedEvent.AuthExpire };
75
+ jest.spyOn(base, 'notifyAuthFailure');
76
+ jest.spyOn(base, 'handleAuth').mockResolvedValue(true);
77
+ jest.spyOn(base, 'getEmbedConfig').mockReturnValue({
78
+ autoLogin: true,
79
+ });
80
+ expect(processDataInstance.processEventData(e.type, e, '', null)).toEqual({
81
+ type: e.type,
82
+ });
83
+ expect(base.notifyAuthFailure).toBeCalledWith(auth.AuthFailureType.EXPIRY);
84
+ expect(base.handleAuth).toBeCalled();
85
+ });
86
+ test('NoCookieAccess no suppress alert', () => {
87
+ const e = { type: EmbedEvent.NoCookieAccess };
88
+ jest.spyOn(base, 'notifyAuthFailure');
89
+ jest.spyOn(base, 'getEmbedConfig').mockReturnValue({
90
+ loginFailedMessage: 'Hello',
91
+ suppressNoCookieAccessAlert: false,
92
+ });
93
+ jest.spyOn(window, 'alert').mockImplementation(() => undefined);
94
+ const el = {};
95
+ expect(processDataInstance.processEventData(e.type, e, '', el)).toEqual({
96
+ type: e.type,
97
+ });
98
+ expect(base.notifyAuthFailure).toBeCalledWith(auth.AuthFailureType.NO_COOKIE_ACCESS);
99
+ expect(window.alert).toBeCalled();
100
+ expect(el.innerHTML).toBe('Hello');
101
+ });
102
+ test('NoCookieAccess suppressAlert=true', () => {
103
+ const e = { type: EmbedEvent.NoCookieAccess };
104
+ jest.spyOn(base, 'notifyAuthFailure');
105
+ jest.spyOn(base, 'getEmbedConfig').mockReturnValue({
106
+ loginFailedMessage: 'Hello',
107
+ suppressNoCookieAccessAlert: true,
108
+ });
109
+ jest.spyOn(window, 'alert').mockReset();
110
+ jest.spyOn(window, 'alert').mockImplementation(() => undefined);
111
+ const el = {};
112
+ expect(processDataInstance.processEventData(e.type, e, '', el)).toEqual({
113
+ type: e.type,
114
+ });
115
+ expect(base.notifyAuthFailure).toBeCalledWith(auth.AuthFailureType.NO_COOKIE_ACCESS);
116
+ expect(window.alert).not.toBeCalled();
117
+ expect(el.innerHTML).toBe('Hello');
118
+ });
119
+ test('process authFailure', () => {
120
+ const e = { type: EmbedEvent.AuthFailure };
121
+ jest.spyOn(base, 'notifyAuthFailure');
122
+ jest.spyOn(base, 'getEmbedConfig').mockReturnValue({
123
+ loginFailedMessage: 'Hello',
124
+ });
125
+ const el = {};
126
+ expect(processDataInstance.processEventData(e.type, e, '', el)).toEqual({
127
+ type: e.type,
128
+ });
129
+ expect(base.notifyAuthFailure).toBeCalledWith(auth.AuthFailureType.OTHER);
130
+ expect(el.innerHTML).toBe('Hello');
131
+ });
132
+ test('process authLogout', () => {
133
+ base.init({
134
+ loginFailedMessage: 'Hello',
135
+ autoLogin: true,
136
+ thoughtSpotHost: '',
137
+ authType: AuthType.None,
138
+ });
139
+ jest.spyOn(base, 'getEmbedConfig').mockRestore();
140
+ const e = { type: EmbedEvent.AuthLogout };
141
+ jest.spyOn(base, 'notifyLogout');
142
+ const el = {};
143
+ expect(processDataInstance.processEventData(e.type, e, '', el)).toEqual({
144
+ type: e.type,
145
+ });
146
+ expect(base.notifyLogout).toBeCalled();
147
+ expect(el.innerHTML).toBe('Hello');
148
+ expect(base.getEmbedConfig().autoLogin).toBe(false);
47
149
  });
48
150
  });
49
151
  //# sourceMappingURL=processData.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"processData.spec.js","sourceRoot":"","sources":["../../../src/utils/processData.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processData.spec.js","sourceRoot":"","sources":["../../../src/utils/processData.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  // Generated by dts-bundle v0.7.3
2
+ // Dependencies for this module:
3
+ // ../../eventemitter3
2
4
 
3
5
  declare module '@thoughtspot/visual-embed-sdk' {
4
6
  /**
@@ -11,11 +13,12 @@ declare module '@thoughtspot/visual-embed-sdk' {
11
13
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
12
14
  */
13
15
  import { AppEmbed, Page, AppViewConfig } from '@thoughtspot/visual-embed-sdk/embed/app';
14
- import { init, prefetch } from '@thoughtspot/visual-embed-sdk/embed/base';
16
+ import { init, prefetch, logout } from '@thoughtspot/visual-embed-sdk/embed/base';
15
17
  import { PinboardEmbed, LiveboardViewConfig, LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/embed/liveboard';
16
18
  import { SearchEmbed, SearchViewConfig } from '@thoughtspot/visual-embed-sdk/embed/search';
19
+ import { AuthFailureType, AuthStatus } from '@thoughtspot/visual-embed-sdk/auth';
17
20
  import { AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig } from '@thoughtspot/visual-embed-sdk/types';
18
- export { init, prefetch, SearchEmbed, PinboardEmbed, LiveboardEmbed, AppEmbed, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, SearchViewConfig, LiveboardViewConfig, AppViewConfig, };
21
+ export { init, logout, prefetch, SearchEmbed, PinboardEmbed, LiveboardEmbed, AppEmbed, AuthFailureType, AuthStatus, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, SearchViewConfig, LiveboardViewConfig, AppViewConfig, };
19
22
  }
20
23
 
21
24
  declare module '@thoughtspot/visual-embed-sdk/embed/app' {
@@ -134,14 +137,27 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
134
137
  }
135
138
 
136
139
  declare module '@thoughtspot/visual-embed-sdk/embed/base' {
140
+ /**
141
+ * Copyright (c) 2022
142
+ *
143
+ * Base classes
144
+ *
145
+ * @summary Base classes
146
+ * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
147
+ */
148
+ import EventEmitter from 'eventemitter3';
137
149
  import { EmbedConfig } from '@thoughtspot/visual-embed-sdk/types';
138
- export let authPromise: Promise<void>;
150
+ import { AuthFailureType } from '@thoughtspot/visual-embed-sdk/auth';
151
+ export let authPromise: Promise<boolean>;
152
+ export const getEmbedConfig: () => EmbedConfig;
153
+ export const getAuthPromise: () => Promise<boolean>;
154
+ export function notifyAuthSuccess(): void;
155
+ export function notifyAuthFailure(failureType: AuthFailureType): void;
156
+ export function notifyLogout(): void;
139
157
  /**
140
158
  * Perform authentication on the ThoughtSpot app as applicable.
141
159
  */
142
- export const handleAuth: () => Promise<void>;
143
- export const getEmbedConfig: () => EmbedConfig;
144
- export const getAuthPromise: () => Promise<void>;
160
+ export const handleAuth: () => Promise<boolean>;
145
161
  /**
146
162
  * Prefetches static resources from the specified URL. Web browsers can then cache the prefetched resources and serve them from the user's local disk to provide faster access to your app.
147
163
  * @param url The URL provided for prefetch
@@ -155,12 +171,15 @@ declare module '@thoughtspot/visual-embed-sdk/embed/base' {
155
171
  *
156
172
  * @returns authPromise Promise which resolves when authentication is complete.
157
173
  */
158
- export const init: (embedConfig: EmbedConfig) => Promise<void>;
174
+ export const init: (embedConfig: EmbedConfig) => EventEmitter;
175
+ export function disableAutoLogin(): void;
176
+ export const logout: (doNotDisableAutoLogin?: boolean) => Promise<boolean>;
159
177
  /**
160
178
  * Renders functions in a queue, resolves to next function only after the callback next is called
161
179
  * @param fn The function being registered
162
180
  */
163
181
  export const renderInQueue: (fn: (next?: (val?: any) => void) => void) => void;
182
+ export function reset(): void;
164
183
  }
165
184
 
166
185
  declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
@@ -357,6 +376,65 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
357
376
  export {};
358
377
  }
359
378
 
379
+ declare module '@thoughtspot/visual-embed-sdk/auth' {
380
+ import { EmbedConfig } from '@thoughtspot/visual-embed-sdk/types';
381
+ export let loggedInStatus: boolean;
382
+ export let samlAuthWindow: Window;
383
+ export let samlCompletionPromise: Promise<void>;
384
+ export let sessionInfo: any;
385
+ export const SSO_REDIRECTION_MARKER_GUID = "5e16222e-ef02-43e9-9fbd-24226bf3ce5b";
386
+ export const EndPoints: {
387
+ AUTH_VERIFICATION: string;
388
+ SAML_LOGIN_TEMPLATE: (targetUrl: string) => string;
389
+ OIDC_LOGIN_TEMPLATE: (targetUrl: string) => string;
390
+ TOKEN_LOGIN: string;
391
+ BASIC_LOGIN: string;
392
+ LOGOUT: string;
393
+ };
394
+ export enum AuthFailureType {
395
+ SDK = "SDK",
396
+ NO_COOKIE_ACCESS = "NO_COOKIE_ACCESS",
397
+ EXPIRY = "EXPIRY",
398
+ OTHER = "OTHER"
399
+ }
400
+ export enum AuthStatus {
401
+ FAILURE = "FAILURE",
402
+ SUCCESS = "SUCCESS",
403
+ LOGOUT = "LOGOUT"
404
+ }
405
+ /**
406
+ * Return sessionInfo if available else make a loggedIn check to fetch the sessionInfo
407
+ */
408
+ export function getSessionInfo(): any;
409
+ export function initSession(sessionDetails: any): void;
410
+ /**
411
+ * Perform token based authentication
412
+ * @param embedConfig The embed configuration
413
+ */
414
+ export const doTokenAuth: (embedConfig: EmbedConfig) => Promise<boolean>;
415
+ /**
416
+ * Perform basic authentication to the ThoughtSpot cluster using the cluster
417
+ * credentials.
418
+ *
419
+ * Warning: This feature is primarily intended for developer testing. It is
420
+ * strongly advised not to use this authentication method in production.
421
+ * @param embedConfig The embed configuration
422
+ */
423
+ export const doBasicAuth: (embedConfig: EmbedConfig) => Promise<boolean>;
424
+ export const doSamlAuth: (embedConfig: EmbedConfig) => Promise<boolean>;
425
+ export const doOIDCAuth: (embedConfig: EmbedConfig) => Promise<boolean>;
426
+ export const logout: (embedConfig: EmbedConfig) => Promise<boolean>;
427
+ /**
428
+ * Perform authentication on the ThoughtSpot cluster
429
+ * @param embedConfig The embed configuration
430
+ */
431
+ export const authenticate: (embedConfig: EmbedConfig) => Promise<boolean>;
432
+ /**
433
+ * Check if we are authenticated to the ThoughtSpot cluster
434
+ */
435
+ export const isAuthenticated: () => boolean;
436
+ }
437
+
360
438
  declare module '@thoughtspot/visual-embed-sdk/types' {
361
439
  /**
362
440
  * The authentication mechanism for allowing access to the
@@ -471,6 +549,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
471
549
  * @default false
472
550
  */
473
551
  disableLoginRedirect?: boolean;
552
+ /**
553
+ * This message is displayed on the embed view when the login fails.
554
+ * @version 1.10.1 | ThoughtSpot: *
555
+ */
556
+ loginFailedMessage?: string;
474
557
  /**
475
558
  * Calls the prefetch method internally when set to true
476
559
  * @default false
@@ -684,6 +767,16 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
684
767
  * The ThoughtSpot auth session has expired.
685
768
  */
686
769
  AuthExpire = "ThoughtspotAuthExpired",
770
+ /**
771
+ * ThoughtSpot failed to validate the auth session.
772
+ * @hidden
773
+ */
774
+ AuthFailure = "ThoughtspotAuthFailure",
775
+ /**
776
+ * ThoughtSpot failed to validate the auth session.
777
+ * @hidden
778
+ */
779
+ AuthLogout = "ThoughtspotAuthLogout",
687
780
  /**
688
781
  * The height of the embedded Liveboard or visualization has been computed.
689
782
  * @return data - The height of the embedded Liveboard or visualization
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.10.0",
3
+ "version": "1.10.1",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -44,6 +44,7 @@
44
44
  "dependencies": {
45
45
  "algoliasearch": "^4.10.5",
46
46
  "classnames": "^2.3.1",
47
+ "eventemitter3": "^4.0.7",
47
48
  "mixpanel-browser": "^2.41.0"
48
49
  },
49
50
  "devDependencies": {