@memberjunction/server 2.89.0 → 2.90.0

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.
@@ -16,7 +16,7 @@ import {
16
16
  RunViewResult,
17
17
  UserInfo,
18
18
  } from '@memberjunction/core';
19
- import { AuditLogEntity, ErrorLogEntity, UserViewEntity } from '@memberjunction/core-entities';
19
+ import { AuditLogEntity, ErrorLogEntity, UserViewEntityExtended } from '@memberjunction/core-entities';
20
20
  import { SQLServerDataProvider, UserCache } from '@memberjunction/sqlserver-dataprovider';
21
21
  import { PubSubEngine } from 'type-graphql';
22
22
  import { GraphQLError } from 'graphql';
@@ -117,7 +117,7 @@ export class ResolverBase {
117
117
  async RunViewByNameGeneric(viewInput: RunViewByNameInput, provider: DatabaseProviderBase, userPayload: UserPayload, pubSub: PubSubEngine) {
118
118
  try {
119
119
  const rv = provider as any as IRunViewProvider;
120
- const result = await rv.RunView<UserViewEntity>({
120
+ const result = await rv.RunView<UserViewEntityExtended>({
121
121
  EntityName: 'User Views',
122
122
  ExtraFilter: "Name='" + viewInput.ViewName + "'",
123
123
  }, userPayload.userRecord);
@@ -155,7 +155,7 @@ export class ResolverBase {
155
155
  async RunViewByIDGeneric(viewInput: RunViewByIDInput, provider: DatabaseProviderBase, userPayload: UserPayload, pubSub: PubSubEngine) {
156
156
  try {
157
157
  const contextUser = this.GetUserFromPayload(userPayload);
158
- const viewInfo = await provider.GetEntityObject<UserViewEntity>('User Views', contextUser);
158
+ const viewInfo = await provider.GetEntityObject<UserViewEntityExtended>('User Views', contextUser);
159
159
  await viewInfo.Load(viewInput.ViewID);
160
160
  return this.RunViewGenericInternal(
161
161
  provider,
@@ -187,12 +187,12 @@ export class ResolverBase {
187
187
  const entity = md.Entities.find((e) => e.Name === viewInput.EntityName);
188
188
  if (!entity) throw new Error(`Entity ${viewInput.EntityName} not found in metadata`);
189
189
 
190
- const viewInfo: UserViewEntity = {
190
+ const viewInfo: UserViewEntityExtended = {
191
191
  ID: '',
192
192
  Entity: viewInput.EntityName,
193
193
  EntityID: entity.ID,
194
194
  EntityBaseView: entity.BaseView as string,
195
- } as UserViewEntity; // only providing a few bits of data here, but it's enough to get the view to run
195
+ } as UserViewEntityExtended; // only providing a few bits of data here, but it's enough to get the view to run
196
196
 
197
197
  return this.RunViewGenericInternal(
198
198
  provider,
@@ -228,12 +228,12 @@ export class ResolverBase {
228
228
  let params: RunViewGenericParams[] = [];
229
229
  for (const viewInput of viewInputs) {
230
230
  try {
231
- let viewInfo: UserViewEntity | null = null;
231
+ let viewInfo: UserViewEntityExtended | null = null;
232
232
 
233
233
  if (viewInput.ViewName) {
234
234
  viewInfo = this.safeFirstArrayElement(await this.findBy(provider, 'User Views', { Name: viewInput.ViewName }, userPayload.userRecord));
235
235
  } else if (viewInput.ViewID) {
236
- viewInfo = await provider.GetEntityObject<UserViewEntity>('User Views', contextUser);
236
+ viewInfo = await provider.GetEntityObject<UserViewEntityExtended>('User Views', contextUser);
237
237
  await viewInfo.Load(viewInput.ViewID);
238
238
  } else if (viewInput.EntityName) {
239
239
  const entity = md.Entities.find((e) => e.Name === viewInput.EntityName);
@@ -247,7 +247,7 @@ export class ResolverBase {
247
247
  Entity: viewInput.EntityName,
248
248
  EntityID: entity.ID,
249
249
  EntityBaseView: entity.BaseView,
250
- } as UserViewEntity;
250
+ } as UserViewEntityExtended;
251
251
  } else {
252
252
  throw new Error('Unable to determine input type');
253
253
  }
@@ -356,7 +356,7 @@ export class ResolverBase {
356
356
  */
357
357
  protected async RunViewGenericInternal(
358
358
  provider: DatabaseProviderBase,
359
- viewInfo: UserViewEntity,
359
+ viewInfo: UserViewEntityExtended,
360
360
  extraFilter: string,
361
361
  orderBy: string,
362
362
  userSearchString: string,
@@ -4,7 +4,7 @@ import { ResolverBase } from './ResolverBase.js';
4
4
  import { LogError, LogStatus } from '@memberjunction/core';
5
5
  import { RequireSystemUser } from '../directives/RequireSystemUser.js';
6
6
  import { GetReadOnlyProvider } from '../util.js';
7
- import { UserViewEntity } from '@memberjunction/core-entities';
7
+ import { UserViewEntityExtended } from '@memberjunction/core-entities';
8
8
 
9
9
  /********************************************************************************
10
10
  * The PURPOSE of this resolver is to provide a generic way to run a view and return the results.
@@ -468,7 +468,7 @@ export class RunViewResolver extends ResolverBase {
468
468
  if (rawData === null)
469
469
  return null;
470
470
 
471
- const viewInfo = super.safeFirstArrayElement<UserViewEntity>(await super.findBy<UserViewEntity>(provider, "User Views", { Name: input.ViewName }, userPayload.userRecord));
471
+ const viewInfo = super.safeFirstArrayElement<UserViewEntityExtended>(await super.findBy<UserViewEntityExtended>(provider, "User Views", { Name: input.ViewName }, userPayload.userRecord));
472
472
  const returnData = this.processRawData(rawData.Results, viewInfo.EntityID);
473
473
  return {
474
474
  Results: returnData,
@@ -495,7 +495,7 @@ export class RunViewResolver extends ResolverBase {
495
495
  if (rawData === null)
496
496
  return null;
497
497
 
498
- const viewInfo = super.safeFirstArrayElement<UserViewEntity>(await super.findBy<UserViewEntity>(provider, "User Views", { ID: input.ViewID }, userPayload.userRecord));
498
+ const viewInfo = super.safeFirstArrayElement<UserViewEntityExtended>(await super.findBy<UserViewEntityExtended>(provider, "User Views", { ID: input.ViewID }, userPayload.userRecord));
499
499
  const returnData = this.processRawData(rawData.Results, viewInfo.EntityID);
500
500
  return {
501
501
  Results: returnData,
@@ -613,7 +613,7 @@ export class RunViewResolver extends ResolverBase {
613
613
  const rawData = await super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
614
614
  if (rawData === null) return null;
615
615
 
616
- const viewInfo = super.safeFirstArrayElement<UserViewEntity>(await super.findBy<UserViewEntity>(provider, "User Views", { ID: input.ViewID }, userPayload.userRecord));
616
+ const viewInfo = super.safeFirstArrayElement<UserViewEntityExtended>(await super.findBy<UserViewEntityExtended>(provider, "User Views", { ID: input.ViewID }, userPayload.userRecord));
617
617
  const returnData = this.processRawData(rawData.Results, viewInfo.EntityID);
618
618
  return {
619
619
  Results: returnData,
@@ -1441,6 +1441,9 @@ cycle.`);
1441
1441
  createdAt: q.__mj_CreatedAt,
1442
1442
  updatedAt: q.__mj_UpdatedAt,
1443
1443
  categoryID: q.CategoryID,
1444
+ embeddingVector: q.EmbeddingVector,
1445
+ embeddingModelID: q.EmbeddingModelID,
1446
+ embeddingModelName: q.EmbeddingModel,
1444
1447
  fields: q.Fields.map((f) => {
1445
1448
  return {
1446
1449
  id: f.ID,
@@ -1,7 +1,7 @@
1
1
  import { Resolver, Mutation, Arg, Ctx, ObjectType, Field, PubSub, PubSubEngine, Subscription, Root, ResolverFilterData, ID } from 'type-graphql';
2
2
  import { UserPayload } from '../types.js';
3
3
  import { LogError, LogStatus } from '@memberjunction/core';
4
- import { AIAgentEntity } from '@memberjunction/core-entities';
4
+ import { AIAgentEntityExtended } from '@memberjunction/core-entities';
5
5
  import { AgentRunner } from '@memberjunction/ai-agents';
6
6
  import { ExecuteAgentResult } from '@memberjunction/ai-core-plus';
7
7
  import { AIEngine } from '@memberjunction/aiengine';
@@ -169,12 +169,12 @@ export class RunAIAgentResolver extends ResolverBase {
169
169
  /**
170
170
  * Validate the agent entity
171
171
  */
172
- private async validateAgent(agentId: string, currentUser: any): Promise<AIAgentEntity> {
172
+ private async validateAgent(agentId: string, currentUser: any): Promise<AIAgentEntityExtended> {
173
173
  // Use AIEngine to get cached agent data
174
174
  await AIEngine.Instance.Config(false, currentUser);
175
175
 
176
176
  // Find agent in cached collection
177
- const agentEntity = AIEngine.Instance.Agents.find((a: AIAgentEntity) => a.ID === agentId);
177
+ const agentEntity = AIEngine.Instance.Agents.find((a: AIAgentEntityExtended) => a.ID === agentId);
178
178
 
179
179
  if (!agentEntity) {
180
180
  throw new Error(`AI Agent with ID ${agentId} not found`);
@@ -1,7 +1,7 @@
1
1
  import { Resolver, Mutation, Arg, Ctx, ObjectType, Field, Int } from 'type-graphql';
2
2
  import { UserPayload } from '../types.js';
3
3
  import { LogError, LogStatus, Metadata } from '@memberjunction/core';
4
- import { AIPromptEntity } from '@memberjunction/core-entities';
4
+ import { AIPromptEntityExtended } from '@memberjunction/core-entities';
5
5
  import { AIPromptRunner } from '@memberjunction/ai-prompts';
6
6
  import { AIPromptParams } from '@memberjunction/ai-core-plus';
7
7
  import { ResolverBase } from '../generic/ResolverBase.js';
@@ -112,7 +112,7 @@ export class RunAIPromptResolver extends ResolverBase {
112
112
  const md = new Metadata();
113
113
 
114
114
  // Load the AI prompt entity
115
- const promptEntity = await md.GetEntityObject<AIPromptEntity>('AI Prompts', currentUser);
115
+ const promptEntity = await md.GetEntityObject<AIPromptEntityExtended>('AI Prompts', currentUser);
116
116
  await promptEntity.Load(promptId);
117
117
 
118
118
  if (!promptEntity.IsSaved) {
package/src/types.ts CHANGED
@@ -1,11 +1,9 @@
1
1
  import { DatabaseProviderBase, UserInfo } from '@memberjunction/core';
2
- import { UserViewEntity } from '@memberjunction/core-entities';
2
+ import { UserViewEntityExtended } from '@memberjunction/core-entities';
3
3
  import { GraphQLSchema } from 'graphql';
4
- import { PubSubEngine } from 'type-graphql';
5
4
  import sql from 'mssql';
6
5
  import { getSystemUser } from './auth/index.js';
7
6
  import { MJEvent, MJEventType, MJGlobal } from '@memberjunction/global';
8
- import { SQLServerDataProvider } from '@memberjunction/sqlserver-dataprovider';
9
7
 
10
8
  export type UserPayload = {
11
9
  email: string;
@@ -66,7 +64,7 @@ export type DirectiveBuilder = {
66
64
  };
67
65
 
68
66
  export type RunViewGenericParams = {
69
- viewInfo: UserViewEntity;
67
+ viewInfo: UserViewEntityExtended;
70
68
  provider: DatabaseProviderBase;
71
69
  extraFilter: string;
72
70
  orderBy: string;