@memberjunction/server 0.9.218 → 0.9.220

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/build.log.json CHANGED
@@ -325,5 +325,11 @@
325
325
  },
326
326
  {
327
327
  "buildTime": "2024-02-29T11:45:58.2177699-06:00"
328
+ },
329
+ {
330
+ "buildTime": "2024-02-29T22:53:05.2708087-06:00"
331
+ },
332
+ {
333
+ "buildTime": "2024-03-04T16:18:28.0034761-06:00"
328
334
  }
329
335
  ]
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
18
  };
@@ -10,6 +24,7 @@ const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider
10
24
  const core_1 = require("@memberjunction/core");
11
25
  const newUsers_1 = require("./newUsers");
12
26
  const global_1 = require("@memberjunction/global");
27
+ __exportStar(require("./tokenExpiredError"), exports);
13
28
  const missingAzureConfig = !config_1.tenantID || !config_1.webClientID;
14
29
  const missingAuth0Config = !config_1.auth0Domain || !config_1.auth0WebClientID;
15
30
  class MissingAuthError extends Error {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenExpiredError = void 0;
4
+ const graphql_1 = require("graphql");
5
+ class TokenExpiredError extends graphql_1.GraphQLError {
6
+ constructor(expiryDate, message = 'The provided token has expired. Please authenticate again.') {
7
+ super(message, {
8
+ extensions: {
9
+ code: 'JWT_EXPIRED',
10
+ expiryDate: expiryDate.toISOString(),
11
+ },
12
+ });
13
+ }
14
+ }
15
+ exports.TokenExpiredError = TokenExpiredError;
16
+ //# sourceMappingURL=tokenExpiredError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenExpiredError.js","sourceRoot":"","sources":["../../src/auth/tokenExpiredError.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAEvC,MAAa,iBAAkB,SAAQ,sBAAY;IACjD,YAAY,UAAgB,EAAE,OAAO,GAAG,4DAA4D;QAClG,KAAK,CAAC,OAAO,EAAE;YACb,UAAU,EAAE;gBACV,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;aACrC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AATD,8CASC"}
package/dist/context.js CHANGED
@@ -32,6 +32,7 @@ const type_graphql_1 = require("type-graphql");
32
32
  const auth_1 = require("./auth");
33
33
  const cache_1 = require("./cache");
34
34
  const config_1 = require("./config");
35
+ const auth_2 = require("./auth");
35
36
  const verifyAsync = async (issuer, options, token) => new Promise((resolve, reject) => {
36
37
  (0, jsonwebtoken_1.verify)(token, (0, auth_1.getSigningKeys)(issuer), options, (err, jwt) => {
37
38
  if (jwt && typeof jwt !== 'string' && !err) {
@@ -56,6 +57,10 @@ const getUserPayload = async (bearerToken, sessionId = 'default', dataSource, re
56
57
  if (!payload || typeof payload === 'string') {
57
58
  throw new type_graphql_1.AuthenticationError('Invalid token payload');
58
59
  }
60
+ const expiryDate = new Date(payload.exp ?? 0 * 1000);
61
+ if (+expiryDate < Date.now()) {
62
+ throw new auth_2.TokenExpiredError(expiryDate);
63
+ }
59
64
  if (!cache_1.authCache.has(token)) {
60
65
  const issuer = payload.iss;
61
66
  if (!issuer) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.serve = exports.configInfo = exports.NewUserBase = exports.MaxLength = void 0;
32
+ exports.serve = exports.TokenExpiredError = exports.configInfo = exports.NewUserBase = exports.MaxLength = void 0;
33
33
  const dotenv_1 = __importDefault(require("dotenv"));
34
34
  dotenv_1.default.config();
35
35
  const express4_1 = require("@apollo/server/express4");
@@ -64,6 +64,8 @@ Object.defineProperty(exports, "configInfo", { enumerable: true, get: function (
64
64
  __exportStar(require("./directives"), exports);
65
65
  __exportStar(require("./entitySubclasses/userViewEntity.server"), exports);
66
66
  __exportStar(require("./types"), exports);
67
+ var auth_1 = require("./auth");
68
+ Object.defineProperty(exports, "TokenExpiredError", { enumerable: true, get: function () { return auth_1.TokenExpiredError; } });
67
69
  __exportStar(require("./generic/PushStatusResolver"), exports);
68
70
  __exportStar(require("./generic/ResolverBase"), exports);
69
71
  __exportStar(require("./generic/RunViewResolver"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,11 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ReportResolverExtended = exports.RunReportResultType = void 0;
15
+ exports.ReportResolverExtended = exports.CreateReportResultType = exports.RunReportResultType = void 0;
16
16
  const core_1 = require("@memberjunction/core");
17
17
  const type_graphql_1 = require("type-graphql");
18
+ const data_context_1 = require("@memberjunction/data-context");
19
+ const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
18
20
  let RunReportResultType = class RunReportResultType {
19
21
  };
20
22
  exports.RunReportResultType = RunReportResultType;
@@ -45,6 +47,28 @@ __decorate([
45
47
  exports.RunReportResultType = RunReportResultType = __decorate([
46
48
  (0, type_graphql_1.ObjectType)()
47
49
  ], RunReportResultType);
50
+ let CreateReportResultType = class CreateReportResultType {
51
+ };
52
+ exports.CreateReportResultType = CreateReportResultType;
53
+ __decorate([
54
+ (0, type_graphql_1.Field)(),
55
+ __metadata("design:type", Number)
56
+ ], CreateReportResultType.prototype, "ReportID", void 0);
57
+ __decorate([
58
+ (0, type_graphql_1.Field)(),
59
+ __metadata("design:type", String)
60
+ ], CreateReportResultType.prototype, "ReportName", void 0);
61
+ __decorate([
62
+ (0, type_graphql_1.Field)(),
63
+ __metadata("design:type", Boolean)
64
+ ], CreateReportResultType.prototype, "Success", void 0);
65
+ __decorate([
66
+ (0, type_graphql_1.Field)(),
67
+ __metadata("design:type", String)
68
+ ], CreateReportResultType.prototype, "ErrorMessage", void 0);
69
+ exports.CreateReportResultType = CreateReportResultType = __decorate([
70
+ (0, type_graphql_1.ObjectType)()
71
+ ], CreateReportResultType);
48
72
  let ReportResolverExtended = class ReportResolverExtended {
49
73
  async GetReportData(ReportID, {}) {
50
74
  const runReport = new core_1.RunReport();
@@ -58,6 +82,60 @@ let ReportResolverExtended = class ReportResolverExtended {
58
82
  ErrorMessage: result.ErrorMessage,
59
83
  };
60
84
  }
85
+ async CreateReportFromConversationDetailID(ConversationDetailID, { dataSource, userPayload }) {
86
+ const md = new core_1.Metadata();
87
+ const u = sqlserver_dataprovider_1.UserCache.Users.find(u => u.Email?.trim().toLowerCase() === userPayload?.email?.trim().toLowerCase());
88
+ if (!u)
89
+ throw new Error('Unable to find user');
90
+ const cde = md.Entities.find(e => e.Name === 'Conversation Details');
91
+ if (!cde)
92
+ throw new Error('Unable to find Conversation Details Entity metadata');
93
+ const cd = md.Entities.find(e => e.Name === 'Conversations');
94
+ if (!cd)
95
+ throw new Error('Unable to find Conversations Entity metadata');
96
+ const sql = `SELECT cd.Message, cd.ConversationID, c.DataContextID
97
+ FROM ${cde.SchemaName}.${cde.BaseView} cd
98
+ INNER JOIN ${cd.SchemaName}.${cd.BaseView} c
99
+ ON cd.ConversationID = c.ID
100
+ WHERE cd.ID=${ConversationDetailID}`;
101
+ const result = await dataSource.query(sql);
102
+ if (!result || result.length === 0)
103
+ throw new Error('Unable to retrieve converation details');
104
+ const skipData = JSON.parse(result[0].Message);
105
+ const report = await md.GetEntityObject('Reports', u);
106
+ report.NewRecord();
107
+ report.Name = skipData.reportTitle ? skipData.reportTitle : 'Untitled Report';
108
+ report.Description = skipData.userExplanation ? skipData.userExplanation : '';
109
+ report.ConversationID = result[0].ConversationID;
110
+ report.ConversationDetailID = ConversationDetailID;
111
+ const dc = new data_context_1.DataContext();
112
+ await dc.LoadMetadata(result[0].DataContextID, u);
113
+ const newDataContext = await data_context_1.DataContext.Clone(dc, false, u);
114
+ if (!newDataContext)
115
+ throw new Error('Error cloning data context');
116
+ report.DataContextID = newDataContext.ID;
117
+ const newSkipData = JSON.parse(JSON.stringify(skipData));
118
+ newSkipData.messages = [];
119
+ report.Configuration = JSON.stringify(newSkipData);
120
+ report.SharingScope = 'None';
121
+ report.UserID = u.ID;
122
+ if (await report.Save()) {
123
+ return {
124
+ ReportID: report.ID,
125
+ ReportName: report.Name,
126
+ Success: true,
127
+ ErrorMessage: ''
128
+ };
129
+ }
130
+ else {
131
+ return {
132
+ ReportID: -1,
133
+ ReportName: '',
134
+ Success: false,
135
+ ErrorMessage: 'Unable to save new report'
136
+ };
137
+ }
138
+ }
61
139
  };
62
140
  exports.ReportResolverExtended = ReportResolverExtended;
63
141
  __decorate([
@@ -68,6 +146,14 @@ __decorate([
68
146
  __metadata("design:paramtypes", [Number, Object]),
69
147
  __metadata("design:returntype", Promise)
70
148
  ], ReportResolverExtended.prototype, "GetReportData", null);
149
+ __decorate([
150
+ (0, type_graphql_1.Mutation)(() => CreateReportResultType),
151
+ __param(0, (0, type_graphql_1.Arg)('ConversationDetailID', () => type_graphql_1.Int)),
152
+ __param(1, (0, type_graphql_1.Ctx)()),
153
+ __metadata("design:type", Function),
154
+ __metadata("design:paramtypes", [Number, Object]),
155
+ __metadata("design:returntype", Promise)
156
+ ], ReportResolverExtended.prototype, "CreateReportFromConversationDetailID", null);
71
157
  exports.ReportResolverExtended = ReportResolverExtended = __decorate([
72
158
  (0, type_graphql_1.Resolver)(RunReportResultType)
73
159
  ], ReportResolverExtended);
@@ -1 +1 @@
1
- {"version":3,"file":"ReportResolver.js","sourceRoot":"","sources":["../../src/resolvers/ReportResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAiD;AACjD,+CAAiF;AAI1E,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAkB/B,CAAA;AAlBY,kDAAmB;AAE9B;IADC,IAAA,oBAAK,GAAE;;qDACS;AAGjB;IADC,IAAA,oBAAK,GAAE;;oDACS;AAGjB;IADC,IAAA,oBAAK,GAAE;;oDACQ;AAGhB;IADC,IAAA,oBAAK,GAAE;;qDACS;AAGjB;IADC,IAAA,oBAAK,GAAE;;0DACc;AAGtB;IADC,IAAA,oBAAK,GAAE;;yDACa;8BAjBV,mBAAmB;IAD/B,IAAA,yBAAU,GAAE;GACA,mBAAmB,CAkB/B;AAGM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAE3B,AAAN,KAAK,CAAC,aAAa,CAA6B,QAAgB,EAAS,EAAc;QACrF,MAAM,SAAS,GAAG,IAAI,gBAAS,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YACvC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;IACJ,CAAC;CACF,CAAA;AAdY,wDAAsB;AAE3B;IADL,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC;IACZ,WAAA,IAAA,kBAAG,EAAC,UAAU,EAAE,GAAG,EAAE,CAAC,kBAAG,CAAC,CAAA;IAAoB,WAAA,IAAA,kBAAG,GAAE,CAAA;;;;2DAWvE;iCAbU,sBAAsB;IADlC,IAAA,uBAAQ,EAAC,mBAAmB,CAAC;GACjB,sBAAsB,CAclC"}
1
+ {"version":3,"file":"ReportResolver.js","sourceRoot":"","sources":["../../src/resolvers/ReportResolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/server",
3
- "version": "0.9.218",
3
+ "version": "0.9.220",
4
4
  "description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
5
5
  "main": "dist/index.js",
6
6
  "types": "src/index.ts",
@@ -21,16 +21,16 @@
21
21
  "dependencies": {
22
22
  "@apollo/server": "^4.9.1",
23
23
  "@graphql-tools/utils": "^10.0.1",
24
- "@memberjunction/ai": "^0.9.153",
25
- "@memberjunction/aiengine": "^0.9.50",
26
- "@memberjunction/core": "^0.9.164",
27
- "@memberjunction/core-entities": "^0.9.148",
28
- "@memberjunction/data-context": "^0.9.34",
29
- "@memberjunction/data-context-server": "^0.9.30",
30
- "@memberjunction/global": "^0.9.146",
31
- "@memberjunction/queue": "^0.9.168",
32
- "@memberjunction/sqlserver-dataprovider": "^0.9.179",
33
- "@memberjunction/skip-types": "^0.9.58",
24
+ "@memberjunction/ai": "^0.9.156",
25
+ "@memberjunction/aiengine": "^0.9.52",
26
+ "@memberjunction/core": "^0.9.168",
27
+ "@memberjunction/core-entities": "^0.9.150",
28
+ "@memberjunction/data-context": "^0.9.36",
29
+ "@memberjunction/data-context-server": "^0.9.32",
30
+ "@memberjunction/global": "^0.9.148",
31
+ "@memberjunction/queue": "^0.9.170",
32
+ "@memberjunction/sqlserver-dataprovider": "^0.9.181",
33
+ "@memberjunction/skip-types": "^0.9.60",
34
34
  "@types/cors": "^2.8.13",
35
35
  "@types/jsonwebtoken": "^8.5.9",
36
36
  "@types/node": "^18.11.14",
package/src/auth/index.ts CHANGED
@@ -7,6 +7,8 @@ import { Metadata, UserInfo } from '@memberjunction/core';
7
7
  import { NewUserBase } from './newUsers';
8
8
  import { MJGlobal } from '@memberjunction/global';
9
9
 
10
+ export * from './tokenExpiredError';
11
+
10
12
  const missingAzureConfig = !tenantID || !webClientID;
11
13
  const missingAuth0Config = !auth0Domain || !auth0WebClientID;
12
14
 
@@ -0,0 +1,12 @@
1
+ import { GraphQLError } from 'graphql';
2
+
3
+ export class TokenExpiredError extends GraphQLError {
4
+ constructor(expiryDate: Date, message = 'The provided token has expired. Please authenticate again.') {
5
+ super(message, {
6
+ extensions: {
7
+ code: 'JWT_EXPIRED',
8
+ expiryDate: expiryDate.toISOString(),
9
+ },
10
+ });
11
+ }
12
+ }
package/src/context.ts CHANGED
@@ -9,6 +9,7 @@ import { getSigningKeys, validationOptions, verifyUserRecord } from './auth';
9
9
  import { authCache } from './cache';
10
10
  import { userEmailMap } from './config';
11
11
  import { UserPayload } from './types';
12
+ import { TokenExpiredError } from './auth';
12
13
 
13
14
  const verifyAsync = async (
14
15
  issuer: string,
@@ -52,6 +53,11 @@ export const getUserPayload = async (
52
53
  throw new AuthenticationError('Invalid token payload');
53
54
  }
54
55
 
56
+ const expiryDate = new Date(payload.exp ?? 0 * 1000);
57
+ if (+expiryDate < Date.now()) {
58
+ throw new TokenExpiredError(expiryDate);
59
+ }
60
+
55
61
  if (!authCache.has(token)) {
56
62
  const issuer = payload.iss;
57
63
  if (!issuer) {
package/src/index.ts CHANGED
@@ -33,6 +33,7 @@ export { configInfo } from './config';
33
33
  export * from './directives';
34
34
  export * from './entitySubclasses/userViewEntity.server';
35
35
  export * from './types';
36
+ export { TokenExpiredError } from './auth';
36
37
 
37
38
  export * from './generic/PushStatusResolver';
38
39
  export * from './generic/ResolverBase';
@@ -1,6 +1,10 @@
1
- import { RunReport } from '@memberjunction/core';
2
- import { Arg, Ctx, Field, Int, ObjectType, Query, Resolver } from 'type-graphql';
1
+ import { Metadata, RunReport } from '@memberjunction/core';
2
+ import { Arg, Ctx, Field, Int, Mutation, ObjectType, Query, Resolver } from 'type-graphql';
3
3
  import { AppContext } from '../types';
4
+ import { ConversationDetailEntity, ReportEntity } from '@memberjunction/core-entities';
5
+ import { SkipAPIAnalysisCompleteResponse } from '@memberjunction/skip-types';
6
+ import { DataContext } from '@memberjunction/data-context';
7
+ import { UserCache } from '@memberjunction/sqlserver-dataprovider';
4
8
 
5
9
  @ObjectType()
6
10
  export class RunReportResultType {
@@ -23,6 +27,21 @@ export class RunReportResultType {
23
27
  ErrorMessage: string;
24
28
  }
25
29
 
30
+ @ObjectType()
31
+ export class CreateReportResultType {
32
+ @Field()
33
+ ReportID: number;
34
+
35
+ @Field()
36
+ ReportName: string;
37
+
38
+ @Field()
39
+ Success: boolean;
40
+
41
+ @Field()
42
+ ErrorMessage: string;
43
+ }
44
+
26
45
  @Resolver(RunReportResultType)
27
46
  export class ReportResolverExtended {
28
47
  @Query(() => RunReportResultType)
@@ -38,4 +57,75 @@ export class ReportResolverExtended {
38
57
  ErrorMessage: result.ErrorMessage,
39
58
  };
40
59
  }
60
+
61
+ /**
62
+ * This mutation will create a new report from a conversation detail ID
63
+ */
64
+ @Mutation(() => CreateReportResultType)
65
+ async CreateReportFromConversationDetailID(@Arg('ConversationDetailID', () => Int) ConversationDetailID: number,
66
+ @Ctx() {dataSource, userPayload}: AppContext): Promise<CreateReportResultType> {
67
+ const md = new Metadata();
68
+
69
+ const u = UserCache.Users.find(u => u.Email?.trim().toLowerCase() === userPayload?.email?.trim().toLowerCase());
70
+ if (!u)
71
+ throw new Error('Unable to find user')
72
+
73
+ const cde = md.Entities.find(e => e.Name === 'Conversation Details')
74
+ if (!cde)
75
+ throw new Error('Unable to find Conversation Details Entity metadata')
76
+
77
+ const cd = md.Entities.find(e => e.Name === 'Conversations')
78
+ if (!cd)
79
+ throw new Error('Unable to find Conversations Entity metadata')
80
+
81
+ const sql = `SELECT cd.Message, cd.ConversationID, c.DataContextID
82
+ FROM ${cde.SchemaName}.${cde.BaseView} cd
83
+ INNER JOIN ${cd.SchemaName}.${cd.BaseView} c
84
+ ON cd.ConversationID = c.ID
85
+ WHERE cd.ID=${ConversationDetailID}`
86
+ const result = await dataSource.query(sql);
87
+ if (!result || result.length === 0)
88
+ throw new Error('Unable to retrieve converation details')
89
+ const skipData = <SkipAPIAnalysisCompleteResponse>JSON.parse(result[0].Message);
90
+
91
+ const report = await md.GetEntityObject<ReportEntity>('Reports', u);
92
+ report.NewRecord();
93
+ report.Name = skipData.reportTitle ? skipData.reportTitle : 'Untitled Report';
94
+ report.Description = skipData.userExplanation ? skipData.userExplanation : '';
95
+ report.ConversationID = result[0].ConversationID;
96
+ report.ConversationDetailID = ConversationDetailID;
97
+
98
+ const dc: DataContext = new DataContext();
99
+ await dc.LoadMetadata(result[0].DataContextID, u);
100
+ const newDataContext = await DataContext.Clone(dc, false, u);
101
+ if (!newDataContext)
102
+ throw new Error('Error cloning data context')
103
+ report.DataContextID = newDataContext.ID;
104
+
105
+ // next, strip out the messags from the SkipData object to put them into our Report Configuration as we dont need to store that information as we have a
106
+ // link back to the conversation and conversation detail
107
+ const newSkipData : SkipAPIAnalysisCompleteResponse = JSON.parse(JSON.stringify(skipData));
108
+ newSkipData.messages = [];
109
+ report.Configuration = JSON.stringify(newSkipData)
110
+
111
+ report.SharingScope = 'None'
112
+ report.UserID = u.ID;
113
+
114
+ if (await report.Save()) {
115
+ return {
116
+ ReportID: report.ID,
117
+ ReportName: report.Name,
118
+ Success: true,
119
+ ErrorMessage: ''
120
+ }
121
+ }
122
+ else {
123
+ return {
124
+ ReportID: -1,
125
+ ReportName: '',
126
+ Success: false,
127
+ ErrorMessage: 'Unable to save new report'
128
+ }
129
+ }
130
+ }
41
131
  }