@memberjunction/server 1.3.3 → 1.4.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 (76) hide show
  1. package/CHANGELOG.json +359 -1
  2. package/CHANGELOG.md +78 -2
  3. package/dist/auth/exampleNewUserSubClass.js +1 -1
  4. package/dist/auth/exampleNewUserSubClass.js.map +1 -1
  5. package/dist/entitySubclasses/EntityBehavior.server.d.ts +29 -0
  6. package/dist/entitySubclasses/EntityBehavior.server.d.ts.map +1 -0
  7. package/dist/entitySubclasses/EntityBehavior.server.js +213 -0
  8. package/dist/entitySubclasses/EntityBehavior.server.js.map +1 -0
  9. package/dist/generated/generated.d.ts +2235 -1334
  10. package/dist/generated/generated.d.ts.map +1 -1
  11. package/dist/generated/generated.js +7461 -3779
  12. package/dist/generated/generated.js.map +1 -1
  13. package/dist/generic/DeleteOptionsInput.d.ts +5 -0
  14. package/dist/generic/DeleteOptionsInput.d.ts.map +1 -0
  15. package/dist/generic/DeleteOptionsInput.js +28 -0
  16. package/dist/generic/DeleteOptionsInput.js.map +1 -0
  17. package/dist/generic/KeyInputOutputTypes.d.ts +16 -0
  18. package/dist/generic/KeyInputOutputTypes.d.ts.map +1 -0
  19. package/dist/generic/KeyInputOutputTypes.js +62 -0
  20. package/dist/generic/KeyInputOutputTypes.js.map +1 -0
  21. package/dist/generic/KeyValuePairInput.d.ts +5 -0
  22. package/dist/generic/KeyValuePairInput.d.ts.map +1 -0
  23. package/dist/generic/KeyValuePairInput.js +28 -0
  24. package/dist/generic/KeyValuePairInput.js.map +1 -0
  25. package/dist/generic/ResolverBase.d.ts +17 -5
  26. package/dist/generic/ResolverBase.d.ts.map +1 -1
  27. package/dist/generic/ResolverBase.js +176 -0
  28. package/dist/generic/ResolverBase.js.map +1 -1
  29. package/dist/index.d.ts +4 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +8 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/resolvers/AskSkipResolver.d.ts +3 -3
  34. package/dist/resolvers/AskSkipResolver.d.ts.map +1 -1
  35. package/dist/resolvers/AskSkipResolver.js +29 -16
  36. package/dist/resolvers/AskSkipResolver.js.map +1 -1
  37. package/dist/resolvers/EntityRecordNameResolver.d.ts +3 -2
  38. package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -1
  39. package/dist/resolvers/EntityRecordNameResolver.js +13 -12
  40. package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
  41. package/dist/resolvers/FileCategoryResolver.d.ts +2 -2
  42. package/dist/resolvers/FileCategoryResolver.d.ts.map +1 -1
  43. package/dist/resolvers/FileCategoryResolver.js +23 -11
  44. package/dist/resolvers/FileCategoryResolver.js.map +1 -1
  45. package/dist/resolvers/FileResolver.d.ts +2 -2
  46. package/dist/resolvers/FileResolver.d.ts.map +1 -1
  47. package/dist/resolvers/FileResolver.js +6 -5
  48. package/dist/resolvers/FileResolver.js.map +1 -1
  49. package/dist/resolvers/MergeRecordsResolver.d.ts +1 -9
  50. package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -1
  51. package/dist/resolvers/MergeRecordsResolver.js +8 -36
  52. package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
  53. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts +2 -8
  54. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts.map +1 -1
  55. package/dist/resolvers/PotentialDuplicateRecordResolver.js +5 -25
  56. package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +1 -1
  57. package/dist/resolvers/UserFavoriteResolver.d.ts +5 -5
  58. package/dist/resolvers/UserFavoriteResolver.d.ts.map +1 -1
  59. package/dist/resolvers/UserFavoriteResolver.js +11 -10
  60. package/dist/resolvers/UserFavoriteResolver.js.map +1 -1
  61. package/package.json +20 -15
  62. package/src/auth/exampleNewUserSubClass.ts +1 -1
  63. package/src/entitySubclasses/EntityBehavior.server.ts +241 -0
  64. package/src/generated/generated.ts +6590 -5576
  65. package/src/generic/DeleteOptionsInput.ts +13 -0
  66. package/src/generic/KeyInputOutputTypes.ts +35 -0
  67. package/src/generic/KeyValuePairInput.ts +14 -0
  68. package/src/generic/ResolverBase.ts +239 -1
  69. package/src/index.ts +10 -0
  70. package/src/resolvers/AskSkipResolver.ts +40 -16
  71. package/src/resolvers/EntityRecordNameResolver.ts +49 -11
  72. package/src/resolvers/FileCategoryResolver.ts +34 -10
  73. package/src/resolvers/FileResolver.ts +3 -2
  74. package/src/resolvers/MergeRecordsResolver.ts +1 -20
  75. package/src/resolvers/PotentialDuplicateRecordResolver.ts +1 -13
  76. package/src/resolvers/UserFavoriteResolver.ts +10 -8
@@ -4,6 +4,7 @@ import {
4
4
  AppContext,
5
5
  Arg,
6
6
  Ctx,
7
+ DeleteOptionsInput,
7
8
  Field,
8
9
  FieldResolver,
9
10
  InputType,
@@ -121,7 +122,7 @@ export class FileResolver extends FileResolverBase {
121
122
  }
122
123
 
123
124
  @Mutation(() => File_)
124
- async DeleteFile(@Arg('ID', () => Int) ID: number, @Ctx() { dataSource, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
125
+ async DeleteFile(@Arg('ID', () => Int) ID: number, @Arg('options___', () => DeleteOptionsInput) options: DeleteOptionsInput, @Ctx() { dataSource, userPayload }: AppContext, @PubSub() pubSub: PubSubEngine) {
125
126
  const md = new Metadata();
126
127
  const userInfo = this.GetUserFromPayload(userPayload);
127
128
 
@@ -139,6 +140,6 @@ export class FileResolver extends FileResolverBase {
139
140
  await deleteObject(providerEntity, fileEntity.ProviderKey ?? fileEntity.Name);
140
141
  }
141
142
 
142
- return super.DeleteFile(ID, { dataSource, userPayload }, pubSub);
143
+ return super.DeleteFile(ID, options, { dataSource, userPayload }, pubSub);
143
144
  }
144
145
  }
@@ -1,7 +1,7 @@
1
1
  import { LogError, Metadata, CompositeKey } from '@memberjunction/core';
2
2
  import { Arg, Ctx, Field, InputType, Int, Mutation, ObjectType, PubSub, PubSubEngine, Query, Resolver } from 'type-graphql';
3
3
  import { AppContext } from '../types';
4
- import { CompositeKeyInputType, CompositeKeyOutputType } from './PotentialDuplicateRecordResolver';
4
+ import { CompositeKeyInputType, CompositeKeyOutputType } from '../generic/KeyInputOutputTypes';
5
5
 
6
6
  @ObjectType()
7
7
  export class EntityDependencyResult {
@@ -36,25 +36,6 @@ export class EntityDependencyResolver {
36
36
  }
37
37
 
38
38
 
39
- @InputType()
40
- export class KeyValuePairInputType {
41
- @Field(() => String)
42
- FieldName: string;
43
-
44
- @Field(() => String)
45
- Value: string;
46
- }
47
-
48
- @ObjectType()
49
- export class KeyValuePairOutputType {
50
- @Field(() => String)
51
- FieldName: string;
52
-
53
- @Field(() => String)
54
- Value: string;
55
- }
56
-
57
-
58
39
  @ObjectType()
59
40
  export class RecordDependencyResult {
60
41
  @Field(() => String)
@@ -1,12 +1,12 @@
1
1
  import { Arg, Ctx, Field, Float, InputType, Int, ObjectType, Query, Resolver } from "type-graphql";
2
2
  import { PotentialDuplicateRequest, PotentialDuplicateResponse, PotentialDuplicate, Metadata, KeyValuePair, LogError, CompositeKey, PotentialDuplicateResult } from '@memberjunction/core';
3
- import {KeyValuePairInputType, KeyValuePairOutputType} from './MergeRecordsResolver'
4
3
  import { AppContext } from "../types";
5
4
  import { UserCache } from "@memberjunction/sqlserver-dataprovider";
6
5
 
7
6
  //load the default vectorDB and embedding model
8
7
  import {LoadMistralEmbedding} from '@memberjunction/ai-mistral';
9
8
  import {LoadPineconeVectorDB} from '@memberjunction/ai-vectors-pinecone';
9
+ import { CompositeKeyInputType, CompositeKeyOutputType, KeyValuePairOutputType } from "../generic/KeyInputOutputTypes";
10
10
  LoadMistralEmbedding();
11
11
  LoadPineconeVectorDB();
12
12
 
@@ -28,18 +28,6 @@ export class PotentialDuplicateRequestType extends PotentialDuplicateRequest {
28
28
  ListID: number;
29
29
  }
30
30
 
31
- @InputType()
32
- export class CompositeKeyInputType extends CompositeKey {
33
- @Field(() => [KeyValuePairInputType])
34
- KeyValuePairs: KeyValuePair[];
35
- }
36
-
37
- @ObjectType()
38
- export class CompositeKeyOutputType extends CompositeKey {
39
- @Field(() => [KeyValuePairOutputType])
40
- KeyValuePairs: KeyValuePair[];
41
- }
42
-
43
31
  @ObjectType()
44
32
  export class PotentialDuplicateType extends PotentialDuplicate {
45
33
  @Field(() => Float)
@@ -1,10 +1,9 @@
1
1
  import { Metadata, KeyValuePair, CompositeKey } from '@memberjunction/core';
2
- import { AppContext, Arg, Ctx, Field, InputType, Int, Mutation, ObjectType, KeyValuePairInputType, KeyValuePairOutputType, Query, Resolver } from '@memberjunction/server';
2
+ import { AppContext, Arg, CompositeKeyInputType, CompositeKeyOutputType, Ctx, Field, InputType, Int, Mutation, ObjectType, Query, Resolver } from '@memberjunction/server';
3
3
  import { UserCache } from '@memberjunction/sqlserver-dataprovider';
4
4
  import { UserFavoriteEntity } from '@memberjunction/core-entities';
5
5
 
6
6
  import { UserFavorite_, UserFavoriteResolverBase } from '../generated/generated';
7
- import { CompositeKeyInputType, CompositeKeyOutputType } from './PotentialDuplicateRecordResolver';
8
7
 
9
8
  //****************************************************************************
10
9
  // INPUT TYPE for User Favorite Queries
@@ -15,7 +14,7 @@ export class UserFavoriteSearchParams {
15
14
  EntityID: number;
16
15
 
17
16
  @Field(() => CompositeKeyInputType)
18
- CompositeKey: CompositeKey;
17
+ CompositeKey: CompositeKeyInputType;
19
18
 
20
19
  @Field(() => Int)
21
20
  UserID: number;
@@ -27,7 +26,7 @@ export class UserFavoriteSetParams {
27
26
  EntityID: number;
28
27
 
29
28
  @Field(() => CompositeKeyInputType)
30
- CompositeKey: CompositeKey;
29
+ CompositeKey: CompositeKeyInputType;
31
30
 
32
31
  @Field(() => Int)
33
32
  UserID: number;
@@ -42,7 +41,7 @@ export class UserFavoriteResult {
42
41
  EntityID: number;
43
42
 
44
43
  @Field(() => CompositeKeyOutputType)
45
- CompositeKey: CompositeKey;
44
+ CompositeKey: CompositeKeyOutputType;
46
45
 
47
46
  @Field(() => Int)
48
47
  UserID: number;
@@ -69,13 +68,15 @@ export class UserFavoriteResolver extends UserFavoriteResolverBase {
69
68
  @Query(() => UserFavoriteResult)
70
69
  async GetRecordFavoriteStatus(@Arg('params', () => UserFavoriteSearchParams) params: UserFavoriteSearchParams, @Ctx() {}: AppContext) {
71
70
  const md = new Metadata();
71
+ const pk = new CompositeKey(params.CompositeKey.KeyValuePairs);
72
+
72
73
  const e = md.Entities.find((e) => e.ID === params.EntityID);
73
74
  if (e)
74
75
  return {
75
76
  EntityID: params.EntityID,
76
77
  UserID: params.UserID,
77
- CompositeKey: params.CompositeKey,
78
- IsFavorite: await md.GetRecordFavoriteStatus(params.UserID, e.Name, params.CompositeKey),
78
+ CompositeKey: pk,
79
+ IsFavorite: await md.GetRecordFavoriteStatus(params.UserID, e.Name, pk),
79
80
  Success: true,
80
81
  };
81
82
  else throw new Error(`Entity ID:${params.EntityID} not found`);
@@ -84,10 +85,11 @@ export class UserFavoriteResolver extends UserFavoriteResolverBase {
84
85
  @Mutation(() => UserFavoriteResult)
85
86
  SetRecordFavoriteStatus(@Arg('params', () => UserFavoriteSetParams) params: UserFavoriteSetParams, @Ctx() { userPayload }: AppContext) {
86
87
  const md = new Metadata();
88
+ const pk = new CompositeKey(params.CompositeKey.KeyValuePairs);
87
89
  const e = md.Entities.find((e) => e.ID === params.EntityID);
88
90
  const u = UserCache.Users.find((u) => u.ID === userPayload.userRecord.ID);
89
91
  if (e) {
90
- md.SetRecordFavoriteStatus(params.UserID, e.Name, params.CompositeKey, params.IsFavorite, u);
92
+ md.SetRecordFavoriteStatus(params.UserID, e.Name, pk, params.IsFavorite, u);
91
93
  return {
92
94
  Success: true,
93
95
  EntityID: params.EntityID,