@studyportals/crm-data-processor-interface 0.2.12 → 0.2.15

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.
package/index.d.ts CHANGED
@@ -9,4 +9,6 @@ import { ProjectProductState } from "./src/data/project-product-state";
9
9
  import { ProjectProductStateType } from "./src/data/project-product-state-type";
10
10
  import { GrantAccessPayload } from "./src/data/grant-access-payload";
11
11
  import { ProjectProductAccess } from "./src/data/project-product-access";
12
- export { CrmDataProcessorClient, ProductsResponseBody, ActProduct, ActClientProduct, ActClientFreeProduct, ActClientPaidProduct, ActClientProductType, ProjectDetailsResponseBody, ProjectDetails, ProjectProduct, ProjectProductState, ProjectProductStateType, GrantAccessPayload, ProjectProductAccess };
12
+ import { TableauDashboardAccessResponseBody } from "./src/data/tableau-dashboard-access-reponse-body";
13
+ import { TableauDashboardAccess } from "./src/data/tableau-dashboard-access";
14
+ export { CrmDataProcessorClient, ProductsResponseBody, ActProduct, ActClientProduct, ActClientFreeProduct, ActClientPaidProduct, ActClientProductType, ProjectDetailsResponseBody, ProjectDetails, ProjectProduct, ProjectProductState, ProjectProductStateType, GrantAccessPayload, ProjectProductAccess, TableauDashboardAccessResponseBody, TableauDashboardAccess };
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,uFAAiF;AAahF,uGAbQ,kDAAsB,OAaR;AAXvB,sEAAmI;AAkBlI,qGAlBsE,yCAAoB,OAkBtE;AAbrB,4EAAuE;AAmBtE,oGAnBQ,2CAAmB,OAmBR"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,uFAAiF;AAehF,uGAfQ,kDAAsB,OAeR;AAbvB,sEAAmI;AAoBlI,qGApBsE,yCAAoB,OAoBtE;AAfrB,4EAAuE;AAqBtE,oGArBQ,2CAAmB,OAqBR"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studyportals/crm-data-processor-interface",
3
- "version": "0.2.12",
3
+ "version": "0.2.15",
4
4
  "scripts": {
5
5
  "compile": "rm -fR dist && npx tsc",
6
6
  "prepare-deployment": "npm run compile && cp package.json dist/package.json && rm -fR dist/tests",
@@ -18,7 +18,7 @@
18
18
  "@types/node": "^25.0.3",
19
19
  "ts-node": "^10.9.2",
20
20
  "typescript": "^5.9.3",
21
- "vitest": "^4.0.16"
21
+ "vitest": "^4.0.18"
22
22
  },
23
23
  "dependencies": {},
24
24
  "engines": {
@@ -1,6 +1,7 @@
1
1
  import { ProjectDetailsResponseBody } from "../data/project-details-response-body";
2
2
  import { ProductsResponseBody } from "../data/products-response-body";
3
3
  import { GrantAccessPayload } from "../data/grant-access-payload";
4
+ import { TableauDashboardAccessResponseBody } from "../data/tableau-dashboard-access-reponse-body";
4
5
  export declare class CrmDataProcessorClient {
5
6
  private readonly baseUrl;
6
7
  private readonly jwtTokenProvider;
@@ -22,7 +23,13 @@ export declare class CrmDataProcessorClient {
22
23
  *
23
24
  * @param payload Data object containing User EmailAddresses and assigned Products
24
25
  */
25
- grantProductAccess(payload: GrantAccessPayload): Promise<void>;
26
+ grantDashboardAccess(payload: GrantAccessPayload): Promise<void>;
27
+ /**
28
+ * Retrieves the Tableau Dashboard access information for the current user.
29
+ *
30
+ * @returns List of Dashboard information, including data about the access of this user to that dashboard.
31
+ */
32
+ retrieveDashboardAccess(): Promise<TableauDashboardAccessResponseBody>;
26
33
  private sendGetRequest;
27
34
  private sendPostRequest;
28
35
  }
@@ -44,11 +44,29 @@ class CrmDataProcessorClient {
44
44
  *
45
45
  * @param payload Data object containing User EmailAddresses and assigned Products
46
46
  */
47
- async grantProductAccess(payload) {
47
+ async grantDashboardAccess(payload) {
48
48
  const jwt = await this.jwtTokenProvider();
49
- const url = new URL(this.baseUrl + `/grant-access`);
50
- const response = await this.sendPostRequest(url, jwt, payload);
51
- // TODO: Check response.
49
+ const url = new URL(this.baseUrl + `/dashboards/access`);
50
+ await this.sendPostRequest(url, jwt, payload);
51
+ }
52
+ /**
53
+ * Retrieves the Tableau Dashboard access information for the current user.
54
+ *
55
+ * @returns List of Dashboard information, including data about the access of this user to that dashboard.
56
+ */
57
+ async retrieveDashboardAccess() {
58
+ const jwt = await this.jwtTokenProvider();
59
+ const url = new URL(this.baseUrl + `/dashboards/access`);
60
+ const response = await this.sendGetRequest(url, jwt);
61
+ for (const item of response) {
62
+ if (item.startDate) {
63
+ item.startDate = new Date(item.startDate);
64
+ }
65
+ if (item.endDate) {
66
+ item.endDate = new Date(item.endDate);
67
+ }
68
+ }
69
+ return response;
52
70
  }
53
71
  async sendGetRequest(url, jwt, headers) {
54
72
  const response = await fetch(url, {
@@ -1 +1 @@
1
- {"version":3,"file":"crm-data-processor-client.js","sourceRoot":"","sources":["../../../src/clients/crm-data-processor-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crm-data-processor-client.js","sourceRoot":"","sources":["../../../src/clients/crm-data-processor-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { TableauDashboardAccess } from "./tableau-dashboard-access";
2
+ export type TableauDashboardAccessResponseBody = TableauDashboardAccess[];
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tableau-dashboard-access-reponse-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableau-dashboard-access-reponse-body.js","sourceRoot":"","sources":["../../../src/data/tableau-dashboard-access-reponse-body.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export type TableauDashboardAccess = {
2
+ startDate?: Date;
3
+ endDate?: Date;
4
+ active: boolean;
5
+ dashboardName: string;
6
+ dashboardDescription: string;
7
+ dashboardUrl: string;
8
+ dashboardTag: string;
9
+ dashboardImageCount: number;
10
+ dashboardDemoUrl: string;
11
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tableau-dashboard-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableau-dashboard-access.js","sourceRoot":"","sources":["../../../src/data/tableau-dashboard-access.ts"],"names":[],"mappings":""}